Module: Mesa Branch: master Commit: 7257c171e9eadc05903140cffa26a253f0d0178a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7257c171e9eadc05903140cffa26a253f0d0178a
Author: Marek Olšák <[email protected]> Date: Tue Jul 25 17:34:52 2017 +0200 st/mesa: always unconditionally revalidate main framebuffer after SwapBuffers This fixes the black Feral launcher window. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101867 Cc: 17.2 <[email protected]> Tested-by: Edmondo Tommasina <[email protected]> --- src/mesa/state_tracker/st_manager.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index 97bf89fc65..62924b099e 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -642,6 +642,16 @@ st_context_flush(struct st_context_iface *stctxi, unsigned flags, if (flags & ST_FLUSH_FRONT) st_manager_flush_frontbuffer(st); + + /* DRI3 changes the framebuffer after SwapBuffers, but we need to invoke + * st_manager_validate_framebuffers to notice that. + * + * Set gfx_shaders_may_be_dirty to invoke st_validate_state in the next + * draw call, which will invoke st_manager_validate_framebuffers, but it + * won't dirty states if there is no change. + */ + if (flags & ST_FLUSH_END_OF_FRAME) + st->gfx_shaders_may_be_dirty = true; } static boolean _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
