summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2009-03-10 23:53:53 -0400
committerKristian Høgsberg <krh@redhat.com>2009-03-10 23:53:53 -0400
commit3f52082004f68909307ab0200be92f7dbbba3c26 (patch)
tree65388eb7abe58ae767d172005f48421fc8e19287
parent77d5a896aa771897163b83189d1556e7fb223bfa (diff)
Also return buffer handle in eglGetNativeBuffer()
-rw-r--r--eagle.h7
-rw-r--r--intel.c4
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: