winsys/radeon: Store GPU virtual memory addresses of BOs in a hash table
authorMichel Dänzer <michel.daenzer@amd.com>
Thu, 13 Mar 2014 01:25:10 +0000 (10:25 +0900)
committerMichel Dänzer <michel@daenzer.net>
Mon, 17 Mar 2014 02:53:59 +0000 (11:53 +0900)
commit7e0396dd7330475ef72d8062d6d670c67f16d67b
treee1165c1d29e66f05b8c703a868a9acce93613594
parent361902ec04ee54a51f73cd6129d59a6fd7160097
winsys/radeon: Store GPU virtual memory addresses of BOs in a hash table

This allows retrieving the existing BO and incrementing its reference count,
instead of creating a separate winsys representation for it, when the kernel
reports that the BO was already assigned a virtual memory address.

This fixes problems with XWayland using radeonsi and the
xf86-video-wlglamor driver, which calls GEM flink outside of the radeon
winsys code and creates BOs from the flinked names using the same DRM file
descriptor.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/winsys/radeon/drm/radeon_drm_bo.c