Commit Graph

3070 Commits

Author SHA1 Message Date
668e5452fa Update dynarmic to bc73004
bc73004 a64_merge_interpret_blocks: Remove debug output
4e656ed tests/A64: Randomize PSTATE.<NZCV>
fd9530b A64: Optimization: Merge interpret blocks
3c9eb04 testenv: Use format constants
324f3fc tests/A64: Unicorn interface fixes
98ecbe7 tests/A64: Fuzz against unicorn
b1d38e7 tests/A64: Move TestEnvironment to own header
5218ad9 A64/data_processing_pcrel: bug: ADR{,P} instructions sign extend their immediate
b1a8c39 A64/data_processing_addsub: bug: {ADD,SUB}S (extended register) instructions write to ZR when d = 31
64827fb a64_emit_x64: bug: A64CallSupervisor trampled callee-save registers
1bfa04d emit_x64: bug: OP m/r64, imm32 form instructions sign-extend their immediate on x64
edadeea A64 inferface: Use two argument static_assert
9ab1304 A64: Add ExceptionRaised IR instruction
6843eed Update readme
7438d07 A64/translate: Add TranslateSingleInstruction function
2018-01-13 22:38:57 +00:00
e86bdb1601 Fix build on macOS and linux 2018-01-13 22:38:52 +00:00
17af2937fe arm_unicorn: Log unmapped memory access address. 2018-01-13 16:24:05 -05: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
18ca3ca751 Removing unused settings and yuzu rebranding 2018-01-12 19:11:05 -07:00
389979018c Remove gpu debugger and get yuzu qt to compile 2018-01-12 19:11:04 -07:00
1d28b2e142 Remove references to PICA and rasterizers in video_core 2018-01-12 19:11:03 -07:00
8e51c61dbc core: Gut out cryptop, since it doesn't compile with C++17. 2018-01-12 19:36:41 -05:00
b628192bf2 configuration: Add cpu_core configuration option 2018-01-12 17:48:52 -05:00
d2fbc78320 arm_dynarmic: Implement core 2018-01-12 17:48:29 -05: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
292135a3b7 CMakeLists: Add framebuffer_layout.cpp. 2018-01-10 23:28:46 -05:00
482cf8a005 frontend: Update for undocked Switch screen layout. 2018-01-10 23:28:43 -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
f10a304ecd fix macos build 2018-01-08 19:20:10 -05:00
d6e4e6ea32 core_timing: Use 1.020GHz for core clock rate. 2018-01-08 19:18:50 -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
ad965501d0 IPC: Corrected some command headers in the IPC Controller interface. 2018-01-07 17:12:03 -05:00