egl: image_dma_buf_export - use KHR 64-bit type
authorDave Airlie <airlied@redhat.com>
Mon, 4 May 2015 23:10:34 +0000 (09:10 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 5 May 2015 02:19:40 +0000 (12:19 +1000)
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@redhat.com>
docs/specs/MESA_image_dma_buf_export.txt
include/EGL/eglmesaext.h
src/egl/drivers/dri2/egl_dri2.c
src/egl/main/eglapi.c
src/egl/main/eglapi.h

index c3794ee3680f054e1f7fb7650edce3d0dd6f2b84..cc9497e437d449a56abcfe219ef15dde36651101 100644 (file)
@@ -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
index 595babd54efd9b77140cd73fbf5bdbcda53aed19..7ce8346c2c63b0da84e62b288e579bd66c88b17a 100644 (file)
@@ -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
index 34d6bfeefac2e23e0caf06725f37e32f6e5c2ea4..1e843ed8fd913e02b72cfed4b515145db21610d2 100644 (file)
@@ -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);
index ec41aa3f15bfbd3f058560a2828681a20c0594cb..ba1d0ddc97525488019b5e81b7b70433c0beb40d 100644 (file)
@@ -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);
index 522688673825f01a59c79708989f1b02478cf520..068d4ef5c1e5ed7dcbae0cfe50316d55d0774986 100644 (file)
@@ -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