summaryrefslogtreecommitdiffstats
path: root/opengl/tools
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2014-05-19 15:12:22 -0700
committerJesse Hall <jessehall@google.com>2014-05-20 13:31:05 -0700
commit16f03928743b01638419874e2b6300b52da6eb4c (patch)
tree2496f8b7ec06fdb028d1537e49c4b677f37520cf /opengl/tools
parent26d82dd0ab2462beae286c58d36d400176b0b145 (diff)
downloadframeworks_native-16f03928743b01638419874e2b6300b52da6eb4c.zip
frameworks_native-16f03928743b01638419874e2b6300b52da6eb4c.tar.gz
frameworks_native-16f03928743b01638419874e2b6300b52da6eb4c.tar.bz2
opengl: Add GLES31 and GLES31Ext class templates
Bug: 15028495 Change-Id: I276d04f029d441e092428fad72f09ca15e1d233a
Diffstat (limited to 'opengl/tools')
-rwxr-xr-xopengl/tools/glgen/gen6
-rw-r--r--opengl/tools/glgen/specs/gles11/GLES31.spec68
-rw-r--r--opengl/tools/glgen/specs/gles11/GLES31Ext.spec36
-rw-r--r--opengl/tools/glgen/src/GenerateGLES.java3
-rw-r--r--opengl/tools/glgen/stubs/gles11/GLES31ExtHeader.java-if257
-rw-r--r--opengl/tools/glgen/stubs/gles11/GLES31ExtcHeader.cpp21
-rw-r--r--opengl/tools/glgen/stubs/gles11/GLES31Header.java-if202
-rw-r--r--opengl/tools/glgen/stubs/gles11/GLES31cHeader.cpp20
-rw-r--r--opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.cpp15
-rw-r--r--opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.java9
-rw-r--r--opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.cpp8
-rw-r--r--opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.java7
-rw-r--r--opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp5
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.java8
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.cpp38
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.java10
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.cpp13
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.java4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.cpp12
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.java4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp12
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.java4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.cpp31
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.java51
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.nativeReg4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.cpp7
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.java4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.cpp7
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.java4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetPointervKHR.cpp7
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetPointervKHR.java4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetPointervKHR.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp19
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.java6
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.cpp8
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.java8
-rw-r--r--opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.nativeReg1
-rw-r--r--opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.cpp6
-rw-r--r--opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.java4
-rw-r--r--opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.nativeReg1
-rwxr-xr-xopengl/tools/glgen2/glgen.py64
51 files changed, 1006 insertions, 3 deletions
diff --git a/opengl/tools/glgen/gen b/opengl/tools/glgen/gen
index 7146a29..84a94c8 100755
--- a/opengl/tools/glgen/gen
+++ b/opengl/tools/glgen/gen
@@ -105,7 +105,9 @@ javac -d classes android/opengl/EGL14.java \
android/opengl/GLES11.java \
android/opengl/GLES11Ext.java \
android/opengl/GLES20.java \
- android/opengl/GLES30.java
+ android/opengl/GLES30.java \
+ android/opengl/GLES31.java \
+ android/opengl/GLES31Ext.java
popd > /dev/null
JAVA_RESULT=$?
if [ $JAVA_RESULT -ne 0 ]; then
@@ -152,7 +154,7 @@ do
compareGenerated ../../../../base/opengl/java/javax/microedition/khronos/opengles generated/javax/microedition/khronos/opengles $x
done
-for x in EGL14 EGLExt GLES10 GLES10Ext GLES11 GLES11Ext GLES20 GLES30
+for x in EGL14 EGLExt GLES10 GLES10Ext GLES11 GLES11Ext GLES20 GLES30 GLES31 GLES31Ext
do
compareGenerated ../../../../base/opengl/java/android/opengl generated/android/opengl ${x}.java
compareGenerated ../../../../base/core/jni generated/C android_opengl_${x}.cpp
diff --git a/opengl/tools/glgen/specs/gles11/GLES31.spec b/opengl/tools/glgen/specs/gles11/GLES31.spec
new file mode 100644
index 0000000..28c1e8b
--- /dev/null
+++ b/opengl/tools/glgen/specs/gles11/GLES31.spec
@@ -0,0 +1,68 @@
+void glDispatchCompute ( GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z )
+void glDispatchComputeIndirect ( GLintptr indirect )
+void glDrawArraysIndirect ( GLenum mode, const void *indirect )
+void glDrawElementsIndirect ( GLenum mode, GLenum type, const void *indirect )
+void glFramebufferParameteri ( GLenum target, GLenum pname, GLint param )
+void glGetFramebufferParameteriv ( GLenum target, GLenum pname, GLint *params )
+void glGetProgramInterfaceiv ( GLuint program, GLenum programInterface, GLenum pname, GLint *params )
+GLuint glGetProgramResourceIndex ( GLuint program, GLenum programInterface, const GLchar *name )
+void glGetProgramResourceName ( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name )
+void glGetProgramResourceiv ( GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params )
+GLint glGetProgramResourceLocation ( GLuint program, GLenum programInterface, const GLchar *name )
+void glUseProgramStages ( GLuint pipeline, GLbitfield stages, GLuint program )
+void glActiveShaderProgram ( GLuint pipeline, GLuint program )
+GLuint glCreateShaderProgramv ( GLenum type, GLsizei count, const GLchar *const *strings )
+void glBindProgramPipeline ( GLuint pipeline )
+void glDeleteProgramPipelines ( GLsizei n, const GLuint *pipelines )
+void glGenProgramPipelines ( GLsizei n, GLuint *pipelines )
+GLboolean glIsProgramPipeline ( GLuint pipeline )
+void glGetProgramPipelineiv ( GLuint pipeline, GLenum pname, GLint *params )
+void glProgramUniform1i ( GLuint program, GLint location, GLint v0 )
+void glProgramUniform2i ( GLuint program, GLint location, GLint v0, GLint v1 )
+void glProgramUniform3i ( GLuint program, GLint location, GLint v0, GLint v1, GLint v2 )
+void glProgramUniform4i ( GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3 )
+void glProgramUniform1ui ( GLuint program, GLint location, GLuint v0 )
+void glProgramUniform2ui ( GLuint program, GLint location, GLuint v0, GLuint v1 )
+void glProgramUniform3ui ( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2 )
+void glProgramUniform4ui ( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 )
+void glProgramUniform1f ( GLuint program, GLint location, GLfloat v0 )
+void glProgramUniform2f ( GLuint program, GLint location, GLfloat v0, GLfloat v1 )
+void glProgramUniform3f ( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2 )
+void glProgramUniform4f ( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 )
+void glProgramUniform1iv ( GLuint program, GLint location, GLsizei count, const GLint *value )
+void glProgramUniform2iv ( GLuint program, GLint location, GLsizei count, const GLint *value )
+void glProgramUniform3iv ( GLuint program, GLint location, GLsizei count, const GLint *value )
+void glProgramUniform4iv ( GLuint program, GLint location, GLsizei count, const GLint *value )
+void glProgramUniform1uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value )
+void glProgramUniform2uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value )
+void glProgramUniform3uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value )
+void glProgramUniform4uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value )
+void glProgramUniform1fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value )
+void glProgramUniform2fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value )
+void glProgramUniform3fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value )
+void glProgramUniform4fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value )
+void glProgramUniformMatrix2fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix3fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix4fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix2x3fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix3x2fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix2x4fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix4x2fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix3x4fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glProgramUniformMatrix4x3fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
+void glValidateProgramPipeline ( GLuint pipeline )
+void glGetProgramPipelineInfoLog ( GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog )
+void glBindImageTexture ( GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format )
+void glGetBooleani_v ( GLenum target, GLuint index, GLboolean *data )
+void glMemoryBarrier ( GLbitfield barriers )
+void glMemoryBarrierByRegion ( GLbitfield barriers )
+void glTexStorage2DMultisample ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations )
+void glGetMultisamplefv ( GLenum pname, GLuint index, GLfloat *val )
+void glSampleMaski ( GLuint maskNumber, GLbitfield mask )
+void glGetTexLevelParameteriv ( GLenum target, GLint level, GLenum pname, GLint *params )
+void glGetTexLevelParameterfv ( GLenum target, GLint level, GLenum pname, GLfloat *params )
+void glBindVertexBuffer ( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride )
+void glVertexAttribFormat ( GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset )
+void glVertexAttribIFormat ( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset )
+void glVertexAttribBinding ( GLuint attribindex, GLuint bindingindex )
+void glVertexBindingDivisor ( GLuint bindingindex, GLuint divisor )
diff --git a/opengl/tools/glgen/specs/gles11/GLES31Ext.spec b/opengl/tools/glgen/specs/gles11/GLES31Ext.spec
new file mode 100644
index 0000000..2898c7f
--- /dev/null
+++ b/opengl/tools/glgen/specs/gles11/GLES31Ext.spec
@@ -0,0 +1,36 @@
+void glBlendBarrierKHR ( void )
+void glDebugMessageControlKHR ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled )
+void glDebugMessageInsertKHR ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf )
+void glDebugMessageCallbackKHR ( GLDEBUGPROCKHR callback, const void *userParam )
+GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog )
+void glPushDebugGroupKHR ( GLenum source, GLuint id, GLsizei length, const GLchar *message )
+void glPopDebugGroupKHR ( void )
+void glObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei length, const GLchar *label )
+void glGetObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label )
+void glObjectPtrLabelKHR ( const void *ptr, GLsizei length, const GLchar *label )
+void glGetObjectPtrLabelKHR ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label )
+void glGetPointervKHR ( GLenum pname, void **params )
+void glMinSampleShadingOES ( GLfloat value )
+void glTexStorage3DMultisampleOES ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations )
+void glCopyImageSubDataEXT ( GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth )
+void glEnableiEXT ( GLenum target, GLuint index )
+void glDisableiEXT ( GLenum target, GLuint index )
+void glBlendEquationiEXT ( GLuint buf, GLenum mode )
+void glBlendEquationSeparateiEXT ( GLuint buf, GLenum modeRGB, GLenum modeAlpha )
+void glBlendFunciEXT ( GLuint buf, GLenum src, GLenum dst )
+void glBlendFuncSeparateiEXT ( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha )
+void glColorMaskiEXT ( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a )
+GLboolean glIsEnablediEXT ( GLenum target, GLuint index )
+void glFramebufferTextureEXT ( GLenum target, GLenum attachment, GLuint texture, GLint level )
+void glPrimitiveBoundingBoxEXT ( GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW )
+void glPatchParameteriEXT ( GLenum pname, GLint value )
+void glTexParameterIivEXT ( GLenum target, GLenum pname, const GLint *params )
+void glTexParameterIuivEXT ( GLenum target, GLenum pname, const GLuint *params )
+void glGetTexParameterIivEXT ( GLenum target, GLenum pname, GLint *params )
+void glGetTexParameterIuivEXT ( GLenum target, GLenum pname, GLuint *params )
+void glSamplerParameterIivEXT ( GLuint sampler, GLenum pname, const GLint *param )
+void glSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, const GLuint *param )
+void glGetSamplerParameterIivEXT ( GLuint sampler, GLenum pname, GLint *params )
+void glGetSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, GLuint *params )
+void glTexBufferEXT ( GLenum target, GLenum internalformat, GLuint buffer )
+void glTexBufferRangeEXT ( GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size )
diff --git a/opengl/tools/glgen/src/GenerateGLES.java b/opengl/tools/glgen/src/GenerateGLES.java
index c99c45d..5693ef3 100644
--- a/opengl/tools/glgen/src/GenerateGLES.java
+++ b/opengl/tools/glgen/src/GenerateGLES.java
@@ -84,7 +84,8 @@ public class GenerateGLES {
// Generate files
for(String suffix: new String[] {"GLES10", "GLES10Ext",
- "GLES11", "GLES11Ext", "GLES20", "GLES30"})
+ "GLES11", "GLES11Ext", "GLES20",
+ "GLES30", "GLES31", "GLES31Ext"})
{
BufferedReader spec11Reader =
new BufferedReader(new FileReader("specs/gles11/"
diff --git a/opengl/tools/glgen/stubs/gles11/GLES31ExtHeader.java-if b/opengl/tools/glgen/stubs/gles11/GLES31ExtHeader.java-if
new file mode 100644
index 0000000..546306c
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/GLES31ExtHeader.java-if
@@ -0,0 +1,257 @@
+/*
+ * Copyright 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This source file is automatically generated
+
+package android.opengl;
+
+/** @hide */
+public class GLES31Ext {
+
+ // GL_KHR_blend_equation_advanced
+ public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285;
+ public static final int GL_MULTIPLY_KHR = 0x9294;
+ public static final int GL_SCREEN_KHR = 0x9295;
+ public static final int GL_OVERLAY_KHR = 0x9296;
+ public static final int GL_DARKEN_KHR = 0x9297;
+ public static final int GL_LIGHTEN_KHR = 0x9298;
+ public static final int GL_COLORDODGE_KHR = 0x9299;
+ public static final int GL_COLORBURN_KHR = 0x929A;
+ public static final int GL_HARDLIGHT_KHR = 0x929B;
+ public static final int GL_SOFTLIGHT_KHR = 0x929C;
+ public static final int GL_DIFFERENCE_KHR = 0x929E;
+ public static final int GL_EXCLUSION_KHR = 0x92A0;
+ public static final int GL_HSL_HUE_KHR = 0x92AD;
+ public static final int GL_HSL_SATURATION_KHR = 0x92AE;
+ public static final int GL_HSL_COLOR_KHR = 0x92AF;
+ public static final int GL_HSL_LUMINOSITY_KHR = 0x92B0;
+
+ // GL_KHR_debug
+ public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242;
+ public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243;
+ public static final int GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244;
+ public static final int GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245;
+ public static final int GL_DEBUG_SOURCE_API_KHR = 0x8246;
+ public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247;
+ public static final int GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248;
+ public static final int GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249;
+ public static final int GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A;
+ public static final int GL_DEBUG_SOURCE_OTHER_KHR = 0x824B;
+ public static final int GL_DEBUG_TYPE_ERROR_KHR = 0x824C;
+ public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D;
+ public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E;
+ public static final int GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F;
+ public static final int GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250;
+ public static final int GL_DEBUG_TYPE_OTHER_KHR = 0x8251;
+ public static final int GL_DEBUG_TYPE_MARKER_KHR = 0x8268;
+ public static final int GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269;
+ public static final int GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A;
+ public static final int GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B;
+ public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C;
+ public static final int GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D;
+ public static final int GL_BUFFER_KHR = 0x82E0;
+ public static final int GL_SHADER_KHR = 0x82E1;
+ public static final int GL_PROGRAM_KHR = 0x82E2;
+ public static final int GL_VERTEX_ARRAY_KHR = 0x8074;
+ public static final int GL_QUERY_KHR = 0x82E3;
+ public static final int GL_SAMPLER_KHR = 0x82E6;
+ public static final int GL_MAX_LABEL_LENGTH_KHR = 0x82E8;
+ public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143;
+ public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144;
+ public static final int GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145;
+ public static final int GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146;
+ public static final int GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147;
+ public static final int GL_DEBUG_SEVERITY_LOW_KHR = 0x9148;
+ public static final int GL_DEBUG_OUTPUT_KHR = 0x92E0;
+ public static final int GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002;
+ public static final int GL_STACK_OVERFLOW_KHR = 0x0503;
+ public static final int GL_STACK_UNDERFLOW_KHR = 0x0504;
+
+ // GL_KHR_texture_compression_astc_ldr
+ public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0;
+ public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1;
+ public static final int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2;
+ public static final int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3;
+ public static final int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4;
+ public static final int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5;
+ public static final int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6;
+ public static final int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7;
+ public static final int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8;
+ public static final int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9;
+ public static final int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA;
+ public static final int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB;
+ public static final int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC;
+ public static final int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC;
+ public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD;
+
+ // GL_OES_sample_shading
+ public static final int GL_SAMPLE_SHADING_OES = 0x8C36;
+ public static final int GL_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37;
+
+ // GL_OES_shader_multisample_interpolation
+ public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B;
+ public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C;
+ public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D;
+
+ // GL_OES_texture_stencil8
+ public static final int GL_STENCIL_INDEX_OES = 0x1901;
+ public static final int GL_STENCIL_INDEX8_OES = 0x8D48;
+
+ // GL_OES_texture_storage_multisample_2d_array
+ public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102;
+ public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105;
+ public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B;
+ public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C;
+ public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D;
+
+ // GL_EXT_geometry_shader
+ public static final int GL_GEOMETRY_SHADER_EXT = 0x8DD9;
+ public static final int GL_GEOMETRY_SHADER_BIT_EXT = 0x00000004;
+ public static final int GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916;
+ public static final int GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917;
+ public static final int GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918;
+ public static final int GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F;
+ public static final int GL_LAYER_PROVOKING_VERTEX_EXT = 0x825E;
+ public static final int GL_LINES_ADJACENCY_EXT = 0x000A;
+ public static final int GL_LINE_STRIP_ADJACENCY_EXT = 0x000B;
+ public static final int GL_TRIANGLES_ADJACENCY_EXT = 0x000C;
+ public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D;
+ public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF;
+ public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C;
+ public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32;
+ public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123;
+ public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124;
+ public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0;
+ public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1;
+ public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A;
+ public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29;
+ public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF;
+ public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5;
+ public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD;
+ public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7;
+ public static final int GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D;
+ public static final int GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E;
+ public static final int GL_UNDEFINED_VERTEX_EXT = 0x8260;
+ public static final int GL_PRIMITIVES_GENERATED_EXT = 0x8C87;
+ public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312;
+ public static final int GL_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317;
+ public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8;
+ public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7;
+ public static final int GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309;
+
+ // GL_EXT_primitive_bounding_box
+ public static final int GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE;
+
+ // GL_EXT_tessellation_shader
+ public static final int GL_PATCHES_EXT = 0x000E;
+ public static final int GL_PATCH_VERTICES_EXT = 0x8E72;
+ public static final int GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75;
+ public static final int GL_TESS_GEN_MODE_EXT = 0x8E76;
+ public static final int GL_TESS_GEN_SPACING_EXT = 0x8E77;
+ public static final int GL_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78;
+ public static final int GL_TESS_GEN_POINT_MODE_EXT = 0x8E79;
+ public static final int GL_ISOLINES_EXT = 0x8E7A;
+ public static final int GL_QUADS_EXT = 0x0007;
+ public static final int GL_FRACTIONAL_ODD_EXT = 0x8E7B;
+ public static final int GL_FRACTIONAL_EVEN_EXT = 0x8E7C;
+ public static final int GL_MAX_PATCH_VERTICES_EXT = 0x8E7D;
+ public static final int GL_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E;
+ public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F;
+ public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80;
+ public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81;
+ public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82;
+ public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83;
+ public static final int GL_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84;
+ public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85;
+ public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86;
+ public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89;
+ public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A;
+ public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C;
+ public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D;
+ public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E;
+ public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F;
+ public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD;
+ public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE;
+ public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3;
+ public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4;
+ public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB;
+ public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC;
+ public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8;
+ public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9;
+ public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221;
+ public static final int GL_IS_PER_PATCH_EXT = 0x92E7;
+ public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307;
+ public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308;
+ public static final int GL_TESS_CONTROL_SHADER_EXT = 0x8E88;
+ public static final int GL_TESS_EVALUATION_SHADER_EXT = 0x8E87;
+ public static final int GL_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008;
+ public static final int GL_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010;
+
+ // GL_EXT_texture_border_clamp
+ public static final int GL_TEXTURE_BORDER_COLOR_EXT = 0x1004;
+ public static final int GL_CLAMP_TO_BORDER_EXT = 0x812D;
+
+ // GL_EXT_texture_buffer
+ public static final int GL_TEXTURE_BUFFER_EXT = 0x8C2A;
+ public static final int GL_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A;
+ public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B;
+ public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C;
+ public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D;
+ public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F;
+ public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2;
+ public static final int GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0;
+ public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8;
+ public static final int GL_IMAGE_BUFFER_EXT = 0x9051;
+ public static final int GL_INT_IMAGE_BUFFER_EXT = 0x905C;
+ public static final int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067;
+ public static final int GL_TEXTURE_BUFFER_OFFSET_EXT = 0x919D;
+ public static final int GL_TEXTURE_BUFFER_SIZE_EXT = 0x919E;
+
+ // GL_EXT_texture_cube_map_array
+ public static final int GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009;
+ public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A;
+ public static final int GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C;
+ public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D;
+ public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E;
+ public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F;
+ public static final int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054;
+ public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F;
+ public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A;
+
+ // GL_EXT_texture_sRGB_decode
+ public static final int GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48;
+ public static final int GL_DECODE_EXT = 0x8A49;
+ public static final int GL_SKIP_DECODE_EXT = 0x8A4A;
+
+ native private static void _nativeClassInit();
+ static {
+ _nativeClassInit();
+ }
+
+ private GLES31Ext() {}
diff --git a/opengl/tools/glgen/stubs/gles11/GLES31ExtcHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES31ExtcHeader.cpp
new file mode 100644
index 0000000..e7e3561
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/GLES31ExtcHeader.cpp
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This source file is automatically generated
+
+#include <GLES3/gl31.h>
+#include <GLES2/gl2ext.h>
+
diff --git a/opengl/tools/glgen/stubs/gles11/GLES31Header.java-if b/opengl/tools/glgen/stubs/gles11/GLES31Header.java-if
new file mode 100644
index 0000000..a1fc02c
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/GLES31Header.java-if
@@ -0,0 +1,202 @@
+/*
+ * Copyright 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This source file is automatically generated
+
+package android.opengl;
+
+/** OpenGL ES 3.1
+ * @hide
+ */
+public class GLES31 extends GLES30 {
+
+ public static final int GL_VERTEX_SHADER_BIT = 0x00000001;
+ public static final int GL_FRAGMENT_SHADER_BIT = 0x00000002;
+ public static final int GL_UNIFORM_BARRIER_BIT = 0x00000004;
+ public static final int GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008;
+ public static final int GL_COMPUTE_SHADER_BIT = 0x00000020;
+ public static final int GL_COMMAND_BARRIER_BIT = 0x00000040;
+ public static final int GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080;
+ public static final int GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100;
+ public static final int GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200;
+ public static final int GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400;
+ public static final int GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800;
+ public static final int GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000;
+ public static final int GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000;
+ public static final int GL_ALL_SHADER_BITS = -1; // 0xFFFFFFFF
+
+ public static final int GL_TEXTURE_WIDTH = 0x1000;
+ public static final int GL_TEXTURE_HEIGHT = 0x1001;
+ public static final int GL_TEXTURE_INTERNAL_FORMAT = 0x1003;
+ public static final int GL_STENCIL_INDEX = 0x1901;
+ public static final int GL_TEXTURE_RED_SIZE = 0x805C;
+ public static final int GL_TEXTURE_GREEN_SIZE = 0x805D;
+ public static final int GL_TEXTURE_BLUE_SIZE = 0x805E;
+ public static final int GL_TEXTURE_ALPHA_SIZE = 0x805F;
+ public static final int GL_TEXTURE_DEPTH = 0x8071;
+ public static final int GL_PROGRAM_SEPARABLE = 0x8258;
+ public static final int GL_ACTIVE_PROGRAM = 0x8259;
+ public static final int GL_PROGRAM_PIPELINE_BINDING = 0x825A;
+ public static final int GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262;
+ public static final int GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263;
+ public static final int GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264;
+ public static final int GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265;
+ public static final int GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266;
+ public static final int GL_COMPUTE_WORK_GROUP_SIZE = 0x8267;
+ public static final int GL_MAX_UNIFORM_LOCATIONS = 0x826E;
+ public static final int GL_VERTEX_ATTRIB_BINDING = 0x82D4;
+ public static final int GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5;
+ public static final int GL_VERTEX_BINDING_DIVISOR = 0x82D6;
+ public static final int GL_VERTEX_BINDING_OFFSET = 0x82D7;
+ public static final int GL_VERTEX_BINDING_STRIDE = 0x82D8;
+ public static final int GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9;
+ public static final int GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA;
+ public static final int GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5;
+ public static final int GL_TEXTURE_COMPRESSED = 0x86A1;
+ public static final int GL_TEXTURE_DEPTH_SIZE = 0x884A;
+ public static final int GL_READ_ONLY = 0x88B8;
+ public static final int GL_WRITE_ONLY = 0x88B9;
+ public static final int GL_READ_WRITE = 0x88BA;
+ public static final int GL_TEXTURE_STENCIL_SIZE = 0x88F1;
+ public static final int GL_TEXTURE_RED_TYPE = 0x8C10;
+ public static final int GL_TEXTURE_GREEN_TYPE = 0x8C11;
+ public static final int GL_TEXTURE_BLUE_TYPE = 0x8C12;
+ public static final int GL_TEXTURE_ALPHA_TYPE = 0x8C13;
+ public static final int GL_TEXTURE_DEPTH_TYPE = 0x8C16;
+ public static final int GL_TEXTURE_SHARED_SIZE = 0x8C3F;
+ public static final int GL_SAMPLE_POSITION = 0x8E50;
+ public static final int GL_SAMPLE_MASK = 0x8E51;
+ public static final int GL_SAMPLE_MASK_VALUE = 0x8E52;
+ public static final int GL_MAX_SAMPLE_MASK_WORDS = 0x8E59;
+ public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E;
+ public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F;
+ public static final int GL_MAX_IMAGE_UNITS = 0x8F38;
+ public static final int GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39;
+ public static final int GL_IMAGE_BINDING_NAME = 0x8F3A;
+ public static final int GL_IMAGE_BINDING_LEVEL = 0x8F3B;
+ public static final int GL_IMAGE_BINDING_LAYERED = 0x8F3C;
+ public static final int GL_IMAGE_BINDING_LAYER = 0x8F3D;
+ public static final int GL_IMAGE_BINDING_ACCESS = 0x8F3E;
+ public static final int GL_DRAW_INDIRECT_BUFFER = 0x8F3F;
+ public static final int GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43;
+ public static final int GL_VERTEX_BINDING_BUFFER = 0x8F4F;
+ public static final int GL_IMAGE_2D = 0x904D;
+ public static final int GL_IMAGE_3D = 0x904E;
+ public static final int GL_IMAGE_CUBE = 0x9050;
+ public static final int GL_IMAGE_2D_ARRAY = 0x9053;
+ public static final int GL_INT_IMAGE_2D = 0x9058;
+ public static final int GL_INT_IMAGE_3D = 0x9059;
+ public static final int GL_INT_IMAGE_CUBE = 0x905B;
+ public static final int GL_INT_IMAGE_2D_ARRAY = 0x905E;
+ public static final int GL_UNSIGNED_INT_IMAGE_2D = 0x9063;
+ public static final int GL_UNSIGNED_INT_IMAGE_3D = 0x9064;
+ public static final int GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066;
+ public static final int GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069;
+ public static final int GL_IMAGE_BINDING_FORMAT = 0x906E;
+ public static final int GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7;
+ public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8;
+ public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9;
+ public static final int GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA;
+ public static final int GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE;
+ public static final int GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF;
+ public static final int GL_SHADER_STORAGE_BUFFER = 0x90D2;
+ public static final int GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3;
+ public static final int GL_SHADER_STORAGE_BUFFER_START = 0x90D4;
+ public static final int GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5;
+ public static final int GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6;
+ public static final int GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA;
+ public static final int GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB;
+ public static final int GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC;
+ public static final int GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD;
+ public static final int GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE;
+ public static final int GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF;
+ public static final int GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA;
+ public static final int GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB;
+ public static final int GL_DISPATCH_INDIRECT_BUFFER = 0x90EE;
+ public static final int GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF;
+ public static final int GL_TEXTURE_2D_MULTISAMPLE = 0x9100;
+ public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104;
+ public static final int GL_TEXTURE_SAMPLES = 0x9106;
+ public static final int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107;
+ public static final int GL_SAMPLER_2D_MULTISAMPLE = 0x9108;
+ public static final int GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109;
+ public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A;
+ public static final int GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
+ public static final int GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
+ public static final int GL_MAX_INTEGER_SAMPLES = 0x9110;
+ public static final int GL_COMPUTE_SHADER = 0x91B9;
+ public static final int GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB;
+ public static final int GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC;
+ public static final int GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD;
+ public static final int GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE;
+ public static final int GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF;
+ public static final int GL_ATOMIC_COUNTER_BUFFER = 0x92C0;
+ public static final int GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1;
+ public static final int GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2;
+ public static final int GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3;
+ public static final int GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC;
+ public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0;
+ public static final int GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1;
+ public static final int GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2;
+ public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6;
+ public static final int GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7;
+ public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8;
+ public static final int GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9;
+ public static final int GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB;
+ public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC;
+ public static final int GL_UNIFORM = 0x92E1;
+ public static final int GL_UNIFORM_BLOCK = 0x92E2;
+ public static final int GL_PROGRAM_INPUT = 0x92E3;
+ public static final int GL_PROGRAM_OUTPUT = 0x92E4;
+ public static final int GL_BUFFER_VARIABLE = 0x92E5;
+ public static final int GL_SHADER_STORAGE_BLOCK = 0x92E6;
+ public static final int GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4;
+ public static final int GL_ACTIVE_RESOURCES = 0x92F5;
+ public static final int GL_MAX_NAME_LENGTH = 0x92F6;
+ public static final int GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7;
+ public static final int GL_NAME_LENGTH = 0x92F9;
+ public static final int GL_TYPE = 0x92FA;
+ public static final int GL_ARRAY_SIZE = 0x92FB;
+ public static final int GL_OFFSET = 0x92FC;
+ public static final int GL_BLOCK_INDEX = 0x92FD;
+ public static final int GL_ARRAY_STRIDE = 0x92FE;
+ public static final int GL_MATRIX_STRIDE = 0x92FF;
+ public static final int GL_IS_ROW_MAJOR = 0x9300;
+ public static final int GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301;
+ public static final int GL_BUFFER_BINDING = 0x9302;
+ public static final int GL_BUFFER_DATA_SIZE = 0x9303;
+ public static final int GL_NUM_ACTIVE_VARIABLES = 0x9304;
+ public static final int GL_ACTIVE_VARIABLES = 0x9305;
+ public static final int GL_REFERENCED_BY_VERTEX_SHADER = 0x9306;
+ public static final int GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A;
+ public static final int GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B;
+ public static final int GL_TOP_LEVEL_ARRAY_SIZE = 0x930C;
+ public static final int GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D;
+ public static final int GL_LOCATION = 0x930E;
+ public static final int GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310;
+ public static final int GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311;
+ public static final int GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313;
+ public static final int GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314;
+ public static final int GL_MAX_FRAMEBUFFER_WIDTH = 0x9315;
+ public static final int GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316;
+ public static final int GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318;
+
+ native private static void _nativeClassInit();
+ static {
+ _nativeClassInit();
+ }
+
+ private GLES31() {}
diff --git a/opengl/tools/glgen/stubs/gles11/GLES31cHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES31cHeader.cpp
new file mode 100644
index 0000000..c48ec7c
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/GLES31cHeader.cpp
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This source file is automatically generated
+
+#include <stdint.h>
+#include <GLES3/gl31.h>
diff --git a/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.cpp b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.cpp
new file mode 100644
index 0000000..b3b70cc
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.cpp
@@ -0,0 +1,15 @@
+/* void glBindVertexBuffer ( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) */
+static void
+android_glBindVertexBuffer__IIJI
+ (JNIEnv *_env, jobject _this, jint bindingindex, jint buffer, jlong offset, jint stride) {
+ if (sizeof(GLintptr) != sizeof(jlong) && (offset < LONG_MIN || offset > LONG_MAX)) {
+ jniThrowException(_env, "java/lang/IllegalArgumentException", "offset too large");
+ return;
+ }
+ glBindVertexBuffer(
+ (GLuint)bindingindex,
+ (GLuint)buffer,
+ (GLintptr)offset,
+ (GLsizei)stride
+ );
+}
diff --git a/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.java b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.java
new file mode 100644
index 0000000..bab2e89
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.java
@@ -0,0 +1,9 @@
+ // C function void glBindVertexBuffer ( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride )
+
+ public static native void glBindVertexBuffer(
+ int bindingindex,
+ int buffer,
+ long offset,
+ int stride
+ );
+
diff --git a/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.nativeReg b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.nativeReg
new file mode 100644
index 0000000..f3d5979
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.nativeReg
@@ -0,0 +1 @@
+{"glBindVertexBuffer", "(IIJI)V", (void *) android_glBindVertexBuffer__IIJI },
diff --git a/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.cpp b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.cpp
new file mode 100644
index 0000000..e701481
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.cpp
@@ -0,0 +1,8 @@
+/* GLuint glCreateShaderProgramv ( GLenum type, GLsizei count, const GLchar *const *strings ) */
+static jint
+android_glCreateShaderProgramv
+ (JNIEnv *_env, jobject _this, jint type, jobjectArray strings) {
+
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return 0;
+}
diff --git a/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.java b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.java
new file mode 100644
index 0000000..5f7b41b
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.java
@@ -0,0 +1,7 @@
+ // C function GLuint glCreateShaderProgramv ( GLenum type, GLsizei count, const GLchar *const *strings )
+
+ public static native int glCreateShaderProgramv(
+ int type,
+ String[] strings
+ );
+
diff --git a/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.nativeReg b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.nativeReg
new file mode 100644
index 0000000..2079d83
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.nativeReg
@@ -0,0 +1 @@
+{"glCreateShaderProgramv", "(I[Ljava/lang/String;)I", (void *) android_glCreateShaderProgramv },
diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp
new file mode 100644
index 0000000..8601242
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp
@@ -0,0 +1,5 @@
+/* void glDebugMessageCallbackKHR ( GLDEBUGPROCKHR callback, const void *userParam ) */
+static void
+android_glDebugMessageCallbackKHR(JNIEnv *_env, jobject _this, jobject callback) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+}
diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.java b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.java
new file mode 100644
index 0000000..3e8cf22
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.java
@@ -0,0 +1,8 @@
+ // C function void glDebugMessageCallbackKHR ( GLDEBUGPROCKHR callback, const void *userParam )
+
+ public interface DebugProcKHR {
+ void onMessage(int source, int type, int id, int severity, String message);
+ }
+
+ public static native void glDebugMessageCallbackKHR(DebugProcKHR callback);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.nativeReg
new file mode 100644
index 0000000..8e94658
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.nativeReg
@@ -0,0 +1 @@
+{"glDebugMessageCallbackKHR", "(Landroid/opengl/GLES31Ext$DebugProcKHR;)V", (void *) android_glDebugMessageCallbackKHR },
diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.cpp b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.cpp
new file mode 100644
index 0000000..9633c93
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.cpp
@@ -0,0 +1,38 @@
+/* void glDebugMessageInsertKHR ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) */
+static void
+android_glDebugMessageInsertKHR__IIIILjava_lang_String_2
+ (JNIEnv *_env, jobject _this, jint source, jint type, jint id, jint severity, jstring buf) {
+ jint _exception = 0;
+ const char * _exceptionType = NULL;
+ const char * _exceptionMessage = NULL;
+ const char* _nativebuf = 0;
+ jint _length = 0;
+
+ if (!buf) {
+ _exception = 1;
+ _exceptionType = "java/lang/IllegalArgumentException";
+ _exceptionMessage = "buf == null";
+ goto exit;
+ }
+ _nativebuf = _env->GetStringUTFChars(buf, 0);
+ _length = _env->GetStringUTFLength(buf);
+
+ glDebugMessageInsertKHR(
+ (GLenum)source,
+ (GLenum)type,
+ (GLuint)id,
+ (GLenum)severity,
+ (GLsizei)_length,
+ (GLchar *)_nativebuf
+ );
+
+exit:
+ if (_nativebuf) {
+ _env->ReleaseStringUTFChars(buf, _nativebuf);
+ }
+
+ if (_exception) {
+ jniThrowException(_env, _exceptionType, _exceptionMessage);
+ }
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.java b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.java
new file mode 100644
index 0000000..eb471c6
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.java
@@ -0,0 +1,10 @@
+ // C function void glDebugMessageInsertKHR ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf )
+
+ public static native void glDebugMessageInsertKHR(
+ int source,
+ int type,
+ int id,
+ int severity,
+ String buf
+ );
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.nativeReg
new file mode 100644
index 0000000..7e6e975
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.nativeReg
@@ -0,0 +1 @@
+{"glDebugMessageInsertKHR", "(IIIILjava/lang/String;)V", (void *) android_glDebugMessageInsertKHR__IIIILjava_lang_String_2 },
diff --git a/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.cpp b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.cpp
new file mode 100644
index 0000000..3f89a8b
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.cpp
@@ -0,0 +1,13 @@
+/* void glDispatchComputeIndirect ( GLintptr indirect ) */
+static void android_glDispatchComputeIndirect(JNIEnv *_env, jobject, jlong indirect) {
+ // 'indirect' is a byte offset, not a pointer. GL checks for negative and too-large values.
+ // Here we only need to check for successful 64-bit to 32-bit conversion.
+ // - jlong is a int64_t (jni.h)
+ // - GLintptr is a long (khrplatform.h)
+ if (sizeof(GLintptr) != sizeof(jlong) && (indirect < LONG_MIN || indirect > LONG_MAX)) {
+ jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large");
+ return;
+ }
+ glDispatchComputeIndirect((GLintptr)indirect);
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.java b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.java
new file mode 100644
index 0000000..92862f3
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.java
@@ -0,0 +1,4 @@
+ // C function void glDispatchComputeIndirect ( GLintptr indirect );
+
+ public static native void glDispatchComputeIndirect(long indirect);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.nativeReg b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.nativeReg
new file mode 100644
index 0000000..9ed264a
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.nativeReg
@@ -0,0 +1 @@
+{"glDispatchComputeIndirect", "(J)V", (void *) android_glDispatchComputeIndirect },
diff --git a/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.cpp b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.cpp
new file mode 100644
index 0000000..ce3bc8f
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.cpp
@@ -0,0 +1,12 @@
+/* void glDrawArraysIndirect ( GLenum mode, const void *indirect ) */
+static void android_glDrawArraysIndirect(JNIEnv *_env, jobject, int mode, jlong indirect) {
+ // In OpenGL ES, 'indirect' is a byte offset into a buffer, not a raw pointer.
+ // GL checks for too-large values. Here we only need to check for successful signed 64-bit
+ // to unsigned 32-bit conversion.
+ if (sizeof(void*) != sizeof(jlong) && indirect > UINTPTR_MAX) {
+ jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large");
+ return;
+ }
+ glDrawArraysIndirect(mode, (const void*)indirect);
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.java b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.java
new file mode 100644
index 0000000..a8f0a80
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.java
@@ -0,0 +1,4 @@
+ // C function void glDrawArraysIndirect ( GLenum mode, const void *indirect );
+
+ public static native void glDrawArraysIndirect(int mode, long indirect);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.nativeReg b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.nativeReg
new file mode 100644
index 0000000..7e6b0e6
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.nativeReg
@@ -0,0 +1 @@
+{"glDrawArraysIndirect", "(IJ)V", (void *) android_glDrawArraysIndirect },
diff --git a/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp
new file mode 100644
index 0000000..1833ee9
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp
@@ -0,0 +1,12 @@
+/* void glDrawElementsIndirect ( GLenum mode, GLenum type, const void *indirect ) */
+static void android_glDrawElementsIndirect(JNIEnv *_env, jobject, jint mode, jint type, jlong indirect) {
+ // In OpenGL ES, 'indirect' is a byte offset into a buffer, not a raw pointer.
+ // GL checks for too-large values. Here we only need to check for successful signed 64-bit
+ // to unsigned 32-bit conversion.
+ if (sizeof(void*) != sizeof(jlong) && indirect > UINTPTR_MAX) {
+ jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large");
+ return;
+ }
+ glDrawElementsIndirect(mode, type, (const void*)indirect);
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.java b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.java
new file mode 100644
index 0000000..4a8d84d
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.java
@@ -0,0 +1,4 @@
+ // C function glDrawElementsIndirect ( GLenum mode, GLenum type, const void *indirect );
+
+ public static native void glDrawElementsIndirect(int mode, int type, long indirect);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.nativeReg b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.nativeReg
new file mode 100644
index 0000000..0c11fd2
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.nativeReg
@@ -0,0 +1 @@
+{"glDrawElementsIndirect", "(IIJ)V", (void *) android_glDrawElementsIndirect },
diff --git a/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.cpp
new file mode 100644
index 0000000..98bcbdf
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.cpp
@@ -0,0 +1,31 @@
+/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
+static jint
+android_glGetDebugMessageLogKHR__II_3II_3II_3II_3II_3II_3BI
+ (JNIEnv *_env, jobject _this, jint count, jint bufSize, jintArray sources_ref, jint sourcesOffset, jintArray types_ref, jint typesOffset, jintArray ids_ref, jint idsOffset, jintArray severities_ref, jint severitiesOffset, jintArray lengths_ref, jint lengthsOffset, jbyteArray messageLog_ref, jint messageLogOffset) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return 0;
+}
+
+/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
+static uint
+android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2
+ (JNIEnv *_env, jobject _this, jint count, jobject sources_ref, jobject types_ref, jobject ids_ref, jobject severities_ref, jobject lengths_ref, jobject messageLog_ref) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return 0;
+}
+
+/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
+static jobjectArray
+android_glGetDebugMessageLogKHR__I_3II_3II_3II_3II
+ (JNIEnv *_env, jobject _this, jint count, jintArray sources_ref, jint sourcesOffset, jintArray types_ref, jint typesOffset, jintArray ids_ref, jint idsOffset, jintArray severities_ref, jint severitiesOffset) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return 0;
+}
+
+/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
+static jobjectArray
+android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2
+ (JNIEnv *_env, jobject _this, jint count, jobject sources_ref, jobject types_ref, jobject ids_ref, jobject severities_ref) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return 0;
+}
diff --git a/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.java b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.java
new file mode 100644
index 0000000..a3c4a42
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.java
@@ -0,0 +1,51 @@
+ // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog )
+
+ public static native int glGetDebugMessageLogKHR(
+ int count,
+ int bufSize,
+ int[] sources,
+ int sourcesOffset,
+ int[] types,
+ int typesOffset,
+ int[] ids,
+ int idsOffset,
+ int[] severities,
+ int severitiesOffset,
+ int[] lengths,
+ int lengthsOffset,
+ byte[] messageLog,
+ int messageLogOffset);
+
+ // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog )
+
+ public static native int glGetDebugMessageLogKHR(
+ int count,
+ java.nio.IntBuffer sources,
+ java.nio.IntBuffer types,
+ java.nio.IntBuffer ids,
+ java.nio.IntBuffer severities,
+ java.nio.IntBuffer lengths,
+ java.nio.ByteBuffer messageLog);
+
+ // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog )
+
+ public static native String[] glGetDebugMessageLogKHR(
+ int count,
+ int[] sources,
+ int sourcesOffset,
+ int[] types,
+ int typesOffset,
+ int[] ids,
+ int idsOffset,
+ int[] severities,
+ int severitiesOffset);
+
+ // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog )
+
+ public static native String[] glGetDebugMessageLogKHR(
+ int count,
+ java.nio.IntBuffer sources,
+ java.nio.IntBuffer types,
+ java.nio.IntBuffer ids,
+ java.nio.IntBuffer severities);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.nativeReg
new file mode 100644
index 0000000..9a311ad
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.nativeReg
@@ -0,0 +1,4 @@
+{"glGetDebugMessageLogKHR", "(II[II[II[II[II[II[BI)I", (void *) android_glGetDebugMessageLogKHR__II_3II_3II_3II_3II_3II_3BI },
+{"glGetDebugMessageLogKHR", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I", (void *) android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2 },
+{"glGetDebugMessageLogKHR", "(I[II[II[II[II)[Ljava/lang/String;", (void *) android_glGetDebugMessageLogKHR__I_3II_3II_3II_3II },
+{"glGetDebugMessageLogKHR", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;", (void *) android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 },
diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.cpp
new file mode 100644
index 0000000..49d237b
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.cpp
@@ -0,0 +1,7 @@
+/* void glGetObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) */
+static jstring
+android_glGetObjectLabelKHR(JNIEnv *_env, jobject _this, jint identifier, jint name) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return NULL;
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.java b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.java
new file mode 100644
index 0000000..d38c4f1
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.java
@@ -0,0 +1,4 @@
+ // C function void glGetObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label )
+
+ public static native String glGetObjectLabelKHR(int identifier, int name);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.nativeReg
new file mode 100644
index 0000000..8b7167e
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.nativeReg
@@ -0,0 +1 @@
+{"glGetObjectLabelKHR", "(II)Ljava/lang/String;", (void *) android_glGetObjectLabelKHR },
diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.cpp
new file mode 100644
index 0000000..e107867
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.cpp
@@ -0,0 +1,7 @@
+/* void glGetObjectPtrLabelKHR ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) */
+static jstring
+android_glGetObjectPtrLabelKHR(JNIEnv *_env, jobject _this, jlong ptr) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return NULL;
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.java b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.java
new file mode 100644
index 0000000..874e003
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.java
@@ -0,0 +1,4 @@
+ // C function void glGetObjectPtrLabelKHR ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label )
+
+ public static native String glGetObjectPtrLabelKHR(long ptr);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.nativeReg
new file mode 100644
index 0000000..e84f006
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.nativeReg
@@ -0,0 +1 @@
+{"glGetObjectPtrLabelKHR", "(J)Ljava/lang/String;", (void *) android_glGetObjectPtrLabelKHR },
diff --git a/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.cpp
new file mode 100644
index 0000000..0498507
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.cpp
@@ -0,0 +1,7 @@
+/* void glGetPointervKHR ( GLenum pname, void **params ) */
+static jobject
+android_glGetDebugMessageCallbackKHR(JNIEnv *_env, jobject _this) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return NULL;
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.java b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.java
new file mode 100644
index 0000000..cfb13a3
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.java
@@ -0,0 +1,4 @@
+ // C function void glGetPointervKHR ( GLenum pname, void **params )
+
+ public static native DebugProcKHR glGetDebugMessageCallbackKHR();
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.nativeReg
new file mode 100644
index 0000000..d835696
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.nativeReg
@@ -0,0 +1 @@
+{"glGetDebugMessageCallbackKHR", "()Landroid/opengl/GLES31Ext$DebugProcKHR;", (void *) android_glGetDebugMessageCallbackKHR },
diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp
new file mode 100644
index 0000000..5b556d5
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp
@@ -0,0 +1,19 @@
+#include <stdlib.h>
+
+/* void glGetProgramPipelineInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */
+static jstring android_glGetProgramPipelineInfoLog(JNIEnv *_env, jobject, jint shader) {
+ GLint infoLen = 0;
+ glGetProgramPipelineiv(shader, GL_INFO_LOG_LENGTH, &infoLen);
+ if (!infoLen) {
+ return _env->NewStringUTF("");
+ }
+ char* buf = (char*) malloc(infoLen);
+ if (buf == NULL) {
+ jniThrowException(_env, "java/lang/OutOfMemoryError", "out of memory");
+ return NULL;
+ }
+ glGetProgramPipelineInfoLog(shader, infoLen, NULL, buf);
+ jstring result = _env->NewStringUTF(buf);
+ free(buf);
+ return result;
+}
diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.java b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.java
new file mode 100644
index 0000000..f6b0f7b
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.java
@@ -0,0 +1,6 @@
+ // C function void glGetProgramPipelineInfoLog( GLuint program, GLsizei maxLength, GLsizei * length, GLchar * infoLog);
+
+ public static native String glGetProgramPipelineInfoLog(
+ int program
+ );
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.nativeReg
new file mode 100644
index 0000000..9a99e08
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.nativeReg
@@ -0,0 +1 @@
+{"glGetProgramPipelineInfoLog", "(I)Ljava/lang/String;", (void *) android_glGetProgramPipelineInfoLog },
diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.cpp b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.cpp
new file mode 100644
index 0000000..b07e59c
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.cpp
@@ -0,0 +1,8 @@
+/* void glGetProgramResourceName ( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name ) */
+static jstring
+android_glGetProgramResourceName
+ (JNIEnv *_env, jobject _this, jint program, jint programInterface, jint index) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+ return NULL;
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.java b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.java
new file mode 100644
index 0000000..43d6806
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.java
@@ -0,0 +1,8 @@
+ // C function void glGetProgramResourceName ( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name )
+
+ public static native String glGetProgramResourceName(
+ int program,
+ int programInterface,
+ int index
+ );
+
diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.nativeReg
new file mode 100644
index 0000000..f0b5fe1
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.nativeReg
@@ -0,0 +1 @@
+{"glGetProgramResourceName", "(III)Ljava/lang/String;", (void *) android_glGetProgramResourceName },
diff --git a/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.cpp b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.cpp
new file mode 100644
index 0000000..2bd851a
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.cpp
@@ -0,0 +1,6 @@
+/* void glObjectPtrLabelKHR ( const void *ptr, GLsizei length, const GLchar *label ) */
+static void
+android_glObjectPtrLabelKHR(JNIEnv *_env, jobject _this, jlong ptr, jstring label) {
+ jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
+}
+
diff --git a/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.java b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.java
new file mode 100644
index 0000000..1198898
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.java
@@ -0,0 +1,4 @@
+ // C function void glObjectPtrLabelKHR ( const void *ptr, GLsizei length, const GLchar *label )
+
+ public static native void glObjectPtrLabelKHR(long ptr, String label);
+
diff --git a/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.nativeReg
new file mode 100644
index 0000000..7b7add1
--- /dev/null
+++ b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.nativeReg
@@ -0,0 +1 @@
+{"glObjectPtrLabelKHR", "(JLjava/lang/String;)V", (void *) android_glObjectPtrLabelKHR },
diff --git a/opengl/tools/glgen2/glgen.py b/opengl/tools/glgen2/glgen.py
index f4d54b3..ed6b451 100755
--- a/opengl/tools/glgen2/glgen.py
+++ b/opengl/tools/glgen2/glgen.py
@@ -30,6 +30,29 @@ if sys.path[1] != regpath:
import reg
+AEP_EXTENSIONS = [
+ 'GL_KHR_blend_equation_advanced',
+ 'GL_KHR_debug',
+ 'GL_KHR_texture_compression_astc_ldr',
+ 'GL_OES_sample_shading',
+ 'GL_OES_sample_variables',
+ 'GL_OES_shader_image_atomic',
+ 'GL_OES_shader_multisample_interpolation',
+ 'GL_OES_texture_stencil8',
+ 'GL_OES_texture_storage_multisample_2d_array',
+ 'GL_EXT_copy_image',
+ 'GL_EXT_draw_buffers_indexed',
+ 'GL_EXT_geometry_shader',
+ 'GL_EXT_gpu_shader5',
+ 'GL_EXT_primitive_bounding_box',
+ 'GL_EXT_shader_io_blocks',
+ 'GL_EXT_tessellation_shader',
+ 'GL_EXT_texture_border_clamp',
+ 'GL_EXT_texture_buffer',
+ 'GL_EXT_texture_cube_map_array',
+ 'GL_EXT_texture_sRGB_decode']
+
+
def nonestr(s):
return s if s else ""
@@ -188,6 +211,20 @@ class ApiGenerator(reg.OutputGenerator):
print('GL_ENUM(%s,%s)' % (enum[0], enum[1]), file=outfile)
+# Generate .spec entries for use by legacy 'gen' script
+class SpecGenerator(reg.OutputGenerator):
+ def __init__(self):
+ reg.OutputGenerator.__init__(self, sys.stderr, sys.stderr, None)
+
+ def genCmd(self, cmd, name):
+ reg.OutputGenerator.genCmd(self, cmd, name)
+ rtype, fname = parseTypedName(cmd.elem.find('proto'))
+ params = [parseTypedName(p) for p in cmd.elem.findall('param')]
+
+ print('%s %s ( %s )' % (rtype, fname, fmtParams(params)),
+ file=self.outFile)
+
+
if __name__ == '__main__':
registry = reg.Registry()
registry.loadFile('registry/gl.xml')
@@ -248,3 +285,30 @@ if __name__ == '__main__':
apigen.writeTrace(f)
with open('../../libs/enums.in', 'w') as f:
apigen.writeEnums(f)
+
+ registry.setGenerator(SpecGenerator())
+ SPEC_OPTIONS = [
+ reg.GeneratorOptions(
+ apiname = 'gles2',
+ profile = 'common',
+ versions = '3\.1',
+ filename = '../glgen/specs/gles11/GLES31.spec'),
+ reg.GeneratorOptions(
+ apiname = 'gles2',
+ profile = 'common',
+ emitversions = None,
+ defaultExtensions = None,
+ addExtensions = '^({})$'.format('|'.join(AEP_EXTENSIONS)),
+ filename = '../glgen/specs/gles11/GLES31Ext.spec')]
+ # SpecGenerator creates a good starting point, but the CFunc.java parser is
+ # so terrible that the .spec file needs a lot of manual massaging before
+ # it works. Commenting this out to avoid accidentally overwriting all the
+ # manual modifications.
+ #
+ # Eventually this script should generate the Java and JNI code directly,
+ # skipping the intermediate .spec step, and obsoleting the existing
+ # ../glgen system.
+ #
+ # for opts in SPEC_OPTIONS:
+ # registry.apiGen(opts)
+