mesa/src
Asahi Lina ad4d7ca833 kmsro: Fix renderonly_scanout BO aliasing
BOs can only have one handle. If renderonly_create_gpu_import_for_resource
ends up importing a BO that was already mapped for scanout, it will get
the same handle. This leaves us with two renderonly_scanout objects for
one handle, and the first one to be destroyed will free it.

Import the BO map tracking logic from asahi, to avoid aliasing
renderonly_scanout objects. Each actual BO now is only represented by a
single object instance, which is reference counted.

Fixes KWin full-screen PipeWire capture breaking scanout entirely.

Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20397>
2022-12-25 19:23:27 +09:00
..
amd nir/fold_16bit_tex_image: Add type granularity for dst folding 2022-12-23 15:48:18 +01:00
android_stub
asahi asahi: Identify seamful cube map bit 2022-12-17 18:10:28 +00:00
broadcom v3dv: be more careful when restoring dirty state after meta operations 2022-12-16 12:18:36 +00:00
c11 c11: Remove _MTX_INITIALIZER_NP for windows 2022-11-09 04:38:28 +00:00
compiler nir/fold_16bit_tex_image: Add type granularity for dst folding 2022-12-23 15:48:18 +01:00
drm-shim drm-shim: add __readlink_chk as readlink with overflow check 2022-12-08 21:05:15 +00:00
egl egl/wayland: Prefer back buffer with minimum buffer age 2022-12-16 10:30:47 +00:00
etnaviv tree-wide: Use __func__ instead of __FUNCTION__ in non-gallium code 2022-11-22 06:53:46 +00:00
freedreno ir3: Do 16b tex dst folding only for floats 2022-12-23 15:48:18 +01:00
gallium kmsro: Fix renderonly_scanout BO aliasing 2022-12-25 19:23:27 +09:00
gbm gbm: Don't look up the DRI2_FENCE extension. 2022-12-09 05:32:18 +00:00
getopt
glx glx: fix xshm check to init xshm_opcode. 2022-12-06 22:31:14 +00:00
gtest
hgl
imagination pvr: Check depth/stencil attachment is tile-aligned 2022-12-08 14:53:13 +00:00
imgui
intel anv: implement generated (indexed) indirect draws 2022-12-23 22:52:50 +00:00
loader loader/dri3: Simplify new buffer allocation in dri3_find_back 2022-12-16 10:30:47 +00:00
mapi mapi: update gles 1.1 extention packet link 2022-11-20 15:14:01 +00:00
mesa mesa: optimize _mesa_bytes_per_vertex_attrib using a hash-based translation 2022-12-18 14:35:59 -05:00
microsoft dzn: Swizzle SRV access to stencil 2022-12-16 18:40:47 +00:00
nouveau nir: Eliminate nir_op_i2b 2022-12-14 06:23:21 +00:00
panfrost panfrost: Clang-format pan_layout.c 2022-12-23 21:43:08 -05:00
tool pps: make pps-producer RT only on freedreno 2022-11-15 21:21:42 +00:00
util anv: implement generated (indexed) indirect draws 2022-12-23 22:52:50 +00:00
virtio venus: fallback to passthrough pci bus info when not natively supported 2022-12-20 22:39:01 +00:00
vulkan vulkan: update headers/registry to 1.3.238 for video decode 2022-12-20 07:28:07 +10:00
meson.build meson: build radeon drm-shim also for r300 and r600 2022-11-16 14:37:47 +00:00