winsys/radeon: remove local variable reloc from radeon_get_reloc
authorMarek Olšák <marek.olsak@amd.com>
Mon, 14 Apr 2014 13:25:43 +0000 (15:25 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 17 Apr 2014 11:54:18 +0000 (13:54 +0200)
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/winsys/radeon/drm/radeon_drm_cs.c

index 45920e82d0ef5fe381b6028b66e760d9cfcd460a..549a87c349d814b2b3df8daaadabef6a37e8a45f 100644 (file)
@@ -201,19 +201,16 @@ static INLINE void update_reloc(struct drm_radeon_cs_reloc *reloc,
 
 int radeon_get_reloc(struct radeon_cs_context *csc, struct radeon_bo *bo)
 {
-    struct drm_radeon_cs_reloc *reloc = NULL;
     unsigned hash = bo->handle & (sizeof(csc->is_handle_added)-1);
     int i = -1;
 
     if (csc->is_handle_added[hash]) {
         i = csc->reloc_indices_hashlist[hash];
-        reloc = &csc->relocs[i];
 
-        if (reloc->handle != bo->handle) {
+        if (csc->relocs_bo[i] != bo) {
             /* Hash collision, look for the BO in the list of relocs linearly. */
             for (i = csc->crelocs - 1; i >= 0; i--) {
-                reloc = &csc->relocs[i];
-                if (reloc->handle == bo->handle) {
+                if (csc->relocs_bo[i] == bo) {
                     /* Put this reloc in the hash list.
                      * This will prevent additional hash collisions if there are
                      * several consecutive get_reloc calls for the same buffer.