Commit graph

10 commits

Author SHA1 Message Date
gdkchan
2bc5aeb721 Fix typo and update priority/avoid duplicates on UpdateMutexOwner 2018-05-14 03:09:08 -03:00
gdkchan
0d541bd956 Some improvements to SetThreadCoreMask, simplified implementation of wait lists 2018-05-14 03:01:10 -03:00
gdkchan
e65ea8506b Initial work to support changing thread core on the scheduler, also some cond var priority fixes 2018-05-13 00:22:42 -03:00
gdkchan
570ac65025 NvServices refactoring (#120)
* Initial implementation of NvMap/NvHostCtrl

* More work on NvHostCtrl

* Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind

* Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb)

* Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks

* Remove now unused code, add comment about probably wrong result codes
2018-05-07 15:53:23 -03:00
gdkchan
50b01658fa Remove thread from the threads list when it finishes, remove debug code 2018-04-26 00:07:12 -03:00
gdkchan
ab56c9b2af Some small sync primitive fixes, logging fixes, started to implement the 2D engine on the GPU, fixed DrawArrays, implemented a few more shader instructions, made a start on nvdrv refactor, etc... 2018-04-25 23:12:26 -03:00
gdkchan
ae8bb487db Improved logging (#103) 2018-04-24 15:57:39 -03:00
gdkchan
bc30bbd954 Implement the synchronization primitives like the Horizon kernel does (#97)
* Started to work in improving the sync primitives

* Some fixes

* Check that the mutex address matches before waking a waiting thread

* Add MutexOwner field to keep track of the thread owning the mutex, update wait list when priority changes, other tweaks

* Add new priority information to the log

* SvcSetThreadPriority should update just the WantedPriority
2018-04-21 16:07:16 -03:00
gdkchan
61686fd0bc [HLE/Kernel] Fix SetThreadPriority, allow nano seconds values > int.MaxValue, fix on WaitProcessWideKeyAtomic (althrough looks like it still doesn't work properly 2018-04-19 04:06:23 -03:00
gdkchan
e0c0813b5c [HLE/Kernel] Somewhat improved sync primitives 2018-04-18 23:52:36 -03:00