diff options
author | Marek Olšák <maraeo@gmail.com> | 2013-01-21 16:19:41 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2013-01-24 18:22:14 +0100 |
commit | 4f0563a6584dd83462d5cf35a7a1ebc4a4d6378f (patch) | |
tree | a722df0fc79af3e17c509ca43d2609b07b0fa5ed /src/gallium/state_trackers/dri/common/dri_drawable.h | |
parent | fffe3e090878175269af8672d20c14a0ccab78a9 (diff) |
st/dri: disallow recursion in dri_flush
ST_FLUSH_FRONT may call driThrottle, which is implemented with dri_flush.
This prevents double flush as well as fence leaks caused by a recursion
in the middle of throttling.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58839
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'src/gallium/state_trackers/dri/common/dri_drawable.h')
-rw-r--r-- | src/gallium/state_trackers/dri/common/dri_drawable.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/dri/common/dri_drawable.h b/src/gallium/state_trackers/dri/common/dri_drawable.h index caa1faa08f4..56f8a4073a3 100644 --- a/src/gallium/state_trackers/dri/common/dri_drawable.h +++ b/src/gallium/state_trackers/dri/common/dri_drawable.h @@ -65,6 +65,7 @@ struct dri_drawable unsigned int head; unsigned int tail; unsigned int desired_fences; + boolean flushing; /* prevents recursion in dri_flush */ /* used only by DRISW */ struct pipe_surface *drisw_surface; |