gdkchan
aa75957ce2
Somewhat better implementation of thread yield
2018-06-09 18:19:14 -03:00
gdkchan
7f5a8effbb
Move WriteBytes to AMemory, implement it with a Marshal copy like ReadBytes, fix regression on address range checking
2018-06-09 13:05:41 -03:00
gdkchan
91420a402c
Use source texture size when doing reads for texure copy
2018-06-09 00:46:06 -03:00
gdkchan
7822348439
Small cleanup in AMemory and removed some unused usings
2018-06-08 23:54:50 -03:00
gdkchan
231fae1a4c
Texture/Vertex/Index data cache ( #132 )
...
* Initial implementation of the texture cache
* Cache vertex and index data aswell, some cleanup
* Improve handling of the cache by storing cached ranges on a list for each page
* Delete old data from the caches automatically, ensure that the cache is cleaned when the mapping/size changes, and some general cleanup
2018-06-08 21:15:56 -03:00
riperiperi
6fe51f9705
ReadBytes function in AMemory, with cleaner range check. ( #136 )
2018-06-08 21:15:02 -03:00
greggameplayer
39ebb83453
Add & Correct ErrorModules ( #137 )
...
* Add & Correct ErrorModules
* Remove LibNX specific ErrorModules
* Remove Homebrew Specific ErrorModules
2018-06-08 19:57:42 -03:00
gdkchan
741ec27b1d
Fix ILibraryAppletCreator CreateStorage, implement Write on IStorageAccessor
2018-06-04 02:09:41 -03:00
gdkchan
e7efee7909
Use GetBufferType0x21 on TransactParcelAuto aswell
2018-06-02 20:40:26 -03:00
Starlet
250e2084f4
SMO stubs and implementations ( #129 )
...
* WIP SMO stubs and implementations
* fixes?
* Add StorageHelper
* Whoops
* Compliant with review.
* Remove unnecessary usings
2018-06-02 19:46:09 -03:00
gdkchan
53a6922f87
Some small gpu improvements and shader improvements, add support for ASTC 4x4 textures (slow!)
2018-06-02 00:50:56 -03:00
gdkchan
f43dd08064
Added support for more shader instructions and texture formats, fix swapped channels in RGB565 and RGBA5551? texture formats, allow zero values on blending registers, initial work to build CFG on the shader decoder, update the BRA instruction to work with it (WIP)
2018-05-29 20:37:10 -03:00
gdkchan
9670c096e4
Initial work to support AArch32 with a interpreter, plus nvmm stubs (not used for now)
2018-05-26 17:50:47 -03:00
Starlet
cb1cf489f9
[IApplicationFunctions/INvDrvServices] Stub GetPseudoDeviceId, FinishInitialize and add more pctl service names. ( #127 )
...
* [INvDrvServices] Stub FinishInitialize
* [IApplicationFunctions] Stub GetPseudoDeviceId
* I need to proofread my shit...
* Also add more pctl service names
2018-05-25 18:33:09 -03:00
gdkchan
e78737089c
Remove some calls generated on the CPU for inexistent intrinsic methods
2018-05-23 00:27:48 -03:00
gdkchan
79e0070363
Improve shader sending method to GAL, use a memory interface instead of reading a fixed array size and sending every time
2018-05-22 22:43:31 -03:00
Starlet
84996ccd36
[SvcSystem/SvcMemory] Implement SvcGetInfo 16, SvcMapPhysicalMemory & SvcUnmapPhysicalMemory ( #126 )
...
* [SvcSystem] Implement SvcGetInfo 16
SvcGetInfo 16 always should be 1(?)
* Implement SvcMapPhysicalMemory & SvcUnmapPhysicalMemory
* Adjusted to review.
2018-05-22 17:40:46 -03:00
Thomas Guillemard
fa4b34bd19
Add a C++ demangler ( #119 )
...
* Add a C++ demangler for PrintStackTrace
This is a simple C++ demangler (only supporting name demangling) that will
probably be enough for any stacktrace cases.
* Create Ryujinx.Core.OsHle.Diagnostics.Demangler and move DemangleName
* Rename Demangler -> Demangle + Fix coding style
* Starting a real parsing for demangler (still simple and no compression support yet)
* Partially implement decompression
* Improve compression support (still need to fix errored compression indexing)
* Some cleanup
* Fix Demangle.Parse call in PrintStackTrace
* Trim parameters result to get more clear prototypes
* Rename Demangle -> Demangler and fix access level
* Fix substitution possible issues also improve code readability
* Redo compression indexing to be more accurate
* Add support of not nested function name
2018-05-22 17:40:02 -03:00
gdkchan
b19c474082
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
9b9ead94cd
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
73a3233d57
Fix some races in SvcThreadSync and change the way how yield works
2018-05-15 22:37:54 -03:00
gdkchan
fdfa9424c8
Fix typo and update priority/avoid duplicates on UpdateMutexOwner
2018-05-14 03:09:08 -03:00
gdkchan
ee0b14ba08
Some improvements to SetThreadCoreMask, simplified implementation of wait lists
2018-05-14 03:01:10 -03:00
gdkchan
9e50ed53e6
Implement GetTpcMasks on nvservices
2018-05-13 22:10:45 -03:00
gdkchan
b2b1d7dcd7
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
4546d1b9be
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
3603497a13
Allow using self thread id on some svcs ( fixes #117 )
2018-05-11 23:05:06 -03:00
gdkchan
0381a09227
Fix WidthInGobs on the GPU
2018-05-11 20:20:44 -03:00
gdkchan
f9f111bc85
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
8e306b3ac1
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
0979426e63
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
ac91607ac3
Fix regression caused by wrong endian on GetAudioRendererWorkBufferSize version check
2018-05-07 16:03:30 -03:00
gdkchan
34037701c7
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
4419e8d6b4
Update IAudioRendererManager.cs
2018-05-04 16:52:07 +02:00
Ac_K
d0afc8e380
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
071754aaeb
Fix GetDesiredLanguage and expose a way to set the desired language, default to english
2018-04-29 20:18:46 -03:00
gdkchan
f73a182b20
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
17f4ccf2d5
Remove unnecessary casts from NxSettings
2018-04-26 13:57:25 -03:00
gdkchan
1af78416d1
Add null terminator to audio device names when writing to the output buffer
2018-04-26 11:34:40 -03:00
gdkchan
81e74ebd86
Remove thread from the threads list when it finishes, remove debug code
2018-04-26 00:07:12 -03:00
gdkchan
a38a72b062
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
211f7f69db
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
2a985de88c
[HLE/Audio] Use correct audio device names
2018-04-24 17:14:26 -03:00
gdkchan
a8ba340dde
Improved logging ( #103 )
2018-04-24 15:57:39 -03:00
Ac_K
4e24866b47
Update IAudioController.cs
2018-04-23 05:02:30 +02:00
gdkchan
db0aa54233
Print guest stack trace on a few points that can throw exceptions
2018-04-22 02:48:17 -03:00
gdkchan
bd9b1e2c6b
Stub a few services, add support for generating call stacks on the CPU
2018-04-22 01:22:46 -03:00
Ac_K
4906acdde9
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
434e40b8a0
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
gdkchan
90279d96ea
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