[Mesa-dev] [v2 08/10] egl: definitions for EXT_image_dma_buf_import
Matt Turner
mattst88 at gmail.com
Wed May 1 23:13:37 PDT 2013
On Mon, Apr 29, 2013 at 4:08 AM, Topi Pohjolainen
<topi.pohjolainen at intel.com> wrote:
> As specified in:
>
> http://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_image_dma_buf_import.txt
>
> Checking for the valid fourcc values is left for drivers avoiding
> dependency to drm header files here.
>
> v2:
> - enforce EGL_NO_CONTEXT
>
> Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> ---
> include/EGL/eglext.h | 33 ++++++++++++++++++++
> src/egl/main/eglapi.c | 7 ++++-
> src/egl/main/egldisplay.h | 1 +
> src/egl/main/eglimage.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++
> src/egl/main/eglimage.h | 15 +++++++++
> src/mesa/main/extensions.c | 1 +
> src/mesa/main/mtypes.h | 1 +
> 7 files changed, 133 insertions(+), 1 deletion(-)
>
> diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h
> index b2b5a80..9b9be8f 100644
> --- a/include/EGL/eglext.h
> +++ b/include/EGL/eglext.h
> @@ -532,6 +532,39 @@ typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy,
> #define EGL_BUFFER_AGE_EXT 0x313D
> #endif
>
> +#define EGL_LINUX_DMA_BUF_EXT 0x3270 /* eglCreateImageKHR target */
> +
> +/* Attributes for eglCreateImageKHR. */
> +#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
> +#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
> +#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
> +#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
> +#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
> +#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
> +#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
> +#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
> +#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
> +#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
> +#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
> +#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
> +#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
> +#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
> +
> +/* Accepted values for EGL_YUV_COLOR_SPACE_HINT_EXT attribute */
> +#define EGL_ITU_REC601_EXT 0x327F
> +#define EGL_ITU_REC709_EXT 0x3280
> +#define EGL_ITU_REC2020_EXT 0x3281
> +
> +/* Accepted values for EGL_SAMPLE_RANGE_HINT_EXT attribute */
> +#define EGL_YUV_FULL_RANGE_EXT 0x3282
> +#define EGL_YUV_NARROW_RANGE_EXT 0x3283
> +
> +/* Accepted values for attributes EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT
> + * and EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT
> + */
> +#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
> +#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
> +
> #include <EGL/eglmesaext.h>
>
> #ifdef __cplusplus
eglext.h is imported from Khronos
(http://www.khronos.org/registry/egl/api/EGL/eglext.h), with the
single modification to #include <EGL/eglmesaext.h> at the bottom of
the file. The new version contains all the definitions for this
extension.
More information about the mesa-dev
mailing list