diff options
-rw-r--r-- | etnaviv/etnaviv.c | 1 | ||||
-rw-r--r-- | etnaviv/etnaviv_accel.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/etnaviv/etnaviv.c b/etnaviv/etnaviv.c index 07ec439..1c96a1e 100644 --- a/etnaviv/etnaviv.c +++ b/etnaviv/etnaviv.c @@ -99,6 +99,7 @@ void etnaviv_retire_vpix(struct etnaviv *etnaviv, struct etnaviv_pixmap *vpix) { xorg_list_del(&vpix->batch_node); vpix->batch_state = B_NONE; + etnaviv_put_vpix(etnaviv, vpix); } void etnaviv_finish_fences(struct etnaviv *etnaviv, uint32_t fence) diff --git a/etnaviv/etnaviv_accel.c b/etnaviv/etnaviv_accel.c index 7177d21..3508cc7 100644 --- a/etnaviv/etnaviv_accel.c +++ b/etnaviv/etnaviv_accel.c @@ -77,6 +77,8 @@ void etnaviv_batch_wait_commit(struct etnaviv *etnaviv, static void etnaviv_batch_add(struct etnaviv *etnaviv, struct etnaviv_pixmap *vPix) { + if (vPix->batch_state == B_NONE) + vPix->refcnt++; switch (vPix->batch_state) { case B_PENDING: break; |