diff options
Diffstat (limited to 'mesalib/docs/WL_bind_wayland_display.spec')
-rw-r--r-- | mesalib/docs/WL_bind_wayland_display.spec | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/mesalib/docs/WL_bind_wayland_display.spec b/mesalib/docs/WL_bind_wayland_display.spec index e1aca5380..02bd6ea21 100644 --- a/mesalib/docs/WL_bind_wayland_display.spec +++ b/mesalib/docs/WL_bind_wayland_display.spec @@ -70,18 +70,11 @@ New Tokens EGL_WAYLAND_PLANE_WL 0x31D6 + Possible values for EGL_TEXTURE_FORMAT: - Accepted as a eglQueryWaylandBufferWL attribute: - - EGL_WAYLAND_BUFFER_COMPONENTS_WL 0x31D7 - - Possible values for EGL_WAYLAND_BUFFER_COMPONENTS_WL: - - EGL_WAYLAND_BUFFER_RGB_WL 0x31D8 - EGL_WAYLAND_BUFFER_RGBA_WL 0x31D9 - EGL_WAYLAND_BUFFER_Y_U_V_WL 0x31Da - EGL_WAYLAND_BUFFER_Y_UV_WL 0x31Db - EGL_WAYLAND_BUFFER_Y_XUXV_WL 0x31Dc + EGL_TEXTURE_Y_U_V_WL 0x31D7 + EGL_TEXTURE_Y_UV_WL 0x31D8 + EGL_TEXTURE_Y_XUXV_WL 0x31D9 Additions to the EGL 1.4 Specification: @@ -106,48 +99,47 @@ Additions to the EGL 1.4 Specification: YUV formats. Depending on the exact YUV format in use, the compositor will have to create one or more EGLImages for the various planes. The eglQueryWaylandBufferWL function should be - used to first query the wl_buffer components using - EGL_WAYLAND_BUFFER_COMPONENTS_WL as the attribute. If the - wl_buffer object is not an EGL wl_buffer (wl_shm and other wayland - extensions can create wl_buffer objects), this query will return - EGL_FALSE. In that case the wl_buffer can not be used with EGL - and the compositor should have another way to get the buffer + used to first query the wl_buffer texture format using + EGL_TEXTURE_FORMAT as the attribute. If the wl_buffer object is + not an EGL wl_buffer (wl_shm and other wayland extensions can + create wl_buffer objects of different types), this query will + return EGL_FALSE. In that case the wl_buffer can not be used with + EGL and the compositor should have another way to get the buffer contents. If eglQueryWaylandBufferWL succeeds, the returned value will be - one of EGL_WAYLAND_BUFFER_RGB_WL, EGL_WAYLAND_BUFFER_RGBA_WL, - EGL_WAYLAND_BUFFER_Y_U_V_WL, EGL_WAYLAND_BUFFER_Y_UV_WL, - EGL_WAYLAND_BUFFER_Y_XUXV_WL. The value returned describes how - many EGLImages must be used, which components will be sampled from - each EGLImage and how they map to rgba components in the shader. - The naming conventions separates planes by _ and within each - plane, the order or R, G, B, A, Y, U, and V indicates how those - components map to the rgba value returned by the sampler. X - indicates that the corresponding component in the rgba value isn't - used. + one of EGL_TEXTURE_RGB, EGL_TEXTURE_RGBA, EGL_TEXTURE_Y_U_V_WL, + EGL_TEXTURE_Y_UV_WL, EGL_TEXTURE_Y_XUXV_WL. The value returned + describes how many EGLImages must be used, which components will + be sampled from each EGLImage and how they map to rgba components + in the shader. The naming conventions separates planes by _ and + within each plane, the order or R, G, B, A, Y, U, and V indicates + how those components map to the rgba value returned by the + sampler. X indicates that the corresponding component in the rgba + value isn't used. RGB and RGBA buffer types: - EGL_WAYLAND_BUFFER_RGB_WL + EGL_TEXTURE_RGB One plane, samples RGB from the texture to rgb in the shader. Alpha channel is not valid. - EGL_WAYLAND_BUFFER_RGBA_WL 0x31D9 + EGL_TEXTURE_RGBA One plane, samples RGBA from the texture to rgba in the shader. YUV buffer types: - EGL_WAYLAND_BUFFER_Y_U_V_WL 0x31Da + EGL_TEXTURE_Y_U_V_WL Three planes, samples Y from the first plane to r in the shader, U from the second plane to r, and V from the third plane to r. - EGL_WAYLAND_BUFFER_Y_UV_WL 0x31Db + EGL_TEXTURE_Y_UV_WL Two planes, samples Y from the first plane to r in the shader, U and V from the second plane to rg. - EGL_WAYLAND_BUFFER_Y_XUXV_WL 0x31Dc + EGL_TEXTURE_Y_XUXV_WL Two planes, samples Y from the first plane to r in the shader, U and V from the second plane to g and a. @@ -162,6 +154,9 @@ Additions to the EGL 1.4 Specification: from a wl_buffer in any way (such as glTexImage2D, binding the EGLImage as a renderbuffer etc) will result in undefined behavior. + Further, eglQueryWaylandBufferWL accepts attributes EGL_WIDTH and + EGL_HEIGHT to query the width and height of the wl_buffer. + Issues Revision History @@ -174,3 +169,7 @@ Revision History Version 3, July 10, 2012 Add eglQueryWaylandBufferWL and the various buffer formats. (Kristian Høgsberg) + Version 4, July 19, 2012 + Use EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGB, and EGL_TEXTURE_RGBA, + and just define the new YUV texture formats. Add support for + EGL_WIDTH and EGL_HEIGHT in the query attributes (Kristian Høgsberg) |