Subv
8c39b10e47
VI: Use a Pulse event instead of OneShot for the vblank events.
...
This prevents missing frames if the vblank fires between the DequeueBuffer and Wait(vsync) calls
2018-01-10 23:28:36 -05:00
bunnei
1401c44cf4
vi: Use new CoreTiming::EventType
2018-01-10 23:28:33 -05:00
Subv
2d5bf5a379
NV: Expose the nvdisp_disp0 device and a weak reference to the nvdrv:a service.
...
NVFlinger will call into the nvdisp_disp0 device to perform screen flips, bypassing the ioctl interface.
We now have the address of the framebuffer to draw, we just need to actually put it on the screen.
2018-01-10 23:28:29 -05:00
Subv
91a0d29466
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
Subv
1b907ea655
NV: Signal all display's vsync event 60 times per second.
2018-01-10 23:28:22 -05:00
Subv
67222ea3a6
NV: Give each display its own vsync event.
2018-01-10 23:28:19 -05:00
Subv
a7c31ad468
NV: Keep track of Displays, Layers and BufferQueues in nvflinger.
2018-01-10 23:28:16 -05:00
Subv
da2990dbb7
IPC: Allow passing arguments to the Interfaces when using PushIpcInterface
2018-01-10 23:28:13 -05:00
Subv
2d06628c52
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
Subv
54650737a3
NV: Implemented the nvdrv:a service and the /dev/nvmap device.
2018-01-10 23:28:05 -05:00
Subv
8923c80127
IPC: Corrected some definitions for the buffer C descriptor flags.
2018-01-10 23:28:02 -05:00
Subv
edeb55d78b
svc: Stub ResetSignal and CreateTransferMemory
2018-01-10 23:27:59 -05:00
Subv
377e2a79b5
svc: Stub SetMemoryAttribute
2018-01-10 23:27:56 -05:00
Subv
9362706e1d
Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)
2018-01-10 01:01:55 -05:00
Subv
9de1929da9
Services: Allow lm to log single-character messages.
2018-01-10 00:41:29 -05:00
Subv
db71b23c80
SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.
2018-01-09 15:02:43 -05:00
Subv
607a46a662
SVC: Implemented CancelSynchronization.
2018-01-09 15:02:04 -05:00
Subv
5685c764e4
ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes.
2018-01-09 12:05:10 -05:00
Subv
84d05d5b6c
SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.
2018-01-09 11:53:50 -05:00
bunnei
7a59da7834
kernel: Rename Semaphore to ConditionVariable.
2018-01-08 21:41:37 -05:00
bunnei
a689a33995
mutex: Remove unused call to VerifyGuestState.
2018-01-08 21:12:56 -05:00
Subv
96e2acfa8f
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
Subv
2ca36ac394
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
Subv
ac8f05943b
Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.
2018-01-08 21:12:49 -05:00
bunnei
19ba66ac8e
cmake: Use LIBUNICORN_* on Windows.
2018-01-08 20:12:20 -05:00
MerryMage
66a015fe9a
fix macos build
2018-01-08 19:20:10 -05:00
bunnei
75589269df
core_timing: Use 1.020GHz for core clock rate.
2018-01-08 19:18:50 -05:00
B3n30
1b2aa3780d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
Subv
d3f259cd73
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
Subv
f0a939c240
AppletOE: Fixed command buffer structure for ReceiveMessage.
2018-01-07 17:12:05 -05:00
Subv
b01b7eea52
IPC: Corrected some command headers in the IPC Controller interface.
2018-01-07 17:12:03 -05:00
Subv
3dd00433fe
IPC: Corrected some command header sizes in appletOE.
2018-01-07 17:12:01 -05:00
Subv
f262afb38a
IPC: Take the number of domain objects as a parameter in MakeBuilder.
2018-01-07 17:11:58 -05:00
Subv
ed8e7b90cd
SM: Fixed connecting to services with an 8-byte name, like appletOE.
2018-01-07 17:11:56 -05:00
Subv
7d966999d4
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
Subv
347ab620b5
IPC: Add functions to read the input move/copy objects from an IPC request.
2018-01-07 17:11:51 -05:00
Subv
eda468e4fb
IPC: Don't attempt to read the command buffer if it holds a Close request.
2018-01-07 17:11:49 -05:00
Subv
fd93b1e0ef
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
Subv
6a6013d4c3
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
Subv
d6a5e0b61b
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
bunnei
1aac4945d2
svc: Implement svcSignalProcessWideKey.
2018-01-07 16:55:17 -05:00
bunnei
9b8fff5568
audio: Log dropping frames as trace to reduce spam.
2018-01-07 16:52:59 -05:00
bunnei
d15b38d32c
semaphore: More changes for Switch.
2018-01-07 16:52:23 -05:00
bunnei
0459eb07c9
wait_object: Refactor to allow waking up a single thread.
2018-01-07 16:33:41 -05:00
bunnei
02dba7283f
nso: Always load the filepath specified by the user.
2018-01-07 12:44:36 -05:00
bunnei
1ae217c357
core_timing: Increase clock speed for Switch docked.
2018-01-07 00:58:06 -05:00
bunnei
2720d550b7
svc: Implement svcWaitProcessWideKeyAtomic.
2018-01-06 16:14:12 -05:00
bunnei
2f66f2210d
semaphore: Updates for Switch.
2018-01-06 15:55:40 -05:00
bunnei
718c77f373
lm: Assert on unsupported multi-message.
2018-01-06 14:41:56 -05:00
bunnei
260149fc9b
svc: Implement WaitSynchronization for a single handle.
2018-01-06 14:34:32 -05:00