etnaviv: Add valgrind support
[mesa.git] / src / etnaviv / drm / etnaviv_bo.c
index 6436fea416244b46a1195b339922eb302fb7c8ca..ccf5da7c8c7ae7c4978b9ba7b22ff7351e9f7fe2 100644 (file)
@@ -44,6 +44,8 @@ static void set_name(struct etna_bo *bo, uint32_t name)
 /* Called under etna_drm_table_lock */
 void _etna_bo_del(struct etna_bo *bo)
 {
+       VG_BO_FREE(bo);
+
        if (bo->map)
                os_munmap(bo->map, bo->size);
 
@@ -132,6 +134,8 @@ struct etna_bo *etna_bo_new(struct etna_device *dev, uint32_t size,
        bo->reuse = 1;
        pthread_mutex_unlock(&etna_drm_table_lock);
 
+       VG_BO_ALLOC(bo);
+
        return bo;
 }
 
@@ -188,8 +192,10 @@ struct etna_bo *etna_bo_from_name(struct etna_device *dev,
                goto out_unlock;
 
        bo = bo_from_handle(dev, req.size, req.handle, 0);
-       if (bo)
+       if (bo) {
                set_name(bo, name);
+               VG_BO_ALLOC(bo);
+       }
 
 out_unlock:
        pthread_mutex_unlock(&etna_drm_table_lock);
@@ -229,6 +235,8 @@ struct etna_bo *etna_bo_from_dmabuf(struct etna_device *dev, int fd)
 
        bo = bo_from_handle(dev, size, handle, 0);
 
+       VG_BO_ALLOC(bo);
+
 out_unlock:
        pthread_mutex_unlock(&etna_drm_table_lock);