summaryrefslogtreecommitdiff
path: root/intel
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-12-02 10:41:39 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2009-12-02 14:16:32 +0000
commit9c8ad05e8bb1c954b804e40f2f975fed23c24550 (patch)
tree096aceba1cf36867620f4892d53cfa04071d4faa /intel
parent8ffd2e142e38d19326a40ff66dc99d052ce22100 (diff)
downloadlibdrm-9c8ad05e8bb1c954b804e40f2f975fed23c24550.tar.gz
libdrm-9c8ad05e8bb1c954b804e40f2f975fed23c24550.tar.bz2
libdrm-9c8ad05e8bb1c954b804e40f2f975fed23c24550.zip
intel: Remove the extra reference while validating the reloc tree
Buffers on the relocation tree are guarded by the reference to the batch object and so do not need an extra reference whilst constructing the list of execution buffer objects. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'intel')
-rw-r--r--intel/intel_bufmgr_gem.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
index 3b4d3cf0..cf3943c2 100644
--- a/intel/intel_bufmgr_gem.c
+++ b/intel/intel_bufmgr_gem.c
@@ -187,7 +187,6 @@ static int
drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
uint32_t stride);
-static void drm_intel_gem_bo_unreference_locked(drm_intel_bo *bo);
static void drm_intel_gem_bo_unreference_locked_timed(drm_intel_bo *bo,
time_t time);
@@ -357,7 +356,6 @@ drm_intel_add_validate_buffer(drm_intel_bo *bo)
bufmgr_gem->exec_objects[index].alignment = 0;
bufmgr_gem->exec_objects[index].offset = 0;
bufmgr_gem->exec_bos[index] = bo;
- drm_intel_gem_bo_reference(bo);
bufmgr_gem->exec_count++;
}
@@ -793,19 +791,6 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
}
}
-static void drm_intel_gem_bo_unreference_locked(drm_intel_bo *bo)
-{
- drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
-
- assert(atomic_read(&bo_gem->refcount) > 0);
- if (atomic_dec_and_test(&bo_gem->refcount)) {
- struct timespec time;
-
- clock_gettime(CLOCK_MONOTONIC, &time);
- drm_intel_gem_bo_unreference_final(bo, time.tv_sec);
- }
-}
-
static void drm_intel_gem_bo_unreference_locked_timed(drm_intel_bo *bo,
time_t time)
{
@@ -1327,7 +1312,6 @@ drm_intel_gem_bo_exec(drm_intel_bo *bo, int used,
/* Disconnect the buffer from the validate list */
bo_gem->validate_index = -1;
- drm_intel_gem_bo_unreference_locked(bo);
bufmgr_gem->exec_bos[i] = NULL;
}
bufmgr_gem->exec_count = 0;