sna: Tweak scanout flush
We now distinguish gpu_dirty whilst the bo is not flushed within a batch and needs_flush for when it is dirty and still busy. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
26c4e850b8
commit
8c1729aab6
|
|
@ -5174,10 +5174,11 @@ static void __kgem_flush(struct kgem *kgem, struct kgem_bo *bo)
|
|||
|
||||
void kgem_scanout_flush(struct kgem *kgem, struct kgem_bo *bo)
|
||||
{
|
||||
kgem_bo_submit(kgem, bo);
|
||||
if (!bo->needs_flush)
|
||||
return;
|
||||
|
||||
kgem_bo_submit(kgem, bo);
|
||||
|
||||
/* If the kernel fails to emit the flush, then it will be forced when
|
||||
* we assume direct access. And as the usual failure is EIO, we do
|
||||
* not actually care.
|
||||
|
|
|
|||
|
|
@ -17047,7 +17047,7 @@ static void timer_enable(struct sna *sna, int whom, int interval)
|
|||
|
||||
static bool sna_scanout_do_flush(struct sna *sna)
|
||||
{
|
||||
int interval = sna->vblank_interval ?: 20;
|
||||
int interval = sna->vblank_interval ?: 50;
|
||||
if (sna->timer_active & (1<<(FLUSH_TIMER))) {
|
||||
int32_t delta = sna->timer_expire[FLUSH_TIMER] - TIME;
|
||||
DBG(("%s: flush timer active: delta=%d\n",
|
||||
|
|
|
|||
Loading…
Reference in New Issue