From 3f52082004f68909307ab0200be92f7dbbba3c26 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Tue, 10 Mar 2009 23:53:53 -0400 Subject: Also return buffer handle in eglGetNativeBuffer() --- eagle.h | 7 +++++-- intel.c | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/eagle.h b/eagle.h index b1eaf6f..45f0bfe 100644 --- a/eagle.h +++ b/eagle.h @@ -256,8 +256,11 @@ extern EGLSurface eglCreateSurfaceForName(EGLDisplay dpy, GLuint stride, const EGLint *attribList); -extern EGLBoolean eglGetNativeBuffer(EGLSurface surface, GLenum buffer, - uint32_t *name, uint32_t *stride); +extern EGLBoolean eglGetNativeBuffer(EGLSurface surface, + GLenum buffer, + uint32_t *name, + uint32_t *handle, + uint32_t *stride); extern EGLBoolean eglCopyNativeBuffers(EGLDisplay display, EGLSurface dst, GLenum dstBuffer, diff --git a/intel.c b/intel.c index 55c584f..24c867e 100644 --- a/intel.c +++ b/intel.c @@ -235,17 +235,19 @@ intelCreateDisplay(struct udev_device *device, const char *driver) EAGLE_EXPORT EGLBoolean eglGetNativeBuffer(EGLSurface surface, GLenum buffer, - uint32_t *name, uint32_t *stride) + uint32_t *name, uint32_t *handle, uint32_t *stride) { EGLSurfaceNative nativeSurface = (EGLSurfaceNative) surface; switch (buffer) { case GL_FRONT_LEFT: *name = nativeSurface->front.name; + *handle = nativeSurface->frontHandle; *stride = nativeSurface->front.pitch; return EGL_TRUE; case GL_BACK_LEFT: *name = surface->buffers[0].name; + *handle = nativeSurface->handles[0]; *stride = surface->buffers[0].pitch; return EGL_TRUE; default: -- cgit v1.2.3