Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_consistent_uniform_locations.txt

Issue 10568003: Add support for GL_CHROMIUM_consistent_uniform_locations (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | gpu/command_buffer/build_gles2_cmd_buffer.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_consistent_uniform_locations.txt
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_consistent_uniform_locations.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_consistent_uniform_locations.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a7d163ef0f71bb8137439158037f1f1f23d976a
--- /dev/null
+++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_consistent_uniform_locations.txt
@@ -0,0 +1,86 @@
+Name
+
+ CHROMIUM_consistent_uniform_locations
+
+Name Strings
+
+ GL_CHROMIUM_consistent_uniform_locations
+
+Version
+
+ Last Modifed Date: June 17, 2012
+
+Dependencies
+
+ OpenGL ES 2.0 is required.
+
+Overview
+
+ This extension guarantees uniforms always have the same locations.
+
+ This allows the client program to know the locations of uniforms
+ without having to compile the shaders, link the program and query
+ the locations and therefore have no blocking calls when initializing
+ programs.
+
+ To be forward compatible the locations are provided through the
+ function GetUniformLocationsCHROMIUM but they can be provided
+ even before linking a program and therefore do not have to wait
+ for compile or link completion to return results.
+
+Issues
+
+ If a uniform is unused in the actual program it may be optimized out
+ by the GL driver. In this case the locations will be wrong. You
+ must provide a list of only the used uniforms.
+
+New Tokens
+
+ None
+
+New Procedures and Functions
+
+ void GetUniformLocationsCHROMIUM (const GLUniformDefinitionCHROMIUM* uniforms,
+ GLsizei count, GLsizei max_locations,
+ GLint* locations);
+
+ Provides the locations of uniforms assuming the list of uniforms provided
+ matches the uniforms actually used in the corresponding program.
+
+ <uniforms> is an array of uniforms. <count> is the number of uniforms in the
+ array. <max_locations> is the maximum number of locations to write to
+ <locations>. <locations> is an array to receive the uniform locations.
+
+ INVALID_VALUE is generated if <count> is less then or equal to 0.
+
+ INVALID_VALUE is generated if any GLUniformDefinitionHCHROMIUM's size
+ field is <= 0.
+
+ For each uniform <size> locations are provided. For example:
+
+ static const GLUniformDefinitionCHROMIUM defs[] = {
+ { GL_FLOAT_VEC2, 3, "someUniform", }, // An array of 3 vec2s
+ { GL_FLOAT_VEC4, 1, "someOtherUniform", }, // A single vec4
+ { GL_SAMPLER_2D, 2, "yetAnotherUniform", }, // An array of 2 sampler2Ds
+ };
+
+ Would return an array of locations as follows
+
+ location[0] = location for "someUniform[0]"
+ location[1] = location for "someUniform[1]"
+ location[2] = location for "someUniform[2]"
+ location[3] = location for "someOtherUniform"
+ location[4] = location for "yetAnotherUniform[0]"
+ location[5] = location for "yetAnotherUniform[1]"
+
+Errors
+
+ None.
+
+New State
+
+ None.
+
+Revision History
+
+ 7/17/2012 Documented the extension
« no previous file with comments | « no previous file | gpu/command_buffer/build_gles2_cmd_buffer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698