867 Commits

Author SHA1 Message Date
gdkchan
b97d75e798 Add scalar variants of FCVTZS/FCVTZU, fix a issue on Ryushader 2018-05-18 14:44:49 -03:00
gdkchan
822a71602c Added more shader instructions, including BFE, BRA (partial), FMNMX, ISCADD, SHL, LD_C, some shader related fixes, added support for texture component selection 2018-05-17 15:25:42 -03:00
gdkchan
db67938b97 Only use higher priority on yield, change reschedule to be per-thread instead of using SchedulerThread to store the reschedule flag 2018-05-15 23:49:57 -03:00
gdkchan
f2392b6bb0 Fix some races in SvcThreadSync and change the way how yield works 2018-05-15 22:37:54 -03:00
Ac_K
5232f923fb Update README.md 2018-05-15 18:57:22 +02:00
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
b117eee0bd Implement GetTpcMasks on nvservices 2018-05-13 22:10:45 -03:00
gdkchan
3b9c6532d0 Better implementation of SetThreadCoreMask that allows changing the Core Mask (untested, no clue if it actually works) 2018-05-13 22:00:29 -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
87ef9366f2 Allow using self thread id on some svcs (fixes #117) 2018-05-11 23:05:06 -03:00
gdkchan
fac208a31c Fix WidthInGobs on the GPU 2018-05-11 20:20:44 -03:00
gdkchan
c7a6426277 Update min sdk version on readme (for real this time) 2018-05-11 20:18:59 -03:00
gdkchan
e4eb60fa82 Update min sdk version on readme 2018-05-11 20:17:43 -03:00
gdkchan
9d789f99f9 Add intrinsics support (#121)
* Initial intrinsics support

* Update tests to work with the new Vector128 type and intrinsics

* Drop SSE4.1 requirement

* Fix copy-paste mistake
2018-05-11 20:10:27 -03:00
Starlet
c7e1cd61ce Fix NV stubs (#124)
* Fix NV stubs

* Compliant with feedback

* Oops, Compliant with feedback #2
2018-05-11 00:19:51 -03:00
Thomas Guillemard
53f6eb37d9 Implement ISystemDisplayService::GetDisplayMode & Add IManagerDisplayService::SetLayerVisibility stub (#118)
* Add ISystemDisplayService::GetDisplayMode & IManagerDisplayService::SetLayerVisibility

Also add some missing PrintStub calls

* Fix import ordering & Fix incorrect value for the third word in GetDisplayMode
2018-05-10 23:40:52 -03:00
gdkchan
354950c9d9 Fix regression caused by wrong endian on GetAudioRendererWorkBufferSize version check 2018-05-07 16:03:30 -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
Ac_K
773bdea146 Update IAudioRendererManager.cs 2018-05-04 16:52:07 +02:00
Ac_K
a6e821b29e A REAL fix for some games. (#116)
* Update IAudioRendererManager.cs

* Update IAudioRendererManager.cs

* Update IAudioRendererManager.cs
2018-05-01 21:02:28 -03:00
gdkchan
a3410f482b Ignore ZR target texture color registers on shader 2018-04-30 14:32:54 -03:00
LDj3SNuD
222045bf49 Add Sqxtn_S, Sqxtn_V, Uqxtn_S, Uqxtn_V instructions and Tests (6). (#110)
* Update ILGeneratorEx.cs

* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs

* Update CpuTest.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update AInstEmitSimdArithmetic.cs

* Update AInstEmitSimdArithmetic.cs

* Update AInstEmitSimdArithmetic.cs
2018-04-29 20:39:58 -03:00
gdkchan
5af1e9f82e Fix GetDesiredLanguage and expose a way to set the desired language, default to english 2018-04-29 20:18:46 -03:00
gdkchan
556298930f Properly support multiple vertex buffers, stub 2 ioctls, fix a shader issue, change the way how the vertex buffer size is calculated for the buffers with limit = 0 2018-04-29 17:58:38 -03:00
gdkchan
b4ba08912b Remove unnecessary casts from NxSettings 2018-04-26 13:57:25 -03:00
gdkchan
e59ff06caf Add null terminator to audio device names when writing to the output buffer 2018-04-26 11:34:40 -03:00
gdkchan
50b01658fa Remove thread from the threads list when it finishes, remove debug code 2018-04-26 00:07:12 -03:00
LDj3SNuD
f02d8bd7b5 Update AOpCodeTable.cs (#108) 2018-04-25 23:26:41 -03:00
LDj3SNuD
e20c415768 Add Cls_V, Clz_V, Orn_V instructions. Add 18 Tests: And_V, Bic_V, Bif_V, Bit_V, Bsl_V, Cls_V, Clz_V, Orn_V, Orr_V. (#104)
* Update AOpCodeTable.cs

* Update AInstEmitSimdLogical.cs

* Update AInstEmitSimdArithmetic.cs

* Update ASoftFallback.cs

* Update AInstEmitAlu.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update CpuTestSimdReg.cs

* Update CpuTestSimd.cs
2018-04-25 23:20:22 -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
Ac_K
7eba78608d Update ISystemSettingsServer.cs (#107)
* Update ISystemSettingsServer.cs

Implement `GetSettingsItemValue`.

* Add NxSettings.cs

Generated automatically from a Switch 3.0 config file (Tid: 0100000000000818).

* Update ISystemSettingsServer.cs

* Update ISystemSettingsServer.cs

* Update ISystemSettingsServer.cs
2018-04-25 21:52:22 -03:00
gdkchan
8b56aa9759 Update README.md 2018-04-24 21:06:49 -03:00
gdkchan
a7d611b011 [HLE/Audio] Use correct audio device names 2018-04-24 17:14:26 -03:00
gdkchan
ae8bb487db Improved logging (#103) 2018-04-24 15:57:39 -03:00
Ac_K
456da77838 Update IAudioController.cs 2018-04-23 05:02:30 +02:00
gdkchan
dcd0b977f8 Print guest stack trace on a few points that can throw exceptions 2018-04-22 02:48:17 -03:00
gdkchan
464195813f Stub a few services, add support for generating call stacks on the CPU 2018-04-22 01:22:46 -03:00
Ac_K
a407457783 Some implementations (#99)
* Some implementations

- ICommonStateGetter
* GetBootMode
- ISelfController
* SetHandlesRequestToDisplay
- IServiceGetterInterface
- ISystemUpdateInterface
- IVulnerabilityManagerInterface
- IPrepoService
- ISettingsServer
* GetLanguageCode
- ISystemSettingsServer
* GetFirmwareVersion2
- IHOSBinderDriver
* TransactParcelAuto

* Fix Implementations

* Fix Implementations 2
2018-04-21 20:04:43 -03:00
Ac_K
8c5ebddd32 Update am service (#98)
* am services implementations

Implement:
- IAllSystemAppletProxiesService
- IApplicationCreator
- IGlobalStateController
- IHomeMenuFunctions
  * RequestToGetForeground stub.
  * GetPopFromGeneralChannelEvent stub event.
- ISystemAppletProxy
  * GetCommonStateGetter
  * GetSelfController
  * GetWindowController
  * GetAudioController
  * GetDisplayController
  * GetLibraryAppletCreator
  * GetHomeMenuFunctions
  * GetGlobalStateController
  * GetApplicationCreator
  * GetDebugFunctions

* Update ServiceFactory.cs

* Update IHomeMenuFunctions.cs

* Update IHomeMenuFunctions.cs

* Update ServiceFactory.cs
2018-04-21 16:30:06 -03:00
LDj3SNuD
90fabc8e0b Fix Addp_S in AOpCodeTable. Add 5 Tests: ADDP (scalar), ADDP (vector), ADDV. (#96)
* Update AOpCodeTable.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs

* Update Instructions.cs

* Revert "Started to work in improving the sync primitives"
2018-04-21 16:15:04 -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
emmauss
63e84d8cff fix typo in log (#93) 2018-04-20 12:40:33 -03:00
LDj3SNuD
8d1872cc96 Add ADDHN{2}, RADDHN{2}, SUBHN{2}, RSUBHN{2} (vector) instructions. Add 8 Tests. (#92)
* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update Bits.cs

* Create CpuTestSimd.cs

* Create CpuTestSimdReg.cs

* Update CpuTestSimd.cs

Provide a better supply of input values for the 20 Simd Tests.

* Update CpuTestSimdReg.cs

Provide a better supply of input values for the 20 Simd Tests.

* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs
2018-04-20 12:40:15 -03:00
gdkchan
0fcd0c3d86 Add SvcSetThreadActivity, tweak SignalProcessWideKey, add fmul32i shader instructions and other small fixes 2018-04-19 16:18:30 -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
f167e6bf03 [HLE/Kernel] Dispose the thread wait even on exit 2018-04-19 01:01:46 -03:00
MS-DOS1999
4c0da26c30 Fix Fmin/max and add vector version, add and modifying fmin/max tests (#89) 2018-04-19 00:22:12 -03:00
gdkchan
bb77137757 Fix bad merge, and a few other fixes 2018-04-19 00:19:22 -03:00
gdkchan
ea9f6287e0 [HLE/Kernel] Yield when cond var is signaled 2018-04-19 00:00:29 -03:00