Commit Graph

12 Commits

Author SHA1 Message Date
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
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
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
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
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
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
0381a09227 Fix WidthInGobs on the GPU 2018-05-11 20:20:44 -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