[Mesa-dev] [PATCH 3/3] [Bug 38970] [bisected]piglit glx/glx-pixmap-multi failed
Nicolai Hähnle
nhaehnle at gmail.com
Mon Oct 17 19:38:12 UTC 2016
On 29.09.2016 22:55, Anutex wrote:
> I tried to debug this issue with changing the condition to check only bad magic and Error.
> And the test passed.
>
> Though i am not sure what is the correct behaviour if we are in this condition.
> May be we should make some other condition if the Hash Table have the bucket data.
The whole commit message needs to be cleaned up to. Also, mention:
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38970
> ---
> src/glx/dri2_glx.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
> index af388d9..a1fd9ff 100644
> --- a/src/glx/dri2_glx.c
> +++ b/src/glx/dri2_glx.c
> @@ -411,12 +411,13 @@ dri2CreateDrawable(struct glx_screen *base, XID xDrawable,
> return NULL;
> }
>
> - if (__glxHashInsert(pdp->dri2Hash, xDrawable, pdraw)) {
> + if (__glxHashInsert(pdp->dri2Hash, xDrawable, pdraw) == -1) {
> (*psc->core->destroyDrawable) (pdraw->driDrawable);
> DRI2DestroyDrawable(psc->base.dpy, xDrawable);
> free(pdraw);
> return None;
> }
This looks reasonable to me.
The information in the hash gets somewhat broken when multiple
GLXPixmaps are created from the same Pixmap, but the hash is used to
lookup drawables based on XID for flip-type events, which seems like it
shouldn't happen for pixmaps anyway. So I wonder if pixmaps need to be
added to the hash in the first place.
But I'm also not very familiar with all of this, so a second opinion
would be nice :)
Cheers,
Nicolai
> +
>
> /*
> * Make sure server has the same swap interval we do for the new
>
More information about the mesa-dev
mailing list