summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-05-05 09:10:34 +1000
committerDave Airlie <airlied@redhat.com>2015-05-05 12:19:40 +1000
commitb5045e29917a783be74becee5e72566e2b0e3535 (patch)
treeeb0a9b8612751bd76e05d66c5d8237ec6ba92bb4
parent1c5a57aee109ef513df0d281aadc69db293cc3d8 (diff)
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@redhat.com>
-rw-r--r--docs/specs/MESA_image_dma_buf_export.txt25
-rw-r--r--include/EGL/eglmesaext.h3
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c2
-rw-r--r--src/egl/main/eglapi.c2
-rw-r--r--src/egl/main/eglapi.h2
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 c3794ee368..cc9497e437 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 595babd54e..7ce8346c2c 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 34d6bfeefa..1e843ed8fd 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 ec41aa3f15..ba1d0ddc97 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 5226886738..068d4ef5c1 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