[Mesa-dev] [RFC 2/5] egl/android: Add Android property for forcing kms_swrast

Robert Foss robert.foss at collabora.com
Thu Jul 5 15:35:13 UTC 2018


Hey Tomasz,

On 05/07/18 16:16, Tomasz Figa wrote:
> On Thu, Jul 5, 2018 at 7:07 PM Robert Foss <robert.foss at collabora.com> wrote:
>>
>> In order to simplify Android bringup on new devices,
>> provide the property "drm.gpu.force_software" which
>> forces kms_swrast to be used.
>>
>> Signed-off-by: Robert Foss <robert.foss at collabora.com>
>> ---
>>   src/egl/main/egldriver.c | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c
>> index 218b3daef25..bb9e90c157d 100644
>> --- a/src/egl/main/egldriver.c
>> +++ b/src/egl/main/egldriver.c
>> @@ -39,6 +39,10 @@
>>   #include <stdlib.h>
>>   #include "c11/threads.h"
>>
>> +#ifdef HAVE_ANDROID_PLATFORM
>> +#include <cutils/properties.h>
>> +#endif
>> +
>>   #include "egldefines.h"
>>   #include "egldisplay.h"
>>   #include "egldriver.h"
>> @@ -87,6 +91,12 @@ _eglMatchDriver(_EGLDisplay *dpy)
>>      dpy->Options.ForceSoftware =
>>         env_var_as_boolean("LIBGL_ALWAYS_SOFTWARE", false);
>>
>> +#ifdef HAVE_ANDROID_PLATFORM
>> +   char prop_val[PROPERTY_VALUE_MAX];
>> +   property_get("drm.gpu.force_software", prop_val, "0");
>> +   dpy->Options.ForceSoftware |= strncmp(prop_val, "0", PROPERTY_VALUE_MAX);
> 
> ForceSoftware is an EGLBoolean, which is just an unsigned int, not
> stdbool, so no implicit conversion into {0, 1} for us here. I think
> what we want here is
> 
> dpy->Options.ForceSoftware |= strncmp(prop_val, "0", PROPERTY_VALUE_MAX) != 0;

Ack

> 
> Best regards,
> Tomasz
> 


More information about the mesa-dev mailing list