summaryrefslogtreecommitdiffstats
path: root/opengl/libagl2/src/get.cpp
blob: 13c28ce012dcb1e0f967f3d2582bb94b247f54f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#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;
}