wayland: Use existing EGL_TEXTURE_FORMAT for querying wl_buffer texture format
[mesa.git] / docs / WL_bind_wayland_display.spec
index e1aca538003e9e493ec019da483019989e5bba09..eca6acd5b785444bb5f11586e243053a4014dca4 100644 (file)
@@ -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.
 
@@ -174,3 +166,6 @@ 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. (Kristian Høgsberg)