mesa/src/broadcom
Adam Jackson 768238fdc0 glx: Fix drawable refcounting for naked Windows
driFetchDrawable is only ever called from the MakeCurrent path, which
means it has to handle the case of pre-GLX-1.3 Windows being named as
the drawable. When it finds the drawable in the hash, it increments its
refcount before returning it, so for a GLXWindow it would be 2 on first
return, one from glXCreateWindow and one from glXMakeCurrent. But when
it does not find the drawable and creates one for the naked Window, the
reference count on first return would only be 1. As a result, if this
context was then ever bound to a different drawable, the old Window's
DRI drawable state (like the back buffer) would be destroyed.

Fixes piglit's glx-multi-window-single-context and glx-make-current for
a variety of drivers.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6713
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17479>
2022-07-13 12:25:30 -04:00
..
ci glx: Fix drawable refcounting for naked Windows 2022-07-13 12:25:30 -04:00
cle broadcom: add line rasterization mode to packet definition 2022-03-18 09:38:38 +00:00
clif v3d/clif: add support for dumping GS shader state 2021-10-13 21:23:10 +00:00
common v3d,v3dv: stop copying and pasting the translate_swizzle helper 2022-07-13 10:09:34 +00:00
compiler broadcom/compiler: don't over-estimate latency of TMU instructions 2022-07-11 10:34:58 +00:00
drm-shim Use proper types for meson objects 2022-04-18 13:03:08 +03:00
qpu broadcom: drop unused functions 2022-01-31 16:10:31 +00:00
simulator v3d/simulator: add support for AMD cards 2022-04-27 14:42:23 +00:00
vulkan v3d,v3dv: stop copying and pasting the translate_swizzle helper 2022-07-13 10:09:34 +00:00
.editorconfig
meson.build broadcom: remove v3dv3 from neon library 2021-07-29 08:26:11 +00:00