bunnei
3846cfa7ba
Merge pull request #2202 from lioncash/port-priv
...
kernel/client_session, kernel/server_session: Make data members private
2019-03-07 15:31:26 -05:00
bunnei
af2c9aae55
Merge pull request #2206 from lioncash/audio-stop
...
service/audio/audout_u: Only actually stop the audio stream in StopAudioOut if the stream is playing
2019-03-07 10:47:59 -05:00
bunnei
757fd21d98
Merge pull request #2055 from bunnei/gpu-thread
...
Asynchronous GPU command processing
2019-03-07 10:41:53 -05:00
Lioncash
a98f0b7e93
service/audio/hwopus: Move decoder state to its own class
...
Moves the non-multistream specific state to its own class. This will be
necessary to support the multistream variants of opus decoding.
2019-03-07 07:47:09 -05:00
Lioncash
133da63a0f
service/audio/hwopus: Provide a name for the second word of OpusPacketHeader
...
This indicates the entropy coder's final range.
2019-03-07 05:48:35 -05:00
Lioncash
e842b63161
service/audio/hwopus: Move Opus packet header out of the IHardwareOpusDecoderManager
...
This will be utilized by more than just that class in the future. This
also renames it from OpusHeader to OpusPacketHeader to be more specific
about what kind of header it is.
2019-03-07 05:37:08 -05:00
Lioncash
a92d39462b
service/audio/hwopus: Enclose internals in an anonymous namespace
...
Makes it impossible to violate the ODR, as well as providing a place for
future changes.
2019-03-07 05:32:42 -05:00
Lioncash
e7e5002e64
service/audio/audout_u: Only actually stop the audio stream in StopAudioOut 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.
2019-03-07 03:39:01 -05:00
bunnei
b67cb6208f
Merge pull request #2197 from lioncash/include
...
core/hle/ipc: Remove unnecessary includes
2019-03-06 21:55:16 -05:00
bunnei
83079031b3
gpu: Refactor a/synchronous implementations into their own classes.
2019-03-06 21:48:57 -05:00
bunnei
9d1ee628b2
gpu: Move command processing to another thread.
2019-03-06 21:48:57 -05:00
bunnei
d6be1f1a53
Merge pull request #2190 from lioncash/ogl-global
...
core: Remove the global telemetry accessor function
2019-03-06 21:41:53 -05:00
bunnei
edf09ff450
gpu: Refactor command and swap buffers interface for asynch.
2019-03-06 21:09:09 -05:00
bunnei
1e27162275
gpu: Refactor to take RendererBase instead of RasterizerInterface.
2019-03-06 21:09:09 -05:00
bunnei
300139799f
settings: Add new graphics setting for use_asynchronous_gpu_emulation.
2019-03-06 21:09:09 -05:00
bunnei
fca1122cef
core: Set is_powered_on before GPU is initialized.
2019-03-06 21:07:33 -05:00
bunnei
a9e4bbc70f
Merge pull request #2199 from lioncash/arbiter
...
kernel/address_arbiter: Convert the address arbiter into a class
2019-03-06 15:55:56 -05:00
Lioncash
237796b9db
hle/service/audio/audout_u: Correct lack of return in failure case of 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-06 11:44:32 -05:00
bunnei
4ca177d536
Merge pull request #2194 from lioncash/mem
...
svc: Move memory range checking functions to the VMManager class
2019-03-06 11:43:07 -05:00
bunnei
7e0d80520e
Merge pull request #2200 from lioncash/audio
...
hle/service/audio: Extract audio error codes to a header
2019-03-06 10:52:45 -05:00
Lioncash
4306a41b5f
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.
2019-03-05 20:10:07 -05:00
Lioncash
802d919443
kernel/client_session: Make data members private
...
These can be made private, as they aren't accessed in contexts that
require them to be public.
2019-03-05 20:10:03 -05:00
Lioncash
07f82f5a0d
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).
2019-03-05 16:51:37 -05:00
Lioncash
b46942d789
kernel/address_arbiter: Pass in system instance to constructor
...
Allows getting rid of reliance on the global accessor functions and
instead operating on the provided system instance.
2019-03-05 15:47:03 -05:00
Lioncash
b9a3259cab
kernel/address_arbiter: Minor tidying up
...
- Invert conditions into guard clases where applicable.
- Mark std::vector parameter of WakeThreads as const
2019-03-05 12:58:31 -05:00
Lioncash
bfe7112496
kernel/address_arbiter: Convert the address arbiter into a class
...
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-05 12:58:26 -05:00
Zach Hilman
20c46b9242
vm_manager: Remove cheat-specific ranges from VMManager
2019-03-05 10:09:36 -05:00
Lioncash
1adc7f4439
kernel/thread: Remove obsolete TODO in Create()
...
This is a TODO carried over from Citra that doesn't apply here.
2019-03-05 10:05:49 -05:00
Lioncash
7d25f9a4a2
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).
2019-03-05 09:53:38 -05:00
Zach Hilman
9ac4e6a249
core: Add support for registering and controlling ownership of CheatEngine
2019-03-04 18:41:29 -05:00
Zach Hilman
b6ac32dc35
cheat_engine: Add parser and interpreter for game cheats
2019-03-04 18:39:58 -05:00
Zach Hilman
81f85bc280
loader/nso: Set main code region in VMManager
...
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-04 18:39:58 -05:00
Zach Hilman
df783dac1f
vm_manager: Add support for storing and getting main code region
...
Used as root for one region of cheats, set by loader
2019-03-04 18:39:58 -05:00
Zach Hilman
81302571bf
patch_manager: Display cheats in game list add-ons
2019-03-04 18:39:57 -05:00
Zach Hilman
57c6d77be0
patch_manager: Add support for loading cheats lists
...
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-04 18:39:57 -05:00
Zach Hilman
b1fbf45e5e
controllers/npad: Add accessor for current press state
...
Allows frontend/features to access pressed buttons conveniently as possible
2019-03-04 18:39:57 -05:00
Lioncash
dc51694993
vm_manager: Use range helpers in HeapAlloc() and HeapFree()
...
Significantly tidies up two guard conditionals.
2019-03-04 17:16:52 -05:00
Lioncash
df41590e84
vm_manager: Provide address range checking functions for other memory regions
...
Makes the interface uniform when it comes to checking various memory
regions.
2019-03-04 17:08:55 -05:00
Lioncash
38dd80f70f
kernel/scheduler: Pass in system instance in constructor
...
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-04 17:01:37 -05:00
Lioncash
b0284c2f36
kernel/shared_memory: Get rid of the use of global accessor functions within 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-04 16:52:36 -05:00
Lioncash
e792758ddb
svc: Migrate address range checking functions to VMManager
...
Provides a bit of a more proper interface for these functions.
2019-03-04 16:32:03 -05:00
Lioncash
a71549e4ff
core/core: Remove the global telemetry accessor function
...
With all usages converted off of it, this function can be removed.
2019-03-04 10:24:13 -05:00
Lioncash
c833b5a465
core/core: Replace direct usage of the global system telemetry accessor from 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-04 10:24:13 -05:00
Weiyi Wang
99e52e6331
Memory: don't lock hle mutex in memory read/write
...
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-02 15:20:05 +01:00
bunnei
31eb7dab7d
Merge pull request #2180 from lioncash/audren
...
service/audio: Provide an implementation of ExecuteAudioRendererRendering
2019-03-01 09:50:14 -05:00
Lioncash
6cdc050f36
service/audio/audren_u: Implement OpenAudioRendererAuto
...
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-01 05:40:29 -05:00
Lioncash
c206bce561
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.
2019-03-01 03:37:00 -05:00
bunnei
a3d1f9b0f8
Merge pull request #2174 from lioncash/fwd
...
service/hid: Amend forward declaration of ServiceManager
2019-02-27 21:20:06 -05:00
Annomatg
05ba8057ee
Speed up memory page mapping ( #2141 )
...
- 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-27 17:22:47 -05:00
Lioncash
269a497914
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.
2019-02-27 11:36:48 -05:00