[Mesa-dev] [PATCH] egl/dri2: dri2_initialize: Do not reference-count TestOnly display
Michel Dänzer
michel at daenzer.net
Thu Aug 4 01:38:22 UTC 2016
On 04.08.2016 09:53, Nicolas Boichat wrote:
> On Thu, Aug 4, 2016 at 12:22 AM, Martin Peres
> <martin.peres at linux.intel.com> wrote:
>> On 03/08/16 16:54, Nicolas Boichat wrote:
>>>
>>> In the case where dri2_initialize is called with a TestOnly display,
>>> the display is not actually initialized, so dri2_egl_display always
>>> fails, and we cannot do any reference counting.
>>>
>>> Fixes piglit spec at egl_khr_create_context@verify gl flavor (reproducible
>>> with LIBGL_ALWAYS_SOFTWARE=1) and spec at egl_khr_fence_sync@conformance.
>>>
>>> Fixes: 9ee683f877 (egl/dri2: Add reference count for dri2_egl_display)
>>> Cc: "12.0" <mesa-stable at lists.freedesktop.org>
>>> Reported-by: Michel Dänzer <michel at daenzer.net>
>>> Signed-off-by: Nicolas Boichat <drinkcat at chromium.org>
>>> ---
>>>
>>> Compile-tested only, please give it a spin, thanks!
>>
>> Still crashes, same backtrace before and after the patch:
>
> Actually, I was thinking about this bug:
> https://bugs.freedesktop.org/show_bug.cgi?id=97136, which should be
> spec at egl_khr_create_context@verify gl flavor? Did you try that test?
Your patch fixes this test for me.
Tested-by: Michel Dänzer <michel.daenzer at amd.com>
Please remove the reference to the egl_khr_fence_sync test from the
commit log.
> Not easy for me to reproduce, but... Looking that the test source code:
> https://cgit.freedesktop.org/piglit/tree/tests/egl/spec/egl_khr_fence_sync/egl_khr_fence_sync.c
>
> Do you know why we end up in the error path in init_display?
>
> My guess is that
> eglInitialize->dri2_initialize->dri2_initialize_wayland fails after
> setting disp->DriverData, so the display refcount is == 0, but the
> display is not null, leading to the crash in egl_terminate.
>
> I just spotted this patch for x11:
> https://patchwork.freedesktop.org/patch/101934/
>
> platform_wayland needs to be modified in a similar way.
Indeed, that fixes the egl_khr_fence_sync test for me FWIW.
> For the record, Emil spotted this issue when I submitted the offending
> patch, and I haven't followed up ,-(
For future patches, please make sure there are no piglit regressions, at
least for the tests which run with swrast via LIBGL_ALWAYS_SOFTWARE=1.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list