• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "gles2context.h"
2 
3 static char const * const gVendorString     = "Android";
4 static char const * const gRendererString   = "Android PixelFlinger2 0.0";
5 static char const * const gVersionString    = "OpenGL ES 2.0";
6 static char const * const gExtensionsString =
7 //   "GL_OES_byte_coordinates "              // OK
8 //   "GL_OES_fixed_point "                   // OK
9 //   "GL_OES_single_precision "              // OK
10 //   "GL_OES_read_format "                   // OK
11 //   "GL_OES_compressed_paletted_texture "   // OK
12 //   "GL_OES_draw_texture "                  // OK
13 //   "GL_OES_matrix_get "                    // OK
14 //   "GL_OES_query_matrix "                  // OK
15 //   //        "GL_OES_point_size_array "              // TODO
16 //   //        "GL_OES_point_sprite "                  // TODO
17 //   "GL_OES_EGL_image "                     // OK
18 //#ifdef GL_OES_compressed_ETC1_RGB8_texture
19 //   "GL_OES_compressed_ETC1_RGB8_texture "  // OK
20 //#endif
21 //   "GL_ARB_texture_compression "           // OK
22 //   "GL_ARB_texture_non_power_of_two "      // OK
23 //   "GL_ANDROID_user_clip_plane "           // OK
24 //   "GL_ANDROID_vertex_buffer_object "      // OK
25 //   "GL_ANDROID_generate_mipmap "           // OK
26    ""
27    ;
28 
glGetIntegerv(GLenum pname,GLint * params)29 void glGetIntegerv(GLenum pname, GLint* params)
30 {
31    switch (pname) {
32    case GL_MAX_TEXTURE_SIZE :
33       *params = 4096; // limit is in precision of texcoord calculation, which uses 16.16
34       break;
35    case GL_MAX_VERTEX_ATTRIBS:
36       *params = GGL_MAXVERTEXATTRIBS;
37       break;
38    case GL_MAX_VERTEX_UNIFORM_VECTORS:
39       *params = GGL_MAXVERTEXUNIFORMVECTORS;
40       break;
41    case GL_MAX_VARYING_VECTORS:
42       *params = GGL_MAXVARYINGVECTORS;
43       break;
44    case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
45       *params = GGL_MAXCOMBINEDTEXTUREIMAGEUNITS;
46       break;
47    case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
48       *params = GGL_MAXVERTEXTEXTUREIMAGEUNITS;
49       break;
50    case GL_MAX_TEXTURE_IMAGE_UNITS:
51       *params = GGL_MAXTEXTUREIMAGEUNITS;
52       break;
53    case GL_MAX_FRAGMENT_UNIFORM_VECTORS:
54       *params = GGL_MAXFRAGMENTUNIFORMVECTORS;
55       break;
56    case GL_ALIASED_LINE_WIDTH_RANGE:
57       *params = 1; // TODO: not implemented
58       break;
59    default:
60       LOGD("agl2: glGetIntegerv 0x%.4X", pname);
61       assert(0);
62    }
63 }
64 
glGetString(GLenum name)65 const GLubyte* glGetString(GLenum name)
66 {
67    switch (name) {
68    case GL_VENDOR:
69       return (const GLubyte*)gVendorString;
70    case GL_RENDERER:
71       return (const GLubyte*)gRendererString;
72    case GL_VERSION:
73       return (const GLubyte*)gVersionString;
74    case GL_EXTENSIONS:
75       return (const GLubyte*)gExtensionsString;
76    }
77    assert(0); //(c, GL_INVALID_ENUM);
78    return 0;
79 }
80