mesa/src/freedreno
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
..
.gitlab-ci a4xx: add emission of compute state, and compute dispatch 2022-03-05 03:21:05 -05:00
afuc freedreno: remove stale makefile 2022-06-02 09:13:23 +00:00
ci glx: Fix drawable refcounting for naked Windows 2022-07-13 12:25:30 -04:00
common Add Adreno 616 and 620 to use turnip on these GPU's . 2022-07-10 15:36:52 +00:00
computerator Change all debug_assert calls to assert 2022-07-10 00:50:35 +00:00
decode freedreno: Replace A6XX_IBO with A6XX_TEX_CONST 2022-02-28 23:33:22 +00:00
drm Change all debug_assert calls to assert 2022-07-10 00:50:35 +00:00
drm-shim freedreno/drm-shim: Better iova handling 2022-05-02 19:50:33 +00:00
ds freedreno/perfetto+fdperf: Set SYSPROF param 2022-03-04 16:06:34 -08:00
fdl tu: Fix stencil border color with has_z24uint_s8uint 2022-06-29 03:00:56 +00:00
ir2 freedreno/ir2: Re-indent 2021-04-17 15:38:56 +00:00
ir3 ir3: Implement [iu]sub_sat. 2022-07-13 07:34:09 +00:00
isa ir3: Implement and document ldc.k 2022-03-17 12:15:45 +00:00
perfcntrs freedreno/fdperf: support dumping counters 2022-05-14 22:18:52 +00:00
registers freedreno/a6xx: VPC_SO_NCOMP is actually VPC_SO_BUFFER_STRIDE 2022-07-12 17:57:07 +00:00
rnn freedreno: Move the headergen2 test to be meson unit tests. 2021-10-01 23:16:04 +00:00
vulkan turnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints 2022-07-12 22:24:19 +00:00
.clang-format freedreno: Add some options to .clang-format 2021-07-12 20:57:21 +00:00
.dir-locals.el freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
.editorconfig freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
meson.build freedreno: support lua54 2021-10-26 00:33:31 +00:00