2847 Commits

Author SHA1 Message Date
Lordmau5
d2d4bcc1cd Update README file (#143) 2018-06-10 20:44:48 -03:00
gdkchan
5844ee7ed0 Use sample counter on HID controller layouts 2018-06-10 19:32:39 -03:00
Tobias
a2ed51ad28 Add stubs for Nfp and Acc + SvcGetThreadCoreMask implementation (#133)
* Stubs for NFP

* Stubs for ACC

* Implement SvcGetThreadCoreMask

* Fixup

* Fixup 2

* Fixup 3

* Address Cyuubi's feedback
2018-06-10 01:36:07 -03:00
gdkchan
0e8e116e5b Fix a small size related issue on MapBufferEx and add the BC7U texture format 2018-06-10 01:00:43 -03:00
gdkchan
01b9b7f927 Fix a thread sync bug as is the usual... 2018-06-09 22:41:07 -03:00
gdkchan
a0bf293395 Somewhat better implementation of thread yield 2018-06-09 18:19:14 -03:00
gdkchan
10fd47e2ca 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
49b7864971 Use source texture size when doing reads for texure copy 2018-06-09 00:46:06 -03:00
gdkchan
ad5ce18fe8 Small cleanup in AMemory and removed some unused usings 2018-06-08 23:54:50 -03:00
gdkchan
6918afec93 Do not inline the scalar vector load methods as a workaround to a .net JIT bug 2018-06-08 23:49:53 -03:00
gdkchan
4d24e4a01d 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
d7b4cc9ec7 ReadBytes function in AMemory, with cleaner range check. (#136) 2018-06-08 21:15:02 -03:00
greggameplayer
45ecda2c1d Add & Correct ErrorModules (#137)
* Add & Correct ErrorModules

* Remove LibNX specific ErrorModules

* Remove Homebrew Specific ErrorModules
2018-06-08 19:57:42 -03:00
gdkchan
0b25d0abcd Force inline some of the vector read/write methods 2018-06-04 16:11:11 -03:00
gdkchan
3b03610245 Fix ILibraryAppletCreator CreateStorage, implement Write on IStorageAccessor 2018-06-04 02:09:41 -03:00
gdkchan
174909acfa Use GetBufferType0x21 on TransactParcelAuto aswell 2018-06-02 20:40:26 -03:00
Starlet
ed2aa2378b 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
0447840a5a Fix copy-paste mistake, also related to astc... 2018-06-02 13:39:52 -03:00
gdkchan
14a67565c8 Fix mistake on astc conversion, make some static methods that shouldn't be public private, remove old commmented out code 2018-06-02 11:44:52 -03:00
gdkchan
4df1c5a9bc Re add some texture formats that I somehow removed by accident on OGLEnumConverter 2018-06-02 00:53:50 -03:00
gdkchan
5f4591a8ac Some small gpu improvements and shader improvements, add support for ASTC 4x4 textures (slow!) 2018-06-02 00:50:56 -03:00
Ac_K
4178a45a1c Add an ASTC Decoder (Not currently used in Ryujinx) (#131)
* Add an ASTC Decoder (Not currently used in Ryujinx)

* Update ASTCDecoder.cs
2018-06-01 15:00:16 -03:00
gdkchan
4f35cdbb70 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
624bc35132 Initial work to support AArch32 with a interpreter, plus nvmm stubs (not used for now) 2018-05-26 17:50:47 -03:00
Starlet
1c74037fdb [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
91e3bccb51 Fix wrong type on CMTST instruction 2018-05-23 12:57:28 -03:00
gdkchan
e5eea9c716 Remove some calls generated on the CPU for inexistent intrinsic methods 2018-05-23 00:27:48 -03:00
gdkchan
3f51356006 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
f36a10271a [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
460086e9ca 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
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