Mesa (main): kopper: invalidate drawables when resizing textures in place

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu May 5 21:07:23 UTC 2022


Module: Mesa
Branch: main
Commit: 3de78fb3c8a827b38d4a1f57b4340d1850690bb6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3de78fb3c8a827b38d4a1f57b4340d1850690bb6

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu May  5 12:06:14 2022 -0400

kopper: invalidate drawables when resizing textures in place

this guarantees that swapchains shared between contexts will stay
in sync

Reviewed-by: Adam Jackson <ajax at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16351>

---

 src/gallium/frontends/dri/kopper.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/frontends/dri/kopper.c b/src/gallium/frontends/dri/kopper.c
index 452daf087ef..b7e84ff3156 100644
--- a/src/gallium/frontends/dri/kopper.c
+++ b/src/gallium/frontends/dri/kopper.c
@@ -559,6 +559,8 @@ kopper_allocate_textures(struct dri_context *ctx,
             if (drawable->textures[i] && i < ST_ATTACHMENT_DEPTH_STENCIL && !is_pixmap) {
                drawable->textures[i]->width0 = width;
                drawable->textures[i]->height0 = height;
+               /* force all contexts to revalidate framebuffer */
+               p_atomic_inc(&drawable->base.stamp);
             } else
                pipe_resource_reference(&drawable->textures[i], NULL);
             pipe_resource_reference(&drawable->msaa_textures[i], NULL);



More information about the mesa-commit mailing list