Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Use depth-24 visual as default, but create a XRGB8888 visual too
In commit c0bc3fb we tried to create a depth 32 visual and set it as the default. However, it is actually pScrn->depth that is the "default", since that is what is used by armsoc when creating FBs for our scanout BOs (see OMAPMapMem() for root window, and drmmode_update_scanouts() for the drmmode_xf86crtc_resize() / per-crtc scanouts). Instead, we can go back to using a default depth-24 visual for the root window and scanouts. Since they now agree, the drmSetCrtc when switching from blit-to-flip (or vice versa) will see two FBs with the same depth, and will just do a fb update instead of a full mode switch. However, we still let armsoc provide a depth-32 visual so Mali can back its "EGL Configs with alpha" with a depth-32 XRGB8888 visual instead of letting the COMPOSITE extension create an "alternate depth-32 visual" that would trigger implicit redirection. For example es2gears speeds up from 210 to 250fps and fixes a translucent background to the expected black. The egl-sample app [0] even speeds up from around 45fps to 100fps again also fixing an issue with a transparent background. WebGL samples are now able to run smoothly as opposed to the original. And finally the xserver load goes down from 65-100% to a nicer 25-50%. Picked (and adapted) from the ChromeOS armsoc commit ea37a0d8450f8e0f49be2f098f75713a10435426
- Loading branch information