**
** 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();
    }

    private static Buffer _pointSizePointerOES;
