Hexagon12
033cda6e5e
clang fix
2019-03-09 16:42:56 +02:00
Hexagon12
49ecd006da
Log 2 new setting values
2019-03-09 14:58:15 +02:00
bunnei
60e4af8ebb
Merge pull request #2210 from lioncash/optional
...
kernel/hle_ipc: Convert std::shared_ptr IPC header instances to std::optional
2019-03-08 16:35:57 -05:00
Lioncash
922f4d460e
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).
2019-03-07 23:34:37 -05:00
bunnei
cb3f4449a9
Merge pull request #2195 from lioncash/shared-global
...
kernel/shared_memory: Get rid of the use of global accessor functions within Create()
2019-03-07 17:26:11 -05:00
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
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
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
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
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
bunnei
2f967b8b46
Merge pull request #2169 from lioncash/naming
...
audio_core/audio_renderer: Provide names for some parameters of AudioRendererParameter
2019-02-27 11:26:54 -05:00
bunnei
4116d36208
Merge pull request #2170 from lioncash/emu-window
...
core/frontend/emu_window: Make ClipToTouchScreen a const member function
2019-02-27 11:26:24 -05:00
bunnei
9c1f4ac124
Merge pull request #2161 from lioncash/handle-table
...
kernel/handle_table: Allow process capabilities to limit the handle table size
2019-02-27 11:22:26 -05:00
Lioncash
4596a529ed
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.
2019-02-27 08:54:42 -05:00
Lioncash
3567364c42
audio_core/audio_renderer: Name previously unknown parameters of 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-27 06:09:07 -05:00
Lioncash
e59ae7210a
common/math_util: Move contents into the Common namespace
...
These types are within the common library, so they should be within the
Common namespace.
2019-02-27 03:38:39 -05:00
Lioncash
39eccc0286
common/vector_math: Move Vec[x] types into the Common namespace
...
These types are within the common library, so they should be using the
Common namespace.
2019-02-26 22:38:36 -05:00
bunnei
d07526cd2b
Merge pull request #2156 from FreddyFunk/patch-1
...
file_sys/vfs_vector: Fix ignored offset on Write
2019-02-25 18:28:58 -05:00