diff options
author | Omar Vega Ramos <ovruni@gnu.org.pe> | 2018-02-19 13:15:24 -0500 |
---|---|---|
committer | Omar Vega Ramos <ovruni@gnu.org.pe> | 2018-02-19 13:15:24 -0500 |
commit | 242781f270841fc2a2fe61e36f45568cf620f0b0 (patch) | |
tree | 91ac4ac1f9a3e7158fa90f71890bf35ad846e6e2 /libre/mesa/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch | |
parent | 14aea7191a2b5206172d5deef4e7f3c0cb4d2b46 (diff) | |
download | abslibre-242781f270841fc2a2fe61e36f45568cf620f0b0.tar.gz abslibre-242781f270841fc2a2fe61e36f45568cf620f0b0.tar.bz2 abslibre-242781f270841fc2a2fe61e36f45568cf620f0b0.zip |
mesa-17.3.4-1.parabola1: updating version
Diffstat (limited to 'libre/mesa/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch')
-rw-r--r-- | libre/mesa/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/libre/mesa/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch b/libre/mesa/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch deleted file mode 100644 index 499f711c9..000000000 --- a/libre/mesa/0001-loader-dri3-Avoid-freeing-renderbuffers-in-use.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 897c54d522ab960a879b763a15e489f630c491ee Mon Sep 17 00:00:00 2001 -From: Thomas Hellstrom <thellstrom@vmware.com> -Date: Thu, 11 Jan 2018 10:19:23 +0100 -Subject: [PATCH] loader/dri3: Avoid freeing renderbuffers in use -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upon reception of an event that lowered the number of active back buffers, -the code would immediately try to free all back buffers with an id equal to or -higher than the new number of active back buffers. - -However, that could lead to an active or to-be-active back buffer being freed, -since the old number of back buffers was used when obtaining an idle back -buffer for use. - -This lead to crashes when lowering the number of active back buffers by -transitioning from page-flipping to non-page-flipping presents. - -Fix this by computing the number of active back buffers only when trying to -obtain a new back buffer. - -Fixes: 15e208c4cc ("loader/dri3: Don't accidently free buffer holding new back content") -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104214 -Cc: "17.3" <mesa-stable@lists.freedesktop.org> -Tested-by: Andriy.Khulap <andriy.khulap@globallogic.com> -Tested-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com> -Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> -Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> ---- - src/loader/loader_dri3_helper.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c -index cc890bc923..8f8efcb646 100644 ---- a/src/loader/loader_dri3_helper.c -+++ b/src/loader/loader_dri3_helper.c -@@ -205,7 +205,6 @@ void - loader_dri3_set_swap_interval(struct loader_dri3_drawable *draw, int interval) - { - draw->swap_interval = interval; -- dri3_update_num_back(draw); - } - - /** dri3_free_render_buffer -@@ -377,7 +376,6 @@ dri3_handle_present_event(struct loader_dri3_drawable *draw, - draw->flipping = false; - break; - } -- dri3_update_num_back(draw); - - if (draw->vtable->show_fps) - draw->vtable->show_fps(draw, ce->ust); -@@ -402,7 +400,8 @@ dri3_handle_present_event(struct loader_dri3_drawable *draw, - buf->busy = 0; - - if (buf && draw->num_back <= b && b < LOADER_DRI3_MAX_BACK && -- draw->cur_blit_source != b) { -+ draw->cur_blit_source != b && -+ !buf->busy) { - dri3_free_render_buffer(draw, buf); - draw->buffers[b] = NULL; - } -@@ -537,6 +536,7 @@ dri3_find_back(struct loader_dri3_drawable *draw) - /* Check whether we need to reuse the current back buffer as new back. - * In that case, wait until it's not busy anymore. - */ -+ dri3_update_num_back(draw); - num_to_consider = draw->num_back; - if (!loader_dri3_have_image_blit(draw) && draw->cur_blit_source != -1) { - num_to_consider = 1; --- -2.15.1 - |