mesa/src/gallium/drivers
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
..
asahi asahi,agx: Don't set PIPE_CAP_POINT_COORD_ORIGIN_UPPER_LEFT 2022-06-08 14:10:50 +00:00
crocus mesa: fix SignalSemaphoreEXT behavior 2022-07-10 16:15:17 +00:00
d3d12 d3d12: add more formats to supported conversions 2022-07-08 22:35:17 +00:00
etnaviv etnaviv: tex_desc: remove descriptor patch TODO comment 2022-07-13 15:00:33 +00:00
freedreno freedreno: Add FD_GPU_TRACEPOINT envvar to toggle tracepoints 2022-07-12 22:24:19 +00:00
i915 ci: traces: switch to brotli compressed traces 2022-06-29 00:58:28 +00:00
iris iris,anv: correct the max thread number for DG2+ 2022-07-13 08:11:19 +00:00
lima lima: fix buffer overallocation for index, vertex and constant buffers 2022-06-29 09:25:24 +00:00
llvmpipe glx: Fix drawable refcounting for naked Windows 2022-07-13 12:25:30 -04:00
nouveau ci/bare-metal: Consolidate needs declarations in .baremetal-test-*. 2022-06-22 20:59:54 +00:00
panfrost panfrost: Clear with a quad to avoid flushing 2022-07-08 01:50:03 +00:00
r300 r300: Keep rc_rename_regs() from overflowing RC_REGISTER_MAX_INDEX 2022-07-11 03:38:59 +00:00
r600 r600/sfn: emulate pmr::monotonic_buffer_resource if needed 2022-07-13 13:32:33 +00:00
radeonsi glx: Fix drawable refcounting for naked Windows 2022-07-13 12:25:30 -04:00
softpipe glx: Fix drawable refcounting for naked Windows 2022-07-13 12:25:30 -04:00
svga svga: Clear query before usage 2022-06-29 21:02:18 +00:00
tegra util: Rename pipe_debug_callback to util_debug_callback 2022-04-01 01:52:43 +00:00
v3d v3d,v3dv: stop copying and pasting the translate_swizzle helper 2022-07-13 10:09:34 +00:00
vc4 vc4: Work around a HW bug with 2-vert line loops. 2022-07-12 17:15:43 +00:00
virgl glx: Fix drawable refcounting for naked Windows 2022-07-13 12:25:30 -04:00
zink glx: Fix drawable refcounting for naked Windows 2022-07-13 12:25:30 -04:00