Add GLES32 class templates
- Added a script that takes the #defines in gl2/3.h and formats them
for use in the Java template.
- Generated GLES32.spec using glgen2.
- Added full support for void* in glgen. It wasn't previously
necessary since the apis were using GLvoid instead.
- Created the GLES32 header stubs. Added stubs for GLES32 functions
that couldn't be handled by the code generator. Added checks in the
checks.spec file where appropriate.
- Generated the GLES32 class and JNI.
Change-Id: Ifc8512ed56af75bbc3e7ec2ea1377895201d5325
diff --git a/opengl/tools/glgen/src/CFunc.java b/opengl/tools/glgen/src/CFunc.java
index a192c00..99c62b5 100644
--- a/opengl/tools/glgen/src/CFunc.java
+++ b/opengl/tools/glgen/src/CFunc.java
@@ -141,7 +141,10 @@
String tok = tokens[i++];
if (tok.equals("(")) {
- continue;
+ tok = tokens[i++];
+ if (tok.equals("void")) {
+ break;
+ }
}
if (tok.equals(")")) {
break;
@@ -158,10 +161,6 @@
}
argType.setBaseType(argTypeName);
- if (argTypeName.equals("void")) {
- break;
- }
-
argName = tokens[i++];
if (argName.startsWith("*")) {
argType.setIsPointer(true);
diff --git a/opengl/tools/glgen/src/GenerateGLES.java b/opengl/tools/glgen/src/GenerateGLES.java
index 5693ef3..cbca682 100644
--- a/opengl/tools/glgen/src/GenerateGLES.java
+++ b/opengl/tools/glgen/src/GenerateGLES.java
@@ -85,7 +85,7 @@
// Generate files
for(String suffix: new String[] {"GLES10", "GLES10Ext",
"GLES11", "GLES11Ext", "GLES20",
- "GLES30", "GLES31", "GLES31Ext"})
+ "GLES30", "GLES31", "GLES31Ext", "GLES32"})
{
BufferedReader spec11Reader =
new BufferedReader(new FileReader("specs/gles11/"
diff --git a/opengl/tools/glgen/src/JType.java b/opengl/tools/glgen/src/JType.java
index 5803a44..7f08503 100644
--- a/opengl/tools/glgen/src/JType.java
+++ b/opengl/tools/glgen/src/JType.java
@@ -44,7 +44,7 @@
typeMapping.put(new CType("GLuint"), new JType("int"));
typeMapping.put(new CType("void"), new JType("void"));
typeMapping.put(new CType("GLubyte", true, true), new JType("String", false, false));
- typeMapping.put(new CType("char", false, true), new JType("byte"));
+ typeMapping.put(new CType("char"), new JType("byte"));
typeMapping.put(new CType("char", true, true), new JType("String", false, false));
typeMapping.put(new CType("GLchar", true, true), new JType("String", false, false));
typeMapping.put(new CType("int"), new JType("int"));
@@ -75,6 +75,8 @@
new JType("java.nio.Buffer", true, false));
typeMapping.put(new CType("void", false, true),
new JType("java.nio.Buffer", true, false));
+ typeMapping.put(new CType("void", true, true),
+ new JType("java.nio.Buffer", true, false));
typeMapping.put(new CType("GLeglImageOES", false, false),
new JType("java.nio.Buffer", true, false));
@@ -111,6 +113,8 @@
// Typed pointers map to arrays + offsets
arrayTypeMapping.put(new CType("char", false, true),
new JType("byte", false, true));
+ arrayTypeMapping.put(new CType("GLchar", false, true),
+ new JType("byte", false, true));
arrayTypeMapping.put(new CType("GLboolean", false, true),
new JType("boolean", false, true));
arrayTypeMapping.put(new CType("GLenum", false, true), new JType("int", false, true));