summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_cs.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
index 45920e82d0e..549a87c349d 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
@@ -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.