bunnei
8fe0b7211f
svc: Implement GetSystemTick.
2018-01-11 21:59:31 -05:00
bunnei
7e77ca1f6b
nvdisp_disp0: Call SwapBuffers to render framebuffer.
2018-01-10 23:29:03 -05:00
bunnei
defb61cf38
renderer_opengl: Support rendering Switch framebuffer.
2018-01-10 23:28:59 -05:00
bunnei
704f4da933
render_base: Add a struct describing framebuffer metadata.
2018-01-10 23:28:56 -05:00
bunnei
03c44d6ded
renderer_opengl: Add MortonCopyPixels function for Switch framebuffer.
2018-01-10 23:28:53 -05:00
bunnei
5b5751b905
renderer_opengl: Update DrawScreens for Switch.
2018-01-10 23:28:49 -05:00
bunnei
dd416edc5a
CMakeLists: Add framebuffer_layout.cpp.
2018-01-10 23:28:46 -05:00
bunnei
5cff0b094a
frontend: Update for undocked Switch screen layout.
2018-01-10 23:28:43 -05:00
Subv
bef496b7d0
NV: Move the nv device nodes to their own directory and namespace.
2018-01-10 23:28:40 -05:00
Subv
a7beb889ad
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
8dd74b7185
vi: Use new CoreTiming::EventType
2018-01-10 23:28:33 -05:00
Subv
c154af8fd9
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
ea026a9aae
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
f2aa714919
NV: Signal all display's vsync event 60 times per second.
2018-01-10 23:28:22 -05:00
Subv
32b57fa893
NV: Give each display its own vsync event.
2018-01-10 23:28:19 -05:00
Subv
bbe38a34c8
NV: Keep track of Displays, Layers and BufferQueues in nvflinger.
2018-01-10 23:28:16 -05:00
Subv
61c6ce89d4
IPC: Allow passing arguments to the Interfaces when using PushIpcInterface
2018-01-10 23:28:13 -05:00
Subv
cf817c45f9
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
9729f7c3c9
NV: Implemented the nvdrv:a service and the /dev/nvmap device.
2018-01-10 23:28:05 -05:00
Subv
46af8400f8
IPC: Corrected some definitions for the buffer C descriptor flags.
2018-01-10 23:28:02 -05:00
Subv
1e358b5bce
svc: Stub ResetSignal and CreateTransferMemory
2018-01-10 23:27:59 -05:00
Subv
1574fb6dc7
svc: Stub SetMemoryAttribute
2018-01-10 23:27:56 -05:00
Subv
8dee2cc16e
Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)
2018-01-10 01:01:55 -05:00
Subv
30ab9cb271
Services: Allow lm to log single-character messages.
2018-01-10 00:41:29 -05:00
Subv
13240bfcd4
SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.
2018-01-09 15:02:43 -05:00
Subv
3f8fc78075
SVC: Implemented CancelSynchronization.
2018-01-09 15:02:04 -05:00
Subv
313ee6ed5e
ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes.
2018-01-09 12:05:10 -05:00
Subv
b078e5996d
SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.
2018-01-09 11:53:50 -05:00
bunnei
3874af4b6e
kernel: Rename Semaphore to ConditionVariable.
2018-01-08 21:41:37 -05:00
bunnei
d2e12f9e15
mutex: Remove unused call to VerifyGuestState.
2018-01-08 21:12:56 -05:00
Subv
6d71843672
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
886a49cda8
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
a0e267af83
Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.
2018-01-08 21:12:49 -05:00
bunnei
546b92e95d
cmake: Use LIBUNICORN_* on Windows.
2018-01-08 20:12:20 -05:00
MerryMage
2fd6ff0dba
fix macos build
2018-01-08 19:20:10 -05:00
bunnei
141af97148
core_timing: Use 1.020GHz for core clock rate.
2018-01-08 19:18:50 -05:00
B3n30
51a9a51632
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
Subv
b816f8a1ef
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
503b111eac
AppletOE: Fixed command buffer structure for ReceiveMessage.
2018-01-07 17:12:05 -05:00
Subv
504393366f
IPC: Corrected some command headers in the IPC Controller interface.
2018-01-07 17:12:03 -05:00
Subv
d355631ab0
IPC: Corrected some command header sizes in appletOE.
2018-01-07 17:12:01 -05:00
Subv
2d94870bf4
IPC: Take the number of domain objects as a parameter in MakeBuilder.
2018-01-07 17:11:58 -05:00
Subv
14bfa5a0d0
SM: Fixed connecting to services with an 8-byte name, like appletOE.
2018-01-07 17:11:56 -05:00
Subv
768983f66e
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
fd0bdd7b18
IPC: Add functions to read the input move/copy objects from an IPC request.
2018-01-07 17:11:51 -05:00
Subv
a160fd5752
IPC: Don't attempt to read the command buffer if it holds a Close request.
2018-01-07 17:11:49 -05:00
Subv
06123721cb
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
65e4389909
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
c4751da481
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
b4258e2cf5
svc: Implement svcSignalProcessWideKey.
2018-01-07 16:55:17 -05:00