Signed-off-by: Jammy Zhou <[email protected]>
---
 src/amdgpu_glamor.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/amdgpu_glamor.c b/src/amdgpu_glamor.c
index d451fa9..434c138 100644
--- a/src/amdgpu_glamor.c
+++ b/src/amdgpu_glamor.c
@@ -135,6 +135,7 @@ Bool amdgpu_glamor_create_textured_pixmap(PixmapPtr pixmap)
        AMDGPUInfoPtr info = AMDGPUPTR(scrn);
        struct amdgpu_pixmap *priv;
        union gbm_bo_handle bo_handle;
+       int handle;
 
        if ((info->use_glamor) == 0)
                return TRUE;
@@ -144,8 +145,17 @@ Bool amdgpu_glamor_create_textured_pixmap(PixmapPtr pixmap)
                priv->stride = pixmap->devKind;
        }
 
-       bo_handle = gbm_bo_get_handle(priv->bo->bo.gbm);
-       if (glamor_egl_create_textured_pixmap(pixmap, bo_handle.u32,
+       if (priv->bo->flags & AMDGPU_BO_FLAGS_GBM) {
+               bo_handle = gbm_bo_get_handle(priv->bo->bo.gbm);
+               handle = bo_handle.u32;
+       } else {
+               if (amdgpu_bo_export(priv->bo->bo.amdgpu,
+                               amdgpu_bo_handle_type_kms,
+                               &handle))
+                       return FALSE;
+       }
+
+       if (glamor_egl_create_textured_pixmap(pixmap, handle,
                                              priv->stride)) {
                return TRUE;
        } else {
-- 
1.9.1

_______________________________________________
xorg-driver-ati mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to