[Mesa-dev] virgl and vc4 problem on Android

Rob Herring robh at kernel.org
Thu Jun 16 00:34:02 UTC 2016


In the process of adding RGBX (XB24) format to mesa for Android, I
started seeing a new problem that makes the UI stop updating. It
happens about when the splash screen is stopped and the lock screen is
displayed. The display flickers on mouse movement, and it looks like
the screen is flipping to old buffers (like the splash screen after
its process exited). It is working fine for freedreno AFAICT, but I am
running into a problem with virgl. With virgl, I get the following
error:

vrend_create_surface: context error reported 1 "surfaceflinger"
Illegal resource 1435
vrend_report_buffer_error: context error reported 1 "surfaceflinger"
Illegal command buffer 329729

The addition of the pixel format changes the eglconfig used for the
splash screen. If I force the splash screen eglconfig to have an alpha
or draw one frame of the splash screen and exit early or disable the
splash screen, everything seems fine though I have hit the problem
rarely navigating around. I suspect this has nothing to do with the
pixel format other than different buffer sizes cause buffers to get
reused differently.

Now I've started working on getting RPi3 and vc4 working, and it
appears to have a similar problem. I'm getting these errors though
things go haywire before getting any error message:

[   43.846569] [drm:vc4_submit_cl_ioctl] *ERROR* Failed to look up GEM BO 0: 4

Here's a screenshot[1]. I've also seen an error for fbo size of 4KB
when expected size is 5MB. The RPi is a bit different in that I can
continue to navigate around, but apps are not really working and don't
render completely. Returning to the home screen starts the flickering
like the pic except the old contents are the app that ran last.

Any suggestions on how to debug this? I've tried a few things like
disabling the BO cache in vc4 gallium driver and logging BO
create/free, but didn't see anything.

Rob

[1] https://goo.gl/photos/zqq3ksMVXLvbA6CK8


More information about the mesa-dev mailing list