diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2012-07-30 14:23:49 +0200 |
---|---|---|
committer | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2012-07-30 17:09:56 +0200 |
commit | 92314df55789efad03686bb09c4c4e0ec7eaab8a (patch) | |
tree | 7d00d004d8052a969e20da7db9c09e8071d4da3e | |
parent | 7d0fa94da13a88a9119e2b5e634c6f3be2dc4ae6 (diff) |
wayland: support EGL_TEXTURE_STRUCTURE_WL queries for wl_buffer.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
-rw-r--r-- | include/EGL/eglmesaext.h | 5 | ||||
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h index d476d18a27..d08ba093be 100644 --- a/include/EGL/eglmesaext.h +++ b/include/EGL/eglmesaext.h @@ -115,6 +115,11 @@ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDRMDISPLAYMESA) (int fd); #define EGL_WAYLAND_BUFFER_WL 0x31D5 /* eglCreateImageKHR target */ #define EGL_WAYLAND_PLANE_WL 0x31D6 /* eglCreateImageKHR target */ +#define EGL_TEXTURE_STRUCTURE_WL 0x31DA /* eglCreateImageKHR target */ +#define EGL_TEXTURE_STRUCTURE_FRAME_WL 0x0000 +#define EGL_TEXTURE_STRUCTURE_TOP_FIELD_WL 0x0001 +#define EGL_TEXTURE_STRUCTURE_BOTTOM_FIELD_WL 0x0002 + #define EGL_TEXTURE_Y_U_V_WL 0x31D7 #define EGL_TEXTURE_Y_UV_WL 0x31D8 #define EGL_TEXTURE_Y_XUXV_WL 0x31D9 diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 4ae28564cf..738c51c5cf 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -1437,6 +1437,21 @@ dri2_query_wayland_buffer_wl(_EGLDriver *drv, _EGLDisplay *disp, case EGL_TEXTURE_FORMAT: *value = format->components; return EGL_TRUE; + case EGL_TEXTURE_STRUCTURE_WL: + switch (buffer->picture_structure) { + case WL_DRM_PICTURE_STRUCTURE_FRAME: + *value = EGL_TEXTURE_STRUCTURE_FRAME_WL; + break; + case WL_DRM_PICTURE_STRUCTURE_TOP_FIELD: + *value = EGL_TEXTURE_STRUCTURE_TOP_FIELD_WL; + break; + case WL_DRM_PICTURE_STRUCTURE_BOTTOM_FIELD: + *value = EGL_TEXTURE_STRUCTURE_BOTTOM_FIELD_WL; + break; + default: + return EGL_FALSE; + } + return EGL_TRUE; case EGL_WIDTH: *value = buffer->buffer.width; break; |