Skip to content

Draft: treewide: Performance, configuration & HWC improvements

Alfred Neumayer requested to merge personal/fredldotme/allaroundhwc into main

Numerous changes, all around the tree, to accommodate for future developments and fixing previous assumptions. Each commit has more detailed information about the implemented changes.

For porters and others who need to integrate the new configuration capabilities - based on libdeviceinfo - here are the new configs:

  • MirAndroidPlatformServerPartialUpdates: Allow partial redraws to HWC-assigned server-side buffers Type: Boolean, Default: false
  • MirAndroidPlatformServerEglSync: Allow or avoid synchronization using EGL fencing primitives when drawing the screen Type: Boolean, Overrules existing Android property
  • MirAndroidPlatformServerClearFbFence: Framebuffer changes only continue after the fence has been successfully waited on
  • MirAndroidPlatformClientEglFlush: Force GL command buffer flush on eglSwapBuffers, in case the driver doesn't follow the spec Type: Comma-separated list (or special value "all"), Default: don't apply to any app
  • MirAndroidPlatformClientFenceSync: Classic fence-only synchronization without GL command buffer flusing Type: Comma-separated list (or special value "all"), Default: don't apply to any app

For client-specific properties to be useful they need to be able to read the libdeviceinfo yaml files, which AppArmor currently prevents, but this is out-of-scope for this specific MR.

Merge request reports