| Name | 
 |  | 
 |     CHROMIUM_subscribe_uniform | 
 |  | 
 | Name Strings | 
 |  | 
 |     CHROMIUM_subscribe_uniform | 
 |  | 
 | Version | 
 |  | 
 |     Last Modifed Date: October 30, 2014 | 
 |  | 
 | Dependencies | 
 |  | 
 |     OpenGL ES 2.0 is required. | 
 |  | 
 | Overview | 
 |  | 
 |     Allows clients to subscribe to a set of input uniforms which can | 
 |     be populated within buffers and used to modify uniform variables within | 
 |     their programs. | 
 |  | 
 |     Decreases percieved latency for operations performed against these | 
 |     uniforms. | 
 |  | 
 | New Tokens | 
 |  | 
 |     Accepted by the <target> parameter of glBindValueBufferCHROMIUM, | 
 |     glSubscribeValueCHROMIUM, glPopulateSubscribedValuesCHROMIUM and | 
 |     glUniformValueBufferCHROMIUM | 
 |  | 
 |     GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM                        0x924B | 
 |  | 
 |     Accepted by the <subscription> parameter of glSubscribeValueCHROMIUM and | 
 |     glUniformValueBufferCHROMIUM: | 
 |  | 
 |     GL_MOUSE_POSITION_CHROMIUM                                  0x924C | 
 |  | 
 | New Procedures and Functions | 
 |  | 
 |     The command | 
 |  | 
 |        void glGenValuebuffersCHROMIUM(GLsizei n, GLuint* buffers) | 
 |  | 
 |     Generates value buffer object names. | 
 |     <n> Specifies the number of value buffer object names to be generated. | 
 |     <buffers> Specifies an array in which the generated value buffer object  | 
 |               names are stored. | 
 |  | 
 |    The command | 
 |  | 
 |       void glDeleteValuebuffersCHROMIUM(GLsizei n, const GLuint* valuebuffers) | 
 |  | 
 |    Deletes named value buffer objects. | 
 |    <n> Specifies the number of value buffer objects to be deleted. | 
 |    <buffers> Specifies an array of value buffer objects to be deleted. | 
 |  | 
 |    The command | 
 |  | 
 |       boolean glIsValuebufferCHROMIUM(GLuint buffer); | 
 |  | 
 |    Returns whether an object is a value buffer object. | 
 |    <buffer> Specifies the name of a buffer object. | 
 |  | 
 |    The command | 
 |  | 
 |       void glBindValuebufferCHROMIUM(GLenum target, GLuint buffer); | 
 |  | 
 |    Lets you use a named value buffer object. | 
 |    <target> Specifies the target to which the buffer object is bound. | 
 |    <buffer> Specifies the name of a buffer object. | 
 |  | 
 |    The command | 
 |  | 
 |       void glSubscribeValueCHROMIUM(GLenum target, GLenum subscription) | 
 |  | 
 |    Subscribes the currently bound buffer object to a subscription target. | 
 |    <target> Specifies the target to which the buffer object is bound. | 
 |    <subscription> Specifies the subscription to which the currently bound | 
 |                   buffer object should be subscribed. | 
 |  | 
 |    The command | 
 |  | 
 |       void glPopulateSubscribedValuesCHROMIUM(GLenum target) | 
 |  | 
 |    Populates the currently bound buffer object with all subscription states | 
 |    to which it is subscribed. | 
 |    <target> Specifies the target to which the buffer object is bound. | 
 |  | 
 |    The command | 
 |   | 
 |       void glUniformValueBufferCHROMIUM(GLint location, GLenum target, | 
 |                                        GLenum subscription) | 
 |  | 
 |    Populates the uniform specified by location within the currently bound | 
 |    program with the value in the currently bound buffer for the subscription | 
 |    target. | 
 |    <location> Specifies the location of the uniform variable to by modified. | 
 |    <target> Specifies the target to which the buffer object is bound. | 
 |    <subscription> Specifies the subscription in the currently bound buffer | 
 |                   whose value should be used to populate the uniform. | 
 |  | 
 | Errors | 
 |  | 
 |     None. | 
 |  | 
 | New State | 
 |  | 
 |     None. | 
 |  | 
 | Revision History | 
 |  | 
 |     10/30/2014    Documented the extension |