aboutsummaryrefslogtreecommitdiff
path: root/backend/drm/bo_handle_table.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/drm/bo_handle_table.c')
-rw-r--r--backend/drm/bo_handle_table.c43
1 files changed, 0 insertions, 43 deletions
diff --git a/backend/drm/bo_handle_table.c b/backend/drm/bo_handle_table.c
deleted file mode 100644
index 479168b4..00000000
--- a/backend/drm/bo_handle_table.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <assert.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <wlr/util/log.h>
-#include "backend/drm/bo_handle_table.h"
-
-static size_t align(size_t val, size_t align) {
- size_t mask = align - 1;
- return (val + mask) & ~mask;
-}
-
-void drm_bo_handle_table_finish(struct wlr_drm_bo_handle_table *table) {
- free(table->nrefs);
-}
-
-bool drm_bo_handle_table_ref(struct wlr_drm_bo_handle_table *table,
- uint32_t handle) {
- assert(handle != 0);
-
- if (handle > table->len) {
- // Grow linearly, because we don't expect the number of BOs to explode
- size_t len = align(handle + 1, 512);
- size_t *nrefs = realloc(table->nrefs, len * sizeof(size_t));
- if (nrefs == NULL) {
- wlr_log_errno(WLR_ERROR, "realloc failed");
- return false;
- }
- memset(&nrefs[table->len], 0, (len - table->len) * sizeof(size_t));
- table->len = len;
- table->nrefs = nrefs;
- }
-
- table->nrefs[handle]++;
- return true;
-}
-
-size_t drm_bo_handle_table_unref(struct wlr_drm_bo_handle_table *table,
- uint32_t handle) {
- assert(handle < table->len);
- assert(table->nrefs[handle] > 0);
- table->nrefs[handle]--;
- return table->nrefs[handle];
-}