summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etnaviv/etnaviv.c1
-rw-r--r--etnaviv/etnaviv_accel.c2
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;