Commit graph

28 commits

Author SHA1 Message Date
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
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
a3410f482b Ignore ZR target texture color registers on shader 2018-04-30 14:32:54 -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
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
0fcd0c3d86 Add SvcSetThreadActivity, tweak SignalProcessWideKey, add fmul32i shader instructions and other small fixes 2018-04-19 16:18:30 -03:00
gdkchan
f40338c3e1 [GPU] Set frame buffer texture size to window size 2018-04-14 01:31:27 -03:00
gdkchan
9d07dda5a2 [GPU] Send correct window size to the vertex shader 2018-04-14 01:14:42 -03:00
gdkchan
f4bb7344b1 [GPU] Fix frame buffer being upside down in some cases 2018-04-14 00:39:24 -03:00
gdkchan
180ca8eeb7 [GPU] Avoid drawing the frame buffer with alpha blend enabled, use correct blend enable register, clear the buffer before drawing 2018-04-13 22:42:55 -03:00
gdkchan
6d474a72c1 [GPU] Remove 1f in RCP instruction emitter on glsl decompiler 2018-04-13 16:01:29 -03:00
gdkchan
933ccc72aa [GPU] Do not use the f suffix on float contants on the shader glsl code 2018-04-13 15:53:16 -03:00
gdkchan
a0ed8de9c5 Bump glsl version to support layout qualifier 2018-04-13 15:36:12 -03:00
gdkchan
fab16f9aae Fix for current framebuffer issues (#78)
[GPU] Fix some of the current framebuffer issues
2018-04-13 15:12:58 -03:00
gdkchan
27bde6d56f [GPU] Add support for the BC4/5 texture formats 2018-04-10 18:54:50 -03:00
gdkchan
6fd8b6feff Fix regression -- enable raw frame buffer rendering 2018-04-10 16:56:03 -03:00
gdkchan
38ea4de41f [GPU] Add more shader instructions, add support for rgb565 textures 2018-04-10 16:50:32 -03:00
LDj3SNuD
00da90996b Add A1B5G5R5 texture format. (#76)
* Update GalTextureFormat.cs

* Update TextureReader.cs
2018-04-08 18:08:36 -03:00
gdkchan
f8d5cf37d4 Use correct pitch value when decoding linear swizzle textures 2018-04-08 17:09:41 -03:00
gdkchan
eacc7689ed Merge shader branch, adding support for GLSL decompilation, a macro
interpreter, and a rewrite of the GPU code.
2018-04-08 16:41:38 -03:00
gdkchan
e60852509c [WIP] Add support for events (#60)
* Add support for events, move concept of domains to IpcService

* Support waiting for KThread, remove some test code, other tweaks

* Use move handle on NIFM since I can't test that now, it's better to leave it how it was
2018-03-19 15:58:46 -03:00
gdkchan
d79cab48ae Improvements to audout (#58)
* Some audout refactoring and improvements

* More audio improvements

* Change ReadAsciiString to use long for the Size, avoids some casting
2018-03-15 21:06:24 -03:00
gdkchan
1b5df0a34d Allow more than one process, free resources on process dispose, implement SvcExitThread 2018-03-12 01:14:12 -03:00
gdkchan
646d5e9ee1 Enable hardware frame buffer texture scaling 2018-02-28 23:37:40 -03:00
gdkchan
7b58da6812 Change SvcGetInfo 5 to return actual heap size, remove AMemoryAlloc since it is no longer needed with direct memory access, move some memory management logic out of AMemoryMgr, change default virtual filesystem path to AppData 2018-02-27 20:45:07 -03:00
gdkchan
7796f1709e Map heap on heap base region, fix for thread start on homebrew, add FCVTMU and FCVTPU (general) instructions, fix FMOV (higher 64 bits) encodings, improve emit code for FCVT* (general) instructions 2018-02-23 21:59:38 -03:00
gdkchan
a7912d0990 Somewhat better NvFlinger (I guess) (fixes #30) 2018-02-23 18:48:27 -03:00
emmauss
bf5ccf25b7 Split main project into core,graphics and chocolarm4 subproject (#29) 2018-02-20 17:09:23 -03:00