| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | | | | |
|
| |\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
kernel/hle_ipc: Convert std::shared_ptr IPC header instances to std::optional
|
| | | |_|/ / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
There's no real need to use a shared lifetime here, since we don't
actually expose them to anything else. This is also kind of an
unnecessary use of the heap given the objects themselves are so small;
small enough, in fact that changing over to optionals actually reduces
the overall size of the HLERequestContext struct (818 bytes to 808
bytes).
|
| |\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
kernel/shared_memory: Get rid of the use of global accessor functions within Create()
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
kernel/client_session, kernel/server_session: Make data members private
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Makes it much nicer to locally reason about server session behavior, as
part of its functionality isn't placed around other classes.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
These can be made private, as they aren't accessed in contexts that
require them to be public.
|
| |\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
service/audio/audout_u: Only actually stop the audio stream in StopAudioOut if the stream is playing
|
| | | |_|/ / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
if the stream is playing
The service itself only does further actions if the stream is playing.
If the stream is already stopped, then it just exits successfully.
|
| |\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Asynchronous GPU command processing
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | |/ / / / / / / |
|
| |\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
core/hle/ipc: Remove unnecessary includes
|
| | | |/ / / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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).
|
| |\ \ \ \ \ \ \ \
| |_|/ / / / / /
|/| | | | | | | |
core: Remove the global telemetry accessor function
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
With all usages converted off of it, this function can be removed.
|
| | | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
kernel/address_arbiter: Convert the address arbiter into a class
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Allows getting rid of reliance on the global accessor functions and
instead operating on the provided system instance.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
- Invert conditions into guard clases where applicable.
- Mark std::vector parameter of WakeThreads as const
|
| | | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
AppendAudioOutBufferImpl()
Previously we were overwriting the error case with a success code
further down (which is definitely not what we should be doing here).
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
svc: Move memory range checking functions to the VMManager class
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Significantly tidies up two guard conditionals.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Makes the interface uniform when it comes to checking various memory
regions.
|
| | | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | | |
Provides a bit of a more proper interface for these functions.
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
hle/service/audio: Extract audio error codes to a header
|
| | | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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).
|
| |/ / / / / /
| | | | | |
| | | | | |
| | | | | | |
This is a TODO carried over from Citra that doesn't apply here.
|
| |/ / / / /
| | | | |
| | | | |
| | | | | |
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.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
service/audio: Provide an implementation of ExecuteAudioRendererRendering
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
service/hid: Amend forward declaration of ServiceManager
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The SM namespace is within the Service namespace, so this was forward
declaring a type that didn't exist.
|
| |/ / / / /
| | | | |
| | | | |
| | | | | |
- Memory::MapPages total samplecount was reduced from 4.6% to 1.06%.
- From main menu into the game from 1.03% to 0.35%
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
audio_core/audio_renderer: Provide names for some parameters of AudioRendererParameter
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
core/frontend/emu_window: Make ClipToTouchScreen a const member function
|
| | |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This member function doesn't modify instance state, so it can have the
const specifier applied to it.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
kernel/handle_table: Allow process capabilities to limit the handle table size
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Makes immutable state explicit.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Directly initializes members where applicable.
|
| | | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | | |
Avoids implicit truncation warnings from u32 -> u16 (the truncation is
desirable behavior here).
|