mesa/src
Faith Ekstrand 83a18330f3 egl/kopper: Update the EGLSurface size after kopperSwapBuffers()
Otherwise, the size of the EGLSurface and the drawable may get out of
sync if kopper needs to re-create the swapchain at a different size.
This can cause problems with things like eglSetDamageRegionKHR() where
the core EGL code clamps them to the size in the EGLSurface.

With Wayland, it's up to the client to choose a size and resize by
creating a new EGLSurface with a different size.  Only on X11 can we
get a resize side-band like this.

Normally, without kopper, this goes the other direction where the X11
EGL code will detect a surface size change in dri2_x11_query_surface()
and it invalidates the drawable if they've changed, forcing
re-allocation.  Kopper, however, works more like the DRI2 path where we
just get handed buffers at some size decided by X11 and have to deal
with them.  In the DRI2 path, the size is unconditionally updated by
dri2_x11_get_buffers().  This is roughly equivalent, updating the size
right after every call to kopperSwapBuffers().

Fixes: 8ade5588e3 ("zink: add kopper api")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12797
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34015>
(cherry picked from commit ad90dbabe4)
2025-03-15 09:49:04 +01:00
..
amd radv/video: don't try and send events on UVD devices. 2025-03-15 09:49:04 +01:00
android_stub
asahi [25.0-only] hk: comment out dead variable 2025-02-04 20:47:26 +01:00
broadcom v3dv: don't overwrite the primary fd if it's already set 2025-03-15 09:49:03 +01:00
c11 c11: use SPDX-License-Identifier header 2025-01-08 20:37:51 +00:00
compiler vtn: Support cooperative matrices in OpConstantNull 2025-03-15 09:49:03 +01:00
drm-shim
egl egl/kopper: Update the EGLSurface size after kopperSwapBuffers() 2025-03-15 09:49:04 +01:00
etnaviv etnaviv: always clamp shadow sampler comparison reference value 2025-01-28 00:01:07 +00:00
freedreno ir3: keep inputs at start block when creating empty preamble 2025-03-15 09:49:03 +01:00
gallium egl/kopper: Update the EGLSurface size after kopperSwapBuffers() 2025-03-15 09:49:04 +01:00
gbm gbm: fix get_back_bo() failure with gbm_surface and implicit modifiers 2025-02-15 00:03:01 +01:00
getopt
gfxstream gfxstream: mark unused variables as such 2025-02-06 10:18:23 +01:00
glx glapi: rename exported symbols so as not to conflict with old libglapi 2025-01-23 00:49:05 +00:00
gtest
imagination pvr: use vk_descriptor_type_is_dynamic 2024-12-19 15:12:58 +00:00
imgui
intel anv: fix non page aligned descriptor bindings on <Gfx12.0 2025-03-15 09:49:04 +01:00
loader loader/wayland: Fix missing timespec.h include 2025-02-10 11:35:25 +01:00
mapi mesa/main: wire up glapi bits for EXT_multi_draw_indirect 2025-02-21 17:07:26 +01:00
mesa st/mesa: fix nir_load_per_vertex_input parameter 2025-03-15 09:49:03 +01:00
microsoft ci: fix the artifact name 2025-02-05 16:05:42 +01:00
nouveau nil: Relax alignment requirements for linear images 2025-03-15 09:49:03 +01:00
panfrost panvk: Avoid division by zero for vkCmdCopyQueryPoolResults 2025-03-15 09:49:04 +01:00
tool panvk: add u_trace perfetto support 2024-12-17 23:14:26 +00:00
util drirc: Apply assume_full_subgroups_with_shared_memory to Resident Evil 2 2025-03-15 09:49:03 +01:00
virtio venus: fix to ignore dstSet for push descriptor 2025-03-15 09:49:02 +01:00
vulkan vulkan/runtime: ensure robustness state is fully initialized 2025-02-28 22:17:35 +01:00
x11
.clang-format freedreno: move ForEachMacros into freedreno 2025-01-24 12:15:31 +00:00
meson.build dri: put shared-glapi into libgallium.*.so 2025-01-23 00:49:05 +00:00