Skip to content

backends/drm: Import gbm bos using dmabuf

Vlad Zahorodnii requested to merge work/zzag/nvidia-screencast-fix into master

It appears that importing gbm_bo's using eglCreateImageKHR() doesn't work on nvidia.

Another issue is that Platform::createDmaBufTexture() uses gbm_bo_create(). The nvidia driver doesn't like that, it's preferred to use gbm_bo_create_with_modifiers().

In order to address those issues, this change refactors how gbm_bo objects are imported and how gbm_bo's are allocated for dmabuf textures, so the same code can be reused in EglGbmBackend::textureForOutput() and Platform::createDmaBufTexture().

Edited by Vlad Zahorodnii

Merge request reports