| #include "gles2context.h" |
| |
| static char const * const gVendorString = "Android"; |
| static char const * const gRendererString = "Android PixelFlinger2 0.0"; |
| static char const * const gVersionString = "OpenGL ES 2.0"; |
| static char const * const gExtensionsString = |
| // "GL_OES_byte_coordinates " // OK |
| // "GL_OES_fixed_point " // OK |
| // "GL_OES_single_precision " // OK |
| // "GL_OES_read_format " // OK |
| // "GL_OES_compressed_paletted_texture " // OK |
| // "GL_OES_draw_texture " // OK |
| // "GL_OES_matrix_get " // OK |
| // "GL_OES_query_matrix " // OK |
| // // "GL_OES_point_size_array " // TODO |
| // // "GL_OES_point_sprite " // TODO |
| // "GL_OES_EGL_image " // OK |
| //#ifdef GL_OES_compressed_ETC1_RGB8_texture |
| // "GL_OES_compressed_ETC1_RGB8_texture " // OK |
| //#endif |
| // "GL_ARB_texture_compression " // OK |
| // "GL_ARB_texture_non_power_of_two " // OK |
| // "GL_ANDROID_user_clip_plane " // OK |
| // "GL_ANDROID_vertex_buffer_object " // OK |
| // "GL_ANDROID_generate_mipmap " // OK |
| "" |
| ; |
| |
| void glGetIntegerv(GLenum pname, GLint* params) |
| { |
| switch (pname) { |
| case GL_MAX_TEXTURE_SIZE : |
| *params = 4096; // limit is in precision of texcoord calculation, which uses 16.16 |
| break; |
| case GL_MAX_VERTEX_ATTRIBS: |
| *params = GGL_MAXVERTEXATTRIBS; |
| break; |
| case GL_MAX_VERTEX_UNIFORM_VECTORS: |
| *params = GGL_MAXVERTEXUNIFORMVECTORS; |
| break; |
| case GL_MAX_VARYING_VECTORS: |
| *params = GGL_MAXVARYINGVECTORS; |
| break; |
| case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: |
| *params = GGL_MAXCOMBINEDTEXTUREIMAGEUNITS; |
| break; |
| case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: |
| *params = GGL_MAXVERTEXTEXTUREIMAGEUNITS; |
| break; |
| case GL_MAX_TEXTURE_IMAGE_UNITS: |
| *params = GGL_MAXTEXTUREIMAGEUNITS; |
| break; |
| case GL_MAX_FRAGMENT_UNIFORM_VECTORS: |
| *params = GGL_MAXFRAGMENTUNIFORMVECTORS; |
| break; |
| case GL_ALIASED_LINE_WIDTH_RANGE: |
| *params = 1; // TODO: not implemented |
| break; |
| default: |
| LOGD("agl2: glGetIntegerv 0x%.4X", pname); |
| assert(0); |
| } |
| } |
| |
| const GLubyte* glGetString(GLenum name) |
| { |
| switch (name) { |
| case GL_VENDOR: |
| return (const GLubyte*)gVendorString; |
| case GL_RENDERER: |
| return (const GLubyte*)gRendererString; |
| case GL_VERSION: |
| return (const GLubyte*)gVersionString; |
| case GL_EXTENSIONS: |
| return (const GLubyte*)gExtensionsString; |
| } |
| assert(0); //(c, GL_INVALID_ENUM); |
| return 0; |
| } |