Commit Graph

2469 Commits

Author SHA1 Message Date
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
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
188feba457 Services: Allow lm to log single-character messages. 2018-01-10 00:41:29 -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
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
6f6d9af408 lm: Assert on unsupported multi-message. 2018-01-06 14:41:56 -05:00
d083c07c46 lm: Improve Log() to format a useful string. 2018-01-05 00:45:13 -05:00
fe11b51545 pctl: Remove duplicate InstallInterfaces function. 2018-01-02 20:41:20 -05:00
1d01ffccb8 applet_oe: Stub out a bunch of interfaces necessary for boot. 2017-12-29 00:44:46 -05:00
30e98fae3f controller: Implement DuplicateSession. 2017-12-29 00:39:34 -05:00
dcdaac8a0b kernel: Fix implementation of ConvertSessionToDomain. 2017-12-29 00:36:22 -05:00
b67cbb8d92 ap, aoc_u: Minor cleanup. 2017-12-28 23:45:44 -05:00
fcd4c1a0dc service: Add empty interface for pctl:a. 2017-12-28 23:44:39 -05:00
ad073846bc service: Clean up apm/lm/applet_oe/controller/sm ctor/dtor. 2017-12-28 15:27:30 -05:00
16fb1c8fe7 service: Halt on ReportUnimplementedFunction and improve output log. 2017-12-28 15:24:59 -05:00
d5995fd30f service: Add empty interface for aoc:u. 2017-12-28 15:24:05 -05:00
3597650f22 service: Return proper result code for IPC::CommandType::Close. 2017-10-31 19:30:05 -04:00
34571f4d2e hle: Use Switch formatted result codes. 2017-10-31 19:26:11 -04:00
716e5cf070 lm: Implement lm::Initialize and Logger::log. 2017-10-18 21:41:24 -04:00
03bf0739a4 service: Add CreatePort function (that does not register/install). 2017-10-18 21:34:19 -04:00
d3cc369618 service: Print correct command ID on unimplemented function. 2017-10-17 18:02:08 -04:00
4fb1b24d68 hle: Implement ConvertSessionToDomain, various cleanups. 2017-10-15 01:24:22 -04:00
72eeca1f03 hle: Add service stubs for apm and appletOE. 2017-10-14 22:50:04 -04:00
960a1416de hle: Initial implementation of NX service framework and IPC. 2017-10-14 22:18:42 -04:00
d62750c46d Remove more 3DS-specific code. 2017-10-13 17:56:42 -04:00
15983dcfdc Remove more 3DS-specific code. 2017-10-12 21:45:06 -04:00
dbd15b0d10 Remove more 3DS-specific code. 2017-10-12 21:29:53 -04:00
72b03025ac Remove lots more 3DS-specific code. 2017-10-12 21:21:49 -04:00
0906de9a14 hle: Remove a large amount of 3ds-specific service code. 2017-10-10 17:32:14 -04:00
b1d5db1cf6 Merge remote-tracking branch 'upstream/master' into nx
# Conflicts:
#	src/core/CMakeLists.txt
#	src/core/arm/dynarmic/arm_dynarmic.cpp
#	src/core/arm/dyncom/arm_dyncom.cpp
#	src/core/hle/kernel/process.cpp
#	src/core/hle/kernel/thread.cpp
#	src/core/hle/kernel/thread.h
#	src/core/hle/kernel/vm_manager.cpp
#	src/core/loader/3dsx.cpp
#	src/core/loader/elf.cpp
#	src/core/loader/ncch.cpp
#	src/core/memory.cpp
#	src/core/memory.h
#	src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
83e5f639e6 Change command header in nwm::UDS Initialize function 2017-10-09 09:10:48 +08:00
84c344b9b1 Merge pull request #2953 from Subv/applet_launch
HLE/APT: Always set up the APT parameter when starting a library applet.
2017-10-04 15:01:58 -05:00
3411883fe3 arm: Use 64-bit addressing in a bunch of places. 2017-09-30 14:28:53 -04:00
5bae5a48b9 Services/NIM: Implement CheckForSysUpdateEvent.
Implementation verified by reverse engineering.
This lets the Home Menu boot without crashing on startup.
2017-09-30 13:21:45 -05:00