mesa merge requestshttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests2024-03-17T00:29:52Zhttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28215egl/x11: disable swapbufferswithdamage for zink without kopper2024-03-17T00:29:52ZMike Blumenkrantzegl/x11: disable swapbufferswithdamage for zink without kopper### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
```
egl/x11: disable swapbufferswithdamage for zink without kopper
this is broken
```### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
```
egl/x11: disable swapbufferswithdamage for zink without kopper
this is broken
```https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28137glx/egl: fix LIBGL_KOPPER_DISABLE2024-03-18T20:17:45ZMike Blumenkrantzglx/egl: fix LIBGL_KOPPER_DISABLE### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
```
glx/egl: fix LIBGL_KOPPER_DISABLE
when set, this disables the use of vk swapchains and lets the dri frontend
manage buffers like an...### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
```
glx/egl: fix LIBGL_KOPPER_DISABLE
when set, this disables the use of vk swapchains and lets the dri frontend
manage buffers like any other driver
also document some kopper env vars
fixes #10713
```https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27703drisw/kopper: hook up damage regions2024-03-11T20:18:08ZMike Blumenkrantzdrisw/kopper: hook up damage regionsthis plumbs damage regions from the API all the way through gallium such that x11/wayland/whatever are able to send damage updates to the display server
fixes https://gitlab.freedesktop.org/mesa/mesa/-/issues/7619 and https://gitlab.fre...this plumbs damage regions from the API all the way through gallium such that x11/wayland/whatever are able to send damage updates to the display server
fixes https://gitlab.freedesktop.org/mesa/mesa/-/issues/7619 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/10537Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27553zink: fix buffer age2024-02-26T23:39:50ZMike Blumenkrantzzink: fix buffer agethe first one fixes all the CTS cases, the others are minor bugs that maybe don't affect anything in reality but they're still bugsthe first one fixes all the CTS cases, the others are minor bugs that maybe don't affect anything in reality but they're still bugsMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640egl/glx: add autoloading for zink2023-10-19T18:14:23ZMike Blumenkrantzegl/glx: add autoloading for zinkhttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16168 attempted to do this, but I was unable to account for forced software fallback at the time, leading to regressions like https://gitlab.freedesktop.org/mesa/mesa/-/issues/733...https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16168 attempted to do this, but I was unable to account for forced software fallback at the time, leading to regressions like https://gitlab.freedesktop.org/mesa/mesa/-/issues/7333
this attempt improves upon the previous one by rejecting any x11-based driver selection which includes zink if dri3 is not available, thus forcing software fallback as expectedMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25288zink: swapchain fencing fixes2023-09-27T11:26:39ZMike Blumenkrantzzink: swapchain fencing fixesshould fix crashes with wayland resizingshould fix crashes with wayland resizingMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25182Draft: dri: Remove the __DRI_DRI2 extension from some backends2023-09-12T17:59:36ZAdam Jacksonajax@nwnk.netDraft: dri: Remove the __DRI_DRI2 extension from some backendsThe `__DRI_DRI2` extension really does map to client-side support for the DRI2 X11 extension, AFAICT. Nobody should be doing Vulkan with DRI2 so we can drop that from kopper, and drisw does nothing special for swaps or buffer allocation ...The `__DRI_DRI2` extension really does map to client-side support for the DRI2 X11 extension, AFAICT. Nobody should be doing Vulkan with DRI2 so we can drop that from kopper, and drisw does nothing special for swaps or buffer allocation for DRI2 so we can drop that too.https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24975egl/wayland: plug in more extension usage for zink/kopper2023-09-19T03:24:16ZMike Blumenkrantzegl/wayland: plug in more extension usage for zink/kopperneed a lot of :thinking: on this oneneed a lot of :thinking: on this oneMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24222zink: Fix enumerate devices when running compositor2023-09-13T13:42:51ZIgor Torrentezink: Fix enumerate devices when running compositorzink: Fix enumerate devices when running compositor
When we try to run a compositor on top of Zink, we hit a lockup
when enumerating the Vulkan devices. The vulkan_device_select
tries to reorder the devices and gets stuck waiting for th...zink: Fix enumerate devices when running compositor
When we try to run a compositor on top of Zink, we hit a lockup
when enumerating the Vulkan devices. The vulkan_device_select
tries to reorder the devices and gets stuck waiting for the Xserver.
With this patch, we avoid this issue by detecting when we are running
a compositor and disabling the X and Wayland instance extensions.
And code is added to try to pick the same device as the display.
Tested using i3, Weston and sommelier.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com>Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075zink: some steam fixes2023-09-21T14:42:15ZMike Blumenkrantzzink: some steam fixesstill not totally fixed but at least it can kinda render some stuff againstill not totally fixed but at least it can kinda render some stuff againMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23970zink: don't destroy swapchain on initial CreateSwapchainKHR fail2023-07-16T21:12:21ZMike Blumenkrantzzink: don't destroy swapchain on initial CreateSwapchainKHR fail### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
zink: don't destroy swapchain on initial CreateSwapchainKHR fail
this used to be correct at some point but now it no longer is
cc: mes...### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
zink: don't destroy swapchain on initial CreateSwapchainKHR fail
this used to be correct at some point but now it no longer is
cc: mesa-stableMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22858egl/dri2: trigger drawable invalidation from surface queries for zink2023-06-14T16:15:38ZMike Blumenkrantzegl/dri2: trigger drawable invalidation from surface queries for zinkthis mimics dri3 behavior and avoids scenarios where renderbuffers can
get out of sync with their resources
fixes #6744this mimics dri3 behavior and avoids scenarios where renderbuffers can
get out of sync with their resources
fixes #6744Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22759kopper: don't double free winsys on failure2023-05-24T14:59:48ZMike Blumenkrantzkopper: don't double free winsys on failurethis gets freed automatically later
Fixes: 1e6e3427f03 ("drisw: don't leak the winsys")this gets freed automatically later
Fixes: 1e6e3427f03 ("drisw: don't leak the winsys")https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22431zink: fix makecurrent swapchain propagation2023-04-12T22:05:51ZMike Blumenkrantzzink: fix makecurrent swapchain propagationthis should fix transferring acquires between swapchains across MakeCurrent operationsthis should fix transferring acquires between swapchains across MakeCurrent operationsMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21910glthread/kopper: hook up ancillary invalidation2023-03-30T05:58:28ZMike Blumenkrantzglthread/kopper: hook up ancillary invalidationalternative to https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21844alternative to https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21844Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21844egl/gallium/kopper: hook up zsbuf invalidation (for real this time I'm serious)2023-03-16T15:46:34ZMike Blumenkrantzegl/gallium/kopper: hook up zsbuf invalidation (for real this time I'm serious)https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21317 attempted to hook up ancillary buffer invalidation, and it succeeded.
unfortunately, this doesn't actually help zink do anything because the invalidate is triggered so late...https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21317 attempted to hook up ancillary buffer invalidation, and it succeeded.
unfortunately, this doesn't actually help zink do anything because the invalidate is triggered so late that it's entirely impossible to merge it onto any renderpass
instead, since the zsbuf can always be invalidated in this scenario, try a different approach and just set a property directly on the framebuffer state to let the driver pick it up at the start of the renderpass
other frontends should be able to implement pretty easily if desired, but for now only kopper implements it (zink changes have dependencies)https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21450kopper: fix loop iterating for msaa texture creation2023-02-22T20:29:48ZMike Blumenkrantzkopper: fix loop iterating for msaa texture creationthe pipe_resource template values need to always be initialized or
else texture creation fails and rendering is broken
fixes #8331
cc: mesa-stablethe pipe_resource template values need to always be initialized or
else texture creation fails and rendering is broken
fixes #8331
cc: mesa-stableMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21362zink: hook up EGL_EXT_buffer_age for Zink on Wayland2024-03-11T15:25:39ZPhilipp Zabelphilipp.zabel@gmail.comzink: hook up EGL_EXT_buffer_age for Zink on WaylandThis seems to have been implemented for X11 but never hooked up on the Wayland platform.This seems to have been implemented for X11 but never hooked up on the Wayland platform.Philipp Zabelphilipp.zabel@gmail.comPhilipp Zabelphilipp.zabel@gmail.comhttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21095zink: fix max acquired image count2023-02-08T21:06:48ZMike Blumenkrantzzink: fix max acquired image countaccording to spec, the maximum number of acquired images can be calculated with
swapchain_size - VkSurfaceCapabilitiesKHR::minImageCount + 1
the previous calculation was both wrong and occurring in the wrong place,
so this corrects bot...according to spec, the maximum number of acquired images can be calculated with
swapchain_size - VkSurfaceCapabilitiesKHR::minImageCount + 1
the previous calculation was both wrong and occurring in the wrong place,
so this corrects both issues
cc: mesa-stableMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20933kopper: Do not free the given screen in initScreen implementation2023-02-08T21:06:49ZCorentin Noëlkopper: Do not free the given screen in initScreen implementationThe given screen is already freed by the caller in case a NULL-pointer is
returned by the implementation.The given screen is already freed by the caller in case a NULL-pointer is
returned by the implementation.Marge BotMarge Bot