Hi Sascha and Daniel:
On Tue, Mar 15, 2022 at 02:46:35PM +0800, Andy Yan wrote:Hi Sascha: On 3/11/22 16:33, Sascha Hauer wrote:From: Andy Yan <andy.yan@rock-chips.com> The VOP2 unit is found on Rockchip SoCs beginning with rk3566/rk3568. It replaces the VOP unit found in the older Rockchip SoCs. This driver has been derived from the downstream Rockchip Kernel and heavily modified: - All nonstandard DRM properties have been removed - dropped struct vop2_plane_state and pass around less data between functions - Dropped all DRM_FORMAT_* not known on upstream - rework register access to get rid of excessively used macros - Drop all waiting for framesyncs The driver is tested with HDMI and MIPI-DSI display on a RK3568-EVB board. Overlay support is tested with the modetest utility. AFBC support on the cluster windows is tested with weston-simple-dmabuf-egl on weston using the (yet to be upstreamed) panfrost driver support.Do we need some modification to test AFBC by weston-simple-dma-egl ?By default weston-simple-dma-egl uses DRM_FORMAT_XRGB8888 which in the panfrost driver ends up as PIPE_FORMAT_B8G8R8_UNORM and panfrost_afbc_format() returns PIPE_FORMAT_NONE for that. Change the format to DRM_FORMAT_ABGR8888 using weston-simple-dma-egl -f 0x34324241. This ends up as PIPE_FORMAT_R8G8B8A8_UNORM in panfrost_afbc_format() which is a supported format.
I also try weston-simple-dmabuf-egl -f 0x34324241 command,
but I got this output log from weston[0]:
[view] view 0xaaaad0863520 will be placed on the renderer
From the log we can find that Layer5 view 0(0xaaaad08275e0) is the afbc view rendered by Panfrost.
But it at last put on a render not a afbc window of vop "view] view 0xaaaad083b0f0 will be placed on the renderer "
The output message from sys/kernel/debug/dri/state can also provide that only non-AFBC window smart0-win0 is used.
It seems that it failed in weston drm_output_prepare_plane_view.
Maybe I need a deeper dig.
[0] https://pastebin.com/8CfiP7u1
I have a buildroot system with weston-10.0.9 and mesa 21.3.5. After launch weston, I run weston-simple-dmabuf-egl, but from the output of sys/kernel/debug/dri/0/state, the weston is still use Smart0-win0, which is a non-AFBC window. Do i need to modify the vop2 driver to set one Cluster window as primary plane?I never used a Cluster window as primary plane. Sascha