[Mesa-dev] EGL/android: pbuffer implementation.

Tapani Pälli tapani.palli at intel.com
Tue Nov 22 07:32:14 UTC 2016



On 11/22/2016 09:15 AM, Xu, Randy wrote:
> Hi, Tapani
>
> Can you share your detailed CTS result summary and logs? We will double check it.
> Btw, we do the CTS test on SKL GT2 and android-ia.

Sure, I'll send you the log file. I'm running on Android-IA as well.


> Thanks,
> Randy
>
> -----Original Message-----
> From: Palli, Tapani
> Sent: Tuesday, November 22, 2016 2:44 PM
> To: Xu, Randy <randy.xu at intel.com>; Tomasz Figa <tfiga at chromium.org>
> Cc: Long, Zhifang <zhifang.long at intel.com>; Liu, Zhiquan <zhiquan.liu at intel.com>; Emil Velikov <emil.l.velikov at gmail.com>; Kondapally, Kalyan <kalyan.kondapally at intel.com>; ML mesa-dev <mesa-dev at lists.freedesktop.org>
> Subject: Re: [Mesa-dev] EGL/android: pbuffer implementation.
>
>
>
> On 11/22/2016 08:39 AM, Xu, Randy wrote:
>> Hi ,Tapani
>>
>> With this pbuffer patch, only three EGL dEQP failure remained on
>> Android platform , they are under investigation now
>>
>> dEQP-EGL.functional.image.create#gles2_renderbuffer_depth16_depth_buffer fail due to "=== with config {glformat=rgba8888d24s8ms0,rotation=unspecified,surfacetype=window} ==="
>> dEQP-EGL.functional.image.modify#renderbuffer_depth16_renderbuffer_clear_depth fail due to "=== with config {glformat=rgba8888d24s8ms0,rotation=unspecified,surfacetype=window} ==="
>> dEQP-EGL.functional.image.render_multiple_contexts#gles2_renderbuffer_depth16_depth_buffer fail due to "=== with config {glformat=rgba8888d24s8ms0,rotation=unspecified,surfacetype=window} ==="
>>
>> The multithread cases can pass on Android.
>
> Not for me
>
>> Thanks,
>> Randy
>>
>>
>> -----Original Message-----
>> From: Palli, Tapani
>> Sent: Tuesday, November 22, 2016 2:32 PM
>> To: Tomasz Figa <tfiga at chromium.org>
>> Cc: Long, Zhifang <zhifang.long at intel.com>; Liu, Zhiquan
>> <zhiquan.liu at intel.com>; Xu, Randy <randy.xu at intel.com>; Emil Velikov
>> <emil.l.velikov at gmail.com>; Kondapally, Kalyan
>> <kalyan.kondapally at intel.com>; ML mesa-dev
>> <mesa-dev at lists.freedesktop.org>
>> Subject: Re: [Mesa-dev] EGL/android: pbuffer implementation.
>>
>>
>>
>> On 11/22/2016 08:08 AM, Tapani Pälli wrote:
>>>
>>>
>>> On 11/22/2016 08:02 AM, Tomasz Figa wrote:
>>>> On Tue, Nov 22, 2016 at 2:44 PM, Tapani Pälli
>>>> <tapani.palli at intel.com>
>>>> wrote:
>>>>>
>>>>>
>>>>> On 11/21/2016 04:15 PM, Emil Velikov wrote:
>>>>>>
>>>>>> On 21 November 2016 at 07:23, Tomasz Figa <tfiga at chromium.org> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> On Wed, Nov 16, 2016 at 11:11 AM, Liu Zhiquan
>>>>>>> <zhiquan.liu at intel.com>
>>>>>>> wrote:
>>>>>>>> @@ -775,14 +837,6 @@ droid_add_configs_for_visuals(_EGLDriver
>>>>>>>> *drv, _EGLDisplay *dpy)
>>>>>>>>     for (i = 0; dri2_dpy->driver_configs[i]; i++) {
>>>>>>>>        const EGLint surface_type = EGL_WINDOW_BIT | EGL_PBUFFER_BIT;
>>>>>>>>        struct dri2_egl_config *dri2_conf;
>>>>>>>> -      unsigned int double_buffered = 0;
>>>>>>>> -
>>>>>>>> -      dri2_dpy->core->getConfigAttrib(dri2_dpy->driver_configs[i],
>>>>>>>> -         __DRI_ATTRIB_DOUBLE_BUFFER, &double_buffered);
>>>>>>>> -
>>>>>>>> -      /* support only double buffered configs */
>>>>>>>> -      if (!double_buffered)
>>>>>>>> -         continue;
>>>>>>>
>>>>>>>
>>>>>>> Does it really just work like this? Last time I checked the list
>>>>>>> of configs generated after such change it contained
>>>>>>> single-buffered-only configs with window surface bit set and
>>>>>>> double-buffered-only configs with pbuffer bit set, both of which
>>>>>>> are invalid. Moreover, this caused some dEQP tests to fail. How was this patch tested?
>>>>>>>
>>>>>> Afaict the patch has (should have?) gone through the Intel CI,
>>>>>> although I'm not sure if the latter builds/runs Android/ARC.
>>>>>
>>>>>
>>>>> It did go through CI but it does not run any Android/ARC tests.
>>>>> AFAIK Zhiquan did run pbuffer related tests and reported them
>>>>> passing on Android.
>>>>> Which dEQP tests were regressed?
>>>>
>>>> The tests I'm concerned with are all
>>>> dEQP-EGL.functional.query_context.get_current_context.*_pbuffer tests.
>>>> In my testing on BSW and BDW, a change identical to the part quoted
>>>> above made eglGetConfigs() return double buffered configs for
>>>> pbuffers, which made the mentioned tests fail because of invalid
>>>> config at surface creation time (or SIGSEGV, before my NULL pointer
>>>> fix - 94282b6dd0 egl/android: Check return value of
>>>> dri2_get_dri_config()).
>>>
>>> OK thanks, we will run these tests today and see if something got broken.
>>
>> I did run all EGL tests now and all of the above 'get_current_context.*pbuffer' tests pass (some formats are skipped though). I don't have specifically BSW and BDW right now though, this was run on Joule (BXT).
>>
>> With my run I got 7 failing EGL tests:
>>
>> dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8
>> dEQP-EGL.functional.image.render_multiple_contexts.gles2_renderbuffer_
>> depth16_depth_buffer dEQP-EGL.functional.multithread.window
>> dEQP-EGL.functional.multithread.pbuffer_window
>> dEQP-EGL.functional.multithread.window_context
>> dEQP-EGL.functional.multithread.pbuffer_window_context
>> dEQP-EGL.performance.make_current.multi_surface.context_windows_10
>>
>> (1999 passing, 1616 skipped)
>>
>> Not sure if multithread ones ever passed. On desktop many of them fail because dEQP does not call XInitThreads().
>>
>>
>>>> Note that I haven't tested exactly this patch, just a similar
>>>> change, identical in terms of the quoted part above. It is also
>>>> possible that something changed in other part of the EGL stack,
>>>> which fixed the problem. I will retest current Mesa master a bit later.
>>>>
>>>> Best regards,
>>>> Tomasz
>>>>
>>>
>>> // Tapani
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list