diff options
Diffstat (limited to 'opengl')
49 files changed, 4936 insertions, 122 deletions
diff --git a/opengl/java/android/opengl/GLES10.java b/opengl/java/android/opengl/GLES10.java new file mode 100644 index 0000000..e597d12 --- /dev/null +++ b/opengl/java/android/opengl/GLES10.java @@ -0,0 +1,1336 @@ +/* +** +** Copyright 2009, 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; + +import java.nio.Buffer; + +public class GLES10 { + public static final int GL_ADD = 0x0104; + public static final int GL_ALIASED_LINE_WIDTH_RANGE = 0x846E; + public static final int GL_ALIASED_POINT_SIZE_RANGE = 0x846D; + public static final int GL_ALPHA = 0x1906; + public static final int GL_ALPHA_BITS = 0x0D55; + public static final int GL_ALPHA_TEST = 0x0BC0; + public static final int GL_ALWAYS = 0x0207; + public static final int GL_AMBIENT = 0x1200; + public static final int GL_AMBIENT_AND_DIFFUSE = 0x1602; + public static final int GL_AND = 0x1501; + public static final int GL_AND_INVERTED = 0x1504; + public static final int GL_AND_REVERSE = 0x1502; + public static final int GL_BACK = 0x0405; + public static final int GL_BLEND = 0x0BE2; + public static final int GL_BLUE_BITS = 0x0D54; + public static final int GL_BYTE = 0x1400; + public static final int GL_CCW = 0x0901; + public static final int GL_CLAMP_TO_EDGE = 0x812F; + public static final int GL_CLEAR = 0x1500; + public static final int GL_COLOR_ARRAY = 0x8076; + public static final int GL_COLOR_BUFFER_BIT = 0x4000; + public static final int GL_COLOR_LOGIC_OP = 0x0BF2; + public static final int GL_COLOR_MATERIAL = 0x0B57; + public static final int GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3; + public static final int GL_CONSTANT_ATTENUATION = 0x1207; + public static final int GL_COPY = 0x1503; + public static final int GL_COPY_INVERTED = 0x150C; + public static final int GL_CULL_FACE = 0x0B44; + public static final int GL_CW = 0x0900; + public static final int GL_DECAL = 0x2101; + public static final int GL_DECR = 0x1E03; + public static final int GL_DEPTH_BITS = 0x0D56; + public static final int GL_DEPTH_BUFFER_BIT = 0x0100; + public static final int GL_DEPTH_TEST = 0x0B71; + public static final int GL_DIFFUSE = 0x1201; + public static final int GL_DITHER = 0x0BD0; + public static final int GL_DONT_CARE = 0x1100; + public static final int GL_DST_ALPHA = 0x0304; + public static final int GL_DST_COLOR = 0x0306; + public static final int GL_EMISSION = 0x1600; + public static final int GL_EQUAL = 0x0202; + public static final int GL_EQUIV = 0x1509; + public static final int GL_EXP = 0x0800; + public static final int GL_EXP2 = 0x0801; + public static final int GL_EXTENSIONS = 0x1F03; + public static final int GL_FALSE = 0; + public static final int GL_FASTEST = 0x1101; + public static final int GL_FIXED = 0x140C; + public static final int GL_FLAT = 0x1D00; + public static final int GL_FLOAT = 0x1406; + public static final int GL_FOG = 0x0B60; + public static final int GL_FOG_COLOR = 0x0B66; + public static final int GL_FOG_DENSITY = 0x0B62; + public static final int GL_FOG_END = 0x0B64; + public static final int GL_FOG_HINT = 0x0C54; + public static final int GL_FOG_MODE = 0x0B65; + public static final int GL_FOG_START = 0x0B63; + public static final int GL_FRONT = 0x0404; + public static final int GL_FRONT_AND_BACK = 0x0408; + public static final int GL_GEQUAL = 0x0206; + public static final int GL_GREATER = 0x0204; + public static final int GL_GREEN_BITS = 0x0D53; + public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; + public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; + public static final int GL_INCR = 0x1E02; + public static final int GL_INVALID_ENUM = 0x0500; + public static final int GL_INVALID_OPERATION = 0x0502; + public static final int GL_INVALID_VALUE = 0x0501; + public static final int GL_INVERT = 0x150A; + public static final int GL_KEEP = 0x1E00; + public static final int GL_LEQUAL = 0x0203; + public static final int GL_LESS = 0x0201; + public static final int GL_LIGHT_MODEL_AMBIENT = 0x0B53; + public static final int GL_LIGHT_MODEL_TWO_SIDE = 0x0B52; + public static final int GL_LIGHT0 = 0x4000; + public static final int GL_LIGHT1 = 0x4001; + public static final int GL_LIGHT2 = 0x4002; + public static final int GL_LIGHT3 = 0x4003; + public static final int GL_LIGHT4 = 0x4004; + public static final int GL_LIGHT5 = 0x4005; + public static final int GL_LIGHT6 = 0x4006; + public static final int GL_LIGHT7 = 0x4007; + public static final int GL_LIGHTING = 0x0B50; + public static final int GL_LINE_LOOP = 0x0002; + public static final int GL_LINE_SMOOTH = 0x0B20; + public static final int GL_LINE_SMOOTH_HINT = 0x0C52; + public static final int GL_LINE_STRIP = 0x0003; + public static final int GL_LINEAR = 0x2601; + public static final int GL_LINEAR_ATTENUATION = 0x1208; + public static final int GL_LINEAR_MIPMAP_LINEAR = 0x2703; + public static final int GL_LINEAR_MIPMAP_NEAREST = 0x2701; + public static final int GL_LINES = 0x0001; + public static final int GL_LUMINANCE = 0x1909; + public static final int GL_LUMINANCE_ALPHA = 0x190A; + public static final int GL_MAX_ELEMENTS_INDICES = 0x80E9; + public static final int GL_MAX_ELEMENTS_VERTICES = 0x80E8; + public static final int GL_MAX_LIGHTS = 0x0D31; + public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36; + public static final int GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38; + public static final int GL_MAX_TEXTURE_SIZE = 0x0D33; + public static final int GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39; + public static final int GL_MAX_TEXTURE_UNITS = 0x84E2; + public static final int GL_MAX_VIEWPORT_DIMS = 0x0D3A; + public static final int GL_MODELVIEW = 0x1700; + public static final int GL_MODULATE = 0x2100; + public static final int GL_MULTISAMPLE = 0x809D; + public static final int GL_NAND = 0x150E; + public static final int GL_NEAREST = 0x2600; + public static final int GL_NEAREST_MIPMAP_LINEAR = 0x2702; + public static final int GL_NEAREST_MIPMAP_NEAREST = 0x2700; + public static final int GL_NEVER = 0x0200; + public static final int GL_NICEST = 0x1102; + public static final int GL_NO_ERROR = 0; + public static final int GL_NOOP = 0x1505; + public static final int GL_NOR = 0x1508; + public static final int GL_NORMAL_ARRAY = 0x8075; + public static final int GL_NORMALIZE = 0x0BA1; + public static final int GL_NOTEQUAL = 0x0205; + public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; + public static final int GL_ONE = 1; + public static final int GL_ONE_MINUS_DST_ALPHA = 0x0305; + public static final int GL_ONE_MINUS_DST_COLOR = 0x0307; + public static final int GL_ONE_MINUS_SRC_ALPHA = 0x0303; + public static final int GL_ONE_MINUS_SRC_COLOR = 0x0301; + public static final int GL_OR = 0x1507; + public static final int GL_OR_INVERTED = 0x150D; + public static final int GL_OR_REVERSE = 0x150B; + public static final int GL_OUT_OF_MEMORY = 0x0505; + public static final int GL_PACK_ALIGNMENT = 0x0D05; + public static final int GL_PALETTE4_R5_G6_B5_OES = 0x8B92; + public static final int GL_PALETTE4_RGB5_A1_OES = 0x8B94; + public static final int GL_PALETTE4_RGB8_OES = 0x8B90; + public static final int GL_PALETTE4_RGBA4_OES = 0x8B93; + public static final int GL_PALETTE4_RGBA8_OES = 0x8B91; + public static final int GL_PALETTE8_R5_G6_B5_OES = 0x8B97; + public static final int GL_PALETTE8_RGB5_A1_OES = 0x8B99; + public static final int GL_PALETTE8_RGB8_OES = 0x8B95; + public static final int GL_PALETTE8_RGBA4_OES = 0x8B98; + public static final int GL_PALETTE8_RGBA8_OES = 0x8B96; + public static final int GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50; + public static final int GL_POINT_SMOOTH = 0x0B10; + public static final int GL_POINT_SMOOTH_HINT = 0x0C51; + public static final int GL_POINTS = 0x0000; + public static final int GL_POINT_FADE_THRESHOLD_SIZE = 0x8128; + public static final int GL_POINT_SIZE = 0x0B11; + public static final int GL_POLYGON_OFFSET_FILL = 0x8037; + public static final int GL_POLYGON_SMOOTH_HINT = 0x0C53; + public static final int GL_POSITION = 0x1203; + public static final int GL_PROJECTION = 0x1701; + public static final int GL_QUADRATIC_ATTENUATION = 0x1209; + public static final int GL_RED_BITS = 0x0D52; + public static final int GL_RENDERER = 0x1F01; + public static final int GL_REPEAT = 0x2901; + public static final int GL_REPLACE = 0x1E01; + public static final int GL_RESCALE_NORMAL = 0x803A; + public static final int GL_RGB = 0x1907; + public static final int GL_RGBA = 0x1908; + public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E; + public static final int GL_SAMPLE_ALPHA_TO_ONE = 0x809F; + public static final int GL_SAMPLE_COVERAGE = 0x80A0; + public static final int GL_SCISSOR_TEST = 0x0C11; + public static final int GL_SET = 0x150F; + public static final int GL_SHININESS = 0x1601; + public static final int GL_SHORT = 0x1402; + public static final int GL_SMOOTH = 0x1D01; + public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22; + public static final int GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12; + public static final int GL_SPECULAR = 0x1202; + public static final int GL_SPOT_CUTOFF = 0x1206; + public static final int GL_SPOT_DIRECTION = 0x1204; + public static final int GL_SPOT_EXPONENT = 0x1205; + public static final int GL_SRC_ALPHA = 0x0302; + public static final int GL_SRC_ALPHA_SATURATE = 0x0308; + public static final int GL_SRC_COLOR = 0x0300; + public static final int GL_STACK_OVERFLOW = 0x0503; + public static final int GL_STACK_UNDERFLOW = 0x0504; + public static final int GL_STENCIL_BITS = 0x0D57; + public static final int GL_STENCIL_BUFFER_BIT = 0x0400; + public static final int GL_STENCIL_TEST = 0x0B90; + public static final int GL_SUBPIXEL_BITS = 0x0D50; + public static final int GL_TEXTURE = 0x1702; + public static final int GL_TEXTURE_2D = 0x0DE1; + public static final int GL_TEXTURE_COORD_ARRAY = 0x8078; + public static final int GL_TEXTURE_ENV = 0x2300; + public static final int GL_TEXTURE_ENV_COLOR = 0x2201; + public static final int GL_TEXTURE_ENV_MODE = 0x2200; + public static final int GL_TEXTURE_MAG_FILTER = 0x2800; + public static final int GL_TEXTURE_MIN_FILTER = 0x2801; + public static final int GL_TEXTURE_WRAP_S = 0x2802; + public static final int GL_TEXTURE_WRAP_T = 0x2803; + public static final int GL_TEXTURE0 = 0x84C0; + public static final int GL_TEXTURE1 = 0x84C1; + public static final int GL_TEXTURE2 = 0x84C2; + public static final int GL_TEXTURE3 = 0x84C3; + public static final int GL_TEXTURE4 = 0x84C4; + public static final int GL_TEXTURE5 = 0x84C5; + public static final int GL_TEXTURE6 = 0x84C6; + public static final int GL_TEXTURE7 = 0x84C7; + public static final int GL_TEXTURE8 = 0x84C8; + public static final int GL_TEXTURE9 = 0x84C9; + public static final int GL_TEXTURE10 = 0x84CA; + public static final int GL_TEXTURE11 = 0x84CB; + public static final int GL_TEXTURE12 = 0x84CC; + public static final int GL_TEXTURE13 = 0x84CD; + public static final int GL_TEXTURE14 = 0x84CE; + public static final int GL_TEXTURE15 = 0x84CF; + public static final int GL_TEXTURE16 = 0x84D0; + public static final int GL_TEXTURE17 = 0x84D1; + public static final int GL_TEXTURE18 = 0x84D2; + public static final int GL_TEXTURE19 = 0x84D3; + public static final int GL_TEXTURE20 = 0x84D4; + public static final int GL_TEXTURE21 = 0x84D5; + public static final int GL_TEXTURE22 = 0x84D6; + public static final int GL_TEXTURE23 = 0x84D7; + public static final int GL_TEXTURE24 = 0x84D8; + public static final int GL_TEXTURE25 = 0x84D9; + public static final int GL_TEXTURE26 = 0x84DA; + public static final int GL_TEXTURE27 = 0x84DB; + public static final int GL_TEXTURE28 = 0x84DC; + public static final int GL_TEXTURE29 = 0x84DD; + public static final int GL_TEXTURE30 = 0x84DE; + public static final int GL_TEXTURE31 = 0x84DF; + public static final int GL_TRIANGLE_FAN = 0x0006; + public static final int GL_TRIANGLE_STRIP = 0x0005; + public static final int GL_TRIANGLES = 0x0004; + public static final int GL_TRUE = 1; + public static final int GL_UNPACK_ALIGNMENT = 0x0CF5; + public static final int GL_UNSIGNED_BYTE = 0x1401; + public static final int GL_UNSIGNED_SHORT = 0x1403; + public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033; + public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034; + public static final int GL_UNSIGNED_SHORT_5_6_5 = 0x8363; + public static final int GL_VENDOR = 0x1F00; + public static final int GL_VERSION = 0x1F02; + public static final int GL_VERTEX_ARRAY = 0x8074; + public static final int GL_XOR = 0x1506; + public static final int GL_ZERO = 0; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + private static Buffer _colorPointer; + private static Buffer _normalPointer; + private static Buffer _texCoordPointer; + private static Buffer _vertexPointer; + + // C function void glActiveTexture ( GLenum texture ) + + public static native void glActiveTexture( + int texture + ); + + // C function void glAlphaFunc ( GLenum func, GLclampf ref ) + + public static native void glAlphaFunc( + int func, + float ref + ); + + // C function void glAlphaFuncx ( GLenum func, GLclampx ref ) + + public static native void glAlphaFuncx( + int func, + int ref + ); + + // C function void glBindTexture ( GLenum target, GLuint texture ) + + public static native void glBindTexture( + int target, + int texture + ); + + // C function void glBlendFunc ( GLenum sfactor, GLenum dfactor ) + + public static native void glBlendFunc( + int sfactor, + int dfactor + ); + + // C function void glClear ( GLbitfield mask ) + + public static native void glClear( + int mask + ); + + // C function void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) + + public static native void glClearColor( + float red, + float green, + float blue, + float alpha + ); + + // C function void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) + + public static native void glClearColorx( + int red, + int green, + int blue, + int alpha + ); + + // C function void glClearDepthf ( GLclampf depth ) + + public static native void glClearDepthf( + float depth + ); + + // C function void glClearDepthx ( GLclampx depth ) + + public static native void glClearDepthx( + int depth + ); + + // C function void glClearStencil ( GLint s ) + + public static native void glClearStencil( + int s + ); + + // C function void glClientActiveTexture ( GLenum texture ) + + public static native void glClientActiveTexture( + int texture + ); + + // C function void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) + + public static native void glColor4f( + float red, + float green, + float blue, + float alpha + ); + + // C function void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) + + public static native void glColor4x( + int red, + int green, + int blue, + int alpha + ); + + // C function void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) + + public static native void glColorMask( + boolean red, + boolean green, + boolean blue, + boolean alpha + ); + + // C function void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) + + private static native void glColorPointerBounds( + int size, + int type, + int stride, + java.nio.Buffer pointer, + int remaining + ); + + public static void glColorPointer( + int size, + int type, + int stride, + java.nio.Buffer pointer + ) { + if ((size == 4) && + ((type == GL_FLOAT) || + (type == GL_UNSIGNED_BYTE) || + (type == GL_FIXED)) && + (stride >= 0)) { + _colorPointer = pointer; + } + glColorPointerBounds( + size, + type, + stride, + pointer, + pointer.remaining() + ); + } + + // C function void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) + + public static native void glCompressedTexImage2D( + int target, + int level, + int internalformat, + int width, + int height, + int border, + int imageSize, + java.nio.Buffer data + ); + + // C function void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) + + public static native void glCompressedTexSubImage2D( + int target, + int level, + int xoffset, + int yoffset, + int width, + int height, + int format, + int imageSize, + java.nio.Buffer data + ); + + // C function void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) + + public static native void glCopyTexImage2D( + int target, + int level, + int internalformat, + int x, + int y, + int width, + int height, + int border + ); + + // C function void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) + + public static native void glCopyTexSubImage2D( + int target, + int level, + int xoffset, + int yoffset, + int x, + int y, + int width, + int height + ); + + // C function void glCullFace ( GLenum mode ) + + public static native void glCullFace( + int mode + ); + + // C function void glDeleteTextures ( GLsizei n, const GLuint *textures ) + + public static native void glDeleteTextures( + int n, + int[] textures, + int offset + ); + + // C function void glDeleteTextures ( GLsizei n, const GLuint *textures ) + + public static native void glDeleteTextures( + int n, + java.nio.IntBuffer textures + ); + + // C function void glDepthFunc ( GLenum func ) + + public static native void glDepthFunc( + int func + ); + + // C function void glDepthMask ( GLboolean flag ) + + public static native void glDepthMask( + boolean flag + ); + + // C function void glDepthRangef ( GLclampf zNear, GLclampf zFar ) + + public static native void glDepthRangef( + float zNear, + float zFar + ); + + // C function void glDepthRangex ( GLclampx zNear, GLclampx zFar ) + + public static native void glDepthRangex( + int zNear, + int zFar + ); + + // C function void glDisable ( GLenum cap ) + + public static native void glDisable( + int cap + ); + + // C function void glDisableClientState ( GLenum array ) + + public static native void glDisableClientState( + int array + ); + + // C function void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) + + public static native void glDrawArrays( + int mode, + int first, + int count + ); + + // C function void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) + + public static native void glDrawElements( + int mode, + int count, + int type, + java.nio.Buffer indices + ); + + // C function void glEnable ( GLenum cap ) + + public static native void glEnable( + int cap + ); + + // C function void glEnableClientState ( GLenum array ) + + public static native void glEnableClientState( + int array + ); + + // C function void glFinish ( void ) + + public static native void glFinish( + ); + + // C function void glFlush ( void ) + + public static native void glFlush( + ); + + // C function void glFogf ( GLenum pname, GLfloat param ) + + public static native void glFogf( + int pname, + float param + ); + + // C function void glFogfv ( GLenum pname, const GLfloat *params ) + + public static native void glFogfv( + int pname, + float[] params, + int offset + ); + + // C function void glFogfv ( GLenum pname, const GLfloat *params ) + + public static native void glFogfv( + int pname, + java.nio.FloatBuffer params + ); + + // C function void glFogx ( GLenum pname, GLfixed param ) + + public static native void glFogx( + int pname, + int param + ); + + // C function void glFogxv ( GLenum pname, const GLfixed *params ) + + public static native void glFogxv( + int pname, + int[] params, + int offset + ); + + // C function void glFogxv ( GLenum pname, const GLfixed *params ) + + public static native void glFogxv( + int pname, + java.nio.IntBuffer params + ); + + // C function void glFrontFace ( GLenum mode ) + + public static native void glFrontFace( + int mode + ); + + // C function void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) + + public static native void glFrustumf( + float left, + float right, + float bottom, + float top, + float zNear, + float zFar + ); + + // C function void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) + + public static native void glFrustumx( + int left, + int right, + int bottom, + int top, + int zNear, + int zFar + ); + + // C function void glGenTextures ( GLsizei n, GLuint *textures ) + + public static native void glGenTextures( + int n, + int[] textures, + int offset + ); + + // C function void glGenTextures ( GLsizei n, GLuint *textures ) + + public static native void glGenTextures( + int n, + java.nio.IntBuffer textures + ); + + // C function GLenum glGetError ( void ) + + public static native int glGetError( + ); + + // C function void glGetIntegerv ( GLenum pname, GLint *params ) + + public static native void glGetIntegerv( + int pname, + int[] params, + int offset + ); + + // C function void glGetIntegerv ( GLenum pname, GLint *params ) + + public static native void glGetIntegerv( + int pname, + java.nio.IntBuffer params + ); + + // C function const GLubyte * glGetString ( GLenum name ) + + public native String _glGetString( + int name + ); + + public String glGetString( + int name + ) { + String returnValue; + returnValue = _glGetString( + name + ); + return returnValue; + } + + // C function void glHint ( GLenum target, GLenum mode ) + + public static native void glHint( + int target, + int mode + ); + + // C function void glLightModelf ( GLenum pname, GLfloat param ) + + public static native void glLightModelf( + int pname, + float param + ); + + // C function void glLightModelfv ( GLenum pname, const GLfloat *params ) + + public static native void glLightModelfv( + int pname, + float[] params, + int offset + ); + + // C function void glLightModelfv ( GLenum pname, const GLfloat *params ) + + public static native void glLightModelfv( + int pname, + java.nio.FloatBuffer params + ); + + // C function void glLightModelx ( GLenum pname, GLfixed param ) + + public static native void glLightModelx( + int pname, + int param + ); + + // C function void glLightModelxv ( GLenum pname, const GLfixed *params ) + + public static native void glLightModelxv( + int pname, + int[] params, + int offset + ); + + // C function void glLightModelxv ( GLenum pname, const GLfixed *params ) + + public static native void glLightModelxv( + int pname, + java.nio.IntBuffer params + ); + + // C function void glLightf ( GLenum light, GLenum pname, GLfloat param ) + + public static native void glLightf( + int light, + int pname, + float param + ); + + // C function void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) + + public static native void glLightfv( + int light, + int pname, + float[] params, + int offset + ); + + // C function void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) + + public static native void glLightfv( + int light, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glLightx ( GLenum light, GLenum pname, GLfixed param ) + + public static native void glLightx( + int light, + int pname, + int param + ); + + // C function void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) + + public static native void glLightxv( + int light, + int pname, + int[] params, + int offset + ); + + // C function void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) + + public static native void glLightxv( + int light, + int pname, + java.nio.IntBuffer params + ); + + // C function void glLineWidth ( GLfloat width ) + + public static native void glLineWidth( + float width + ); + + // C function void glLineWidthx ( GLfixed width ) + + public static native void glLineWidthx( + int width + ); + + // C function void glLoadIdentity ( void ) + + public static native void glLoadIdentity( + ); + + // C function void glLoadMatrixf ( const GLfloat *m ) + + public static native void glLoadMatrixf( + float[] m, + int offset + ); + + // C function void glLoadMatrixf ( const GLfloat *m ) + + public static native void glLoadMatrixf( + java.nio.FloatBuffer m + ); + + // C function void glLoadMatrixx ( const GLfixed *m ) + + public static native void glLoadMatrixx( + int[] m, + int offset + ); + + // C function void glLoadMatrixx ( const GLfixed *m ) + + public static native void glLoadMatrixx( + java.nio.IntBuffer m + ); + + // C function void glLogicOp ( GLenum opcode ) + + public static native void glLogicOp( + int opcode + ); + + // C function void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) + + public static native void glMaterialf( + int face, + int pname, + float param + ); + + // C function void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) + + public static native void glMaterialfv( + int face, + int pname, + float[] params, + int offset + ); + + // C function void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) + + public static native void glMaterialfv( + int face, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) + + public static native void glMaterialx( + int face, + int pname, + int param + ); + + // C function void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) + + public static native void glMaterialxv( + int face, + int pname, + int[] params, + int offset + ); + + // C function void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) + + public static native void glMaterialxv( + int face, + int pname, + java.nio.IntBuffer params + ); + + // C function void glMatrixMode ( GLenum mode ) + + public static native void glMatrixMode( + int mode + ); + + // C function void glMultMatrixf ( const GLfloat *m ) + + public static native void glMultMatrixf( + float[] m, + int offset + ); + + // C function void glMultMatrixf ( const GLfloat *m ) + + public static native void glMultMatrixf( + java.nio.FloatBuffer m + ); + + // C function void glMultMatrixx ( const GLfixed *m ) + + public static native void glMultMatrixx( + int[] m, + int offset + ); + + // C function void glMultMatrixx ( const GLfixed *m ) + + public static native void glMultMatrixx( + java.nio.IntBuffer m + ); + + // C function void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) + + public static native void glMultiTexCoord4f( + int target, + float s, + float t, + float r, + float q + ); + + // C function void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) + + public static native void glMultiTexCoord4x( + int target, + int s, + int t, + int r, + int q + ); + + // C function void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) + + public static native void glNormal3f( + float nx, + float ny, + float nz + ); + + // C function void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) + + public static native void glNormal3x( + int nx, + int ny, + int nz + ); + + // C function void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) + + private static native void glNormalPointerBounds( + int type, + int stride, + java.nio.Buffer pointer, + int remaining + ); + + public static void glNormalPointer( + int type, + int stride, + java.nio.Buffer pointer + ) { + if (((type == GL_FLOAT) || + (type == GL_BYTE) || + (type == GL_SHORT) || + (type == GL_FIXED)) && + (stride >= 0)) { + _normalPointer = pointer; + } + glNormalPointerBounds( + type, + stride, + pointer, + pointer.remaining() + ); + } + + // C function void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) + + public static native void glOrthof( + float left, + float right, + float bottom, + float top, + float zNear, + float zFar + ); + + // C function void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) + + public static native void glOrthox( + int left, + int right, + int bottom, + int top, + int zNear, + int zFar + ); + + // C function void glPixelStorei ( GLenum pname, GLint param ) + + public static native void glPixelStorei( + int pname, + int param + ); + + // C function void glPointSize ( GLfloat size ) + + public static native void glPointSize( + float size + ); + + // C function void glPointSizex ( GLfixed size ) + + public static native void glPointSizex( + int size + ); + + // C function void glPolygonOffset ( GLfloat factor, GLfloat units ) + + public static native void glPolygonOffset( + float factor, + float units + ); + + // C function void glPolygonOffsetx ( GLfixed factor, GLfixed units ) + + public static native void glPolygonOffsetx( + int factor, + int units + ); + + // C function void glPopMatrix ( void ) + + public static native void glPopMatrix( + ); + + // C function void glPushMatrix ( void ) + + public static native void glPushMatrix( + ); + + // C function void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) + + public static native void glReadPixels( + int x, + int y, + int width, + int height, + int format, + int type, + java.nio.Buffer pixels + ); + + // C function void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) + + public static native void glRotatef( + float angle, + float x, + float y, + float z + ); + + // C function void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) + + public static native void glRotatex( + int angle, + int x, + int y, + int z + ); + + // C function void glSampleCoverage ( GLclampf value, GLboolean invert ) + + public static native void glSampleCoverage( + float value, + boolean invert + ); + + // C function void glSampleCoveragex ( GLclampx value, GLboolean invert ) + + public static native void glSampleCoveragex( + int value, + boolean invert + ); + + // C function void glScalef ( GLfloat x, GLfloat y, GLfloat z ) + + public static native void glScalef( + float x, + float y, + float z + ); + + // C function void glScalex ( GLfixed x, GLfixed y, GLfixed z ) + + public static native void glScalex( + int x, + int y, + int z + ); + + // C function void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) + + public static native void glScissor( + int x, + int y, + int width, + int height + ); + + // C function void glShadeModel ( GLenum mode ) + + public static native void glShadeModel( + int mode + ); + + // C function void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) + + public static native void glStencilFunc( + int func, + int ref, + int mask + ); + + // C function void glStencilMask ( GLuint mask ) + + public static native void glStencilMask( + int mask + ); + + // C function void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) + + public static native void glStencilOp( + int fail, + int zfail, + int zpass + ); + + // C function void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) + + private static native void glTexCoordPointerBounds( + int size, + int type, + int stride, + java.nio.Buffer pointer, + int remaining + ); + + public static void glTexCoordPointer( + int size, + int type, + int stride, + java.nio.Buffer pointer + ) { + if (((size == 2) || + (size == 3) || + (size == 4)) && + ((type == GL_FLOAT) || + (type == GL_BYTE) || + (type == GL_SHORT) || + (type == GL_FIXED)) && + (stride >= 0)) { + _texCoordPointer = pointer; + } + glTexCoordPointerBounds( + size, + type, + stride, + pointer, + pointer.remaining() + ); + } + + // C function void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) + + public static native void glTexEnvf( + int target, + int pname, + float param + ); + + // C function void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) + + public static native void glTexEnvfv( + int target, + int pname, + float[] params, + int offset + ); + + // C function void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) + + public static native void glTexEnvfv( + int target, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) + + public static native void glTexEnvx( + int target, + int pname, + int param + ); + + // C function void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexEnvxv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexEnvxv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) + + public static native void glTexImage2D( + int target, + int level, + int internalformat, + int width, + int height, + int border, + int format, + int type, + java.nio.Buffer pixels + ); + + // C function void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) + + public static native void glTexParameterf( + int target, + int pname, + float param + ); + + // C function void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) + + public static native void glTexParameterx( + int target, + int pname, + int param + ); + + // C function void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) + + public static native void glTexSubImage2D( + int target, + int level, + int xoffset, + int yoffset, + int width, + int height, + int format, + int type, + java.nio.Buffer pixels + ); + + // C function void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) + + public static native void glTranslatef( + float x, + float y, + float z + ); + + // C function void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) + + public static native void glTranslatex( + int x, + int y, + int z + ); + + // C function void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) + + private static native void glVertexPointerBounds( + int size, + int type, + int stride, + java.nio.Buffer pointer, + int remaining + ); + + public static void glVertexPointer( + int size, + int type, + int stride, + java.nio.Buffer pointer + ) { + if (((size == 2) || + (size == 3) || + (size == 4)) && + ((type == GL_FLOAT) || + (type == GL_BYTE) || + (type == GL_SHORT) || + (type == GL_FIXED)) && + (stride >= 0)) { + _vertexPointer = pointer; + } + glVertexPointerBounds( + size, + type, + stride, + pointer, + pointer.remaining() + ); + } + + // C function void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) + + public static native void glViewport( + int x, + int y, + int width, + int height + ); + +} diff --git a/opengl/java/android/opengl/GLES10Ext.java b/opengl/java/android/opengl/GLES10Ext.java new file mode 100644 index 0000000..81fc59e --- /dev/null +++ b/opengl/java/android/opengl/GLES10Ext.java @@ -0,0 +1,44 @@ +/* +** +** Copyright 2009, 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; + +public class GLES10Ext { + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + // C function GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) + + public static native int glQueryMatrixxOES( + int[] mantissa, + int mantissaOffset, + int[] exponent, + int exponentOffset + ); + + // C function GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) + + public static native int glQueryMatrixxOES( + java.nio.IntBuffer mantissa, + java.nio.IntBuffer exponent + ); + +} diff --git a/opengl/java/android/opengl/GLES11.java b/opengl/java/android/opengl/GLES11.java new file mode 100644 index 0000000..3399af7 --- /dev/null +++ b/opengl/java/android/opengl/GLES11.java @@ -0,0 +1,707 @@ +/* +** +** Copyright 2009, 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; + +import java.nio.Buffer; + +public class GLES11 extends GLES10 { + public static final int GL_ACTIVE_TEXTURE = 0x84E0; + public static final int GL_ADD_SIGNED = 0x8574; + public static final int GL_ALPHA_SCALE = 0x0D1C; + public static final int GL_ALPHA_TEST_FUNC = 0x0BC1; + public static final int GL_ALPHA_TEST_REF = 0x0BC2; + public static final int GL_ARRAY_BUFFER = 0x8892; + public static final int GL_ARRAY_BUFFER_BINDING = 0x8894; + public static final int GL_BLEND_DST = 0x0BE0; + public static final int GL_BLEND_SRC = 0x0BE1; + public static final int GL_BUFFER_ACCESS = 0x88BB; + public static final int GL_BUFFER_SIZE = 0x8764; + public static final int GL_BUFFER_USAGE = 0x8765; + public static final int GL_CLIENT_ACTIVE_TEXTURE = 0x84E1; + public static final int GL_CLIP_PLANE0 = 0x3000; + public static final int GL_CLIP_PLANE1 = 0x3001; + public static final int GL_CLIP_PLANE2 = 0x3002; + public static final int GL_CLIP_PLANE3 = 0x3003; + public static final int GL_CLIP_PLANE4 = 0x3004; + public static final int GL_CLIP_PLANE5 = 0x3005; + public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898; + public static final int GL_COLOR_ARRAY_POINTER = 0x8090; + public static final int GL_COLOR_ARRAY_SIZE = 0x8081; + public static final int GL_COLOR_ARRAY_STRIDE = 0x8083; + public static final int GL_COLOR_ARRAY_TYPE = 0x8082; + public static final int GL_COLOR_CLEAR_VALUE = 0x0C22; + public static final int GL_COLOR_WRITEMASK = 0x0C23; + public static final int GL_COMBINE = 0x8570; + public static final int GL_COMBINE_ALPHA = 0x8572; + public static final int GL_COMBINE_RGB = 0x8571; + public static final int GL_CONSTANT = 0x8576; + public static final int GL_COORD_REPLACE_OES = 0x8862; + public static final int GL_CULL_FACE_MODE = 0x0B45; + public static final int GL_CURRENT_COLOR = 0x0B00; + public static final int GL_CURRENT_NORMAL = 0x0B02; + public static final int GL_CURRENT_TEXTURE_COORDS = 0x0B03; + public static final int GL_DEPTH_CLEAR_VALUE = 0x0B73; + public static final int GL_DEPTH_FUNC = 0x0B74; + public static final int GL_DEPTH_RANGE = 0x0B70; + public static final int GL_DEPTH_WRITEMASK = 0x0B72; + public static final int GL_DOT3_RGB = 0x86AE; + public static final int GL_DOT3_RGBA = 0x86AF; + public static final int GL_DYNAMIC_DRAW = 0x88E8; + public static final int GL_ELEMENT_ARRAY_BUFFER = 0x8893; + public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; + public static final int GL_FRONT_FACE = 0x0B46; + public static final int GL_GENERATE_MIPMAP = 0x8191; + public static final int GL_GENERATE_MIPMAP_HINT = 0x8192; + public static final int GL_INTERPOLATE = 0x8575; + public static final int GL_LINE_WIDTH = 0x0B21; + public static final int GL_LOGIC_OP_MODE = 0x0BF0; + public static final int GL_MATRIX_MODE = 0x0BA0; + public static final int GL_MAX_CLIP_PLANES = 0x0D32; + public static final int GL_MODELVIEW_MATRIX = 0x0BA6; + public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D; + public static final int GL_MODELVIEW_STACK_DEPTH = 0x0BA3; + public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897; + public static final int GL_NORMAL_ARRAY_POINTER = 0x808F; + public static final int GL_NORMAL_ARRAY_STRIDE = 0x807F; + public static final int GL_NORMAL_ARRAY_TYPE = 0x807E; + public static final int GL_OPERAND0_ALPHA = 0x8598; + public static final int GL_OPERAND0_RGB = 0x8590; + public static final int GL_OPERAND1_ALPHA = 0x8599; + public static final int GL_OPERAND1_RGB = 0x8591; + public static final int GL_OPERAND2_ALPHA = 0x859A; + public static final int GL_OPERAND2_RGB = 0x8592; + public static final int GL_POINT_DISTANCE_ATTENUATION = 0x8129; + public static final int GL_POINT_FADE_THRESHOLD_SIZE = 0x8128; + public static final int GL_POINT_SIZE = 0x0B11; + public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F; + public static final int GL_POINT_SIZE_ARRAY_OES = 0x8B9C; + public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 0x898C; + public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 0x898B; + public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 0x898A; + public static final int GL_POINT_SIZE_MAX = 0x8127; + public static final int GL_POINT_SIZE_MIN = 0x8126; + public static final int GL_POINT_SPRITE_OES = 0x8861; + public static final int GL_POLYGON_OFFSET_FACTOR = 0x8038; + public static final int GL_POLYGON_OFFSET_UNITS = 0x2A00; + public static final int GL_PREVIOUS = 0x8578; + public static final int GL_PRIMARY_COLOR = 0x8577; + public static final int GL_PROJECTION_MATRIX = 0x0BA7; + public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E; + public static final int GL_PROJECTION_STACK_DEPTH = 0x0BA4; + public static final int GL_RGB_SCALE = 0x8573; + public static final int GL_SAMPLE_BUFFERS = 0x80A8; + public static final int GL_SAMPLE_COVERAGE_INVERT = 0x80AB; + public static final int GL_SAMPLE_COVERAGE_VALUE = 0x80AA; + public static final int GL_SAMPLES = 0x80A9; + public static final int GL_SCISSOR_BOX = 0x0C10; + public static final int GL_SHADE_MODEL = 0x0B54; + public static final int GL_SRC0_ALPHA = 0x8588; + public static final int GL_SRC0_RGB = 0x8580; + public static final int GL_SRC1_ALPHA = 0x8589; + public static final int GL_SRC1_RGB = 0x8581; + public static final int GL_SRC2_ALPHA = 0x858A; + public static final int GL_SRC2_RGB = 0x8582; + public static final int GL_STATIC_DRAW = 0x88E4; + public static final int GL_STENCIL_CLEAR_VALUE = 0x0B91; + public static final int GL_STENCIL_FAIL = 0x0B94; + public static final int GL_STENCIL_FUNC = 0x0B92; + public static final int GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95; + public static final int GL_STENCIL_PASS_DEPTH_PASS = 0x0B96; + public static final int GL_STENCIL_REF = 0x0B97; + public static final int GL_STENCIL_VALUE_MASK = 0x0B93; + public static final int GL_STENCIL_WRITEMASK = 0x0B98; + public static final int GL_SUBTRACT = 0x84E7; + public static final int GL_TEXTURE_BINDING_2D = 0x8069; + public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A; + public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092; + public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088; + public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A; + public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089; + public static final int GL_TEXTURE_MATRIX = 0x0BA8; + public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F; + public static final int GL_TEXTURE_STACK_DEPTH = 0x0BA5; + public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896; + public static final int GL_VERTEX_ARRAY_POINTER = 0x808E; + public static final int GL_VERTEX_ARRAY_SIZE = 0x807A; + public static final int GL_VERTEX_ARRAY_STRIDE = 0x807C; + public static final int GL_VERTEX_ARRAY_TYPE = 0x807B; + public static final int GL_VIEWPORT = 0x0BA2; + public static final int GL_WRITE_ONLY = 0x88B9; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + // C function void glBindBuffer ( GLenum target, GLuint buffer ) + + public static native void glBindBuffer( + int target, + int buffer + ); + + // C function void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) + + public static native void glBufferData( + int target, + int size, + java.nio.Buffer data, + int usage + ); + + // C function void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) + + public static native void glBufferSubData( + int target, + int offset, + int size, + java.nio.Buffer data + ); + + // C function void glClipPlanef ( GLenum plane, const GLfloat *equation ) + + public static native void glClipPlanef( + int plane, + float[] equation, + int offset + ); + + // C function void glClipPlanef ( GLenum plane, const GLfloat *equation ) + + public static native void glClipPlanef( + int plane, + java.nio.FloatBuffer equation + ); + + // C function void glClipPlanex ( GLenum plane, const GLfixed *equation ) + + public static native void glClipPlanex( + int plane, + int[] equation, + int offset + ); + + // C function void glClipPlanex ( GLenum plane, const GLfixed *equation ) + + public static native void glClipPlanex( + int plane, + java.nio.IntBuffer equation + ); + + // C function void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) + + public static native void glColor4ub( + byte red, + byte green, + byte blue, + byte alpha + ); + + // C function void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) + + public static native void glColorPointer( + int size, + int type, + int stride, + int offset + ); + + // C function void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) + + public static native void glDeleteBuffers( + int n, + int[] buffers, + int offset + ); + + // C function void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) + + public static native void glDeleteBuffers( + int n, + java.nio.IntBuffer buffers + ); + + // C function void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) + + public static native void glDrawElements( + int mode, + int count, + int type, + int offset + ); + + // C function void glGenBuffers ( GLsizei n, GLuint *buffers ) + + public static native void glGenBuffers( + int n, + int[] buffers, + int offset + ); + + // C function void glGenBuffers ( GLsizei n, GLuint *buffers ) + + public static native void glGenBuffers( + int n, + java.nio.IntBuffer buffers + ); + + // C function void glGetBooleanv ( GLenum pname, GLboolean *params ) + + public static native void glGetBooleanv( + int pname, + boolean[] params, + int offset + ); + + // C function void glGetBooleanv ( GLenum pname, GLboolean *params ) + + public static native void glGetBooleanv( + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetBufferParameteriv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetBufferParameteriv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) + + public static native void glGetClipPlanef( + int pname, + float[] eqn, + int offset + ); + + // C function void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) + + public static native void glGetClipPlanef( + int pname, + java.nio.FloatBuffer eqn + ); + + // C function void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) + + public static native void glGetClipPlanex( + int pname, + int[] eqn, + int offset + ); + + // C function void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) + + public static native void glGetClipPlanex( + int pname, + java.nio.IntBuffer eqn + ); + + // C function void glGetFixedv ( GLenum pname, GLfixed *params ) + + public static native void glGetFixedv( + int pname, + int[] params, + int offset + ); + + // C function void glGetFixedv ( GLenum pname, GLfixed *params ) + + public static native void glGetFixedv( + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetFloatv ( GLenum pname, GLfloat *params ) + + public static native void glGetFloatv( + int pname, + float[] params, + int offset + ); + + // C function void glGetFloatv ( GLenum pname, GLfloat *params ) + + public static native void glGetFloatv( + int pname, + java.nio.FloatBuffer params + ); + + // C function void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) + + public static native void glGetLightfv( + int light, + int pname, + float[] params, + int offset + ); + + // C function void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) + + public static native void glGetLightfv( + int light, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) + + public static native void glGetLightxv( + int light, + int pname, + int[] params, + int offset + ); + + // C function void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) + + public static native void glGetLightxv( + int light, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) + + public static native void glGetMaterialfv( + int face, + int pname, + float[] params, + int offset + ); + + // C function void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) + + public static native void glGetMaterialfv( + int face, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) + + public static native void glGetMaterialxv( + int face, + int pname, + int[] params, + int offset + ); + + // C function void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) + + public static native void glGetMaterialxv( + int face, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexEnvfv ( GLenum env, GLenum pname, GLfloat *params ) + + public static native void glGetTexEnvfv( + int env, + int pname, + float[] params, + int offset + ); + + // C function void glGetTexEnvfv ( GLenum env, GLenum pname, GLfloat *params ) + + public static native void glGetTexEnvfv( + int env, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) + + public static native void glGetTexEnviv( + int env, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) + + public static native void glGetTexEnviv( + int env, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) + + public static native void glGetTexEnvxv( + int env, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) + + public static native void glGetTexEnvxv( + int env, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) + + public static native void glGetTexParameterfv( + int target, + int pname, + float[] params, + int offset + ); + + // C function void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) + + public static native void glGetTexParameterfv( + int target, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetTexParameteriv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetTexParameteriv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) + + public static native void glGetTexParameterxv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) + + public static native void glGetTexParameterxv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function GLboolean glIsBuffer ( GLuint buffer ) + + public static native boolean glIsBuffer( + int buffer + ); + + // C function GLboolean glIsEnabled ( GLenum cap ) + + public static native boolean glIsEnabled( + int cap + ); + + // C function GLboolean glIsTexture ( GLuint texture ) + + public static native boolean glIsTexture( + int texture + ); + + // C function void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) + + public static native void glNormalPointer( + int type, + int stride, + int offset + ); + + // C function void glPointParameterf ( GLenum pname, GLfloat param ) + + public static native void glPointParameterf( + int pname, + float param + ); + + // C function void glPointParameterfv ( GLenum pname, const GLfloat *params ) + + public static native void glPointParameterfv( + int pname, + float[] params, + int offset + ); + + // C function void glPointParameterfv ( GLenum pname, const GLfloat *params ) + + public static native void glPointParameterfv( + int pname, + java.nio.FloatBuffer params + ); + + // C function void glPointParameterx ( GLenum pname, GLfixed param ) + + public static native void glPointParameterx( + int pname, + int param + ); + + // C function void glPointParameterxv ( GLenum pname, const GLfixed *params ) + + public static native void glPointParameterxv( + int pname, + int[] params, + int offset + ); + + // C function void glPointParameterxv ( GLenum pname, const GLfixed *params ) + + public static native void glPointParameterxv( + int pname, + java.nio.IntBuffer params + ); + + // C function void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) + + public static native void glPointSizePointerOES( + int type, + int stride, + java.nio.Buffer pointer + ); + + // C function void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) + + public static native void glTexCoordPointer( + int size, + int type, + int stride, + int offset + ); + + // C function void glTexEnvi ( GLenum target, GLenum pname, GLint param ) + + public static native void glTexEnvi( + int target, + int pname, + int param + ); + + // C function void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) + + public static native void glTexEnviv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) + + public static native void glTexEnviv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) + + public static native void glTexParameterfv( + int target, + int pname, + float[] params, + int offset + ); + + // C function void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) + + public static native void glTexParameterfv( + int target, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glTexParameteri ( GLenum target, GLenum pname, GLint param ) + + public static native void glTexParameteri( + int target, + int pname, + int param + ); + + // C function void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) + + public static native void glTexParameteriv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) + + public static native void glTexParameteriv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexParameterxv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexParameterxv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) + + public static native void glVertexPointer( + int size, + int type, + int stride, + int offset + ); + +} diff --git a/opengl/java/android/opengl/GLES11Ext.java b/opengl/java/android/opengl/GLES11Ext.java new file mode 100644 index 0000000..4384e9e --- /dev/null +++ b/opengl/java/android/opengl/GLES11Ext.java @@ -0,0 +1,1076 @@ +/* +** +** Copyright 2009, 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; + +public class GLES11Ext { + public static final int GL_BLEND_EQUATION_RGB_OES = 0x8009; + public static final int GL_BLEND_EQUATION_ALPHA_OES = 0x883D; + public static final int GL_BLEND_DST_RGB_OES = 0x80C8; + public static final int GL_BLEND_SRC_RGB_OES = 0x80C9; + public static final int GL_BLEND_DST_ALPHA_OES = 0x80CA; + public static final int GL_BLEND_SRC_ALPHA_OES = 0x80CB; + public static final int GL_BLEND_EQUATION_OES = 0x8009; + public static final int GL_FUNC_ADD_OES = 0x8006; + public static final int GL_FUNC_SUBTRACT_OES = 0x800A; + public static final int GL_FUNC_REVERSE_SUBTRACT_OES = 0x800B; + public static final int GL_ETC1_RGB8_OES = 0x8D64; + public static final int GL_DEPTH_COMPONENT24_OES = 0x81A6; + public static final int GL_DEPTH_COMPONENT32_OES = 0x81A7; + public static final int GL_TEXTURE_CROP_RECT_OES = 0x8B9D; + public static final int GL_FIXED_OES = 0x140C; + public static final int GL_NONE_OES = 0; + public static final int GL_FRAMEBUFFER_OES = 0x8D40; + public static final int GL_RENDERBUFFER_OES = 0x8D41; + public static final int GL_RGBA4_OES = 0x8056; + public static final int GL_RGB5_A1_OES = 0x8057; + public static final int GL_RGB565_OES = 0x8D62; + public static final int GL_DEPTH_COMPONENT16_OES = 0x81A5; + public static final int GL_RENDERBUFFER_WIDTH_OES = 0x8D42; + public static final int GL_RENDERBUFFER_HEIGHT_OES = 0x8D43; + public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44; + public static final int GL_RENDERBUFFER_RED_SIZE_OES = 0x8D50; + public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51; + public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52; + public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53; + public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54; + public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55; + public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0; + public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3; + public static final int GL_COLOR_ATTACHMENT0_OES = 0x8CE0; + public static final int GL_DEPTH_ATTACHMENT_OES = 0x8D00; + public static final int GL_STENCIL_ATTACHMENT_OES = 0x8D20; + public static final int GL_FRAMEBUFFER_COMPLETE_OES = 0x8CD5; + public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6; + public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7; + public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9; + public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA; + public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD; + public static final int GL_FRAMEBUFFER_BINDING_OES = 0x8CA6; + public static final int GL_RENDERBUFFER_BINDING_OES = 0x8CA7; + public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 0x84E8; + public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506; + public static final int GL_WRITE_ONLY_OES = 0x88B9; + public static final int GL_BUFFER_ACCESS_OES = 0x88BB; + public static final int GL_BUFFER_MAPPED_OES = 0x88BC; + public static final int GL_BUFFER_MAP_POINTER_OES = 0x88BD; + public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D; + public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E; + public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F; + public static final int GL_MAX_VERTEX_UNITS_OES = 0x86A4; + public static final int GL_MAX_PALETTE_MATRICES_OES = 0x8842; + public static final int GL_MATRIX_PALETTE_OES = 0x8840; + public static final int GL_MATRIX_INDEX_ARRAY_OES = 0x8844; + public static final int GL_WEIGHT_ARRAY_OES = 0x86AD; + public static final int GL_CURRENT_PALETTE_MATRIX_OES = 0x8843; + public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846; + public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847; + public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848; + public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849; + public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E; + public static final int GL_WEIGHT_ARRAY_SIZE_OES = 0x86AB; + public static final int GL_WEIGHT_ARRAY_TYPE_OES = 0x86A9; + public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 0x86AA; + public static final int GL_WEIGHT_ARRAY_POINTER_OES = 0x86AC; + public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E; + public static final int GL_DEPTH_STENCIL_OES = 0x84F9; + public static final int GL_UNSIGNED_INT_24_8_OES = 0x84FA; + public static final int GL_DEPTH24_STENCIL8_OES = 0x88F0; + public static final int GL_RGB8_OES = 0x8051; + public static final int GL_RGBA8_OES = 0x8058; + public static final int GL_STENCIL_INDEX1_OES = 0x8D46; + public static final int GL_STENCIL_INDEX4_OES = 0x8D47; + public static final int GL_STENCIL_INDEX8_OES = 0x8D48; + public static final int GL_INCR_WRAP_OES = 0x8507; + public static final int GL_DECR_WRAP_OES = 0x8508; + public static final int GL_NORMAL_MAP_OES = 0x8511; + public static final int GL_REFLECTION_MAP_OES = 0x8512; + public static final int GL_TEXTURE_CUBE_MAP_OES = 0x8513; + public static final int GL_TEXTURE_BINDING_CUBE_MAP_OES = 0x8514; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A; + public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C; + public static final int GL_TEXTURE_GEN_MODE_OES = 0x2500; + public static final int GL_TEXTURE_GEN_STR_OES = 0x8D60; + public static final int GL_MIRRORED_REPEAT_OES = 0x8370; + public static final int GL_3DC_X_AMD = 0x87F9; + public static final int GL_3DC_XY_AMD = 0x87FA; + public static final int GL_ATC_RGB_AMD = 0x8C92; + public static final int GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93; + public static final int GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE; + public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; + public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; + public static final int GL_BGRA = 0x80E1; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + // C function void glBlendEquationSeparateOES ( GLenum modeRGB, GLenum modeAlpha ) + + public static native void glBlendEquationSeparateOES( + int modeRGB, + int modeAlpha + ); + + // C function void glBlendFuncSeparateOES ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) + + public static native void glBlendFuncSeparateOES( + int srcRGB, + int dstRGB, + int srcAlpha, + int dstAlpha + ); + + // C function void glBlendEquationOES ( GLenum mode ) + + public static native void glBlendEquationOES( + int mode + ); + + // C function void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) + + public static native void glDrawTexsOES( + short x, + short y, + short z, + short width, + short height + ); + + // C function void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) + + public static native void glDrawTexiOES( + int x, + int y, + int z, + int width, + int height + ); + + // C function void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) + + public static native void glDrawTexxOES( + int x, + int y, + int z, + int width, + int height + ); + + // C function void glDrawTexsvOES ( const GLshort *coords ) + + public static native void glDrawTexsvOES( + short[] coords, + int offset + ); + + // C function void glDrawTexsvOES ( const GLshort *coords ) + + public static native void glDrawTexsvOES( + java.nio.ShortBuffer coords + ); + + // C function void glDrawTexivOES ( const GLint *coords ) + + public static native void glDrawTexivOES( + int[] coords, + int offset + ); + + // C function void glDrawTexivOES ( const GLint *coords ) + + public static native void glDrawTexivOES( + java.nio.IntBuffer coords + ); + + // C function void glDrawTexxvOES ( const GLfixed *coords ) + + public static native void glDrawTexxvOES( + int[] coords, + int offset + ); + + // C function void glDrawTexxvOES ( const GLfixed *coords ) + + public static native void glDrawTexxvOES( + java.nio.IntBuffer coords + ); + + // C function void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) + + public static native void glDrawTexfOES( + float x, + float y, + float z, + float width, + float height + ); + + // C function void glDrawTexfvOES ( const GLfloat *coords ) + + public static native void glDrawTexfvOES( + float[] coords, + int offset + ); + + // C function void glDrawTexfvOES ( const GLfloat *coords ) + + public static native void glDrawTexfvOES( + java.nio.FloatBuffer coords + ); + + // C function void glEGLImageTargetTexture2DOES ( GLenum target, GLeglImageOES image ) + + public static native void glEGLImageTargetTexture2DOES( + int target, + java.nio.Buffer image + ); + + // C function void glEGLImageTargetRenderbufferStorageOES ( GLenum target, GLeglImageOES image ) + + public static native void glEGLImageTargetRenderbufferStorageOES( + int target, + java.nio.Buffer image + ); + + // C function void glAlphaFuncxOES ( GLenum func, GLclampx ref ) + + public static native void glAlphaFuncxOES( + int func, + int ref + ); + + // C function void glClearColorxOES ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) + + public static native void glClearColorxOES( + int red, + int green, + int blue, + int alpha + ); + + // C function void glClearDepthxOES ( GLclampx depth ) + + public static native void glClearDepthxOES( + int depth + ); + + // C function void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) + + public static native void glClipPlanexOES( + int plane, + int[] equation, + int offset + ); + + // C function void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) + + public static native void glClipPlanexOES( + int plane, + java.nio.IntBuffer equation + ); + + // C function void glColor4xOES ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) + + public static native void glColor4xOES( + int red, + int green, + int blue, + int alpha + ); + + // C function void glDepthRangexOES ( GLclampx zNear, GLclampx zFar ) + + public static native void glDepthRangexOES( + int zNear, + int zFar + ); + + // C function void glFogxOES ( GLenum pname, GLfixed param ) + + public static native void glFogxOES( + int pname, + int param + ); + + // C function void glFogxvOES ( GLenum pname, const GLfixed *params ) + + public static native void glFogxvOES( + int pname, + int[] params, + int offset + ); + + // C function void glFogxvOES ( GLenum pname, const GLfixed *params ) + + public static native void glFogxvOES( + int pname, + java.nio.IntBuffer params + ); + + // C function void glFrustumxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) + + public static native void glFrustumxOES( + int left, + int right, + int bottom, + int top, + int zNear, + int zFar + ); + + // C function void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) + + public static native void glGetClipPlanexOES( + int pname, + int[] eqn, + int offset + ); + + // C function void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) + + public static native void glGetClipPlanexOES( + int pname, + java.nio.IntBuffer eqn + ); + + // C function void glGetFixedvOES ( GLenum pname, GLfixed *params ) + + public static native void glGetFixedvOES( + int pname, + int[] params, + int offset + ); + + // C function void glGetFixedvOES ( GLenum pname, GLfixed *params ) + + public static native void glGetFixedvOES( + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) + + public static native void glGetLightxvOES( + int light, + int pname, + int[] params, + int offset + ); + + // C function void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) + + public static native void glGetLightxvOES( + int light, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) + + public static native void glGetMaterialxvOES( + int face, + int pname, + int[] params, + int offset + ); + + // C function void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) + + public static native void glGetMaterialxvOES( + int face, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) + + public static native void glGetTexEnvxvOES( + int env, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) + + public static native void glGetTexEnvxvOES( + int env, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) + + public static native void glGetTexParameterxvOES( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) + + public static native void glGetTexParameterxvOES( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glLightModelxOES ( GLenum pname, GLfixed param ) + + public static native void glLightModelxOES( + int pname, + int param + ); + + // C function void glLightModelxvOES ( GLenum pname, const GLfixed *params ) + + public static native void glLightModelxvOES( + int pname, + int[] params, + int offset + ); + + // C function void glLightModelxvOES ( GLenum pname, const GLfixed *params ) + + public static native void glLightModelxvOES( + int pname, + java.nio.IntBuffer params + ); + + // C function void glLightxOES ( GLenum light, GLenum pname, GLfixed param ) + + public static native void glLightxOES( + int light, + int pname, + int param + ); + + // C function void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) + + public static native void glLightxvOES( + int light, + int pname, + int[] params, + int offset + ); + + // C function void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) + + public static native void glLightxvOES( + int light, + int pname, + java.nio.IntBuffer params + ); + + // C function void glLineWidthxOES ( GLfixed width ) + + public static native void glLineWidthxOES( + int width + ); + + // C function void glLoadMatrixxOES ( const GLfixed *m ) + + public static native void glLoadMatrixxOES( + int[] m, + int offset + ); + + // C function void glLoadMatrixxOES ( const GLfixed *m ) + + public static native void glLoadMatrixxOES( + java.nio.IntBuffer m + ); + + // C function void glMaterialxOES ( GLenum face, GLenum pname, GLfixed param ) + + public static native void glMaterialxOES( + int face, + int pname, + int param + ); + + // C function void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) + + public static native void glMaterialxvOES( + int face, + int pname, + int[] params, + int offset + ); + + // C function void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) + + public static native void glMaterialxvOES( + int face, + int pname, + java.nio.IntBuffer params + ); + + // C function void glMultMatrixxOES ( const GLfixed *m ) + + public static native void glMultMatrixxOES( + int[] m, + int offset + ); + + // C function void glMultMatrixxOES ( const GLfixed *m ) + + public static native void glMultMatrixxOES( + java.nio.IntBuffer m + ); + + // C function void glMultiTexCoord4xOES ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) + + public static native void glMultiTexCoord4xOES( + int target, + int s, + int t, + int r, + int q + ); + + // C function void glNormal3xOES ( GLfixed nx, GLfixed ny, GLfixed nz ) + + public static native void glNormal3xOES( + int nx, + int ny, + int nz + ); + + // C function void glOrthoxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) + + public static native void glOrthoxOES( + int left, + int right, + int bottom, + int top, + int zNear, + int zFar + ); + + // C function void glPointParameterxOES ( GLenum pname, GLfixed param ) + + public static native void glPointParameterxOES( + int pname, + int param + ); + + // C function void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) + + public static native void glPointParameterxvOES( + int pname, + int[] params, + int offset + ); + + // C function void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) + + public static native void glPointParameterxvOES( + int pname, + java.nio.IntBuffer params + ); + + // C function void glPointSizexOES ( GLfixed size ) + + public static native void glPointSizexOES( + int size + ); + + // C function void glPolygonOffsetxOES ( GLfixed factor, GLfixed units ) + + public static native void glPolygonOffsetxOES( + int factor, + int units + ); + + // C function void glRotatexOES ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) + + public static native void glRotatexOES( + int angle, + int x, + int y, + int z + ); + + // C function void glSampleCoveragexOES ( GLclampx value, GLboolean invert ) + + public static native void glSampleCoveragexOES( + int value, + boolean invert + ); + + // C function void glScalexOES ( GLfixed x, GLfixed y, GLfixed z ) + + public static native void glScalexOES( + int x, + int y, + int z + ); + + // C function void glTexEnvxOES ( GLenum target, GLenum pname, GLfixed param ) + + public static native void glTexEnvxOES( + int target, + int pname, + int param + ); + + // C function void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexEnvxvOES( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexEnvxvOES( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTexParameterxOES ( GLenum target, GLenum pname, GLfixed param ) + + public static native void glTexParameterxOES( + int target, + int pname, + int param + ); + + // C function void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexParameterxvOES( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) + + public static native void glTexParameterxvOES( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTranslatexOES ( GLfixed x, GLfixed y, GLfixed z ) + + public static native void glTranslatexOES( + int x, + int y, + int z + ); + + // C function GLboolean glIsRenderbufferOES ( GLuint renderbuffer ) + + public static native boolean glIsRenderbufferOES( + int renderbuffer + ); + + // C function void glBindRenderbufferOES ( GLenum target, GLuint renderbuffer ) + + public static native void glBindRenderbufferOES( + int target, + int renderbuffer + ); + + // C function void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) + + public static native void glDeleteRenderbuffersOES( + int n, + int[] renderbuffers, + int offset + ); + + // C function void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) + + public static native void glDeleteRenderbuffersOES( + int n, + java.nio.IntBuffer renderbuffers + ); + + // C function void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) + + public static native void glGenRenderbuffersOES( + int n, + int[] renderbuffers, + int offset + ); + + // C function void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) + + public static native void glGenRenderbuffersOES( + int n, + java.nio.IntBuffer renderbuffers + ); + + // C function void glRenderbufferStorageOES ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) + + public static native void glRenderbufferStorageOES( + int target, + int internalformat, + int width, + int height + ); + + // C function void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetRenderbufferParameterivOES( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetRenderbufferParameterivOES( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function GLboolean glIsFramebufferOES ( GLuint framebuffer ) + + public static native boolean glIsFramebufferOES( + int framebuffer + ); + + // C function void glBindFramebufferOES ( GLenum target, GLuint framebuffer ) + + public static native void glBindFramebufferOES( + int target, + int framebuffer + ); + + // C function void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) + + public static native void glDeleteFramebuffersOES( + int n, + int[] framebuffers, + int offset + ); + + // C function void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) + + public static native void glDeleteFramebuffersOES( + int n, + java.nio.IntBuffer framebuffers + ); + + // C function void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) + + public static native void glGenFramebuffersOES( + int n, + int[] framebuffers, + int offset + ); + + // C function void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) + + public static native void glGenFramebuffersOES( + int n, + java.nio.IntBuffer framebuffers + ); + + // C function GLenum glCheckFramebufferStatusOES ( GLenum target ) + + public static native int glCheckFramebufferStatusOES( + int target + ); + + // C function void glFramebufferRenderbufferOES ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) + + public static native void glFramebufferRenderbufferOES( + int target, + int attachment, + int renderbuffertarget, + int renderbuffer + ); + + // C function void glFramebufferTexture2DOES ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) + + public static native void glFramebufferTexture2DOES( + int target, + int attachment, + int textarget, + int texture, + int level + ); + + // C function void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) + + public static native void glGetFramebufferAttachmentParameterivOES( + int target, + int attachment, + int pname, + int[] params, + int offset + ); + + // C function void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) + + public static native void glGetFramebufferAttachmentParameterivOES( + int target, + int attachment, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGenerateMipmapOES ( GLenum target ) + + public static native void glGenerateMipmapOES( + int target + ); + + // C function void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) + + public static native void glCurrentPaletteMatrixOES( + int matrixpaletteindex + ); + + // C function void glLoadPaletteFromModelViewMatrixOES ( void ) + + public static native void glLoadPaletteFromModelViewMatrixOES( + ); + + // C function void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) + + public static native void glMatrixIndexPointerOES( + int size, + int type, + int stride, + java.nio.Buffer pointer + ); + + // C function void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) + + public static native void glWeightPointerOES( + int size, + int type, + int stride, + java.nio.Buffer pointer + ); + + // C function void glDepthRangefOES ( GLclampf zNear, GLclampf zFar ) + + public static native void glDepthRangefOES( + float zNear, + float zFar + ); + + // C function void glFrustumfOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) + + public static native void glFrustumfOES( + float left, + float right, + float bottom, + float top, + float zNear, + float zFar + ); + + // C function void glOrthofOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) + + public static native void glOrthofOES( + float left, + float right, + float bottom, + float top, + float zNear, + float zFar + ); + + // C function void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) + + public static native void glClipPlanefOES( + int plane, + float[] equation, + int offset + ); + + // C function void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) + + public static native void glClipPlanefOES( + int plane, + java.nio.FloatBuffer equation + ); + + // C function void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) + + public static native void glGetClipPlanefOES( + int pname, + float[] eqn, + int offset + ); + + // C function void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) + + public static native void glGetClipPlanefOES( + int pname, + java.nio.FloatBuffer eqn + ); + + // C function void glClearDepthfOES ( GLclampf depth ) + + public static native void glClearDepthfOES( + float depth + ); + + // C function void glTexGenfOES ( GLenum coord, GLenum pname, GLfloat param ) + + public static native void glTexGenfOES( + int coord, + int pname, + float param + ); + + // C function void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) + + public static native void glTexGenfvOES( + int coord, + int pname, + float[] params, + int offset + ); + + // C function void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) + + public static native void glTexGenfvOES( + int coord, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glTexGeniOES ( GLenum coord, GLenum pname, GLint param ) + + public static native void glTexGeniOES( + int coord, + int pname, + int param + ); + + // C function void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) + + public static native void glTexGenivOES( + int coord, + int pname, + int[] params, + int offset + ); + + // C function void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) + + public static native void glTexGenivOES( + int coord, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTexGenxOES ( GLenum coord, GLenum pname, GLfixed param ) + + public static native void glTexGenxOES( + int coord, + int pname, + int param + ); + + // C function void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) + + public static native void glTexGenxvOES( + int coord, + int pname, + int[] params, + int offset + ); + + // C function void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) + + public static native void glTexGenxvOES( + int coord, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) + + public static native void glGetTexGenfvOES( + int coord, + int pname, + float[] params, + int offset + ); + + // C function void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) + + public static native void glGetTexGenfvOES( + int coord, + int pname, + java.nio.FloatBuffer params + ); + + // C function void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) + + public static native void glGetTexGenivOES( + int coord, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) + + public static native void glGetTexGenivOES( + int coord, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) + + public static native void glGetTexGenxvOES( + int coord, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) + + public static native void glGetTexGenxvOES( + int coord, + int pname, + java.nio.IntBuffer params + ); + +} diff --git a/opengl/tools/glgen/.gitignore b/opengl/tools/glgen/.gitignore new file mode 100644 index 0000000..007ec65 --- /dev/null +++ b/opengl/tools/glgen/.gitignore @@ -0,0 +1,2 @@ +generated +out diff --git a/opengl/tools/glgen/gen b/opengl/tools/glgen/gen index 25e9a09..011a6ed 100755 --- a/opengl/tools/glgen/gen +++ b/opengl/tools/glgen/gen @@ -1,19 +1,21 @@ #!/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,81 +60,44 @@ 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 - -# 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 -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 -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 -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 - -# 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 - -# 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 +SAID_PLEASE=0 + +# compareGenerated destDir generatedDir file +compareGenerated() { + if cmp -s $1/$3 $2/$3 ; then + echo "# " $3 unchanged + else + if [ $SAID_PLEASE == "0" ] ; then + echo Please evaluate the following commands: + echo + SAID_PLEASE=1 + fi + echo " " cp $2/$3 $1 + echo " " git add $1/$3 + 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 + +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 + +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 + rm -rf generated fi diff --git a/opengl/tools/glgen/specs/gles11/GLES10.spec b/opengl/tools/glgen/specs/gles11/GLES10.spec new file mode 100644 index 0000000..8e1152d --- /dev/null +++ b/opengl/tools/glgen/specs/gles11/GLES10.spec @@ -0,0 +1,106 @@ +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 ) diff --git a/opengl/tools/glgen/specs/gles11/GLES10Ext.spec b/opengl/tools/glgen/specs/gles11/GLES10Ext.spec new file mode 100644 index 0000000..53f6c65 --- /dev/null +++ b/opengl/tools/glgen/specs/gles11/GLES10Ext.spec @@ -0,0 +1 @@ +GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) diff --git a/opengl/tools/glgen/specs/gles11/GLES11.spec b/opengl/tools/glgen/specs/gles11/GLES11.spec new file mode 100644 index 0000000..5527c18 --- /dev/null +++ b/opengl/tools/glgen/specs/gles11/GLES11.spec @@ -0,0 +1,44 @@ +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 ) diff --git a/opengl/tools/glgen/specs/gles11/GLES11Ext.spec b/opengl/tools/glgen/specs/gles11/GLES11Ext.spec new file mode 100644 index 0000000..cd7333a --- /dev/null +++ b/opengl/tools/glgen/specs/gles11/GLES11Ext.spec @@ -0,0 +1,90 @@ +void glBlendEquationSeparateOES ( GLenum modeRGB, GLenum modeAlpha ) +void glBlendFuncSeparateOES ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) +void glBlendEquationOES ( GLenum mode ) +void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) +void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) +void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) +void glDrawTexsvOES ( const GLshort *coords ) +void glDrawTexivOES ( const GLint *coords ) +void glDrawTexxvOES ( const GLfixed *coords ) +void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) +void glDrawTexfvOES ( const GLfloat *coords ) +void glEGLImageTargetTexture2DOES ( GLenum target, GLeglImageOES image ) +void glEGLImageTargetRenderbufferStorageOES ( GLenum target, GLeglImageOES image ) +void glAlphaFuncxOES ( GLenum func, GLclampx ref ) +void glClearColorxOES ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) +void glClearDepthxOES ( GLclampx depth ) +void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) +void glColor4xOES ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) +void glDepthRangexOES ( GLclampx zNear, GLclampx zFar ) +void glFogxOES ( GLenum pname, GLfixed param ) +void glFogxvOES ( GLenum pname, const GLfixed *params ) +void glFrustumxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) +void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) +void glGetFixedvOES ( GLenum pname, GLfixed *params ) +void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) +void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) +void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) +void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) +void glLightModelxOES ( GLenum pname, GLfixed param ) +void glLightModelxvOES ( GLenum pname, const GLfixed *params ) +void glLightxOES ( GLenum light, GLenum pname, GLfixed param ) +void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) +void glLineWidthxOES ( GLfixed width ) +void glLoadMatrixxOES ( const GLfixed *m ) +void glMaterialxOES ( GLenum face, GLenum pname, GLfixed param ) +void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) +void glMultMatrixxOES ( const GLfixed *m ) +void glMultiTexCoord4xOES ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) +void glNormal3xOES ( GLfixed nx, GLfixed ny, GLfixed nz ) +void glOrthoxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) +void glPointParameterxOES ( GLenum pname, GLfixed param ) +void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) +void glPointSizexOES ( GLfixed size ) +void glPolygonOffsetxOES ( GLfixed factor, GLfixed units ) +void glRotatexOES ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) +void glSampleCoveragexOES ( GLclampx value, GLboolean invert ) +void glScalexOES ( GLfixed x, GLfixed y, GLfixed z ) +void glTexEnvxOES ( GLenum target, GLenum pname, GLfixed param ) +void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) +void glTexParameterxOES ( GLenum target, GLenum pname, GLfixed param ) +void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) +void glTranslatexOES ( GLfixed x, GLfixed y, GLfixed z ) +GLboolean glIsRenderbufferOES ( GLuint renderbuffer ) +void glBindRenderbufferOES ( GLenum target, GLuint renderbuffer ) +void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) +void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) +void glRenderbufferStorageOES ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) +void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) +GLboolean glIsFramebufferOES ( GLuint framebuffer ) +void glBindFramebufferOES ( GLenum target, GLuint framebuffer ) +void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) +void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) +GLenum glCheckFramebufferStatusOES ( GLenum target ) +void glFramebufferRenderbufferOES ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) +void glFramebufferTexture2DOES ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) +void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) +void glGenerateMipmapOES ( GLenum target ) +// Hard to export to Java: +// void *glMapBufferOES ( GLenum target, GLenum access ) +// GLboolean glUnmapBufferOES ( GLenum target ) +// void glGetBufferPointervOES ( GLenum target, GLenum pname, void **params ) +void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) +void glLoadPaletteFromModelViewMatrixOES ( void ) +void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) +void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) +void glDepthRangefOES ( GLclampf zNear, GLclampf zFar ) +void glFrustumfOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) +void glOrthofOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) +void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) +void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) +void glClearDepthfOES ( GLclampf depth ) +void glTexGenfOES ( GLenum coord, GLenum pname, GLfloat param ) +void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) +void glTexGeniOES ( GLenum coord, GLenum pname, GLint param ) +void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) +void glTexGenxOES ( GLenum coord, GLenum pname, GLfixed param ) +void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) +void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) +void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) +void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) diff --git a/opengl/tools/glgen/specs/gles11/checks.spec b/opengl/tools/glgen/specs/gles11/checks.spec new file mode 100644 index 0000000..9ff1205 --- /dev/null +++ b/opengl/tools/glgen/specs/gles11/checks.spec @@ -0,0 +1,145 @@ +glClipPlanef check eqn 4
+glClipPlanex check eqn 4
+glGetClipPlanefOES check eqn 4
+glGetClipPlanexOES check eqn 4
+glDeleteBuffers check buffers n
+glDeleteTextures check textures n
+glDrawElements check_AIOOBE indices count
+glFog ifcheck params 1 pname GL_FOG_MODE,GL_FOG_DENSITY,GL_FOG_START,GL_FOG_END ifcheck params 4 pname GL_FOG_COLOR
+glGenBuffers check buffers n
+glGenTextures check textures n
+glGetClipPlane check eqn 4
+glGetIntegerv ifcheck params 1 pname GL_ALPHA_BITS,GL_ALPHA_TEST_FUNC,GL_ALPHA_TEST_REF,GL_BLEND_DST,GL_BLUE_BITS,GL_COLOR_ARRAY_BUFFER_BINDING,GL_COLOR_ARRAY_SIZE,GL_COLOR_ARRAY_STRIDE,GL_COLOR_ARRAY_TYPE,GL_CULL_FACE,GL_DEPTH_BITS,GL_DEPTH_CLEAR_VALUE,GL_DEPTH_FUNC,GL_DEPTH_WRITEMASK,GL_FOG_DENSITY,GL_FOG_END,GL_FOG_MODE,GL_FOG_START,GL_FRONT_FACE,GL_GREEN_BITS,GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES,GL_IMPLEMENTATION_COLOR_READ_TYPE_OES,GL_LIGHT_MODEL_TWO_SIDE,GL_LINE_SMOOTH_HINT,GL_LINE_WIDTH,GL_LOGIC_OP_MODE,GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES,GL_MATRIX_INDEX_ARRAY_SIZE_OES,GL_MATRIX_INDEX_ARRAY_STRIDE_OES,GL_MATRIX_INDEX_ARRAY_TYPE_OES,GL_MATRIX_MODE,GL_MAX_CLIP_PLANES,GL_MAX_ELEMENTS_INDICES,GL_MAX_ELEMENTS_VERTICES,GL_MAX_LIGHTS,GL_MAX_MODELVIEW_STACK_DEPTH,GL_MAX_PALETTE_MATRICES_OES,GL_MAX_PROJECTION_STACK_DEPTH,GL_MAX_TEXTURE_SIZE,GL_MAX_TEXTURE_STACK_DEPTH,GL_MAX_TEXTURE_UNITS,GL_MAX_VERTEX_UNITS_OES,GL_MODELVIEW_STACK_DEPTH,GL_NORMAL_ARRAY_BUFFER_BINDING,GL_NORMAL_ARRAY_STRIDE,GL_NORMAL_ARRAY_TYPE,GL_NUM_COMPRESSED_TEXTURE_FORMATS,GL_PACK_ALIGNMENT,GL_PERSPECTIVE_CORRECTION_HINT,GL_POINT_SIZE,GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES,GL_POINT_SIZE_ARRAY_STRIDE_OES,GL_POINT_SIZE_ARRAY_TYPE_OES,GL_POINT_SMOOTH_HINT,GL_POLYGON_OFFSET_FACTOR,GL_POLYGON_OFFSET_UNITS,GL_PROJECTION_STACK_DEPTH,GL_RED_BITS,GL_SHADE_MODEL,GL_STENCIL_BITS,GL_STENCIL_CLEAR_VALUE,GL_STENCIL_FAIL,GL_STENCIL_FUNC,GL_STENCIL_PASS_DEPTH_FAIL,GL_STENCIL_PASS_DEPTH_PASS,GL_STENCIL_REF,GL_STENCIL_VALUE_MASK,GL_STENCIL_WRITEMASK,GL_SUBPIXEL_BITS,GL_TEXTURE_BINDING_2D,GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,GL_TEXTURE_COORD_ARRAY_SIZE,GL_TEXTURE_COORD_ARRAY_STRIDE,GL_TEXTURE_COORD_ARRAY_TYPE,GL_TEXTURE_STACK_DEPTH,GL_UNPACK_ALIGNMENT,GL_VERTEX_ARRAY_BUFFER_BINDING,GL_VERTEX_ARRAY_SIZE,GL_VERTEX_ARRAY_STRIDE,GL_VERTEX_ARRAY_TYPE,GL_WEIGHT_ARRAY_BUFFER_BINDING_OES,GL_WEIGHT_ARRAY_SIZE_OES,GL_WEIGHT_ARRAY_STRIDE_OES,GL_WEIGHT_ARRAY_TYPE_OES ifcheck params 2 pname GL_ALIASED_POINT_SIZE_RANGE,GL_ALIASED_LINE_WIDTH_RANGE,GL_DEPTH_RANGE,GL_MAX_VIEWPORT_DIMS,GL_SMOOTH_LINE_WIDTH_RANGE,GL_SMOOTH_POINT_SIZE_RANGE ifcheck params 4 pname GL_COLOR_CLEAR_VALUE,GL_COLOR_WRITEMASK,GL_SCISSOR_BOX,GL_VIEWPORT ifcheck params 16 pname GL_MODELVIEW_MATRIX,GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES,GL_PROJECTION_MATRIX,GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES,GL_TEXTURE_MATRIX,GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES ifcheck params _NUM_COMPRESSED_TEXTURE_FORMATS pname GL_COMPRESSED_TEXTURE_FORMATS,GL_FOG_COLOR,GL_LIGHT_MODEL_AMBIENT
+glGetLight ifcheck params 1 pname GL_SPOT_EXPONENT,GL_SPOT_CUTOFF,GL_CONSTANT_ATTENUATION,GL_LINEAR_ATTENUATION,GL_QUADRATIC_ATTENUATION ifcheck params 3 pname GL_SPOT_DIRECTION ifcheck params 4 pname GL_AMBIENT,GL_DIFFUSE,GL_SPECULAR,GL_EMISSION
+glGetMaterial ifcheck params 1 pname GL_SHININESS ifcheck params 4 pname GL_AMBIENT,GL_DIFFUSE,GL_SPECULAR,GL_EMISSION,GL_AMBIENT_AND_DIFFUSE
+glGetTexEnv ifcheck params 1 pname GL_TEXTURE_ENV_MODE,GL_COMBINE_RGB,GL_COMBINE_ALPHA ifcheck params 4 pname GL_TEXTURE_ENV_COLOR
+glGetTexParameter check params 1
+glLightModel ifcheck params 1 pname GL_LIGHT_MODEL_TWO_SIDE ifcheck params 4 pname GL_LIGHT_MODEL_AMBIENT
+glLight ifcheck params 1 pname GL_SPOT_EXPONENT,GL_SPOT_CUTOFF,GL_CONSTANT_ATTENUATION,GL_LINEAR_ATTENUATION,GL_QUADRATIC_ATTENUATION ifcheck params 3 pname GL_SPOT_DIRECTION ifcheck params 4 pname GL_AMBIENT,GL_DIFFUSE,GL_SPECULAR,GL_EMISSION
+glLoadMatrix check m 16
+glMaterial ifcheck params 1 pname GL_SHININESS ifcheck params 4 pname GL_AMBIENT,GL_DIFFUSE,GL_SPECULAR,GL_EMISSION,GL_AMBIENT_AND_DIFFUSE
+glMultMatrix check m 16
+glPointParameter check params 1
+glTexEnv ifcheck params 1 pname GL_TEXTURE_ENV_MODE,GL_COMBINE_RGB,GL_COMBINE_ALPHA ifcheck params 4 pname GL_TEXTURE_ENV_COLOR
+glTexImage2D nullAllowed
+glTexSubImage2D nullAllowed
+glBufferData nullAllowed
+glTexParameter check params 1
+glQueryMatrixxOES check mantissa 16 check exponent 16 return -1
+glDrawTexfvOES check coords 5
+glDrawTexivOES check coords 5
+glDrawTexsvOES check coords 5
+glDrawTexxvOES check coords 5
+glBindFramebufferOES unsupported
+glBindRenderbufferOES unsupported
+glBlendEquation unsupported
+glBlendEquationSeparate unsupported
+glBlendFuncSeparate unsupported
+glCheckFramebufferStatusOES unsupported return 0
+glCurrentPaletteMatrixOES unsupported
+glDeleteFramebuffersOES unsupported
+glDeleteRenderbuffersOES unsupported
+glFramebufferRenderbufferOES unsupported
+glFramebufferStorageOES unsupported
+glFramebufferTexture2DOES unsupported
+glGenFramebuffersOES unsupported
+glGenRenderbuffersOES unsupported
+glGenerateMipmapOES unsupported
+glGetBufferParameter unsupported
+glGetFramebufferAttachmentParameterivOES unsupported
+glGetRenderbufferParameterivOES unsupported
+glGetTexGen unsupported
+glIsFramebufferOES unsupported return JNI_FALSE
+glIsRenderbufferOES unsupported return JNI_FALSE
+glLoadPaletteFromModelViewMatrixOES unsupported
+glMatrixIndexPointerOES unsupported
+glRenderbufferStorageOES unsupported return false
+glTexGen unsupported
+glTexGenf unsupported
+glTexGeni unsupported
+glTexGenx unsupported
+glWeightPointerOES unsupported
+// Lots of unsupported
+glAlphaFuncxOES unsupported
+glBlendEquationOES unsupported
+glBlendEquationSeparateOES unsupported
+glBlendFuncSeparateOES unsupported
+glClearColorxOES unsupported
+glClearDepthfOES unsupported
+glClearDepthxOES unsupported
+glClipPlanefOES unsupported
+glClipPlanefOES unsupported
+glClipPlanexOES unsupported
+glClipPlanexOES unsupported
+glColor4xOES unsupported
+glDepthRangefOES unsupported
+glDepthRangexOES unsupported
+glEGLImageTargetRenderbufferStorageOES unsupported
+glEGLImageTargetTexture2DOES unsupported
+glFogxOES unsupported
+glFogxvOES unsupported
+glFogxvOES unsupported
+glFrustumfOES unsupported
+glFrustumxOES unsupported
+glGetClipPlanefOES unsupported
+glGetClipPlanefOES unsupported
+glGetClipPlanexOES unsupported
+glGetClipPlanexOES unsupported
+glGetFixedvOES unsupported
+glGetFixedvOES unsupported
+glGetLightxvOES unsupported
+glGetLightxvOES unsupported
+glGetMaterialxvOES unsupported
+glGetMaterialxvOES unsupported
+glGetTexEnvxvOES unsupported
+glGetTexEnvxvOES unsupported
+glGetTexGenfvOES unsupported
+glGetTexGenfvOES unsupported
+glGetTexGenivOES unsupported
+glGetTexGenivOES unsupported
+glGetTexGenxvOES unsupported
+glGetTexGenxvOES unsupported
+glGetTexParameterxvOES unsupported
+glGetTexParameterxvOES unsupported
+glLightModelxOES unsupported
+glLightModelxvOES unsupported
+glLightModelxvOES unsupported
+glLightxOES unsupported
+glLightxvOES unsupported
+glLightxvOES unsupported
+glLineWidthxOES unsupported
+glLoadMatrixxOES unsupported
+glLoadMatrixxOES unsupported
+glMaterialxOES unsupported
+glMaterialxvOES unsupported
+glMaterialxvOES unsupported
+glMultMatrixxOES unsupported
+glMultMatrixxOES unsupported
+glMultiTexCoord4xOES unsupported
+glNormal3xOES unsupported
+glOrthofOES unsupported
+glOrthoxOES unsupported
+glPointParameterxOES unsupported
+glPointParameterxvOES unsupported
+glPointParameterxvOES unsupported
+glPointSizexOES unsupported
+glPolygonOffsetxOES unsupported
+glRotatexOES unsupported
+glSampleCoveragexOES unsupported
+glScalexOES unsupported
+glTexEnvxOES unsupported
+glTexEnvxvOES unsupported
+glTexEnvxvOES unsupported
+glTexGenfOES unsupported
+glTexGenfvOES unsupported
+glTexGenfvOES unsupported
+glTexGeniOES unsupported
+glTexGenivOES unsupported
+glTexGenivOES unsupported
+glTexGenxOES unsupported
+glTexGenxvOES unsupported
+glTexGenxvOES unsupported
+glTexParameterxOES unsupported
+glTexParameterxvOES unsupported
+glTexParameterxvOES unsupported
+glTranslatexOES unsupported
\ No newline at end of file diff --git a/opengl/tools/glgen/glspec-1.0 b/opengl/tools/glgen/specs/jsr239/glspec-1.0 index c442320..c442320 100644 --- a/opengl/tools/glgen/glspec-1.0 +++ b/opengl/tools/glgen/specs/jsr239/glspec-1.0 diff --git a/opengl/tools/glgen/glspec-1.0ext b/opengl/tools/glgen/specs/jsr239/glspec-1.0ext index 7d19758..7d19758 100644 --- a/opengl/tools/glgen/glspec-1.0ext +++ b/opengl/tools/glgen/specs/jsr239/glspec-1.0ext diff --git a/opengl/tools/glgen/glspec-1.1 b/opengl/tools/glgen/specs/jsr239/glspec-1.1 index 9149a7f..9149a7f 100644 --- a/opengl/tools/glgen/glspec-1.1 +++ b/opengl/tools/glgen/specs/jsr239/glspec-1.1 diff --git a/opengl/tools/glgen/glspec-1.1ext b/opengl/tools/glgen/specs/jsr239/glspec-1.1ext index cc08c73..cc08c73 100644 --- a/opengl/tools/glgen/glspec-1.1ext +++ b/opengl/tools/glgen/specs/jsr239/glspec-1.1ext diff --git a/opengl/tools/glgen/glspec-1.1extpack b/opengl/tools/glgen/specs/jsr239/glspec-1.1extpack index ca9e6d2..ca9e6d2 100644 --- a/opengl/tools/glgen/glspec-1.1extpack +++ b/opengl/tools/glgen/specs/jsr239/glspec-1.1extpack diff --git a/opengl/tools/glgen/glspec-checks b/opengl/tools/glgen/specs/jsr239/glspec-checks index a84ed653..a84ed653 100644 --- a/opengl/tools/glgen/glspec-checks +++ b/opengl/tools/glgen/specs/jsr239/glspec-checks diff --git a/opengl/tools/glgen/src/GLESCodeEmitter.java b/opengl/tools/glgen/src/GLESCodeEmitter.java new file mode 100644 index 0000000..b303503 --- /dev/null +++ b/opengl/tools/glgen/src/GLESCodeEmitter.java @@ -0,0 +1,40 @@ +import java.io.PrintStream; + +/** + * Emits a Java interface and Java & C implementation for a C function. + * + * <p> The Java interface will have Buffer and array variants for functions that + * have a typed pointer argument. The array variant will convert a single "<type> *data" + * argument to a pair of arguments "<type>[] data, int offset". + */ +public class GLESCodeEmitter extends JniCodeEmitter { + + PrintStream mJavaImplStream; + PrintStream mCStream; + + PrintStream mJavaInterfaceStream; + + /** + */ + public GLESCodeEmitter(String classPathName, + ParameterChecker checker, + PrintStream javaImplStream, + PrintStream cStream) { + mClassPathName = classPathName; + mChecker = checker; + + mJavaImplStream = javaImplStream; + mCStream = cStream; + mUseContextPointer = false; + mUseStaticMethods = true; + } + + public void emitCode(CFunc cfunc, String original) { + emitCode(cfunc, original, null, mJavaImplStream, + mCStream); + } + + public void emitNativeRegistration(String nativeRegistrationName) { + emitNativeRegistration(nativeRegistrationName, mCStream); + } +} diff --git a/opengl/tools/glgen/src/GenerateGL.java b/opengl/tools/glgen/src/GenerateGL.java index accb16e..3715a96 100644 --- a/opengl/tools/glgen/src/GenerateGL.java +++ b/opengl/tools/glgen/src/GenerateGL.java @@ -31,18 +31,18 @@ public class GenerateGL { CFunc cfunc = CFunc.parseCFunc(s); String fname = cfunc.getName(); - File f = new File("stubs/" + fname + + File f = new File("stubs/jsr239/" + fname + ".java-1" + version + "-if"); if (f.exists()) { System.out.println("Special-casing function " + fname); - copy("stubs/" + fname + + copy("stubs/jsr239/" + fname + ".java-1" + version + "-if", glStream); - copy("stubs/" + fname + ".java-impl", glImplStream); - copy("stubs/" + fname + ".cpp", cStream); + copy("stubs/jsr239/" + fname + ".java-impl", glImplStream); + copy("stubs/jsr239/" + fname + ".cpp", cStream); // Register native function names // This should be improved to require fewer discrete files - String filename = "stubs/" + fname + ".nativeReg"; + String filename = "stubs/jsr239/" + fname + ".nativeReg"; BufferedReader br = new BufferedReader(new FileReader(filename)); String nfunc; @@ -135,13 +135,13 @@ public class GenerateGL { glImplStream.println("/* //device/java/android/" + glImplFilename); cStream.println("/* //device/libs/android_runtime/" + cFilename); - copy("stubs/GL10Header.java-if", gl10Stream); - copy("stubs/GL10ExtHeader.java-if", gl10ExtStream); - copy("stubs/GL11Header.java-if", gl11Stream); - copy("stubs/GL11ExtHeader.java-if", gl11ExtStream); - copy("stubs/GL11ExtensionPackHeader.java-if", gl11ExtPackStream); - copy("stubs/GLImplHeader.java-impl", glImplStream); - copy("stubs/GLCHeader.cpp", cStream); + copy("stubs/jsr239/GL10Header.java-if", gl10Stream); + copy("stubs/jsr239/GL10ExtHeader.java-if", gl10ExtStream); + copy("stubs/jsr239/GL11Header.java-if", gl11Stream); + copy("stubs/jsr239/GL11ExtHeader.java-if", gl11ExtStream); + copy("stubs/jsr239/GL11ExtensionPackHeader.java-if", gl11ExtPackStream); + copy("stubs/jsr239/GLImplHeader.java-impl", glImplStream); + copy("stubs/jsr239/GLCHeader.cpp", cStream); emit(0, false, false, emitter, spec10Reader, gl10Stream, glImplStream, cStream); diff --git a/opengl/tools/glgen/src/GenerateGLES.java b/opengl/tools/glgen/src/GenerateGLES.java new file mode 100644 index 0000000..60775b7 --- /dev/null +++ b/opengl/tools/glgen/src/GenerateGLES.java @@ -0,0 +1,99 @@ + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintStream; + +public class GenerateGLES { + + static void copy(String filename, PrintStream out) throws IOException { + BufferedReader br = new BufferedReader(new FileReader(filename)); + String s; + while ((s = br.readLine()) != null) { + out.println(s); + } + } + + private static void emit(GLESCodeEmitter emitter, + BufferedReader specReader, + PrintStream glStream, + PrintStream cStream) throws Exception { + String s = null; + while ((s = specReader.readLine()) != null) { + if (s.trim().startsWith("//")) { + continue; + } + + CFunc cfunc = CFunc.parseCFunc(s); + + String fname = cfunc.getName(); + String stubRoot = "stubs/gles11/" + fname; + String javaPath = stubRoot + ".java"; + File f = new File(javaPath); + if (f.exists()) { + System.out.println("Special-casing function " + fname); + copy(javaPath, glStream); + copy(stubRoot + ".cpp", cStream); + + // Register native function names + // This should be improved to require fewer discrete files + String filename = stubRoot + ".nativeReg"; + BufferedReader br = + new BufferedReader(new FileReader(filename)); + String nfunc; + while ((nfunc = br.readLine()) != null) { + emitter.addNativeRegistration(nfunc); + } + } else { + emitter.emitCode(cfunc, s); + } + } + } + + public static void main(String[] args) throws Exception { + int aidx = 0; + while ((aidx < args.length) && (args[aidx].charAt(0) == '-')) { + switch (args[aidx].charAt(1)) { + default: + System.err.println("Unknown flag: " + args[aidx]); + System.exit(1); + } + + aidx++; + } + + BufferedReader checksReader = + new BufferedReader(new FileReader("specs/gles11/checks.spec")); + ParameterChecker checker = new ParameterChecker(checksReader); + + // Generate files + for(String suffix: new String[] {"GLES10", "GLES10Ext", + "GLES11", "GLES11Ext"}) + { + BufferedReader spec11Reader = + new BufferedReader(new FileReader("specs/gles11/" + + suffix + ".spec")); + String gl11Filename = "android/opengl/" + suffix + ".java"; + String gl11cFilename = "android_opengl_" + suffix + ".cpp"; + PrintStream gl11Stream = + new PrintStream(new FileOutputStream("out/" + gl11Filename)); + PrintStream gl11cStream = + new PrintStream(new FileOutputStream("out/" + gl11cFilename)); + gl11Stream.println("/*"); + gl11cStream.println("/*"); + copy("stubs/gles11/" + suffix + "Header.java-if", gl11Stream); + copy("stubs/gles11/" + suffix + "cHeader.cpp", gl11cStream); + GLESCodeEmitter emitter = new GLESCodeEmitter( + "android/opengl/" + suffix, + checker, gl11Stream, gl11cStream); + emit(emitter, spec11Reader, gl11Stream, gl11cStream); + emitter.emitNativeRegistration("register_android_opengl_jni_" + + suffix); + gl11Stream.println("}"); + gl11Stream.close(); + gl11cStream.close(); + } + } +} diff --git a/opengl/tools/glgen/src/JFunc.java b/opengl/tools/glgen/src/JFunc.java index 68f717c..63c045b 100644 --- a/opengl/tools/glgen/src/JFunc.java +++ b/opengl/tools/glgen/src/JFunc.java @@ -104,34 +104,39 @@ public class JFunc { } public static JFunc convert(CFunc cfunc, boolean useArray) { - JFunc jfunc = new JFunc(cfunc); - jfunc.setName(cfunc.getName()); - jfunc.setType(JType.convert(cfunc.getType(), false)); - - int numArgs = cfunc.getNumArgs(); - int numOffsets = 0; - for (int i = 0; i < numArgs; i++) { - CType cArgType = cfunc.getArgType(i); - if (cArgType.isTypedPointer() && useArray) { - ++numOffsets; + try { + JFunc jfunc = new JFunc(cfunc); + jfunc.setName(cfunc.getName()); + jfunc.setType(JType.convert(cfunc.getType(), false)); + + int numArgs = cfunc.getNumArgs(); + int numOffsets = 0; + for (int i = 0; i < numArgs; i++) { + CType cArgType = cfunc.getArgType(i); + if (cArgType.isTypedPointer() && useArray) { + ++numOffsets; + } } - } - - for (int i = 0; i < numArgs; i++) { - String cArgName = cfunc.getArgName(i); - CType cArgType = cfunc.getArgType(i); - jfunc.addArgument(cArgName, JType.convert(cArgType, useArray), i); - if (cArgType.isTypedPointer() && useArray) { - if (numOffsets > 1) { - jfunc.addArgument(cArgName + "Offset", new JType("int"), i); - } else { - jfunc.addArgument("offset", new JType("int"), i); + for (int i = 0; i < numArgs; i++) { + String cArgName = cfunc.getArgName(i); + CType cArgType = cfunc.getArgType(i); + + jfunc.addArgument(cArgName, JType.convert(cArgType, useArray), i); + if (cArgType.isTypedPointer() && useArray) { + if (numOffsets > 1) { + jfunc.addArgument(cArgName + "Offset", new JType("int"), i); + } else { + jfunc.addArgument("offset", new JType("int"), i); + } } } - } - return jfunc; + return jfunc; + } catch (RuntimeException e) { + System.err.println("Failed to convert function " + cfunc); + throw e; + } } @Override diff --git a/opengl/tools/glgen/src/JType.java b/opengl/tools/glgen/src/JType.java index 5ad0e54..df1177b 100644 --- a/opengl/tools/glgen/src/JType.java +++ b/opengl/tools/glgen/src/JType.java @@ -36,6 +36,8 @@ public class JType { 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("GLeglImageOES", false, false), + new JType("java.nio.Buffer", true, false)); // Typed pointers map to typed Buffers typeMapping.put(new CType("GLboolean", false, true), diff --git a/opengl/tools/glgen/src/JniCodeEmitter.java b/opengl/tools/glgen/src/JniCodeEmitter.java index 9d37607..ef0dbd0 100644 --- a/opengl/tools/glgen/src/JniCodeEmitter.java +++ b/opengl/tools/glgen/src/JniCodeEmitter.java @@ -8,6 +8,7 @@ public class JniCodeEmitter { static final boolean mUseCPlusPlus = true; protected boolean mUseContextPointer = true; + protected boolean mUseStaticMethods = false; protected String mClassPathName; protected ParameterChecker mChecker; protected List<String> nativeRegistrations = new ArrayList<String>(); @@ -67,7 +68,9 @@ public class JniCodeEmitter { emitNativeDeclaration(jfunc, javaImplStream); emitJavaCode(jfunc, javaImplStream); } - emitJavaInterfaceCode(jfunc, javaInterfaceStream); + if (javaInterfaceStream != null) { + emitJavaInterfaceCode(jfunc, javaInterfaceStream); + } if (!duplicate) { emitJniCode(jfunc, cStream); } @@ -86,7 +89,9 @@ public class JniCodeEmitter { if (!duplicate) { emitNativeDeclaration(jfunc, javaImplStream); } - emitJavaInterfaceCode(jfunc, javaInterfaceStream); + if (javaInterfaceStream != null) { + emitJavaInterfaceCode(jfunc, javaInterfaceStream); + } if (!duplicate) { emitJavaCode(jfunc, javaImplStream); emitJniCode(jfunc, cStream); @@ -405,18 +410,20 @@ public class JniCodeEmitter { return; } + String maybeStatic = mUseStaticMethods ? "static " : ""; + if (isPointerFunc) { out.println(indent + - (nativeDecl ? "private native " : - (interfaceDecl ? "" : "public ")) + + (nativeDecl ? "private " + maybeStatic +"native " : + (interfaceDecl ? "" : "public ") + maybeStatic) + jfunc.getType() + " " + jfunc.getName() + (nativeDecl ? "Bounds" : "") + "("); } else { out.println(indent + - (nativeDecl ? "public native " : - (interfaceDecl ? "" : "public ")) + + (nativeDecl ? "public " + maybeStatic +"native " : + (interfaceDecl ? "" : "public ") + maybeStatic) + jfunc.getType() + " " + jfunc.getName() + "("); @@ -508,7 +515,8 @@ public class JniCodeEmitter { nativeRegistrations.add(s); } - public void emitNativeRegistration(PrintStream cStream) { + public void emitNativeRegistration(String registrationFunctionName, + PrintStream cStream) { cStream.println("static const char *classPathName = \"" + mClassPathName + "\";"); @@ -527,7 +535,7 @@ public class JniCodeEmitter { cStream.println(); - cStream.println("int register_com_google_android_gles_jni_GLImpl(JNIEnv *_env)"); + cStream.println("int " + registrationFunctionName + "(JNIEnv *_env)"); cStream.println("{"); cStream.println(indent + "int err;"); diff --git a/opengl/tools/glgen/src/Jsr239CodeEmitter.java b/opengl/tools/glgen/src/Jsr239CodeEmitter.java index eff0447..335d226 100644 --- a/opengl/tools/glgen/src/Jsr239CodeEmitter.java +++ b/opengl/tools/glgen/src/Jsr239CodeEmitter.java @@ -69,6 +69,6 @@ public class Jsr239CodeEmitter extends JniCodeEmitter implements CodeEmitter { } public void emitNativeRegistration() { - emitNativeRegistration(mCStream); + emitNativeRegistration("register_com_google_android_gles_jni_GLImpl", mCStream); } } diff --git a/opengl/tools/glgen/stubs/gles11/GLES10ExtHeader.java-if b/opengl/tools/glgen/stubs/gles11/GLES10ExtHeader.java-if new file mode 100644 index 0000000..42891ea --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES10ExtHeader.java-if @@ -0,0 +1,26 @@ +** +** Copyright 2009, 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; + +public class GLES10Ext { + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } +
\ No newline at end of file diff --git a/opengl/tools/glgen/stubs/gles11/GLES10ExtcHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES10ExtcHeader.cpp new file mode 100644 index 0000000..3e5c19c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES10ExtcHeader.cpp @@ -0,0 +1,129 @@ +** +** Copyright 2009, 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 <android_runtime/AndroidRuntime.h> +#include <utils/misc.h> + +#include <assert.h> +#include <GLES/gl.h> + +#include <private/opengles/gl_context.h> + +#define _NUM_COMPRESSED_TEXTURE_FORMATS \ + (::android::OGLES_NUM_COMPRESSED_TEXTURE_FORMATS) + +static int initialized = 0; + +static jclass nioAccessClass; +static jclass bufferClass; +static jclass OOMEClass; +static jclass UOEClass; +static jclass IAEClass; +static jclass AIOOBEClass; +static jmethodID getBasePointerID; +static jmethodID getBaseArrayID; +static jmethodID getBaseArrayOffsetID; +static jfieldID positionID; +static jfieldID limitID; +static jfieldID elementSizeShiftID; + +/* Cache method IDs each time the class is loaded. */ + +static void +nativeClassInitBuffer(JNIEnv *_env) +{ + jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); + nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); + + jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); + bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); + + getBasePointerID = _env->GetStaticMethodID(nioAccessClass, + "getBasePointer", "(Ljava/nio/Buffer;)J"); + getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); + getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); + + positionID = _env->GetFieldID(bufferClass, "position", "I"); + limitID = _env->GetFieldID(bufferClass, "limit", "I"); + elementSizeShiftID = + _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); +} + + +static void +nativeClassInit(JNIEnv *_env, jclass glImplClass) +{ + nativeClassInitBuffer(_env); + + jclass IAEClassLocal = + _env->FindClass("java/lang/IllegalArgumentException"); + jclass OOMEClassLocal = + _env->FindClass("java/lang/OutOfMemoryError"); + jclass UOEClassLocal = + _env->FindClass("java/lang/UnsupportedOperationException"); + jclass AIOOBEClassLocal = + _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); + + IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); + OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); + UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); + AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); +} + +static void * +getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) +{ + jint position; + jint limit; + jint elementSizeShift; + jlong pointer; + jint offset; + void *data; + + position = _env->GetIntField(buffer, positionID); + limit = _env->GetIntField(buffer, limitID); + elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); + *remaining = (limit - position) << elementSizeShift; + pointer = _env->CallStaticLongMethod(nioAccessClass, + getBasePointerID, buffer); + if (pointer != 0L) { + *array = NULL; + return (void *) (jint) pointer; + } + + *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, + getBaseArrayID, buffer); + offset = _env->CallStaticIntMethod(nioAccessClass, + getBaseArrayOffsetID, buffer); + data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); + + return (void *) ((char *) data + offset); +} + + +static void +releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) +{ + _env->ReleasePrimitiveArrayCritical(array, data, + commit ? 0 : JNI_ABORT); +} + +// -------------------------------------------------------------------------- + diff --git a/opengl/tools/glgen/stubs/gles11/GLES10Header.java-if b/opengl/tools/glgen/stubs/gles11/GLES10Header.java-if new file mode 100644 index 0000000..4b2a831 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES10Header.java-if @@ -0,0 +1,271 @@ +** +** Copyright 2009, 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; + +import java.nio.Buffer; + +public class GLES10 { + public static final int GL_ADD = 0x0104; + public static final int GL_ALIASED_LINE_WIDTH_RANGE = 0x846E; + public static final int GL_ALIASED_POINT_SIZE_RANGE = 0x846D; + public static final int GL_ALPHA = 0x1906; + public static final int GL_ALPHA_BITS = 0x0D55; + public static final int GL_ALPHA_TEST = 0x0BC0; + public static final int GL_ALWAYS = 0x0207; + public static final int GL_AMBIENT = 0x1200; + public static final int GL_AMBIENT_AND_DIFFUSE = 0x1602; + public static final int GL_AND = 0x1501; + public static final int GL_AND_INVERTED = 0x1504; + public static final int GL_AND_REVERSE = 0x1502; + public static final int GL_BACK = 0x0405; + public static final int GL_BLEND = 0x0BE2; + public static final int GL_BLUE_BITS = 0x0D54; + public static final int GL_BYTE = 0x1400; + public static final int GL_CCW = 0x0901; + public static final int GL_CLAMP_TO_EDGE = 0x812F; + public static final int GL_CLEAR = 0x1500; + public static final int GL_COLOR_ARRAY = 0x8076; + public static final int GL_COLOR_BUFFER_BIT = 0x4000; + public static final int GL_COLOR_LOGIC_OP = 0x0BF2; + public static final int GL_COLOR_MATERIAL = 0x0B57; + public static final int GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3; + public static final int GL_CONSTANT_ATTENUATION = 0x1207; + public static final int GL_COPY = 0x1503; + public static final int GL_COPY_INVERTED = 0x150C; + public static final int GL_CULL_FACE = 0x0B44; + public static final int GL_CW = 0x0900; + public static final int GL_DECAL = 0x2101; + public static final int GL_DECR = 0x1E03; + public static final int GL_DEPTH_BITS = 0x0D56; + public static final int GL_DEPTH_BUFFER_BIT = 0x0100; + public static final int GL_DEPTH_TEST = 0x0B71; + public static final int GL_DIFFUSE = 0x1201; + public static final int GL_DITHER = 0x0BD0; + public static final int GL_DONT_CARE = 0x1100; + public static final int GL_DST_ALPHA = 0x0304; + public static final int GL_DST_COLOR = 0x0306; + public static final int GL_EMISSION = 0x1600; + public static final int GL_EQUAL = 0x0202; + public static final int GL_EQUIV = 0x1509; + public static final int GL_EXP = 0x0800; + public static final int GL_EXP2 = 0x0801; + public static final int GL_EXTENSIONS = 0x1F03; + public static final int GL_FALSE = 0; + public static final int GL_FASTEST = 0x1101; + public static final int GL_FIXED = 0x140C; + public static final int GL_FLAT = 0x1D00; + public static final int GL_FLOAT = 0x1406; + public static final int GL_FOG = 0x0B60; + public static final int GL_FOG_COLOR = 0x0B66; + public static final int GL_FOG_DENSITY = 0x0B62; + public static final int GL_FOG_END = 0x0B64; + public static final int GL_FOG_HINT = 0x0C54; + public static final int GL_FOG_MODE = 0x0B65; + public static final int GL_FOG_START = 0x0B63; + public static final int GL_FRONT = 0x0404; + public static final int GL_FRONT_AND_BACK = 0x0408; + public static final int GL_GEQUAL = 0x0206; + public static final int GL_GREATER = 0x0204; + public static final int GL_GREEN_BITS = 0x0D53; + public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; + public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; + public static final int GL_INCR = 0x1E02; + public static final int GL_INVALID_ENUM = 0x0500; + public static final int GL_INVALID_OPERATION = 0x0502; + public static final int GL_INVALID_VALUE = 0x0501; + public static final int GL_INVERT = 0x150A; + public static final int GL_KEEP = 0x1E00; + public static final int GL_LEQUAL = 0x0203; + public static final int GL_LESS = 0x0201; + public static final int GL_LIGHT_MODEL_AMBIENT = 0x0B53; + public static final int GL_LIGHT_MODEL_TWO_SIDE = 0x0B52; + public static final int GL_LIGHT0 = 0x4000; + public static final int GL_LIGHT1 = 0x4001; + public static final int GL_LIGHT2 = 0x4002; + public static final int GL_LIGHT3 = 0x4003; + public static final int GL_LIGHT4 = 0x4004; + public static final int GL_LIGHT5 = 0x4005; + public static final int GL_LIGHT6 = 0x4006; + public static final int GL_LIGHT7 = 0x4007; + public static final int GL_LIGHTING = 0x0B50; + public static final int GL_LINE_LOOP = 0x0002; + public static final int GL_LINE_SMOOTH = 0x0B20; + public static final int GL_LINE_SMOOTH_HINT = 0x0C52; + public static final int GL_LINE_STRIP = 0x0003; + public static final int GL_LINEAR = 0x2601; + public static final int GL_LINEAR_ATTENUATION = 0x1208; + public static final int GL_LINEAR_MIPMAP_LINEAR = 0x2703; + public static final int GL_LINEAR_MIPMAP_NEAREST = 0x2701; + public static final int GL_LINES = 0x0001; + public static final int GL_LUMINANCE = 0x1909; + public static final int GL_LUMINANCE_ALPHA = 0x190A; + public static final int GL_MAX_ELEMENTS_INDICES = 0x80E9; + public static final int GL_MAX_ELEMENTS_VERTICES = 0x80E8; + public static final int GL_MAX_LIGHTS = 0x0D31; + public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36; + public static final int GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38; + public static final int GL_MAX_TEXTURE_SIZE = 0x0D33; + public static final int GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39; + public static final int GL_MAX_TEXTURE_UNITS = 0x84E2; + public static final int GL_MAX_VIEWPORT_DIMS = 0x0D3A; + public static final int GL_MODELVIEW = 0x1700; + public static final int GL_MODULATE = 0x2100; + public static final int GL_MULTISAMPLE = 0x809D; + public static final int GL_NAND = 0x150E; + public static final int GL_NEAREST = 0x2600; + public static final int GL_NEAREST_MIPMAP_LINEAR = 0x2702; + public static final int GL_NEAREST_MIPMAP_NEAREST = 0x2700; + public static final int GL_NEVER = 0x0200; + public static final int GL_NICEST = 0x1102; + public static final int GL_NO_ERROR = 0; + public static final int GL_NOOP = 0x1505; + public static final int GL_NOR = 0x1508; + public static final int GL_NORMAL_ARRAY = 0x8075; + public static final int GL_NORMALIZE = 0x0BA1; + public static final int GL_NOTEQUAL = 0x0205; + public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; + public static final int GL_ONE = 1; + public static final int GL_ONE_MINUS_DST_ALPHA = 0x0305; + public static final int GL_ONE_MINUS_DST_COLOR = 0x0307; + public static final int GL_ONE_MINUS_SRC_ALPHA = 0x0303; + public static final int GL_ONE_MINUS_SRC_COLOR = 0x0301; + public static final int GL_OR = 0x1507; + public static final int GL_OR_INVERTED = 0x150D; + public static final int GL_OR_REVERSE = 0x150B; + public static final int GL_OUT_OF_MEMORY = 0x0505; + public static final int GL_PACK_ALIGNMENT = 0x0D05; + public static final int GL_PALETTE4_R5_G6_B5_OES = 0x8B92; + public static final int GL_PALETTE4_RGB5_A1_OES = 0x8B94; + public static final int GL_PALETTE4_RGB8_OES = 0x8B90; + public static final int GL_PALETTE4_RGBA4_OES = 0x8B93; + public static final int GL_PALETTE4_RGBA8_OES = 0x8B91; + public static final int GL_PALETTE8_R5_G6_B5_OES = 0x8B97; + public static final int GL_PALETTE8_RGB5_A1_OES = 0x8B99; + public static final int GL_PALETTE8_RGB8_OES = 0x8B95; + public static final int GL_PALETTE8_RGBA4_OES = 0x8B98; + public static final int GL_PALETTE8_RGBA8_OES = 0x8B96; + public static final int GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50; + public static final int GL_POINT_SMOOTH = 0x0B10; + public static final int GL_POINT_SMOOTH_HINT = 0x0C51; + public static final int GL_POINTS = 0x0000; + public static final int GL_POINT_FADE_THRESHOLD_SIZE = 0x8128; + public static final int GL_POINT_SIZE = 0x0B11; + public static final int GL_POLYGON_OFFSET_FILL = 0x8037; + public static final int GL_POLYGON_SMOOTH_HINT = 0x0C53; + public static final int GL_POSITION = 0x1203; + public static final int GL_PROJECTION = 0x1701; + public static final int GL_QUADRATIC_ATTENUATION = 0x1209; + public static final int GL_RED_BITS = 0x0D52; + public static final int GL_RENDERER = 0x1F01; + public static final int GL_REPEAT = 0x2901; + public static final int GL_REPLACE = 0x1E01; + public static final int GL_RESCALE_NORMAL = 0x803A; + public static final int GL_RGB = 0x1907; + public static final int GL_RGBA = 0x1908; + public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E; + public static final int GL_SAMPLE_ALPHA_TO_ONE = 0x809F; + public static final int GL_SAMPLE_COVERAGE = 0x80A0; + public static final int GL_SCISSOR_TEST = 0x0C11; + public static final int GL_SET = 0x150F; + public static final int GL_SHININESS = 0x1601; + public static final int GL_SHORT = 0x1402; + public static final int GL_SMOOTH = 0x1D01; + public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22; + public static final int GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12; + public static final int GL_SPECULAR = 0x1202; + public static final int GL_SPOT_CUTOFF = 0x1206; + public static final int GL_SPOT_DIRECTION = 0x1204; + public static final int GL_SPOT_EXPONENT = 0x1205; + public static final int GL_SRC_ALPHA = 0x0302; + public static final int GL_SRC_ALPHA_SATURATE = 0x0308; + public static final int GL_SRC_COLOR = 0x0300; + public static final int GL_STACK_OVERFLOW = 0x0503; + public static final int GL_STACK_UNDERFLOW = 0x0504; + public static final int GL_STENCIL_BITS = 0x0D57; + public static final int GL_STENCIL_BUFFER_BIT = 0x0400; + public static final int GL_STENCIL_TEST = 0x0B90; + public static final int GL_SUBPIXEL_BITS = 0x0D50; + public static final int GL_TEXTURE = 0x1702; + public static final int GL_TEXTURE_2D = 0x0DE1; + public static final int GL_TEXTURE_COORD_ARRAY = 0x8078; + public static final int GL_TEXTURE_ENV = 0x2300; + public static final int GL_TEXTURE_ENV_COLOR = 0x2201; + public static final int GL_TEXTURE_ENV_MODE = 0x2200; + public static final int GL_TEXTURE_MAG_FILTER = 0x2800; + public static final int GL_TEXTURE_MIN_FILTER = 0x2801; + public static final int GL_TEXTURE_WRAP_S = 0x2802; + public static final int GL_TEXTURE_WRAP_T = 0x2803; + public static final int GL_TEXTURE0 = 0x84C0; + public static final int GL_TEXTURE1 = 0x84C1; + public static final int GL_TEXTURE2 = 0x84C2; + public static final int GL_TEXTURE3 = 0x84C3; + public static final int GL_TEXTURE4 = 0x84C4; + public static final int GL_TEXTURE5 = 0x84C5; + public static final int GL_TEXTURE6 = 0x84C6; + public static final int GL_TEXTURE7 = 0x84C7; + public static final int GL_TEXTURE8 = 0x84C8; + public static final int GL_TEXTURE9 = 0x84C9; + public static final int GL_TEXTURE10 = 0x84CA; + public static final int GL_TEXTURE11 = 0x84CB; + public static final int GL_TEXTURE12 = 0x84CC; + public static final int GL_TEXTURE13 = 0x84CD; + public static final int GL_TEXTURE14 = 0x84CE; + public static final int GL_TEXTURE15 = 0x84CF; + public static final int GL_TEXTURE16 = 0x84D0; + public static final int GL_TEXTURE17 = 0x84D1; + public static final int GL_TEXTURE18 = 0x84D2; + public static final int GL_TEXTURE19 = 0x84D3; + public static final int GL_TEXTURE20 = 0x84D4; + public static final int GL_TEXTURE21 = 0x84D5; + public static final int GL_TEXTURE22 = 0x84D6; + public static final int GL_TEXTURE23 = 0x84D7; + public static final int GL_TEXTURE24 = 0x84D8; + public static final int GL_TEXTURE25 = 0x84D9; + public static final int GL_TEXTURE26 = 0x84DA; + public static final int GL_TEXTURE27 = 0x84DB; + public static final int GL_TEXTURE28 = 0x84DC; + public static final int GL_TEXTURE29 = 0x84DD; + public static final int GL_TEXTURE30 = 0x84DE; + public static final int GL_TEXTURE31 = 0x84DF; + public static final int GL_TRIANGLE_FAN = 0x0006; + public static final int GL_TRIANGLE_STRIP = 0x0005; + public static final int GL_TRIANGLES = 0x0004; + public static final int GL_TRUE = 1; + public static final int GL_UNPACK_ALIGNMENT = 0x0CF5; + public static final int GL_UNSIGNED_BYTE = 0x1401; + public static final int GL_UNSIGNED_SHORT = 0x1403; + public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033; + public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034; + public static final int GL_UNSIGNED_SHORT_5_6_5 = 0x8363; + public static final int GL_VENDOR = 0x1F00; + public static final int GL_VERSION = 0x1F02; + public static final int GL_VERTEX_ARRAY = 0x8074; + public static final int GL_XOR = 0x1506; + public static final int GL_ZERO = 0; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + private static Buffer _colorPointer; + private static Buffer _normalPointer; + private static Buffer _texCoordPointer; + private static Buffer _vertexPointer; + diff --git a/opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp new file mode 100644 index 0000000..3e5c19c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp @@ -0,0 +1,129 @@ +** +** Copyright 2009, 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 <android_runtime/AndroidRuntime.h> +#include <utils/misc.h> + +#include <assert.h> +#include <GLES/gl.h> + +#include <private/opengles/gl_context.h> + +#define _NUM_COMPRESSED_TEXTURE_FORMATS \ + (::android::OGLES_NUM_COMPRESSED_TEXTURE_FORMATS) + +static int initialized = 0; + +static jclass nioAccessClass; +static jclass bufferClass; +static jclass OOMEClass; +static jclass UOEClass; +static jclass IAEClass; +static jclass AIOOBEClass; +static jmethodID getBasePointerID; +static jmethodID getBaseArrayID; +static jmethodID getBaseArrayOffsetID; +static jfieldID positionID; +static jfieldID limitID; +static jfieldID elementSizeShiftID; + +/* Cache method IDs each time the class is loaded. */ + +static void +nativeClassInitBuffer(JNIEnv *_env) +{ + jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); + nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); + + jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); + bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); + + getBasePointerID = _env->GetStaticMethodID(nioAccessClass, + "getBasePointer", "(Ljava/nio/Buffer;)J"); + getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); + getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); + + positionID = _env->GetFieldID(bufferClass, "position", "I"); + limitID = _env->GetFieldID(bufferClass, "limit", "I"); + elementSizeShiftID = + _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); +} + + +static void +nativeClassInit(JNIEnv *_env, jclass glImplClass) +{ + nativeClassInitBuffer(_env); + + jclass IAEClassLocal = + _env->FindClass("java/lang/IllegalArgumentException"); + jclass OOMEClassLocal = + _env->FindClass("java/lang/OutOfMemoryError"); + jclass UOEClassLocal = + _env->FindClass("java/lang/UnsupportedOperationException"); + jclass AIOOBEClassLocal = + _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); + + IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); + OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); + UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); + AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); +} + +static void * +getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) +{ + jint position; + jint limit; + jint elementSizeShift; + jlong pointer; + jint offset; + void *data; + + position = _env->GetIntField(buffer, positionID); + limit = _env->GetIntField(buffer, limitID); + elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); + *remaining = (limit - position) << elementSizeShift; + pointer = _env->CallStaticLongMethod(nioAccessClass, + getBasePointerID, buffer); + if (pointer != 0L) { + *array = NULL; + return (void *) (jint) pointer; + } + + *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, + getBaseArrayID, buffer); + offset = _env->CallStaticIntMethod(nioAccessClass, + getBaseArrayOffsetID, buffer); + data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); + + return (void *) ((char *) data + offset); +} + + +static void +releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) +{ + _env->ReleasePrimitiveArrayCritical(array, data, + commit ? 0 : JNI_ABORT); +} + +// -------------------------------------------------------------------------- + diff --git a/opengl/tools/glgen/stubs/gles11/GLES11ExtHeader.java-if b/opengl/tools/glgen/stubs/gles11/GLES11ExtHeader.java-if new file mode 100644 index 0000000..428ccee --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES11ExtHeader.java-if @@ -0,0 +1,130 @@ +** +** Copyright 2009, 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; + +public class GLES11Ext { + public static final int GL_BLEND_EQUATION_RGB_OES = 0x8009; + public static final int GL_BLEND_EQUATION_ALPHA_OES = 0x883D; + public static final int GL_BLEND_DST_RGB_OES = 0x80C8; + public static final int GL_BLEND_SRC_RGB_OES = 0x80C9; + public static final int GL_BLEND_DST_ALPHA_OES = 0x80CA; + public static final int GL_BLEND_SRC_ALPHA_OES = 0x80CB; + public static final int GL_BLEND_EQUATION_OES = 0x8009; + public static final int GL_FUNC_ADD_OES = 0x8006; + public static final int GL_FUNC_SUBTRACT_OES = 0x800A; + public static final int GL_FUNC_REVERSE_SUBTRACT_OES = 0x800B; + public static final int GL_ETC1_RGB8_OES = 0x8D64; + public static final int GL_DEPTH_COMPONENT24_OES = 0x81A6; + public static final int GL_DEPTH_COMPONENT32_OES = 0x81A7; + public static final int GL_TEXTURE_CROP_RECT_OES = 0x8B9D; + public static final int GL_FIXED_OES = 0x140C; + public static final int GL_NONE_OES = 0; + public static final int GL_FRAMEBUFFER_OES = 0x8D40; + public static final int GL_RENDERBUFFER_OES = 0x8D41; + public static final int GL_RGBA4_OES = 0x8056; + public static final int GL_RGB5_A1_OES = 0x8057; + public static final int GL_RGB565_OES = 0x8D62; + public static final int GL_DEPTH_COMPONENT16_OES = 0x81A5; + public static final int GL_RENDERBUFFER_WIDTH_OES = 0x8D42; + public static final int GL_RENDERBUFFER_HEIGHT_OES = 0x8D43; + public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44; + public static final int GL_RENDERBUFFER_RED_SIZE_OES = 0x8D50; + public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51; + public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52; + public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53; + public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54; + public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55; + public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0; + public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3; + public static final int GL_COLOR_ATTACHMENT0_OES = 0x8CE0; + public static final int GL_DEPTH_ATTACHMENT_OES = 0x8D00; + public static final int GL_STENCIL_ATTACHMENT_OES = 0x8D20; + public static final int GL_FRAMEBUFFER_COMPLETE_OES = 0x8CD5; + public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6; + public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7; + public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9; + public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA; + public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD; + public static final int GL_FRAMEBUFFER_BINDING_OES = 0x8CA6; + public static final int GL_RENDERBUFFER_BINDING_OES = 0x8CA7; + public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 0x84E8; + public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506; + public static final int GL_WRITE_ONLY_OES = 0x88B9; + public static final int GL_BUFFER_ACCESS_OES = 0x88BB; + public static final int GL_BUFFER_MAPPED_OES = 0x88BC; + public static final int GL_BUFFER_MAP_POINTER_OES = 0x88BD; + public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D; + public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E; + public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F; + public static final int GL_MAX_VERTEX_UNITS_OES = 0x86A4; + public static final int GL_MAX_PALETTE_MATRICES_OES = 0x8842; + public static final int GL_MATRIX_PALETTE_OES = 0x8840; + public static final int GL_MATRIX_INDEX_ARRAY_OES = 0x8844; + public static final int GL_WEIGHT_ARRAY_OES = 0x86AD; + public static final int GL_CURRENT_PALETTE_MATRIX_OES = 0x8843; + public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846; + public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847; + public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848; + public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849; + public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E; + public static final int GL_WEIGHT_ARRAY_SIZE_OES = 0x86AB; + public static final int GL_WEIGHT_ARRAY_TYPE_OES = 0x86A9; + public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 0x86AA; + public static final int GL_WEIGHT_ARRAY_POINTER_OES = 0x86AC; + public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E; + public static final int GL_DEPTH_STENCIL_OES = 0x84F9; + public static final int GL_UNSIGNED_INT_24_8_OES = 0x84FA; + public static final int GL_DEPTH24_STENCIL8_OES = 0x88F0; + public static final int GL_RGB8_OES = 0x8051; + public static final int GL_RGBA8_OES = 0x8058; + public static final int GL_STENCIL_INDEX1_OES = 0x8D46; + public static final int GL_STENCIL_INDEX4_OES = 0x8D47; + public static final int GL_STENCIL_INDEX8_OES = 0x8D48; + public static final int GL_INCR_WRAP_OES = 0x8507; + public static final int GL_DECR_WRAP_OES = 0x8508; + public static final int GL_NORMAL_MAP_OES = 0x8511; + public static final int GL_REFLECTION_MAP_OES = 0x8512; + public static final int GL_TEXTURE_CUBE_MAP_OES = 0x8513; + public static final int GL_TEXTURE_BINDING_CUBE_MAP_OES = 0x8514; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A; + public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C; + public static final int GL_TEXTURE_GEN_MODE_OES = 0x2500; + public static final int GL_TEXTURE_GEN_STR_OES = 0x8D60; + public static final int GL_MIRRORED_REPEAT_OES = 0x8370; + public static final int GL_3DC_X_AMD = 0x87F9; + public static final int GL_3DC_XY_AMD = 0x87FA; + public static final int GL_ATC_RGB_AMD = 0x8C92; + public static final int GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93; + public static final int GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE; + public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; + public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; + public static final int GL_BGRA = 0x80E1; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } +
\ No newline at end of file diff --git a/opengl/tools/glgen/stubs/gles11/GLES11ExtcHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES11ExtcHeader.cpp new file mode 100644 index 0000000..3e5c19c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES11ExtcHeader.cpp @@ -0,0 +1,129 @@ +** +** Copyright 2009, 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 <android_runtime/AndroidRuntime.h> +#include <utils/misc.h> + +#include <assert.h> +#include <GLES/gl.h> + +#include <private/opengles/gl_context.h> + +#define _NUM_COMPRESSED_TEXTURE_FORMATS \ + (::android::OGLES_NUM_COMPRESSED_TEXTURE_FORMATS) + +static int initialized = 0; + +static jclass nioAccessClass; +static jclass bufferClass; +static jclass OOMEClass; +static jclass UOEClass; +static jclass IAEClass; +static jclass AIOOBEClass; +static jmethodID getBasePointerID; +static jmethodID getBaseArrayID; +static jmethodID getBaseArrayOffsetID; +static jfieldID positionID; +static jfieldID limitID; +static jfieldID elementSizeShiftID; + +/* Cache method IDs each time the class is loaded. */ + +static void +nativeClassInitBuffer(JNIEnv *_env) +{ + jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); + nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); + + jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); + bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); + + getBasePointerID = _env->GetStaticMethodID(nioAccessClass, + "getBasePointer", "(Ljava/nio/Buffer;)J"); + getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); + getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); + + positionID = _env->GetFieldID(bufferClass, "position", "I"); + limitID = _env->GetFieldID(bufferClass, "limit", "I"); + elementSizeShiftID = + _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); +} + + +static void +nativeClassInit(JNIEnv *_env, jclass glImplClass) +{ + nativeClassInitBuffer(_env); + + jclass IAEClassLocal = + _env->FindClass("java/lang/IllegalArgumentException"); + jclass OOMEClassLocal = + _env->FindClass("java/lang/OutOfMemoryError"); + jclass UOEClassLocal = + _env->FindClass("java/lang/UnsupportedOperationException"); + jclass AIOOBEClassLocal = + _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); + + IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); + OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); + UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); + AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); +} + +static void * +getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) +{ + jint position; + jint limit; + jint elementSizeShift; + jlong pointer; + jint offset; + void *data; + + position = _env->GetIntField(buffer, positionID); + limit = _env->GetIntField(buffer, limitID); + elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); + *remaining = (limit - position) << elementSizeShift; + pointer = _env->CallStaticLongMethod(nioAccessClass, + getBasePointerID, buffer); + if (pointer != 0L) { + *array = NULL; + return (void *) (jint) pointer; + } + + *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, + getBaseArrayID, buffer); + offset = _env->CallStaticIntMethod(nioAccessClass, + getBaseArrayOffsetID, buffer); + data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); + + return (void *) ((char *) data + offset); +} + + +static void +releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) +{ + _env->ReleasePrimitiveArrayCritical(array, data, + commit ? 0 : JNI_ABORT); +} + +// -------------------------------------------------------------------------- + diff --git a/opengl/tools/glgen/stubs/gles11/GLES11Header.java-if b/opengl/tools/glgen/stubs/gles11/GLES11Header.java-if new file mode 100644 index 0000000..26f466f --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES11Header.java-if @@ -0,0 +1,151 @@ +** +** Copyright 2009, 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; + +import java.nio.Buffer; + +public class GLES11 extends GLES10 { + public static final int GL_ACTIVE_TEXTURE = 0x84E0; + public static final int GL_ADD_SIGNED = 0x8574; + public static final int GL_ALPHA_SCALE = 0x0D1C; + public static final int GL_ALPHA_TEST_FUNC = 0x0BC1; + public static final int GL_ALPHA_TEST_REF = 0x0BC2; + public static final int GL_ARRAY_BUFFER = 0x8892; + public static final int GL_ARRAY_BUFFER_BINDING = 0x8894; + public static final int GL_BLEND_DST = 0x0BE0; + public static final int GL_BLEND_SRC = 0x0BE1; + public static final int GL_BUFFER_ACCESS = 0x88BB; + public static final int GL_BUFFER_SIZE = 0x8764; + public static final int GL_BUFFER_USAGE = 0x8765; + public static final int GL_CLIENT_ACTIVE_TEXTURE = 0x84E1; + public static final int GL_CLIP_PLANE0 = 0x3000; + public static final int GL_CLIP_PLANE1 = 0x3001; + public static final int GL_CLIP_PLANE2 = 0x3002; + public static final int GL_CLIP_PLANE3 = 0x3003; + public static final int GL_CLIP_PLANE4 = 0x3004; + public static final int GL_CLIP_PLANE5 = 0x3005; + public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898; + public static final int GL_COLOR_ARRAY_POINTER = 0x8090; + public static final int GL_COLOR_ARRAY_SIZE = 0x8081; + public static final int GL_COLOR_ARRAY_STRIDE = 0x8083; + public static final int GL_COLOR_ARRAY_TYPE = 0x8082; + public static final int GL_COLOR_CLEAR_VALUE = 0x0C22; + public static final int GL_COLOR_WRITEMASK = 0x0C23; + public static final int GL_COMBINE = 0x8570; + public static final int GL_COMBINE_ALPHA = 0x8572; + public static final int GL_COMBINE_RGB = 0x8571; + public static final int GL_CONSTANT = 0x8576; + public static final int GL_COORD_REPLACE_OES = 0x8862; + public static final int GL_CULL_FACE_MODE = 0x0B45; + public static final int GL_CURRENT_COLOR = 0x0B00; + public static final int GL_CURRENT_NORMAL = 0x0B02; + public static final int GL_CURRENT_TEXTURE_COORDS = 0x0B03; + public static final int GL_DEPTH_CLEAR_VALUE = 0x0B73; + public static final int GL_DEPTH_FUNC = 0x0B74; + public static final int GL_DEPTH_RANGE = 0x0B70; + public static final int GL_DEPTH_WRITEMASK = 0x0B72; + public static final int GL_DOT3_RGB = 0x86AE; + public static final int GL_DOT3_RGBA = 0x86AF; + public static final int GL_DYNAMIC_DRAW = 0x88E8; + public static final int GL_ELEMENT_ARRAY_BUFFER = 0x8893; + public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; + public static final int GL_FRONT_FACE = 0x0B46; + public static final int GL_GENERATE_MIPMAP = 0x8191; + public static final int GL_GENERATE_MIPMAP_HINT = 0x8192; + public static final int GL_INTERPOLATE = 0x8575; + public static final int GL_LINE_WIDTH = 0x0B21; + public static final int GL_LOGIC_OP_MODE = 0x0BF0; + public static final int GL_MATRIX_MODE = 0x0BA0; + public static final int GL_MAX_CLIP_PLANES = 0x0D32; + public static final int GL_MODELVIEW_MATRIX = 0x0BA6; + public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D; + public static final int GL_MODELVIEW_STACK_DEPTH = 0x0BA3; + public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897; + public static final int GL_NORMAL_ARRAY_POINTER = 0x808F; + public static final int GL_NORMAL_ARRAY_STRIDE = 0x807F; + public static final int GL_NORMAL_ARRAY_TYPE = 0x807E; + public static final int GL_OPERAND0_ALPHA = 0x8598; + public static final int GL_OPERAND0_RGB = 0x8590; + public static final int GL_OPERAND1_ALPHA = 0x8599; + public static final int GL_OPERAND1_RGB = 0x8591; + public static final int GL_OPERAND2_ALPHA = 0x859A; + public static final int GL_OPERAND2_RGB = 0x8592; + public static final int GL_POINT_DISTANCE_ATTENUATION = 0x8129; + public static final int GL_POINT_FADE_THRESHOLD_SIZE = 0x8128; + public static final int GL_POINT_SIZE = 0x0B11; + public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F; + public static final int GL_POINT_SIZE_ARRAY_OES = 0x8B9C; + public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 0x898C; + public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 0x898B; + public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 0x898A; + public static final int GL_POINT_SIZE_MAX = 0x8127; + public static final int GL_POINT_SIZE_MIN = 0x8126; + public static final int GL_POINT_SPRITE_OES = 0x8861; + public static final int GL_POLYGON_OFFSET_FACTOR = 0x8038; + public static final int GL_POLYGON_OFFSET_UNITS = 0x2A00; + public static final int GL_PREVIOUS = 0x8578; + public static final int GL_PRIMARY_COLOR = 0x8577; + public static final int GL_PROJECTION_MATRIX = 0x0BA7; + public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E; + public static final int GL_PROJECTION_STACK_DEPTH = 0x0BA4; + public static final int GL_RGB_SCALE = 0x8573; + public static final int GL_SAMPLE_BUFFERS = 0x80A8; + public static final int GL_SAMPLE_COVERAGE_INVERT = 0x80AB; + public static final int GL_SAMPLE_COVERAGE_VALUE = 0x80AA; + public static final int GL_SAMPLES = 0x80A9; + public static final int GL_SCISSOR_BOX = 0x0C10; + public static final int GL_SHADE_MODEL = 0x0B54; + public static final int GL_SRC0_ALPHA = 0x8588; + public static final int GL_SRC0_RGB = 0x8580; + public static final int GL_SRC1_ALPHA = 0x8589; + public static final int GL_SRC1_RGB = 0x8581; + public static final int GL_SRC2_ALPHA = 0x858A; + public static final int GL_SRC2_RGB = 0x8582; + public static final int GL_STATIC_DRAW = 0x88E4; + public static final int GL_STENCIL_CLEAR_VALUE = 0x0B91; + public static final int GL_STENCIL_FAIL = 0x0B94; + public static final int GL_STENCIL_FUNC = 0x0B92; + public static final int GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95; + public static final int GL_STENCIL_PASS_DEPTH_PASS = 0x0B96; + public static final int GL_STENCIL_REF = 0x0B97; + public static final int GL_STENCIL_VALUE_MASK = 0x0B93; + public static final int GL_STENCIL_WRITEMASK = 0x0B98; + public static final int GL_SUBTRACT = 0x84E7; + public static final int GL_TEXTURE_BINDING_2D = 0x8069; + public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A; + public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092; + public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088; + public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A; + public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089; + public static final int GL_TEXTURE_MATRIX = 0x0BA8; + public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F; + public static final int GL_TEXTURE_STACK_DEPTH = 0x0BA5; + public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896; + public static final int GL_VERTEX_ARRAY_POINTER = 0x808E; + public static final int GL_VERTEX_ARRAY_SIZE = 0x807A; + public static final int GL_VERTEX_ARRAY_STRIDE = 0x807C; + public static final int GL_VERTEX_ARRAY_TYPE = 0x807B; + public static final int GL_VIEWPORT = 0x0BA2; + public static final int GL_WRITE_ONLY = 0x88B9; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + diff --git a/opengl/tools/glgen/stubs/gles11/GLES11cHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES11cHeader.cpp new file mode 100644 index 0000000..3e5c19c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES11cHeader.cpp @@ -0,0 +1,129 @@ +** +** Copyright 2009, 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 <android_runtime/AndroidRuntime.h> +#include <utils/misc.h> + +#include <assert.h> +#include <GLES/gl.h> + +#include <private/opengles/gl_context.h> + +#define _NUM_COMPRESSED_TEXTURE_FORMATS \ + (::android::OGLES_NUM_COMPRESSED_TEXTURE_FORMATS) + +static int initialized = 0; + +static jclass nioAccessClass; +static jclass bufferClass; +static jclass OOMEClass; +static jclass UOEClass; +static jclass IAEClass; +static jclass AIOOBEClass; +static jmethodID getBasePointerID; +static jmethodID getBaseArrayID; +static jmethodID getBaseArrayOffsetID; +static jfieldID positionID; +static jfieldID limitID; +static jfieldID elementSizeShiftID; + +/* Cache method IDs each time the class is loaded. */ + +static void +nativeClassInitBuffer(JNIEnv *_env) +{ + jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); + nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); + + jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); + bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); + + getBasePointerID = _env->GetStaticMethodID(nioAccessClass, + "getBasePointer", "(Ljava/nio/Buffer;)J"); + getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); + getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); + + positionID = _env->GetFieldID(bufferClass, "position", "I"); + limitID = _env->GetFieldID(bufferClass, "limit", "I"); + elementSizeShiftID = + _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); +} + + +static void +nativeClassInit(JNIEnv *_env, jclass glImplClass) +{ + nativeClassInitBuffer(_env); + + jclass IAEClassLocal = + _env->FindClass("java/lang/IllegalArgumentException"); + jclass OOMEClassLocal = + _env->FindClass("java/lang/OutOfMemoryError"); + jclass UOEClassLocal = + _env->FindClass("java/lang/UnsupportedOperationException"); + jclass AIOOBEClassLocal = + _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); + + IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); + OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); + UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); + AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); +} + +static void * +getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) +{ + jint position; + jint limit; + jint elementSizeShift; + jlong pointer; + jint offset; + void *data; + + position = _env->GetIntField(buffer, positionID); + limit = _env->GetIntField(buffer, limitID); + elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); + *remaining = (limit - position) << elementSizeShift; + pointer = _env->CallStaticLongMethod(nioAccessClass, + getBasePointerID, buffer); + if (pointer != 0L) { + *array = NULL; + return (void *) (jint) pointer; + } + + *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, + getBaseArrayID, buffer); + offset = _env->CallStaticIntMethod(nioAccessClass, + getBaseArrayOffsetID, buffer); + data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); + + return (void *) ((char *) data + offset); +} + + +static void +releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) +{ + _env->ReleasePrimitiveArrayCritical(array, data, + commit ? 0 : JNI_ABORT); +} + +// -------------------------------------------------------------------------- + diff --git a/opengl/tools/glgen/stubs/glGetString.cpp b/opengl/tools/glgen/stubs/gles11/glGetString.cpp index 22e1297..a400859 100644 --- a/opengl/tools/glgen/stubs/glGetString.cpp +++ b/opengl/tools/glgen/stubs/gles11/glGetString.cpp @@ -1,6 +1,7 @@ #include <string.h>
/* const GLubyte * glGetString ( GLenum name ) */
+static
jstring
android_glGetString
(JNIEnv *_env, jobject _this, jint name) {
diff --git a/opengl/tools/glgen/stubs/glGetString.java-impl b/opengl/tools/glgen/stubs/gles11/glGetString.java index 8c7881c..8c7881c 100644 --- a/opengl/tools/glgen/stubs/glGetString.java-impl +++ b/opengl/tools/glgen/stubs/gles11/glGetString.java diff --git a/opengl/tools/glgen/stubs/glGetString.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetString.nativeReg index e64187c..e64187c 100644 --- a/opengl/tools/glgen/stubs/glGetString.nativeReg +++ b/opengl/tools/glgen/stubs/gles11/glGetString.nativeReg diff --git a/opengl/tools/glgen/stubs/GL10ExtHeader.java-if b/opengl/tools/glgen/stubs/jsr239/GL10ExtHeader.java-if index b0999c2..b0999c2 100644 --- a/opengl/tools/glgen/stubs/GL10ExtHeader.java-if +++ b/opengl/tools/glgen/stubs/jsr239/GL10ExtHeader.java-if diff --git a/opengl/tools/glgen/stubs/GL10Header.java-if b/opengl/tools/glgen/stubs/jsr239/GL10Header.java-if index 8392821..8392821 100644 --- a/opengl/tools/glgen/stubs/GL10Header.java-if +++ b/opengl/tools/glgen/stubs/jsr239/GL10Header.java-if diff --git a/opengl/tools/glgen/stubs/GL11ExtHeader.java-if b/opengl/tools/glgen/stubs/jsr239/GL11ExtHeader.java-if index 7be2164..7be2164 100644 --- a/opengl/tools/glgen/stubs/GL11ExtHeader.java-if +++ b/opengl/tools/glgen/stubs/jsr239/GL11ExtHeader.java-if diff --git a/opengl/tools/glgen/stubs/GL11ExtensionPackHeader.java-if b/opengl/tools/glgen/stubs/jsr239/GL11ExtensionPackHeader.java-if index a800191..a800191 100644 --- a/opengl/tools/glgen/stubs/GL11ExtensionPackHeader.java-if +++ b/opengl/tools/glgen/stubs/jsr239/GL11ExtensionPackHeader.java-if diff --git a/opengl/tools/glgen/stubs/GL11Header.java-if b/opengl/tools/glgen/stubs/jsr239/GL11Header.java-if index b0e5a6b..b0e5a6b 100644 --- a/opengl/tools/glgen/stubs/GL11Header.java-if +++ b/opengl/tools/glgen/stubs/jsr239/GL11Header.java-if diff --git a/opengl/tools/glgen/stubs/GL11ImplHeader.java-impl b/opengl/tools/glgen/stubs/jsr239/GL11ImplHeader.java-impl index 501be65..501be65 100644 --- a/opengl/tools/glgen/stubs/GL11ImplHeader.java-impl +++ b/opengl/tools/glgen/stubs/jsr239/GL11ImplHeader.java-impl diff --git a/opengl/tools/glgen/stubs/GLCHeader.cpp b/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp index 6495686..4636081 100644 --- a/opengl/tools/glgen/stubs/GLCHeader.cpp +++ b/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp @@ -44,7 +44,7 @@ static jfieldID elementSizeShiftID; /* Cache method IDs each time the class is loaded. */ -void +static void nativeClassInitBuffer(JNIEnv *_env) { jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); diff --git a/opengl/tools/glgen/stubs/GLHeader.java-if b/opengl/tools/glgen/stubs/jsr239/GLHeader.java-if index 3b78f3d..3b78f3d 100644 --- a/opengl/tools/glgen/stubs/GLHeader.java-if +++ b/opengl/tools/glgen/stubs/jsr239/GLHeader.java-if diff --git a/opengl/tools/glgen/stubs/GLImplHeader.java-impl b/opengl/tools/glgen/stubs/jsr239/GLImplHeader.java-impl index db3a41c..db3a41c 100644 --- a/opengl/tools/glgen/stubs/GLImplHeader.java-impl +++ b/opengl/tools/glgen/stubs/jsr239/GLImplHeader.java-impl diff --git a/opengl/tools/glgen/stubs/jsr239/glGetString.cpp b/opengl/tools/glgen/stubs/jsr239/glGetString.cpp new file mode 100644 index 0000000..a400859 --- /dev/null +++ b/opengl/tools/glgen/stubs/jsr239/glGetString.cpp @@ -0,0 +1,11 @@ +#include <string.h>
+
+/* const GLubyte * glGetString ( GLenum name ) */
+static
+jstring
+android_glGetString
+ (JNIEnv *_env, jobject _this, jint name) {
+ const char * chars = (const char *)glGetString((GLenum)name);
+ jstring output = _env->NewStringUTF(chars);
+ return output;
+}
diff --git a/opengl/tools/glgen/stubs/glGetString.java-10-if b/opengl/tools/glgen/stubs/jsr239/glGetString.java-10-if index 898fabc..898fabc 100644 --- a/opengl/tools/glgen/stubs/glGetString.java-10-if +++ b/opengl/tools/glgen/stubs/jsr239/glGetString.java-10-if diff --git a/opengl/tools/glgen/stubs/glGetString.java-if b/opengl/tools/glgen/stubs/jsr239/glGetString.java-if index 898fabc..898fabc 100644 --- a/opengl/tools/glgen/stubs/glGetString.java-if +++ b/opengl/tools/glgen/stubs/jsr239/glGetString.java-if diff --git a/opengl/tools/glgen/stubs/jsr239/glGetString.java-impl b/opengl/tools/glgen/stubs/jsr239/glGetString.java-impl new file mode 100644 index 0000000..8c7881c --- /dev/null +++ b/opengl/tools/glgen/stubs/jsr239/glGetString.java-impl @@ -0,0 +1,16 @@ + // C function const GLubyte * glGetString ( GLenum name )
+
+ public native String _glGetString(
+ int name
+ );
+
+ public String glGetString(
+ int name
+ ) {
+ String returnValue;
+ returnValue = _glGetString(
+ name
+ );
+ return returnValue;
+ }
+
diff --git a/opengl/tools/glgen/stubs/jsr239/glGetString.nativeReg b/opengl/tools/glgen/stubs/jsr239/glGetString.nativeReg new file mode 100644 index 0000000..e64187c --- /dev/null +++ b/opengl/tools/glgen/stubs/jsr239/glGetString.nativeReg @@ -0,0 +1 @@ +{"_glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString },
|