Honor the property overrides for GLES.
One of the fundamental problems of the GLES loader is that we never take ro.hardware.egl and ro.board.platform into account while we try to load the system driver. As a result, if a device specify the naming via these two properties, it will not work. Checking these two properties will allow us to remove a bunch of checks as well, eventually we want emulator and swiftshader to go through this approach instead of having a bunch of checks. Another issue, is that the final loading of the system graphics driver will load from whatever that match the wildcards of libGLES_*.so or [libEGL_*.so, libGLESv1_CM_*.so, libGLESv2_*.so]. This is bad, for example, on cuttlefish, there could be multiple system drivers exist at the same time and cuttlefish can set ro.hardware.egl during boot time, however, when the graphics driver fails to load, it will silently load other graphics driver via wildcards matching. We want to make sure that once the loader fails to load the graphics driver using system properties, the device can't boot. In this patch, we attempt to load the system graphics driver by appending these two properties at the end of the graphics driver library names before we start to load from the exact names of the graphics driver, and remove the wildcards matching. BUG: 127353494 Test: Boots locally, verify emulator. Test: atest CtsAngleIntegrationHostTestCases Change-Id: Ib38c797fd3ce5a6e84e2cd38e24c9d3ab3da8274
Loading
Please register or sign in to comment