gdkchan
49fd76db0f
Fix a small size related issue on MapBufferEx and add the BC7U texture format
2018-06-10 01:00:43 -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
gdkchan
f03a43fa38
Fix copy-paste mistake, also related to astc...
2018-06-02 13:39:52 -03:00
gdkchan
4731c7545d
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
7a6ce48184
Re add some texture formats that I somehow removed by accident on OGLEnumConverter
2018-06-02 00:53:50 -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
Ac_K
aeb1bbf50c
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
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
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
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
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
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
gdkchan
5f0dd965bf
Ignore ZR target texture color registers on shader
2018-04-30 14:32:54 -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
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
gdkchan
03002f6537
Add SvcSetThreadActivity, tweak SignalProcessWideKey, add fmul32i shader instructions and other small fixes
2018-04-19 16:18:30 -03:00
gdkchan
494e6dfa1e
[GPU] Set frame buffer texture size to window size
2018-04-14 01:31:27 -03:00
gdkchan
7dd14a4f3a
[GPU] Send correct window size to the vertex shader
2018-04-14 01:14:42 -03:00
gdkchan
42ebfdff7f
[GPU] Fix frame buffer being upside down in some cases
2018-04-14 00:39:24 -03:00
gdkchan
47100ec8c1
[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
032c442505
[GPU] Remove 1f in RCP instruction emitter on glsl decompiler
2018-04-13 16:01:29 -03:00
gdkchan
8ab76a7bd4
[GPU] Do not use the f suffix on float contants on the shader glsl code
2018-04-13 15:53:16 -03:00
gdkchan
237eaeb920
Bump glsl version to support layout qualifier
2018-04-13 15:36:12 -03:00
gdkchan
c8c86a3854
Fix for current framebuffer issues ( #78 )
...
[GPU] Fix some of the current framebuffer issues
2018-04-13 15:12:58 -03:00
gdkchan
7b2f471d4f
[GPU] Add support for the BC4/5 texture formats
2018-04-10 18:54:50 -03:00
gdkchan
f57fd95fd9
Fix regression -- enable raw frame buffer rendering
2018-04-10 16:56:03 -03:00
gdkchan
feb2680a6c
[GPU] Add more shader instructions, add support for rgb565 textures
2018-04-10 16:50:32 -03:00
LDj3SNuD
e9cfdef098
Add A1B5G5R5 texture format. ( #76 )
...
* Update GalTextureFormat.cs
* Update TextureReader.cs
2018-04-08 18:08:36 -03:00
gdkchan
36dfd20c87
Use correct pitch value when decoding linear swizzle textures
2018-04-08 17:09:41 -03:00
gdkchan
b9aa3966c0
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
4314a8f3e5
[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
79a5939734
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
7a27990faa
Allow more than one process, free resources on process dispose, implement SvcExitThread
2018-03-12 01:14:12 -03:00
gdkchan
5d8a615c21
Enable hardware frame buffer texture scaling
2018-02-28 23:37:40 -03:00
gdkchan
f876bd2a80
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
3936c93448
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
2ed733b1d5
Somewhat better NvFlinger (I guess) ( fixes #30 )
2018-02-23 18:48:27 -03:00
emmauss
62b827f474
Split main project into core,graphics and chocolarm4 subproject ( #29 )
2018-02-20 17:09:23 -03:00