summaryrefslogtreecommitdiff
path: root/extensions/ANGLE_translated_shader_source.txt
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/ANGLE_translated_shader_source.txt')
-rw-r--r--extensions/ANGLE_translated_shader_source.txt118
1 files changed, 118 insertions, 0 deletions
diff --git a/extensions/ANGLE_translated_shader_source.txt b/extensions/ANGLE_translated_shader_source.txt
new file mode 100644
index 00000000..69161156
--- /dev/null
+++ b/extensions/ANGLE_translated_shader_source.txt
@@ -0,0 +1,118 @@
+Name
+
+ ANGLE_translated_shader_source
+
+Name Strings
+
+ GL_ANGLE_translated_shader_source
+
+Contributors
+
+ Daniel Koch, TransGaming Inc.
+ Gregg Tavares, Google Inc.
+ Kenneth Russell, Google Inc.
+ Zhenyao Mo, Google Inc.
+
+Contact
+
+ Zhenyao Mo, Google Inc. (zmo 'at' google 'dot' com)
+
+Status
+
+ Implemented in ANGLE ES2
+
+Version
+
+ Last Modified Date: October 5, 2011
+ Author Revision: 2
+
+Number
+
+ OpenGL ES Extension #113
+
+Dependencies
+
+ OpenGL ES 2.0 is required.
+
+ The extension is written against the OpenGL ES 2.0 specification.
+
+Overview
+
+ WebGL uses the GLSL ES 2.0 spec on all platforms, and translates these
+ shaders to the host platform's native language (HLSL, GLSL, and even GLSL
+ ES). For debugging purposes, it is useful to be able to examine the shader
+ after translation.
+
+ This extension addes a new function to query the translated shader source,
+ and adds a new enum for GetShaderiv's <pname> parameter to query the
+ translated shader source length.
+
+IP Status
+
+ No known IP claims.
+
+New Types
+
+ None
+
+New Procedures and Functions
+
+ void GetTranslatedShaderSourceANGLE(uint shader, sizei bufsize,
+ sizei* length, char* source);
+
+New Tokens
+
+ Accepted by the <pname> parameter of GetShaderiv:
+
+ TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
+
+Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State
+Requests)
+
+ Append in the end of the fourth paragraph of section 6.1.8 (Shader and
+ Program Queries):
+
+ " If <pname> is TRANSLATED_SHADER_LENGTH_ANGLE, the length of the translated
+ source string, including a null terminator, is returned. If no source has
+ been defined, CompileShader has not been called, or the translation has
+ failed for <shader>, zero is returned."
+
+ Append after the last paragraph of section 6.1.8 (Shader and Program
+ Queries):
+
+ "The command
+
+ void GetTranslatedShaderSourceANGLE( uint shader, sizei bufSize,
+ sizei *length, char *source );
+
+ returns in <source> the string making up the translated source code for
+ the shader object <shader>. The string <source> will be null terminated.
+ The actual number of characters written into <source>, excluding the null
+ terminator, is returned in <length>. If <length> is NULL, no length is
+ returned. The maximum number of characters that may be written into
+ <source>, including the null terminator, is speciļ¬ed by <bufSize>. The
+ string <source> is the translated string of a concatenation of the strings
+ passed to the GL using ShaderSource. The length of this translated string
+ is given by TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, which can be queried
+ with GetShaderiv.
+
+ If no source has been defined, CompileShader has not been called, or the
+ translation has failed for <shader>, zero is returned for <length>, and
+ an empty string is returned for <source>.
+
+ If the value of SHADER_COMPILER is not TRUE, then the error INVALID_-
+ OPERATION is generated."
+
+Issues
+
+ 1) What enum value should be used for TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE?
+
+ RESOLVED: The first draft used a temporary enum value. This been replaced
+ with a enum allocated from the ANGLE range of GL enums.
+
+Revision History
+
+ Revision 1, 2011/09/29, zmo
+ - first draft
+ Revision 2, 2011/10/05, dgkoch
+ - assigned enum