| OLD | NEW |
| 1 Name | 1 Name |
| 2 | 2 |
| 3 CHROMIUM_consistent_uniform_locations | 3 CHROMIUM_consistent_uniform_locations |
| 4 | 4 |
| 5 Name Strings | 5 Name Strings |
| 6 | 6 |
| 7 GL_CHROMIUM_consistent_uniform_locations | 7 GL_CHROMIUM_consistent_uniform_locations |
| 8 | 8 |
| 9 Version | 9 Version |
| 10 | 10 |
| 11 Last Modifed Date: June 17, 2012 | 11 Last Modifed Date: June 17, 2012 |
| 12 | 12 |
| 13 Dependencies | 13 Dependencies |
| 14 | 14 |
| 15 OpenGL ES 2.0 is required. | 15 OpenGL ES 2.0 is required. |
| 16 | 16 |
| 17 Overview | 17 Overview |
| 18 | 18 |
| 19 This extension guarantees uniforms always have the same locations. | 19 This extension guarantees uniforms always have the same locations. |
| 20 | 20 |
| 21 This allows the client program to know the locations of uniforms | 21 This allows the client program to know the locations of uniforms |
| 22 without having to compile the shaders, link the program and query | 22 without having to wait for shaders to compile or GLSL programs to |
| 23 the locations and therefore have no blocking calls when initializing | 23 link to query the locations and therefore have no blocking calls |
| 24 programs. | 24 when initializing programs. |
| 25 | 25 |
| 26 To be forward compatible the locations are provided through the | 26 To be forward compatible the locations are provided through the |
| 27 function GetUniformLocationsCHROMIUM but they can be provided | 27 function GetUniformLocationsCHROMIUM. LinkProgram must be called |
| 28 even before linking a program and therefore do not have to wait | 28 before calling GetUniformLocationsCHROMIUM. |
| 29 for compile or link completion to return results. | |
| 30 | 29 |
| 31 Issues | 30 Issues |
| 32 | 31 |
| 33 If a uniform is unused in the actual program it may be optimized out | 32 If a uniform is unused in the actual program it may be optimized out |
| 34 by the GL driver. In this case the locations will be wrong. You | 33 by the GL driver. In this case the locations will be wrong. You |
| 35 must provide a list of only the used uniforms. | 34 must provide a list of only the used uniforms. |
| 36 | 35 |
| 37 New Tokens | 36 New Tokens |
| 38 | 37 |
| 39 None | 38 None |
| 40 | 39 |
| 41 New Procedures and Functions | 40 New Procedures and Functions |
| 42 | 41 |
| 43 void GetUniformLocationsCHROMIUM (const GLUniformDefinitionCHROMIUM* uniform
s, | 42 void GetUniformLocationsCHROMIUM (GLuint program, |
| 43 const GLUniformDefinitionCHROMIUM* uniform
s, |
| 44 GLsizei count, GLsizei max_locations, | 44 GLsizei count, GLsizei max_locations, |
| 45 GLint* locations); | 45 GLint* locations); |
| 46 | 46 |
| 47 Provides the locations of uniforms assuming the list of uniforms provided | 47 Provides the locations of uniforms assuming the list of uniforms provided |
| 48 matches the uniforms actually used in the corresponding program. | 48 matches the uniforms actually used in the corresponding program. |
| 49 | 49 |
| 50 <uniforms> is an array of uniforms. <count> is the number of uniforms in th
e | 50 <uniforms> is an array of uniforms. <count> is the number of uniforms in th
e |
| 51 array. <max_locations> is the maximum number of locations to write to | 51 array. <max_locations> is the maximum number of locations to write to |
| 52 <locations>. <locations> is an array to receive the uniform locations. | 52 <locations>. <locations> is an array to receive the uniform locations. |
| 53 | 53 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 77 | 77 |
| 78 None. | 78 None. |
| 79 | 79 |
| 80 New State | 80 New State |
| 81 | 81 |
| 82 None. | 82 None. |
| 83 | 83 |
| 84 Revision History | 84 Revision History |
| 85 | 85 |
| 86 7/17/2012 Documented the extension | 86 7/17/2012 Documented the extension |
| 87 7/19/2012 Added <program> argument. |
| 88 |
| OLD | NEW |