Mesa (master): egl: image_dma_buf_export - use KHR 64-bit type

Dave Airlie airlied at kemper.freedesktop.org
Tue May 5 02:40:01 UTC 2015


Module: Mesa
Branch: master
Commit: b5045e29917a783be74becee5e72566e2b0e3535
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5045e29917a783be74becee5e72566e2b0e3535

Author: Dave Airlie <airlied at redhat.com>
Date:   Tue May  5 09:10:34 2015 +1000

egl: image_dma_buf_export - use KHR 64-bit type

After talking to Jon Leech he suggested this should be fine.

update spec to the version in the registry.

Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 docs/specs/MESA_image_dma_buf_export.txt |   25 +++++++++++++++----------
 include/EGL/eglmesaext.h                 |    3 +--
 src/egl/drivers/dri2/egl_dri2.c          |    2 +-
 src/egl/main/eglapi.c                    |    2 +-
 src/egl/main/eglapi.h                    |    2 +-
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/docs/specs/MESA_image_dma_buf_export.txt b/docs/specs/MESA_image_dma_buf_export.txt
index c3794ee..cc9497e 100644
--- a/docs/specs/MESA_image_dma_buf_export.txt
+++ b/docs/specs/MESA_image_dma_buf_export.txt
@@ -16,19 +16,19 @@ Contact
 
 Status
 
-    Proposal
+    Complete, shipping.
 
 Version
 
-    Version 2, Mar 30, 2015
+    Version 3, May 5, 2015
 
 Number
 
-    EGL Extension #not assigned
+    EGL Extension #87
 
 Dependencies
 
-    Reguires EGL 1.4 or later.  This extension is written against the
+    Requires EGL 1.4 or later.  This extension is written against the
     wording of the EGL 1.4 specification.
 
     EGL_KHR_base_image is required.
@@ -43,7 +43,8 @@ Overview
     file descriptor or multiple file descriptors, in the case of multi-plane
     YUV image, from an EGLImage.
 
-    It is designed to provide the complementary functionality to EGL_EXT_image_dma_buf_import.
+    It is designed to provide the complementary functionality to
+    EGL_EXT_image_dma_buf_import.
 
 IP Status
 
@@ -51,10 +52,12 @@ IP Status
 
 New Types
 
-    This is a 64 bit unsigned integer.
-
-    typedef khronos_uint64_t EGLuint64MESA;
+    This extension uses the 64-bit unsigned integer type EGLuint64KHR
+    first introduced by the EGL_KHR_stream extension, but does not
+    depend on that extension. The typedef may be reproduced separately
+    for this extension, if not already present in eglext.h.
 
+    typedef khronos_uint64_t EGLuint64KHR;
 
 New Procedures and Functions
 
@@ -62,7 +65,7 @@ New Procedures and Functions
                                   EGLImageKHR image,
 				  int *fourcc,
 				  int *num_planes,
-				  EGLuint64MESA *modifiers);
+				  EGLuint64KHR *modifiers);
 
     EGLBoolean eglExportDMABUFImageMESA(EGLDisplay dpy,
                                         EGLImageKHR image,
@@ -89,7 +92,7 @@ Additions to the EGL 1.4 Specification:
                                   EGLImageKHR image,
 				  int *fourcc,
 				  int *num_planes,
-				  EGLuint64MESA *modifiers);
+				  EGLuint64KHR *modifiers);
 
     is used to retrieve the pixel format of the buffer, as specified by
     drm_fourcc.h, the number of planes in the image and the Linux
@@ -135,6 +138,8 @@ to dup the fd extra times to make the interface sane.
 
 Revision History
 
+    Version 3, May, 2015
+        Just use the KHR 64-bit type.
     Version 2, March, 2015
         Add a query interface (Dave Airlie)
     Version 1, June 3, 2014
diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h
index 595babd..7ce8346 100644
--- a/include/EGL/eglmesaext.h
+++ b/include/EGL/eglmesaext.h
@@ -173,8 +173,7 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOK) (EGLDisplay dpy, EG
 #if KHRONOS_SUPPORT_INT64
 #ifndef EGL_MESA_image_dma_buf_export
 #define EGL_MESA_image_dma_buf_export 1
-typedef khronos_uint64_t EGLuint64MESA;
-EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *fourcc, EGLint *nplanes, EGLuint64MESA *modifiers);
+EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *fourcc, EGLint *nplanes, EGLuint64KHR *modifiers);
 EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
 #endif
 #endif
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 34d6bfe..1e843ed 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -1996,7 +1996,7 @@ static EGLBoolean
 dri2_export_dma_buf_image_query_mesa(_EGLDriver *drv, _EGLDisplay *disp,
                                      _EGLImage *img,
                                      EGLint *fourcc, EGLint *nplanes,
-                                     EGLuint64MESA *modifiers)
+                                     EGLuint64KHR *modifiers)
 {
    struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
    struct dri2_egl_image *dri2_img = dri2_egl_image(img);
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index ec41aa3..ba1d0dd 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -2013,7 +2013,7 @@ eglGetSyncValuesCHROMIUM(EGLDisplay display, EGLSurface surface,
 EGLBoolean EGLAPIENTRY
 eglExportDMABUFImageQueryMESA(EGLDisplay dpy, EGLImageKHR image,
                               EGLint *fourcc, EGLint *nplanes,
-                              EGLuint64MESA *modifiers)
+                              EGLuint64KHR *modifiers)
 {
    _EGLDisplay *disp = _eglLockDisplay(dpy);
    _EGLImage *img = _eglLookupImage(image, disp);
diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h
index 5226886..068d4ef 100644
--- a/src/egl/main/eglapi.h
+++ b/src/egl/main/eglapi.h
@@ -142,7 +142,7 @@ typedef EGLBoolean (*SwapBuffersWithDamageEXT_t) (_EGLDriver *drv, _EGLDisplay *
 typedef EGLBoolean (*GetSyncValuesCHROMIUM_t) (_EGLDisplay *dpy, _EGLSurface *surface, EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc);
 
 #ifdef EGL_MESA_image_dma_buf_export
-typedef EGLBoolean (*ExportDMABUFImageQueryMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fourcc, EGLint *nplanes, EGLuint64MESA *modifiers);
+typedef EGLBoolean (*ExportDMABUFImageQueryMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fourcc, EGLint *nplanes, EGLuint64KHR *modifiers);
 typedef EGLBoolean (*ExportDMABUFImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fds, EGLint *strides, EGLint *offsets);
 #endif
 




More information about the mesa-commit mailing list