| Index: ui/ozone/platform/dri/gbm_buffer.cc
|
| diff --git a/ui/ozone/platform/dri/gbm_buffer.cc b/ui/ozone/platform/dri/gbm_buffer.cc
|
| index 84621da80d76c3f2f0ce426dbaa0b5d0a7600c63..f7828aff0bbaaf91602bab8c48c77337120c2589 100644
|
| --- a/ui/ozone/platform/dri/gbm_buffer.cc
|
| +++ b/ui/ozone/platform/dri/gbm_buffer.cc
|
| @@ -69,12 +69,14 @@ GbmPixmap::GbmPixmap(scoped_refptr<GbmBuffer> buffer)
|
| }
|
|
|
| bool GbmPixmap::Initialize(DriWrapper* dri) {
|
| - if (drmPrimeHandleToFD(dri->get_fd(), buffer_->GetHandle(), DRM_CLOEXEC,
|
| - &dma_buf_)) {
|
| + // We want to use the GBM API because it's going to call into libdrm
|
| + // which might do some optimizations on buffer allocation,
|
| + // especially when sharing buffers via DMABUF.
|
| + dma_buf_ = gbm_bo_get_fd(buffer_->bo());
|
| + if (dma_buf_ < 0) {
|
| LOG(ERROR) << "Failed to export buffer to dma_buf";
|
| return false;
|
| }
|
| -
|
| return true;
|
| }
|
|
|
|
|