-
A mesa driver for rockchip is defined which will call into lima when 3D rendering is requested from it. This uses the renderonly library from mesa, which hides the buffer sharing details between the two drivers from the application. This allows applications that expect a single device node like /dev/dri/card0 (such as kmscube) to run unmodified on Rockchip devices that use the rockchip-drm driver for display and have a Mali400 gpu using lima. This follows the model of the lima+sun4i drivers existing in mesa. The code implemented here is mostly borrowed from that particular implementation. Rockchip socs use the same drm/kms driver throughout all socs but multiple gpus are in use like Mali-Utgard, Mali-Midgard and also PowerVR and Vivante. To help with this the winsys part is set up to iterate through multiple gpus and try each until a valid one is found. Right now of course only the Lima-supported GPUs are implemented but it can be easily adapted for the other ones, once Mesa drivers are available for them. Signed-off-by: Heiko Stuebner <heiko@sntech.de>
67e63fc3
Loading