| Index: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt
 | 
| diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt
 | 
| index 277b60d40555f40ed89adc5fbf82576d5aa15998..f3c476bdc5a674bc2c93aed1c5fdebeac235b317 100644
 | 
| --- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt
 | 
| +++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt
 | 
| @@ -20,9 +20,9 @@ Overview
 | 
|      objects in different contexts where the contexts would not normally share
 | 
|      texture resources. Three new functions are exported. glGenMailboxCHROMIUM
 | 
|      generates a name that can be used to identify texture image data outside
 | 
| -    the scope of a context group. glProduceMailboxCHROMIUM moves texture image
 | 
| -    data out of a texture object and into a mailbox. glConsumeMailboxCHROMIUM
 | 
| -    moves texture image data out of a mailbox and into a texture object.
 | 
| +    the scope of a context group. glProduceMailboxCHROMIUM associates a texture
 | 
| +    object with a global mailbox name. glConsumeMailboxCHROMIUM associates the
 | 
| +    texture object referenced by a mailbox name to a texture name.
 | 
|  
 | 
|  New Procedures and Functions
 | 
|  
 | 
| @@ -38,18 +38,19 @@ New Procedures and Functions
 | 
|  
 | 
|      void glProduceTextureCHROMIUM (GLenum target, const GLbyte *mailbox)
 | 
|  
 | 
| -    Moves the image data and parameters of the currently bound texture object
 | 
| -    into the mailbox. The texture object is redefined as though all its levels
 | 
| -    had been resized to zero by zero and the texture object is therefore
 | 
| -    incomplete.  The texture object parameters are undefined. The texture
 | 
| -    object is no longer immutable. If the mailbox previously contained image
 | 
| -    data, the old image data is deleted.
 | 
| +    Associates the currently bound texture object with the mailbox name. A
 | 
| +    given texture object can be associated with several mailbox names. If a
 | 
| +    mailbox name was previously associated with a texture object, that
 | 
| +    previous association is broken. The currently bound texture object is not
 | 
| +    modified by the operation.
 | 
|  
 | 
| -    If glProduceTextureCHROMIUM generates an error, the associated image data
 | 
| -    and state is preserved in the texture object.
 | 
| +    If glProduceTextureCHROMIUM generates an error, the mailbox name keeps its
 | 
| +    current association, if any.
 | 
|  
 | 
| -    The mailbox is emptied and the texture image data deleted if the context
 | 
| -    is destroyed before being consumed. See glConsumeTextureCHROMIUM.
 | 
| +    The mailbox does not keep a reference to the texture object. When the
 | 
| +    texture object is destroyed (deleted from all context groups, and unbound
 | 
| +    from all texture units and framebuffer attachments), the mailbox is
 | 
| +    disassociated from the texture object.
 | 
|  
 | 
|      <target> uses the same parameters as TexImage2D.
 | 
|  
 | 
| @@ -58,10 +59,6 @@ New Procedures and Functions
 | 
|  
 | 
|      INVALID_OPERATION is generated if <target> is not a valid target.
 | 
|  
 | 
| -    INVALID_OPERATION is generated if the texture is attached to a framebuffer.
 | 
| -
 | 
| -    INVALID_OPERATION is generated if the texture is immutable.
 | 
| -
 | 
|      INVALID_OPERATION is generated if <mailbox> is invalid.
 | 
|  
 | 
|  
 | 
| @@ -71,30 +68,32 @@ New Procedures and Functions
 | 
|  
 | 
|      <mailbox> identifies a GL_MAILBOX_SIZE_CHROMIUM byte sized name returned by
 | 
|      glGenMailboxCHROMIUM.
 | 
| -
 | 
| -    Redefines the image data and parameters of the currently bound texture
 | 
| -    object with the image data and parameters in the mailbox and empties the
 | 
| -    mailbox. All levels are redefined, and the immutable state is set according
 | 
| -    to the contents of the mailbox.
 | 
| -
 | 
| -    If glConsumeTextureCHROMIUM generates an error, the associated image data
 | 
| -    is preserved in the texture object.
 | 
| +    
 | 
| +    Deletes the currently bound texture object, and redefines its texture name
 | 
| +    to point to the texture object associated with the mailbox name. All the
 | 
| +    contexts that have consumed the texture object, as well as produced it share
 | 
| +    the texture object, as if the contexts were part of the share group. The
 | 
| +    texture object is deleted once all contexts have deleted the texture name
 | 
| +    associated with the texture object, and detached it from all framebuffer
 | 
| +    objects as well as texture unit bindings. See Appendix C of the OpenGL ES
 | 
| +    2.0 specification for details relative to visibility in one context of
 | 
| +    changes to the shared texture object in another context.
 | 
| +
 | 
| +    If glConsumeTextureCHROMIUM generates an error, the currently bound texture
 | 
| +    object is preserved.
 | 
|  
 | 
|      INVALID_OPERATION is generated if <target> is not a valid target.
 | 
|  
 | 
| -    INVALID_OPERATION is generated if <mailbox> is empty.
 | 
| -
 | 
| -    INVALID_OPERATION is generated if <mailbox> is not in the scope of the
 | 
| -    context.
 | 
| -
 | 
|      INVALID_OPERATION is generated if <mailbox> is invalid.
 | 
|  
 | 
| -    INVALID_OPERATION is generated if the texture is attached to a framebuffer.
 | 
| +    INVALID_OPERATION is generated if <mailbox> is not associated with a texture
 | 
| +    object.
 | 
|  
 | 
| -    INVALID_OPERATION is generated if the texture is immutable.
 | 
| +    INVALID_OPERATION is generated if the texture object associated with
 | 
| +    <mailbox> has a different target than <target>.
 | 
|  
 | 
| -    INVALID_OPERATION is generated if the image data is invalid in the current
 | 
| -    context.
 | 
| +    INVALID_OPERATION is generated if the currently bound texture was previously
 | 
| +    deleted (for example in another context), hence doesn't have a name.
 | 
|  
 | 
|  New Tokens
 | 
|  
 | 
| @@ -117,3 +116,5 @@ New State
 | 
|  Revision History
 | 
|  
 | 
|      4/25/2011    Documented the extension
 | 
| +    5/23/2013    Major revision in Produce/Consume semantics, introducing
 | 
| +                 sharing.
 | 
| 
 |