#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; }