diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-09-15 11:36:20 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-09-15 11:41:38 +0100 |
commit | d470f0f520f6bd160ae4acef2b4b3c86afd8dbbd (patch) | |
tree | 1a6d94cdc2bdc352a4bd512f3ae781008b62877a /src/sna/sna.h | |
parent | 435fe185e335a147f5edb803561509e1f0cb4e70 (diff) |
sna: Last ditch attempt to make extra large batches fit
If we have unfortunate fragmentation, e.g. a cursor is pinned in the
middle of an aperture, we can struggle to fit large objects, especially
fenced objects on gen2/gen3. We do have one last trick up our sleeves
that we can try: disable all of the outputs and cursors and try
submitting the batch in as pristine an aperture as we can arrange. We
can only hope that the subsequent restoration of the outputs is more
conducive to future batches (and so not lead us into continual flicker).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna.h')
-rw-r--r-- | src/sna/sna.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h index ad74870a..04ee35c9 100644 --- a/src/sna/sna.h +++ b/src/sna/sna.h @@ -426,6 +426,8 @@ bool sna_mode_wants_tear_free(struct sna *sna); void sna_mode_adjust_frame(struct sna *sna, int x, int y); extern void sna_mode_discover(struct sna *sna); extern void sna_mode_check(struct sna *sna); +extern bool sna_mode_disable(struct sna *sna); +extern void sna_mode_enable(struct sna *sna); extern void sna_mode_reset(struct sna *sna); extern void sna_mode_wakeup(struct sna *sna); extern void sna_mode_redisplay(struct sna *sna); |