Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb191636 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 233 into donut

* changes:
  Add an Android-specific static OpenGL ES 1.1 Java API.
parents 658c6a13 427f585f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
generated
out
+63 −77
Original line number Diff line number Diff line
#!/bin/bash
set -u
set -e
rm -rf out generated

mkdir out
mkdir -p out/javax/microedition/khronos/opengles
mkdir -p out/com/google/android/gles_jni
mkdir -p out/android/graphics
mkdir -p out/android/opengl

echo "package android.graphics;" > out/android/graphics/Canvas.java
echo "public interface Canvas {}" >> out/android/graphics/Canvas.java

GLFILE=out/javax/microedition/khronos/opengles/GL.java
cp stubs/GLHeader.java-if $GLFILE
cp stubs/jsr239/GLHeader.java-if $GLFILE

GLGEN_FILES="CFunc.java CType.java CodeEmitter.java GenerateGL.java JFunc.java JniCodeEmitter.java JType.java Jsr239CodeEmitter.java ParameterChecker.java"
GLGEN_FILES="CFunc.java CType.java CodeEmitter.java GenerateGL.java GenerateGLES.java GLESCodeEmitter.java JFunc.java JniCodeEmitter.java JType.java Jsr239CodeEmitter.java ParameterChecker.java"

pushd src > /dev/null
javac ${GLGEN_FILES}
@@ -23,13 +25,34 @@ if [ $JAVAC_RESULT -ne 0 ]; then
    exit $JAVAC_RESULT
fi
popd > /dev/null
java -classpath src GenerateGL -c glspec-1.0 glspec-1.0ext glspec-1.1 glspec-1.1ext glspec-1.1extpack glspec-checks

echo "Generating JSR239-like APIs"
java -classpath src GenerateGL -c specs/jsr239/glspec-1.0 specs/jsr239/glspec-1.0ext specs/jsr239/glspec-1.1 specs/jsr239/glspec-1.1ext specs/jsr239/glspec-1.1extpack specs/jsr239/glspec-checks
JAVA_RESULT=$?
if [ $JAVA_RESULT -ne 0 ]; then
    echo "Could not run GenerateGL."
    exit $JAVA_RESULT
fi

echo "Generating static OpenGLES 1.1 bindings"
java -classpath src GenerateGLES
JAVA_RESULT=$?
if [ $JAVA_RESULT -ne 0 ]; then
    echo "Could not run GenerateGLES."
    exit $JAVA_RESULT
fi

rm src/*.class

pushd out > /dev/null
mkdir classes
javac -d classes com/google/android/gles_jni/GLImpl.java javax/microedition/khronos/opengles/GL10.java javax/microedition/khronos/opengles/GL10Ext.java javax/microedition/khronos/opengles/GL11.java javax/microedition/khronos/opengles/GL11Ext.java javax/microedition/khronos/opengles/GL11ExtensionPack.java
javac -d classes com/google/android/gles_jni/GLImpl.java javax/microedition/khronos/opengles/GL10.java javax/microedition/khronos/opengles/GL10Ext.java javax/microedition/khronos/opengles/GL11.java javax/microedition/khronos/opengles/GL11Ext.java javax/microedition/khronos/opengles/GL11ExtensionPack.java android/opengl/GLES10.java android/opengl/GLES10Ext.java android/opengl/GLES11.java android/opengl/GLES11Ext.java
popd > /dev/null
JAVA_RESULT=$?
if [ $JAVA_RESULT -ne 0 ]; then
    echo "Could not compile generated classes."
    exit $JAVA_RESULT
fi

rm -rf generated
mkdir -p generated/C
@@ -37,80 +60,43 @@ cp out/com_google_android_gles_jni_GLImpl.cpp generated/C
cp -r out/com generated
cp -r out/javax generated

cp out/android_opengl_*.cpp generated/C
mkdir -p generated/android/opengl
cp -r out/android/opengl generated/android

rm -rf out
KEEP_GENERATED=0
SAID_PLEASE=0

# com_google_android_gles_jni_GLImpl.cpp
if cmp ../../../../../frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp generated/C/com_google_android_gles_jni_GLImpl.cpp ; then
echo com_google_android_gles_jni_GLImpl.cpp unchanged
# compareGenerated destDir generatedDir file
compareGenerated() {
    if cmp -s $1/$3 $2/$3 ; then
        echo "#    " $3 unchanged
    else
echo Please p4 edit ../../../../../frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
echo Please cp generated/C/com_google_android_gles_jni_GLImpl.cpp ../../../../../frameworks/base/core/jni
KEEP_GENERATED=1
        if [ $SAID_PLEASE == "0" ] ; then
            echo Please evaluate the following commands:
            echo
            SAID_PLEASE=1
        fi

# GLImpl.java
if cmp ../../java/com/google/android/gles_jni/GLImpl.java generated/com/google/android/gles_jni/GLImpl.java ; then
echo GLImpl.java unchanged
else
echo Please edit ../../java/com/google/android/gles_jni/GLImpl.java
echo Please cp generated/com/google/android/gles_jni/GLImpl.java ../../java/com/google/android/gles_jni
        echo "    " cp $2/$3 $1
        echo "    " git add $1/$3
        KEEP_GENERATED=1
    fi
}

# GL.java
if cmp ../../java/javax/microedition/khronos/opengles/GL.java generated/javax/microedition/khronos/opengles/GL.java ; then
echo GL.java unchanged
else
echo Please edit ../../java/javax/microedition/khronos/opengles/GL.java
echo Please cp generated/javax/microedition/khronos/opengles/GL.java ../../java/javax/microedition/khronos/opengles/GL.java
KEEP_GENERATED=1
fi
compareGenerated ../../../core/jni generated/C com_google_android_gles_jni_GLImpl.cpp
compareGenerated ../../java/com/google/android/gles_jni generated/com/google/android/gles_jni GLImpl.java

# GL10.java
if cmp ../../java/javax/microedition/khronos/opengles/GL10.java generated/javax/microedition/khronos/opengles/GL10.java ; then
echo GL10.java unchanged
else
echo Please edit ../../java/javax/microedition/khronos/opengles/GL10.java
echo Please cp generated/javax/microedition/khronos/opengles/GL10.java ../../java/javax/microedition/khronos/opengles/GL10.java
KEEP_GENERATED=1
fi
for x in GL.java GL10.java GL10Ext.java GL11.java GL11Ext.java GL11ExtensionPack.java
do
    compareGenerated ../../java/javax/microedition/khronos/opengles generated/javax/microedition/khronos/opengles $x
done

# GL10Ext.java
if cmp ../../java/javax/microedition/khronos/opengles/GL10Ext.java generated/javax/microedition/khronos/opengles/GL10Ext.java ; then
echo GL10Ext.java unchanged
else
echo Please edit ../../java/javax/microedition/khronos/opengles/GL10Ext.java
echo Please cp generated/javax/microedition/khronos/opengles/GL10Ext.java ../../java/javax/microedition/khronos/opengles/GL10Ext.java
KEEP_GENERATED=1
fi

# GL11.java
if cmp ../../java/javax/microedition/khronos/opengles/GL11.java generated/javax/microedition/khronos/opengles/GL11.java ; then
echo GL11.java unchanged
else
echo Please edit ../../java/javax/microedition/khronos/opengles/GL11.java
echo Please cp generated/javax/microedition/khronos/opengles/GL11.java ../../java/javax/microedition/khronos/opengles/GL11.java
KEEP_GENERATED=1
fi

# GL11Ext.java
if cmp ../../java/javax/microedition/khronos/opengles/GL11Ext.java generated/javax/microedition/khronos/opengles/GL11Ext.java ; then
echo GL11Ext.java unchanged
else
echo Please edit ../../java/javax/microedition/khronos/opengles/GL11Ext.java
echo Please cp generated/javax/microedition/khronos/opengles/GL11Ext.java ../../java/javax/microedition/khronos/opengles/GL11Ext.java
KEEP_GENERATED=1
fi

# GL11ExtensionPack.java
if cmp ../../java/javax/microedition/khronos/opengles/GL11ExtensionPack.java generated/javax/microedition/khronos/opengles/GL11ExtensionPack.java ; then
echo GL11ExtensionPack.java unchanged
else
echo Please edit ../../java/javax/microedition/khronos/opengles/GL11ExtensionPack.java
echo Please cp generated/javax/microedition/khronos/opengles/GL11ExtensionPack.java ../../java/javax/microedition/khronos/opengles/GL11ExtensionPack.java
KEEP_GENERATED=1
fi
for x in GLES10 GLES10Ext GLES11 GLES11Ext
do
    compareGenerated ../../java/android/opengl generated/android/opengl ${x}.java
    compareGenerated ../../../core/jni generated/C android_opengl_${x}.cpp
done

if [ $KEEP_GENERATED == "0" ] ; then
    rm -rf generated
+106 −0
Original line number Diff line number Diff line
void glActiveTexture ( GLenum texture )
void glAlphaFunc ( GLenum func, GLclampf ref )
void glAlphaFuncx ( GLenum func, GLclampx ref )
void glBindTexture ( GLenum target, GLuint texture )
void glBlendFunc ( GLenum sfactor, GLenum dfactor )
void glClear ( GLbitfield mask )
void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha )
void glClearDepthf ( GLclampf depth )
void glClearDepthx ( GLclampx depth )
void glClearStencil ( GLint s )
void glClientActiveTexture ( GLenum texture )
void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha )
void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha )
void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data )
void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data )
void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border )
void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height )
void glCullFace ( GLenum mode )
void glDeleteTextures ( GLsizei n, const GLuint *textures )
void glDepthFunc ( GLenum func )
void glDepthMask ( GLboolean flag )
void glDepthRangef ( GLclampf zNear, GLclampf zFar )
void glDepthRangex ( GLclampx zNear, GLclampx zFar )
void glDisable ( GLenum cap )
void glDisableClientState ( GLenum array )
void glDrawArrays ( GLenum mode, GLint first, GLsizei count )
void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices )
void glEnable ( GLenum cap )
void glEnableClientState ( GLenum array )
void glFinish ( void )
void glFlush ( void )
void glFogf ( GLenum pname, GLfloat param )
void glFogfv ( GLenum pname, const GLfloat *params )
void glFogx ( GLenum pname, GLfixed param )
void glFogxv ( GLenum pname, const GLfixed *params )
void glFrontFace ( GLenum mode )
void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar )
void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar )
void glGenTextures ( GLsizei n, GLuint *textures )
GLenum glGetError ( void )
void glGetIntegerv ( GLenum pname, GLint *params )
const GLubyte * glGetString ( GLenum name )
void glHint ( GLenum target, GLenum mode )
void glLightModelf ( GLenum pname, GLfloat param )
void glLightModelfv ( GLenum pname, const GLfloat *params )
void glLightModelx ( GLenum pname, GLfixed param )
void glLightModelxv ( GLenum pname, const GLfixed *params )
void glLightf ( GLenum light, GLenum pname, GLfloat param )
void glLightfv ( GLenum light, GLenum pname, const GLfloat *params )
void glLightx ( GLenum light, GLenum pname, GLfixed param )
void glLightxv ( GLenum light, GLenum pname, const GLfixed *params )
void glLineWidth ( GLfloat width )
void glLineWidthx ( GLfixed width )
void glLoadIdentity ( void )
void glLoadMatrixf ( const GLfloat *m )
void glLoadMatrixx ( const GLfixed *m )
void glLogicOp ( GLenum opcode )
void glMaterialf ( GLenum face, GLenum pname, GLfloat param )
void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params )
void glMaterialx ( GLenum face, GLenum pname, GLfixed param )
void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params )
void glMatrixMode ( GLenum mode )
void glMultMatrixf ( const GLfloat *m )
void glMultMatrixx ( const GLfixed *m )
void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q )
void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q )
void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz )
void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz )
void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer )
void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar )
void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar )
void glPixelStorei ( GLenum pname, GLint param )
void glPointSize ( GLfloat size )
void glPointSizex ( GLfixed size )
void glPolygonOffset ( GLfloat factor, GLfloat units )
void glPolygonOffsetx ( GLfixed factor, GLfixed units )
void glPopMatrix ( void )
void glPushMatrix ( void )
void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels )
void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z )
void glSampleCoverage ( GLclampf value, GLboolean invert )
void glSampleCoveragex ( GLclampx value, GLboolean invert )
void glScalef ( GLfloat x, GLfloat y, GLfloat z )
void glScalex ( GLfixed x, GLfixed y, GLfixed z )
void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height )
void glShadeModel ( GLenum mode )
void glStencilFunc ( GLenum func, GLint ref, GLuint mask )
void glStencilMask ( GLuint mask )
void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass )
void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
void glTexEnvf ( GLenum target, GLenum pname, GLfloat param )
void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params )
void glTexEnvx ( GLenum target, GLenum pname, GLfixed param )
void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params )
void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
void glTexParameterf ( GLenum target, GLenum pname, GLfloat param )
void glTexParameterx ( GLenum target, GLenum pname, GLfixed param )
void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
void glTranslatef ( GLfloat x, GLfloat y, GLfloat z )
void glTranslatex ( GLfixed x, GLfixed y, GLfixed z )
void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height )
+1 −0
Original line number Diff line number Diff line
GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent )
+44 −0
Original line number Diff line number Diff line
void glBindBuffer ( GLenum target, GLuint buffer )
void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage )
void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data )
void glClipPlanef ( GLenum plane, const GLfloat *equation )
void glClipPlanex ( GLenum plane, const GLfixed *equation )
void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha )
void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset )
void glDeleteBuffers ( GLsizei n, const GLuint *buffers )
void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset )
void glGenBuffers ( GLsizei n, GLuint *buffers )
void glGetBooleanv ( GLenum pname, GLboolean *params )
void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params )
void glGetClipPlanef ( GLenum pname, GLfloat *eqn )
void glGetClipPlanex ( GLenum pname, GLfixed *eqn )
void glGetFixedv ( GLenum pname, GLfixed *params )
void glGetFloatv ( GLenum pname, GLfloat *params )
void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params )
void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params )
void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params )
void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params )
// void glGetPointerv ( GLenum pname, void **params )
void glGetTexEnvfv ( GLenum env, GLenum pname, GLfloat *params )
void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params )
void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params )
void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params )
void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params )
void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params )
GLboolean glIsBuffer ( GLuint buffer )
GLboolean glIsEnabled ( GLenum cap )
GLboolean glIsTexture ( GLuint texture )
void glNormalPointer ( GLenum type, GLsizei stride, GLint offset )
void glPointParameterf ( GLenum pname, GLfloat param )
void glPointParameterfv ( GLenum pname, const GLfloat *params )
void glPointParameterx ( GLenum pname, GLfixed param )
void glPointParameterxv ( GLenum pname, const GLfixed *params )
void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer )
void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset )
void glTexEnvi ( GLenum target, GLenum pname, GLint param )
void glTexEnviv ( GLenum target, GLenum pname, const GLint *params )
void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params )
void glTexParameteri ( GLenum target, GLenum pname, GLint param )
void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params )
void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params )
void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset )
Loading