st/mesa: suppress async glthread flushing for GLX_EXT_texture_from_pixmap
authorMarek Olšák <marek.olsak@amd.com>
Thu, 17 Nov 2022 13:31:33 +0000 (08:31 -0500)
committerEric Engestrom <eric@engestrom.ch>
Wed, 23 Nov 2022 19:12:00 +0000 (19:12 +0000)
This might fix some window system issues.

Fixes: 3da170faaec - glthread: change when glFlush flushes asynchronously

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19809>
(cherry picked from commit d871958702ebcd46213cd09b91b9b05685f9be62)

.pick_status.json
src/mesa/state_tracker/st_manager.c

index 8dd9981..1043ec2 100644 (file)
         "description": "st/mesa: suppress async glthread flushing for GLX_EXT_texture_from_pixmap",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "3da170faaec2a57d76e668ab56781621c23c6703"
     },
index 0e8644f..575b729 100644 (file)
@@ -832,6 +832,9 @@ st_context_flush(struct st_context_iface *stctxi, unsigned flags,
       st->gfx_shaders_may_be_dirty = true;
 }
 
+/* This is only for GLX_EXT_texture_from_pixmap and equivalent features
+ * in EGL and WGL.
+ */
 static bool
 st_context_teximage(struct st_context_iface *stctxi,
                     enum st_texture_type tex_type,
@@ -915,6 +918,7 @@ st_context_teximage(struct st_context_iface *stctxi,
    texObj->needs_validation = true;
 
    _mesa_dirty_texobj(ctx, texObj);
+   ctx->Shared->HasExternallySharedImages = true;
    _mesa_unlock_texture(ctx, texObj);
 
    return true;