e21fbd9ae5
NV: Determine what buffer to draw for each layer of each display.
...
Don't try to draw buffers that the guest application is using, only queued buffers are eligible for drawing.
Drawing actual pixels is still not implemented.
2018-01-10 23:28:25 -05:00
404149e475
NV: Signal all display's vsync event 60 times per second.
2018-01-10 23:28:22 -05:00
d205dee0a6
NV: Give each display its own vsync event.
2018-01-10 23:28:19 -05:00
927569bed8
NV: Keep track of Displays, Layers and BufferQueues in nvflinger.
2018-01-10 23:28:16 -05:00
fb73e8b723
IPC: Allow passing arguments to the Interfaces when using PushIpcInterface
2018-01-10 23:28:13 -05:00
25f29c2f4f
NV: Implemented (with stubs) the vi:m service and some of its subservices.
...
The homebrew display test application now properly writes graphics data to the graphics buffer but we still don't have a way to compose the display layers.
2018-01-10 23:28:09 -05:00
94a5e97eb3
NV: Implemented the nvdrv:a service and the /dev/nvmap device.
2018-01-10 23:28:05 -05:00
ab86b80cac
IPC: Corrected some definitions for the buffer C descriptor flags.
2018-01-10 23:28:02 -05:00
ba02f0deef
svc: Stub ResetSignal and CreateTransferMemory
2018-01-10 23:27:59 -05:00
0a1278081e
svc: Stub SetMemoryAttribute
2018-01-10 23:27:56 -05:00
7ad20154fc
Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)
2018-01-10 01:01:55 -05:00
188feba457
Services: Allow lm to log single-character messages.
2018-01-10 00:41:29 -05:00
c2ee513d35
SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.
2018-01-09 15:02:43 -05:00
bc91ebacc1
SVC: Implemented CancelSynchronization.
2018-01-09 15:02:04 -05:00
a418f6e77b
ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes.
2018-01-09 12:05:10 -05:00
8d9250fa70
SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.
2018-01-09 11:53:50 -05:00
4236799832
kernel: Rename Semaphore to ConditionVariable.
2018-01-08 21:41:37 -05:00
9fcd2bf672
mutex: Remove unused call to VerifyGuestState.
2018-01-08 21:12:56 -05:00
db3a525166
Kernel: Actually wake up the requested number of threads in Semaphore::Release.
...
Also properly keep track of data in guest memory, this fixes managing the semaphore from userland.
It was found that Semaphores are actually Condition Variables, with Release(1) and Release(-1) being equivalent to notify_one and notify_all. We should change the name of the class to reflect this.
2018-01-08 21:12:54 -05:00
1bbe9309da
Kernel: Properly keep track of mutex lock data in the guest memory. This fixes userland locking/unlocking.
2018-01-08 21:12:51 -05:00
2a3f8e8484
Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.
2018-01-08 21:12:49 -05:00
1b9ed033fc
cmake: Use LIBUNICORN_* on Windows.
2018-01-08 20:12:20 -05:00
f10a304ecd
fix macos build
2018-01-08 19:20:10 -05:00
d6e4e6ea32
core_timing: Use 1.020GHz for core clock rate.
2018-01-08 19:18:50 -05:00
82151d407d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
c12c756539
IPC: Make DuplicateSession return the Domain instead of the Session if the request was made on a Domain interface.
2018-01-07 17:12:07 -05:00
e3b4c8e043
AppletOE: Fixed command buffer structure for ReceiveMessage.
2018-01-07 17:12:05 -05:00
ad965501d0
IPC: Corrected some command headers in the IPC Controller interface.
2018-01-07 17:12:03 -05:00
166286e976
IPC: Corrected some command header sizes in appletOE.
2018-01-07 17:12:01 -05:00
ba2ffd7b81
IPC: Take the number of domain objects as a parameter in MakeBuilder.
2018-01-07 17:11:58 -05:00
5f41477f9c
SM: Fixed connecting to services with an 8-byte name, like appletOE.
2018-01-07 17:11:56 -05:00
80f6df5414
IPC: Fixed pushing ResultCodes into the command buffer.
...
They should have 32 bits of padding after the error code now.
2018-01-07 17:11:54 -05:00
32847d8b86
IPC: Add functions to read the input move/copy objects from an IPC request.
2018-01-07 17:11:51 -05:00
7e3561b1cd
IPC: Don't attempt to read the command buffer if it holds a Close request.
2018-01-07 17:11:49 -05:00
0368324f79
IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.
...
Popping objects from the buffer is still not implemented.
2018-01-07 17:11:47 -05:00
b0ceb4df70
IPC: Skip the entire u64 of the command id when receiving an IPC request.
...
Service code now doesn't have to deal with this.
2018-01-07 17:11:45 -05:00
226786f0b0
IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.
...
Domain object ids are always stored immediately after the raw data.
2018-01-07 17:11:43 -05:00
bc8ef64804
svc: Implement svcSignalProcessWideKey.
2018-01-07 16:55:17 -05:00
bd377908d7
audio: Log dropping frames as trace to reduce spam.
2018-01-07 16:52:59 -05:00
4e33b4b42f
semaphore: More changes for Switch.
2018-01-07 16:52:23 -05:00
0f6fbdb963
wait_object: Refactor to allow waking up a single thread.
2018-01-07 16:33:41 -05:00
bc77a7580e
nso: Always load the filepath specified by the user.
2018-01-07 12:44:36 -05:00
79e0dd249e
core_timing: Increase clock speed for Switch docked.
2018-01-07 00:58:06 -05:00
5017038ca7
svc: Implement svcWaitProcessWideKeyAtomic.
2018-01-06 16:14:12 -05:00
91f10a1460
semaphore: Updates for Switch.
2018-01-06 15:55:40 -05:00
6f6d9af408
lm: Assert on unsupported multi-message.
2018-01-06 14:41:56 -05:00
0e978bdd50
svc: Implement WaitSynchronization for a single handle.
2018-01-06 14:34:32 -05:00
57f42e5887
svc: Refactor LockMutex code to use WaitSynchronization1.
2018-01-06 14:19:28 -05:00
d083c07c46
lm: Improve Log() to format a useful string.
2018-01-05 00:45:13 -05:00
da7053b169
cmake: Add script to find Unicorn.
2018-01-04 19:52:54 -05:00