What can cause frequent calls to glDrawArrays in Weston?
I have to debug a scenario in a PowerVR based embedded Linux system where there is high resource consumption and 2D rendering is heavily loaded. Using a call tracer it seems to me that a lot of glDrawArrays calls are set off not in the apps themselves but in weston, usually with these callstacks:
#0 0x0000007f9e03edb0 in glDrawArrays () from /usr/lib/libGLESv2.so.2
#1 0x0000007f9e1cf1fc in ?? () from /usr/lib/libweston-8/gl-renderer.so
#2 0x0000007f9e1cf5d8 in ?? () from /usr/lib/libweston-8/gl-renderer.so
#3 0x0000007f9e1d00fc in ?? () from /usr/lib/libweston-8/gl-renderer.so
#4 0x0000007f9e22b564 in ?? () from /usr/lib/libweston-8/drm-backend.so
#5 0x0000007f9e224f9c in ?? () from /usr/lib/libweston-8/drm-backend.so
#6 0x0000007f9e225120 in ?? () from /usr/lib/libweston-8/drm-backend.so
#7 0x0000007f9ebfbe50 in ?? () from /usr/lib/libweston-8.so.0
#8 0x0000007f9ebabf90 in wl_event_loop_dispatch () from /usr/lib/libwayland-server.so.0
#9 0x0000007f9ebaa798 in wl_display_run () from /usr/lib/libwayland-server.so.0
#10 0x0000007f9edab47c in wet_main () from /usr/lib/weston/libexec_weston.so.0
#11 0x0000007f9ec50d78 in __libc_start_main () from /lib64/libc.so.6
#12 0x00000000004007a0 in ?? ()
#0 0x0000007f9e03edb0 in glDrawArrays () from /usr/lib/libGLESv2.so.2
#1 0x0000007f8fceaa6c in ?? () from /usr/lib/libweston-8/gl-renderer.so
#2 0x0000007f8fd3e3c0 in ?? () from /usr/lib/libweston-8/drm-backend.so
#3 0x0000007f8e836c80 in update_buffer_nativesurface ()
from /usr/lib/weston/libtsd.ivi.shell.ivi_shell.so
#4 0x0000007f8e836a2c in ?? ()
from /usr/lib/weston/libtsd.ivi.shell.ivi_shell.so
#5 0x0000007f903774a4 in ffi_call_SYSV () from /usr/lib/libffi.so.6
#6 0x0000007f90377c80 in ffi_call () from /usr/lib/libffi.so.6
#7 0x0000007f906c80f4 in ?? () from /usr/lib/libwayland-server.so.0
#8 0x0000007f906c56a8 in ?? () from /usr/lib/libwayland-server.so.0
#9 0x0000007f906c7034 in wl_event_loop_dispatch ()
from /usr/lib/libwayland-server.so.0
#10 0x0000007f906c5798 in wl_display_run ()
from /usr/lib/libwayland-server.so.0
#11 0x0000007f908c647c in wet_main () from /usr/lib/weston/libexec_weston.so.0
#12 0x0000007f9076bd78 in __libc_start_main () from /lib64/libc.so.6
#13 0x00000000004007a0 in ?? ()
These glDrawArrays calls seem to be caused by messages from some of the OpenGL apps but I don't know which ones. Other apps also use OpenGL but do not cause such callstacks in weston.
My concern is that these glDrawArrays calls compete with the calls from the other apps for gpu and slow those down. Can someone tell me if such behaviour is normal and what exactly makes weston cast these calls?
Regards.