mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-04-23 05:20:42 +02:00
When using Mesa and LibVA in the same process, one would like to be able bind buffers from the output of the decoder to a GL texture through an EGLImage. LibVA can reuse buffers allocated by Gbm through a file descriptor. It will then wrap it into a drm_intel_bo with drm_intel_bo_gem_create_from_prime(). The problem at the moment is that both library get a different drm_intel_bufmgr object when they call drm_intel_bufmgr_gem_init() even though they're using the same drm file descriptor. As a result, instead of manipulating the same buffer object for a given file descriptor, they get 2 different drm_intel_bo objects and 2 different refcounts, leading one of the library to get errors from the kernel on invalid BO when one of the 2 library is done with a shared buffer. This patch modifies drm_intel_bufmgr_gem_init() so, given a file descriptor, it will look for an already existing drm_intel_bufmgr using the same file descriptor and return that object. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> |
||
|---|---|---|
| .. | ||
| tests | ||
| .gitignore | ||
| Android.mk | ||
| intel_aub.h | ||
| intel_bufmgr.c | ||
| intel_bufmgr.h | ||
| intel_bufmgr_fake.c | ||
| intel_bufmgr_gem.c | ||
| intel_bufmgr_priv.h | ||
| intel_chipset.h | ||
| intel_debug.h | ||
| intel_decode.c | ||
| libdrm_intel.pc.in | ||
| Makefile.am | ||
| Makefile.sources | ||
| mm.c | ||
| mm.h | ||
| test_decode.c | ||