GPU: Difference between revisions
Jump to navigation
Jump to search
(No difference)
|
Latest revision as of 20:41, 28 October 2015
The GPU used in PS Vita is a PowerVR SGX543MP4+.
Kernel module SceGpuEs4 is very similar to the Linux PVR kernel module which is open source. A lot of versions are available, see for example http://elinux.org/CI20-SGX_kernel_module
Abbreviations
- EDM: Event Data Master
- PDS: Program Data Sequencer
- PVR: PowerVR
- TA: Tile Accelerator
- USSE: Universal Scalable Shader Engine
Architecture
Memory context
The GPU has its own MMU. Every render context (one per application) gets its own GPU virtual address space. The MMU tables are managed by the ARM kernel. When a user calls sceGxmMapMemory
the kernel first checks if the memory's accessible by the user and then maps it to the GPU with the same virtual address. However there are also other memory areas mapped to the GPU:
Heap ID | GPU vaddr | Comments |
---|---|---|
0x7000000 | 0x40000000 | General |
0x7000001 | 0x50000000 | TA Data |
0x7000002 | 0x14000000 | Kernel Code |
0x7000003 | 0x1C000000 | Kernel Data |
0x7000004 | 0x30000000 | Pixel Shader |
0x7000005 | 0x34000000 | Vertex Shader |
There are more heaps, 20 in total |