Commit Graph

1589 Commits

Author SHA1 Message Date
af1ca87be1 vi: Add IManagerDisplayService::CloseDisplay function 2018-01-15 01:29:00 -05:00
f3264dd78d Games expect 15 for ICommonStateGetter::ReceiveMessage in order to continue execution 2018-01-14 21:06:34 -08:00
ebd613c2cc renderer: Render previous frame when no new one is available. 2018-01-14 23:54:56 -05:00
71eeab257f lm: Fix IPC header for Initialize. 2018-01-14 21:45:06 -05:00
7bedea73a8 time: Implement GetStandardUserSystemClock, GetCurrentTime. 2018-01-14 21:45:06 -05:00
d81a984d4a audio: Add files to CMake. 2018-01-14 21:45:06 -05:00
2e8246a02c hid: Remove unused registered_loggers. 2018-01-14 21:45:06 -05:00
7a50d56d0e audio: Stub out AudOutU::ListAudioOuts. 2018-01-14 21:45:06 -05:00
f4a3d28224 hid: Implement IAppletResource::GetSharedMemoryHandle. 2018-01-14 21:45:06 -05:00
22659afcd0 shared_memory: Minor fixes and cleanup. 2018-01-14 17:20:55 -05:00
974362bc12 svc: Implement svcMapSharedMemory. 2018-01-14 17:20:55 -05:00
bd58c5470c kernel: Increase default stack size to 64K. 2018-01-14 17:20:55 -05:00
e86bdb1601 Fix build on macOS and linux 2018-01-13 22:38:52 +00:00
1247c53786 yuzu: Update license text to be consistent across project. 2018-01-13 16:22:39 -05:00
70e65ee63a Remove settings issues in sdl and fix a few files that broke in mingw 2018-01-12 19:11:05 -07:00
1d28b2e142 Remove references to PICA and rasterizers in video_core 2018-01-12 19:11:03 -07:00
056f987bcd core: Include <algorithm> where used. 2018-01-11 22:36:56 -05:00
94ad97def0 nv: Fix more broken asserts. 2018-01-11 22:31:12 -05:00
ac2feaf5fb nvdisp_disp0: Fix broken assert. 2018-01-11 22:29:29 -05:00
039fc7f985 core: Fix recent GCC build breaks. 2018-01-11 22:24:09 -05:00
97ef21e166 svc: Implement GetSystemTick. 2018-01-11 21:59:31 -05:00
305035b503 nvdisp_disp0: Call SwapBuffers to render framebuffer. 2018-01-10 23:29:03 -05:00
1ca800ccee NV: Move the nv device nodes to their own directory and namespace. 2018-01-10 23:28:40 -05:00
977ce4abbc 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
7e0ff43da0 vi: Use new CoreTiming::EventType 2018-01-10 23:28:33 -05:00
34ae2ec644 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
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
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