Commit graph

1589 commits

Author SHA1 Message Date
shinyquagsire23
65b9660a84 hid: Add sharedmem structs 2018-01-15 02:30:53 -07:00
David Marcec
8e6ff4bd7b Games expect 15 for ICommonStateGetter::ReceiveMessage in order to continue execution 2018-01-14 21:06:34 -08:00
bunnei
f0bccde0a0 renderer: Render previous frame when no new one is available. 2018-01-14 23:54:56 -05:00
bunnei
2d7ec3bbe0 lm: Fix IPC header for Initialize. 2018-01-14 21:45:06 -05:00
bunnei
1e778e2f70 time: Implement GetStandardUserSystemClock, GetCurrentTime. 2018-01-14 21:45:06 -05:00
bunnei
814a088f41 audio: Add files to CMake. 2018-01-14 21:45:06 -05:00
bunnei
d5c25e7115 hid: Remove unused registered_loggers. 2018-01-14 21:45:06 -05:00
bunnei
3f3d08e5f4 audio: Stub out AudOutU::ListAudioOuts. 2018-01-14 21:45:06 -05:00
bunnei
951d762f1e hid: Implement IAppletResource::GetSharedMemoryHandle. 2018-01-14 21:45:06 -05:00
bunnei
e09f123ff7 shared_memory: Minor fixes and cleanup. 2018-01-14 17:20:55 -05:00
bunnei
e9e51c7181 svc: Implement svcMapSharedMemory. 2018-01-14 17:20:55 -05:00
bunnei
99d1279753 kernel: Increase default stack size to 64K. 2018-01-14 17:20:55 -05:00
MerryMage
d616b36e7b Fix build on macOS and linux 2018-01-13 22:38:52 +00:00
bunnei
182548ec86 yuzu: Update license text to be consistent across project. 2018-01-13 16:22:39 -05:00
James Rowe
d0588e52ab Remove settings issues in sdl and fix a few files that broke in mingw 2018-01-12 19:11:05 -07:00
James Rowe
a5b9cd4d18 Remove references to PICA and rasterizers in video_core 2018-01-12 19:11:03 -07:00
bunnei
7e02ba1ae3 core: Include <algorithm> where used. 2018-01-11 22:36:56 -05:00
bunnei
5a7a2eba0d nv: Fix more broken asserts. 2018-01-11 22:31:12 -05:00
bunnei
d673462aa5 nvdisp_disp0: Fix broken assert. 2018-01-11 22:29:29 -05:00
bunnei
86a8e32471 core: Fix recent GCC build breaks. 2018-01-11 22:24:09 -05:00
bunnei
e2db6b98fe svc: Implement GetSystemTick. 2018-01-11 21:59:31 -05:00
bunnei
cfb9f39472 nvdisp_disp0: Call SwapBuffers to render framebuffer. 2018-01-10 23:29:03 -05:00
Subv
81bcb331f8 NV: Move the nv device nodes to their own directory and namespace. 2018-01-10 23:28:40 -05:00
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
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