You are not logged in.

#1 2014-09-05 07:39:13

authentec
Member
Registered: 2008-06-16
Posts: 18

Failure creating Opengl ES 2 context on the desktop

It appears that it is not possible to create an opengl ES2 context using EGL on my arch machine.
I found the small mesa demo below online and tried to test it but it always fails right where it checks if EGL_CONTEXT_CLIENT_VERSION is 2.
I compiled with gcc -o gles2  gles2.c -lEGL -lm -lX11 -lGLESv2 (or -lGL ... fails either way)

/**************************************************************************
 *
 * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
 * All Rights Reserved.
 *
 **************************************************************************/

/*
 * Draw a triangle with X/EGL and OpenGL ES 2.x
 */

#define USE_FULL_GL 0



#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/keysym.h>
#if USE_FULL_GL
#include "gl_wrap.h"  /* use full OpenGL */
#else
#include <GLES2/gl2.h>  /* use OpenGL ES 2.x */
#endif
#include <EGL/egl.h>


#define FLOAT_TO_FIXED(X)   ((X) * 65535.0)



static GLfloat view_rotx = 0.0, view_roty = 0.0;

static GLint u_matrix = -1;
static GLint attr_pos = 0, attr_color = 1;


static void
make_z_rot_matrix(GLfloat angle, GLfloat *m)
{
   float c = cos(angle * M_PI / 180.0);
   float s = sin(angle * M_PI / 180.0);
   int i;
   for (i = 0; i < 16; i++)
      m[i] = 0.0;
   m[0] = m[5] = m[10] = m[15] = 1.0;

   m[0] = c;
   m[1] = s;
   m[4] = -s;
   m[5] = c;
}

static void
make_scale_matrix(GLfloat xs, GLfloat ys, GLfloat zs, GLfloat *m)
{
   int i;
   for (i = 0; i < 16; i++)
      m[i] = 0.0;
   m[0] = xs;
   m[5] = ys;
   m[10] = zs;
   m[15] = 1.0;
}


static void
mul_matrix(GLfloat *prod, const GLfloat *a, const GLfloat *b)
{
#define A(row,col)  a[(col<<2)+row]
#define B(row,col)  b[(col<<2)+row]
#define P(row,col)  p[(col<<2)+row]
   GLfloat p[16];
   GLint i;
   for (i = 0; i < 4; i++) {
      const GLfloat ai0=A(i,0),  ai1=A(i,1),  ai2=A(i,2),  ai3=A(i,3);
      P(i,0) = ai0 * B(0,0) + ai1 * B(1,0) + ai2 * B(2,0) + ai3 * B(3,0);
      P(i,1) = ai0 * B(0,1) + ai1 * B(1,1) + ai2 * B(2,1) + ai3 * B(3,1);
      P(i,2) = ai0 * B(0,2) + ai1 * B(1,2) + ai2 * B(2,2) + ai3 * B(3,2);
      P(i,3) = ai0 * B(0,3) + ai1 * B(1,3) + ai2 * B(2,3) + ai3 * B(3,3);
   }
   memcpy(prod, p, sizeof(p));
#undef A
#undef B
#undef PROD
}


static void
draw(void)
{
   static const GLfloat verts[3][2] = {
      { -1, -1 },
      {  1, -1 },
      {  0,  1 }
   };
   static const GLfloat colors[3][3] = {
      { 1, 0, 0 },
      { 0, 1, 0 },
      { 0, 0, 1 }
   };
   GLfloat mat[16], rot[16], scale[16];

   /* Set modelview/projection matrix */
   make_z_rot_matrix(view_rotx, rot);
   make_scale_matrix(0.5, 0.5, 0.5, scale);
   mul_matrix(mat, rot, scale);
   glUniformMatrix4fv(u_matrix, 1, GL_FALSE, mat);

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   {
      glVertexAttribPointer(attr_pos, 2, GL_FLOAT, GL_FALSE, 0, verts);
      glVertexAttribPointer(attr_color, 3, GL_FLOAT, GL_FALSE, 0, colors);
      glEnableVertexAttribArray(attr_pos);
      glEnableVertexAttribArray(attr_color);

      glDrawArrays(GL_TRIANGLES, 0, 3);

      glDisableVertexAttribArray(attr_pos);
      glDisableVertexAttribArray(attr_color);
   }
}


/* new window size or exposure */
static void
reshape(int width, int height)
{
   glViewport(0, 0, (GLint) width, (GLint) height);
}


static void
create_shaders(void)
{
   static const char *fragShaderText =
      "precision mediump float;\n"
      "varying vec4 v_color;\n"
      "void main() {\n"
      "   gl_FragColor = v_color;\n"
      "}\n";
   static const char *vertShaderText =
      "uniform mat4 modelviewProjection;\n"
      "attribute vec4 pos;\n"
      "attribute vec4 color;\n"
      "varying vec4 v_color;\n"
      "void main() {\n"
      "   gl_Position = modelviewProjection * pos;\n"
      "   v_color = color;\n"
      "}\n";

   GLuint fragShader, vertShader, program;
   GLint stat;

   fragShader = glCreateShader(GL_FRAGMENT_SHADER);
   glShaderSource(fragShader, 1, (const char **) &fragShaderText, NULL);
   glCompileShader(fragShader);
   glGetShaderiv(fragShader, GL_COMPILE_STATUS, &stat);
   if (!stat) {
      printf("Error: fragment shader did not compile!\n");
      exit(1);
   }

   vertShader = glCreateShader(GL_VERTEX_SHADER);
   glShaderSource(vertShader, 1, (const char **) &vertShaderText, NULL);
   glCompileShader(vertShader);
   glGetShaderiv(vertShader, GL_COMPILE_STATUS, &stat);
   if (!stat) {
      printf("Error: vertex shader did not compile!\n");
      exit(1);
   }

   program = glCreateProgram();
   glAttachShader(program, fragShader);
   glAttachShader(program, vertShader);
   glLinkProgram(program);

   glGetProgramiv(program, GL_LINK_STATUS, &stat);
   if (!stat) {
      char log[1000];
      GLsizei len;
      glGetProgramInfoLog(program, 1000, &len, log);
      printf("Error: linking:\n%s\n", log);
      exit(1);
   }

   glUseProgram(program);

   if (1) {
      /* test setting attrib locations */
      glBindAttribLocation(program, attr_pos, "pos");
      glBindAttribLocation(program, attr_color, "color");
      glLinkProgram(program);  /* needed to put attribs into effect */
   }
   else {
      /* test automatic attrib locations */
      attr_pos = glGetAttribLocation(program, "pos");
      attr_color = glGetAttribLocation(program, "color");
   }

   u_matrix = glGetUniformLocation(program, "modelviewProjection");
   printf("Uniform modelviewProjection at %d\n", u_matrix);
   printf("Attrib pos at %d\n", attr_pos);
   printf("Attrib color at %d\n", attr_color);
}


static void
init(void)
{
   typedef void (*proc)();

#if 1 /* test code */
   proc p = eglGetProcAddress("glMapBufferOES");
   assert(p);
#endif

   glClearColor(0.4, 0.4, 0.4, 0.0);

   create_shaders();
}


/*
 * Create an RGB, double-buffered X window.
 * Return the window and context handles.
 */
static void
make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
              const char *name,
              int x, int y, int width, int height,
              Window *winRet,
              EGLContext *ctxRet,
              EGLSurface *surfRet)
{
   static const EGLint attribs[] = {
      EGL_RED_SIZE, 1,
      EGL_GREEN_SIZE, 1,
      EGL_BLUE_SIZE, 1,
      EGL_DEPTH_SIZE, 1,
      EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
      EGL_NONE
   };
#if USE_FULL_GL
   static const EGLint ctx_attribs[] = {
       EGL_NONE
   };
#else
   static const EGLint ctx_attribs[] = {
      EGL_CONTEXT_CLIENT_VERSION, 2,
      EGL_NONE
   };
#endif

   int scrnum;
   XSetWindowAttributes attr;
   unsigned long mask;
   Window root;
   Window win;
   XVisualInfo *visInfo, visTemplate;
   int num_visuals;
   EGLContext ctx;
   EGLConfig config;
   EGLint num_configs;
   EGLint vid;

   scrnum = DefaultScreen( x_dpy );
   root = RootWindow( x_dpy, scrnum );

   if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
      printf("Error: couldn't get an EGL visual config\n");
      exit(1);
   }

   assert(config);
   assert(num_configs > 0);

   if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
      printf("Error: eglGetConfigAttrib() failed\n");
      exit(1);
   }

   /* The X window visual must match the EGL config */
   visTemplate.visualid = vid;
   visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals);
   if (!visInfo) {
      printf("Error: couldn't get X visual\n");
      exit(1);
   }

   /* window attributes */
   attr.background_pixel = 0;
   attr.border_pixel = 0;
   attr.colormap = XCreateColormap( x_dpy, root, visInfo->visual, AllocNone);
   attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
   mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;

   win = XCreateWindow( x_dpy, root, 0, 0, width, height,
		        0, visInfo->depth, InputOutput,
		        visInfo->visual, mask, &attr );

   /* set hints and properties */
   {
      XSizeHints sizehints;
      sizehints.x = x;
      sizehints.y = y;
      sizehints.width  = width;
      sizehints.height = height;
      sizehints.flags = USSize | USPosition;
      XSetNormalHints(x_dpy, win, &sizehints);
      XSetStandardProperties(x_dpy, win, name, name,
                              None, (char **)NULL, 0, &sizehints);
   }

#if USE_FULL_GL /* XXX fix this when eglBindAPI() works */
   eglBindAPI(EGL_OPENGL_API);
#else
   eglBindAPI(EGL_OPENGL_ES_API);
#endif

   ctx = eglCreateContext(egl_dpy, config, EGL_NO_CONTEXT, ctx_attribs );
   if (!ctx) {
      printf("Error: eglCreateContext failed\n");
      exit(1);
   }

#if !USE_FULL_GL
   /* test eglQueryContext() */
   {
      EGLint val;
      eglQueryContext(egl_dpy, ctx, EGL_CONTEXT_CLIENT_VERSION, &val);
      assert(val == 2);
   }
#endif

   *surfRet = eglCreateWindowSurface(egl_dpy, config, win, NULL);
   if (!*surfRet) {
      printf("Error: eglCreateWindowSurface failed\n");
      exit(1);
   }

   /* sanity checks */
   {
      EGLint val;
      eglQuerySurface(egl_dpy, *surfRet, EGL_WIDTH, &val);
      assert(val == width);
      eglQuerySurface(egl_dpy, *surfRet, EGL_HEIGHT, &val);
      assert(val == height);
      assert(eglGetConfigAttrib(egl_dpy, config, EGL_SURFACE_TYPE, &val));
      assert(val & EGL_WINDOW_BIT);
   }

   XFree(visInfo);

   *winRet = win;
   *ctxRet = ctx;
}


static void
event_loop(Display *dpy, Window win,
           EGLDisplay egl_dpy, EGLSurface egl_surf)
{
   while (1) {
      int redraw = 0;
      XEvent event;

      XNextEvent(dpy, &event);

      switch (event.type) {
      case Expose:
         redraw = 1;
         break;
      case ConfigureNotify:
         reshape(event.xconfigure.width, event.xconfigure.height);
         break;
      case KeyPress:
         {
            char buffer[10];
            int r, code;
            code = XLookupKeysym(&event.xkey, 0);
            if (code == XK_Left) {
               view_roty += 5.0;
            }
            else if (code == XK_Right) {
               view_roty -= 5.0;
            }
            else if (code == XK_Up) {
               view_rotx += 5.0;
            }
            else if (code == XK_Down) {
               view_rotx -= 5.0;
            }
            else {
               r = XLookupString(&event.xkey, buffer, sizeof(buffer),
                                 NULL, NULL);
               if (buffer[0] == 27) {
                  /* escape */
                  return;
               }
            }
         }
         redraw = 1;
         break;
      default:
         ; /*no-op*/
      }

      if (redraw) {
         draw();
         eglSwapBuffers(egl_dpy, egl_surf);
      }
   }
}


static void
usage(void)
{
   printf("Usage:\n");
   printf("  -display <displayname>  set the display to run on\n");
   printf("  -info                   display OpenGL renderer info\n");
}


int
main(int argc, char *argv[])
{
   const int winWidth = 300, winHeight = 300;
   Display *x_dpy;
   Window win;
   EGLSurface egl_surf;
   EGLContext egl_ctx;
   EGLDisplay egl_dpy;
   char *dpyName = NULL;
   GLboolean printInfo = GL_FALSE;
   EGLint egl_major, egl_minor;
   int i;
   const char *s;

   for (i = 1; i < argc; i++) {
      if (strcmp(argv[i], "-display") == 0) {
         dpyName = argv[i+1];
         i++;
      }
      else if (strcmp(argv[i], "-info") == 0) {
         printInfo = GL_TRUE;
      }
      else {
         usage();
         return -1;
      }
   }

   x_dpy = XOpenDisplay(dpyName);
   if (!x_dpy) {
      printf("Error: couldn't open display %s\n",
	     dpyName ? dpyName : getenv("DISPLAY"));
      return -1;
   }

   egl_dpy = eglGetDisplay(x_dpy);
   if (!egl_dpy) {
      printf("Error: eglGetDisplay() failed\n");
      return -1;
   }

   if (!eglInitialize(egl_dpy, &egl_major, &egl_minor)) {
      printf("Error: eglInitialize() failed\n");
      return -1;
   }

   s = eglQueryString(egl_dpy, EGL_VERSION);
   printf("EGL_VERSION = %s\n", s);

   s = eglQueryString(egl_dpy, EGL_VENDOR);
   printf("EGL_VENDOR = %s\n", s);

   s = eglQueryString(egl_dpy, EGL_EXTENSIONS);
   printf("EGL_EXTENSIONS = %s\n", s);

   s = eglQueryString(egl_dpy, EGL_CLIENT_APIS);
   printf("EGL_CLIENT_APIS = %s\n", s);

   make_x_window(x_dpy, egl_dpy,
                 "OpenGL ES 2.x tri", 0, 0, winWidth, winHeight,
                 &win, &egl_ctx, &egl_surf);

   XMapWindow(x_dpy, win);
   if (!eglMakeCurrent(egl_dpy, egl_surf, egl_surf, egl_ctx)) {
      printf("Error: eglMakeCurrent() failed\n");
      return -1;
   }

   if (printInfo) {
      printf("GL_RENDERER   = %s\n", (char *) glGetString(GL_RENDERER));
      printf("GL_VERSION    = %s\n", (char *) glGetString(GL_VERSION));
      printf("GL_VENDOR     = %s\n", (char *) glGetString(GL_VENDOR));
      printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
   }

   init();

   /* Set initial projection/viewing transformation.
    * We can't be sure we'll get a ConfigureNotify event when the window
    * first appears.
    */
   reshape(winWidth, winHeight);

   event_loop(x_dpy, win, egl_dpy, egl_surf);

   eglDestroyContext(egl_dpy, egl_ctx);
   eglDestroySurface(egl_dpy, egl_surf);
   eglTerminate(egl_dpy);


   XDestroyWindow(x_dpy, win);
   XCloseDisplay(x_dpy);

   return 0;
}

I have an nvidia card with the nvidia blob.
The opengl ES part of glxinfo returns the text nelow.
It mentions opengl es 3.1.

OpenGL ES profile version string: OpenGL ES 3.1 NVIDIA 340.32 340.32
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
    GL_EXT_blend_minmax, GL_EXT_color_buffer_float, 
    GL_EXT_color_buffer_half_float, GL_EXT_copy_image, GL_EXT_debug_label, 
    GL_EXT_draw_buffers_indexed, GL_EXT_frag_depth, 
    GL_EXT_geometry_point_size, GL_EXT_geometry_shader, GL_EXT_gpu_shader5, 
    GL_EXT_map_buffer_range, GL_EXT_occlusion_query_boolean, 
    GL_EXT_robustness, GL_EXT_sRGB, GL_EXT_sRGB_write_control, 
    GL_EXT_separate_shader_objects, GL_EXT_shader_implicit_conversions, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_io_blocks, 
    GL_EXT_shadow_samplers, GL_EXT_tessellation_point_size, 
    GL_EXT_tessellation_shader, GL_EXT_texture_border_clamp, 
    GL_EXT_texture_buffer, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map_array, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888, 
    GL_EXT_texture_rg, GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage, 
    GL_EXT_texture_view, GL_EXT_unpack_subimage, 
    GL_KHR_blend_equation_advanced, GL_KHR_debug, GL_NV_bgr, 
    GL_NV_blend_equation_advanced, GL_NV_copy_buffer, GL_NV_copy_image, 
    GL_NV_draw_buffers, GL_NV_draw_instanced, GL_NV_draw_texture, 
    GL_NV_explicit_attrib_location, GL_NV_fbo_color_attachments, 
    GL_NV_framebuffer_blit, GL_NV_framebuffer_multisample, 
    GL_NV_generate_mipmap_sRGB, GL_NV_instanced_arrays, 
    GL_NV_non_square_matrices, GL_NV_occlusion_query_samples, 
    GL_NV_pack_subimage, GL_NV_packed_float, GL_NV_packed_float_linear, 
    GL_NV_pixel_buffer_object, GL_NV_read_buffer, GL_NV_read_depth, 
    GL_NV_read_depth_stencil, GL_NV_read_stencil, GL_NV_sRGB_formats, 
    GL_NV_shadow_samplers_array, GL_NV_shadow_samplers_cube, 
    GL_NV_texture_array, GL_NV_texture_border_clamp, 
    GL_NV_texture_compression_latc, GL_NV_texture_compression_s3tc, 
    GL_NV_texture_compression_s3tc_update, GL_NV_timer_query, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24, GL_OES_depth32, 
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 
    GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil, 
    GL_OES_rgb8_rgba8, GL_OES_sample_shading, GL_OES_sample_variables, 
    GL_OES_shader_image_atomic, GL_OES_shader_multisample_interpolation, 
    GL_OES_standard_derivatives, GL_OES_texture_float, 
    GL_OES_texture_float_linear, GL_OES_texture_half_float, 
    GL_OES_texture_half_float_linear, GL_OES_texture_npot, 
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array, 
    GL_OES_vertex_array_object, GL_OES_vertex_half_float

I suspect the problem could be mesa but I don't understand the details of linux graphics so I may be wrong.
The program I posted outputted the text below before it crashed on the assertion failure.

EGL_VERSION = 1.4
EGL_VENDOR = NVIDIA
EGL_EXTENSIONS = EGL_NV_system_time EGL_KHR_surfaceless_context EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_config_attribs EGL_KHR_fence_sync EGL_NV_sync EGL_KHR_reusable_sync EGL_KHR_create_context EGL_EXT_create_context_robustness EGL_KHR_stream EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface EGL_KHR_stream_consumer_gltexture EGL_NV_stream_sync EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_NV_post_sub_buffer EGL_KHR_image_pixmap EGL_EXT_buffer_age
EGL_CLIENT_APIS = OpenGL_ES

No mention of opengl es2 anywhere. Are there other possibilities besides mesa not supporting it?
If it is mesa do you think I may have to rebuild it with --enable-opengles2?
Do I risk problems with X if I do that?

Thanks.

Offline

#2 2014-09-05 20:40:51

authentec
Member
Registered: 2008-06-16
Posts: 18

Re: Failure creating Opengl ES 2 context on the desktop

Just to be clear the only part of the code I'm talking about is this call in main which fails

   make_x_window(x_dpy, egl_dpy,
                 "OpenGL ES 2.x tri", 0, 0, winWidth, winHeight,
                 &win, &egl_ctx, &egl_surf);

because of this section of make_x_window()

#if !USE_FULL_GL
   /* test eglQueryContext() */
   {
      EGLint val;
      eglQueryContext(egl_dpy, ctx, EGL_CONTEXT_CLIENT_VERSION, &val);
      assert(val == 2);
   }
#endif

I just posted all of it because it's a public mesa demo and I couldn't recall the link.
So the only thing I would like to know, if anyone can help, is how I might need to configure my system to stop this assertion failure (I do want to use OPENGLES2).
I don't think there's an issue with the nvidia hardware.

Offline

#3 2014-09-06 22:55:43

sandy8925
Member
Registered: 2013-06-25
Posts: 22

Re: Failure creating Opengl ES 2 context on the desktop

I don't think Mesa is involved here in any way, you said you are using the NVIDIA closed-source driver.

It could be that the program is wrong somehow - one thing that you should check is if EGLint comparison is correct - EGLint may not be a primitive type, so comparing it directly to a raw value like 2 might be causing problems.

You could try creating an EGLint object with value of 2, and then doing an == comparison with that object.

Offline

#4 2014-09-06 23:27:22

progandy
Member
Registered: 2012-05-17
Posts: 5,307

Re: Failure creating Opengl ES 2 context on the desktop

The program works with mesa glesv2. The nvidia implementation might need some special extensions or something or might not work at all in your driver version.


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |

Offline

#5 2014-09-07 03:39:18

authentec
Member
Registered: 2008-06-16
Posts: 18

Re: Failure creating Opengl ES 2 context on the desktop

Thanks both for the input. You've pointed me in a better direction.
It was useful to know that the demo worked for someone else.
I thought mesa could be involved even though my backend driver is nvidia.
No surprise that I was wrong. I'm still figuring out how the various linux graphics layers fit together.
So I guess my libGL implementation is provided by nvidia and has nothing to do with mesa.

Here's the full glxinfo for reference

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_delay_before_swap, 
    GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_image, 
    GLX_NV_delay_before_swap, GLX_NV_float_buffer, 
    GLX_NV_multisample_coverage, GLX_NV_present_video, GLX_NV_swap_group, 
    GLX_NV_video_capture, GLX_NV_video_out, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_delay_before_swap, 
    GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 460/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 340.32
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_AMD_multi_draw_indirect, GL_ARB_ES2_compatibility, 
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, 
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage, 
    GL_ARB_clear_buffer_object, GL_ARB_clear_texture, 
    GL_ARB_color_buffer_float, GL_ARB_compressed_texture_pixel_storage, 
    GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, 
    GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, 
    GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, 
    GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, 
    GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_gpu_shader5, 
    GL_ARB_gpu_shader_fp64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
    GL_ARB_imaging, GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, 
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, 
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, 
    GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, 
    GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, 
    GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, 
    GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, 
    GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, 
    GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, 
    GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sparse_texture, 
    GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, 
    GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, 
    GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, 
    GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, 
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, 
    GL_ARB_texture_stencil8, GL_ARB_texture_storage, 
    GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 
    GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, 
    GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, 
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, 
    GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
    GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, 
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, 
    GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, 
    GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, 
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
    GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, 
    GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, 
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, 
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, 
    GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, 
    GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, 
    GL_EXT_vertex_attrib_64bit, GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced, 
    GL_KHR_debug, GL_KTX_buffer_region, GL_NVX_conditional_render, 
    GL_NVX_gpu_memory_info, GL_NV_ES1_1_compatibility, 
    GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect, 
    GL_NV_bindless_multi_draw_indirect_count, GL_NV_blend_equation_advanced, 
    GL_NV_blend_square, GL_NV_compute_program5, GL_NV_conditional_render, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_explicit_multisample, 
    GL_NV_fence, GL_NV_float_buffer, GL_NV_fog_distance, 
    GL_NV_fragment_program, GL_NV_fragment_program2, 
    GL_NV_fragment_program_option, GL_NV_framebuffer_multisample_coverage, 
    GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_gpu_program4_1, 
    GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended, 
    GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_multisample_coverage, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, 
    GL_NV_shader_buffer_load, GL_NV_shader_storage_buffer_object, 
    GL_NV_shader_thread_group, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, 
    GL_NV_texture_expand_normal, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, 
    GL_NV_texture_shader3, GL_NV_transform_feedback, 
    GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, 
    GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program, 
    GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, 
    GL_SGIX_shadow, GL_SUN_slice_accum

OpenGL version string: 4.4.0 NVIDIA 340.32
OpenGL shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
    GL_AMD_multi_draw_indirect, GL_ARB_ES2_compatibility, 
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, 
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage, 
    GL_ARB_clear_buffer_object, GL_ARB_clear_texture, 
    GL_ARB_color_buffer_float, GL_ARB_compatibility, 
    GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, 
    GL_ARB_compute_variable_group_size, GL_ARB_conservative_depth, 
    GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output, 
    GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, 
    GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, 
    GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_gpu_shader5, 
    GL_ARB_gpu_shader_fp64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
    GL_ARB_imaging, GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, 
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, 
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, 
    GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, 
    GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, 
    GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, 
    GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, 
    GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, 
    GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, 
    GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sparse_texture, 
    GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, 
    GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, 
    GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, 
    GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, 
    GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, 
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, 
    GL_ARB_texture_stencil8, GL_ARB_texture_storage, 
    GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 
    GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, 
    GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, 
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, 
    GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
    GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, 
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, 
    GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, 
    GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, 
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
    GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, 
    GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, 
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, 
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, 
    GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, 
    GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, 
    GL_EXT_vertex_attrib_64bit, GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced, 
    GL_KHR_debug, GL_KTX_buffer_region, GL_NVX_conditional_render, 
    GL_NVX_gpu_memory_info, GL_NV_ES1_1_compatibility, 
    GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect, 
    GL_NV_bindless_multi_draw_indirect_count, GL_NV_blend_equation_advanced, 
    GL_NV_blend_square, GL_NV_compute_program5, GL_NV_conditional_render, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_explicit_multisample, 
    GL_NV_fence, GL_NV_float_buffer, GL_NV_fog_distance, 
    GL_NV_fragment_program, GL_NV_fragment_program2, 
    GL_NV_fragment_program_option, GL_NV_framebuffer_multisample_coverage, 
    GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_gpu_program4_1, 
    GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended, 
    GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_multisample_coverage, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, 
    GL_NV_shader_buffer_load, GL_NV_shader_storage_buffer_object, 
    GL_NV_shader_thread_group, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, 
    GL_NV_texture_expand_normal, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, 
    GL_NV_texture_shader3, GL_NV_transform_feedback, 
    GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, 
    GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program, 
    GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, 
    GL_SGIX_shadow, GL_SUN_slice_accum

OpenGL ES profile version string: OpenGL ES 3.1 NVIDIA 340.32 340.32
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
    GL_EXT_blend_minmax, GL_EXT_color_buffer_float, 
    GL_EXT_color_buffer_half_float, GL_EXT_copy_image, GL_EXT_debug_label, 
    GL_EXT_draw_buffers_indexed, GL_EXT_frag_depth, 
    GL_EXT_geometry_point_size, GL_EXT_geometry_shader, GL_EXT_gpu_shader5, 
    GL_EXT_map_buffer_range, GL_EXT_occlusion_query_boolean, 
    GL_EXT_robustness, GL_EXT_sRGB, GL_EXT_sRGB_write_control, 
    GL_EXT_separate_shader_objects, GL_EXT_shader_implicit_conversions, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_io_blocks, 
    GL_EXT_shadow_samplers, GL_EXT_tessellation_point_size, 
    GL_EXT_tessellation_shader, GL_EXT_texture_border_clamp, 
    GL_EXT_texture_buffer, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map_array, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888, 
    GL_EXT_texture_rg, GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage, 
    GL_EXT_texture_view, GL_EXT_unpack_subimage, 
    GL_KHR_blend_equation_advanced, GL_KHR_debug, GL_NV_bgr, 
    GL_NV_blend_equation_advanced, GL_NV_copy_buffer, GL_NV_copy_image, 
    GL_NV_draw_buffers, GL_NV_draw_instanced, GL_NV_draw_texture, 
    GL_NV_explicit_attrib_location, GL_NV_fbo_color_attachments, 
    GL_NV_framebuffer_blit, GL_NV_framebuffer_multisample, 
    GL_NV_generate_mipmap_sRGB, GL_NV_instanced_arrays, 
    GL_NV_non_square_matrices, GL_NV_occlusion_query_samples, 
    GL_NV_pack_subimage, GL_NV_packed_float, GL_NV_packed_float_linear, 
    GL_NV_pixel_buffer_object, GL_NV_read_buffer, GL_NV_read_depth, 
    GL_NV_read_depth_stencil, GL_NV_read_stencil, GL_NV_sRGB_formats, 
    GL_NV_shadow_samplers_array, GL_NV_shadow_samplers_cube, 
    GL_NV_texture_array, GL_NV_texture_border_clamp, 
    GL_NV_texture_compression_latc, GL_NV_texture_compression_s3tc, 
    GL_NV_texture_compression_s3tc_update, GL_NV_timer_query, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24, GL_OES_depth32, 
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 
    GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil, 
    GL_OES_rgb8_rgba8, GL_OES_sample_shading, GL_OES_sample_variables, 
    GL_OES_shader_image_atomic, GL_OES_shader_multisample_interpolation, 
    GL_OES_standard_derivatives, GL_OES_texture_float, 
    GL_OES_texture_float_linear, GL_OES_texture_half_float, 
    GL_OES_texture_half_float_linear, GL_OES_texture_npot, 
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array, 
    GL_OES_vertex_array_object, GL_OES_vertex_half_float

228 GLX Visuals
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x021 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x022 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x024 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x025 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x026 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x027 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x028 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x029 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x02a 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x02b 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x02c 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x02d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x02e 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x02f 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x030 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x031 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x032 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x033 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x034 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x035 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x036 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x037 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x038 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x039 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x03a 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x03b 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x03c 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x03d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x03e 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x03f 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x040 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x041 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x042 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x043 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x044 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x045 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x046 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x047 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x048 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x049 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x04a 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x04b 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x04c 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x04d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x04e 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x04f 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x050 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x051 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x052 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x053 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x054 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x055 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x056 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x057 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x058 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x059 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x05a 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x05b 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x05c 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x05d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x05e 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x05f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x060 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x061 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x062 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x063 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x064 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x065 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x066 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x067 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x068 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x069 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x06a 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x06b 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x06c 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x06d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x06e 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x06f 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x070 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x071 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x072 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x073 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x074 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x075 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x076 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x077 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x078 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x079 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x07a 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x07b 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x07c 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x07d 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x07e 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x07f 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x080 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x081 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x082 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x083 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x084 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x085 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x086 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x087 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x088 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x089 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x08a 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x08b 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x08c 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x08d 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x08e 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x08f 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x090 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x091 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x092 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x093 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x094 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x095 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x096 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x097 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x098 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x099 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x09a 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x09b 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x09c 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x09d 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x09e 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x09f 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0a0 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0a1 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0a2 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0a3 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0a4 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0a5 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0a6 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0a7 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0a8 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0a9 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0aa 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0ab 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0ac 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0ad 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0ae 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0af 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0b0 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0b1 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0b2 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x0b3 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x0b4 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x0b5 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x0b6 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x0b7 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x0b8 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x0b9 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x023 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x0ba 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x0bb 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x0bc 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x0bd 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x0be 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x0bf 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x0c0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x0c1 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x0c2 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x0c3 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x0c4 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x0c5 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x0c6 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x0c7 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x0c8 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x0c9 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x0ca 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x0cb 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x0cc 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x0cd 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x0ce 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x0cf 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x0d0 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x0d1 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x0d2 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x0d3 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x0d4 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x0d5 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0d6 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0d7 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0d8 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0d9 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0da 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0db 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0dc 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0dd 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0de 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0df 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0e0 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0e1 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0e2 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0e3 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0e4 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0e5 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0e6 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0e7 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0e8 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0e9 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0ea 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0eb 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0ec 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x0ed 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0ee 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0ef 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0f0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x0f1 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0f2 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0f3 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0f4 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0f5 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0f6 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0f7 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0f8 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x0f9 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0fa 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0fb 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0fc 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x0fd 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x0fe 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x0ff 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x100 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x101 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x102 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x103 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x104 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon

311 GLXFBConfigs:
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x105 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x106 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x107 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x108 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x109 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x10a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x10b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x10c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x10d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x10e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x10f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x110 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x111 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x112 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x113 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x114 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x115 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x116 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x117 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x118 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x119 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x11a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x11b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x11c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x11d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x11e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x11f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x120 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x121 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x122 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x123 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x124 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x125 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x126 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x127 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x128 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x129 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x12a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x12b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x12c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x12d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x12e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x12f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x130 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x131 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x132 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x133 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x134 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x135 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x136 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x137 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x138 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x139 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x13a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x13b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x13c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x13d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x13e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x13f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x140 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x141 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x142 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x143 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x144 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x145 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x146 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x147 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x148 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x149 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x14a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x14b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x14c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x14d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x14e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x14f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x150 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x151 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x152 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x153 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x154 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x155 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x156 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x157 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x158 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x159 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x15a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x15b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x15c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x15d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x15e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x15f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x160 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x161 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x162 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x163 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x164 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x165 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x166 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x167 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x168 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x169 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x16a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x16b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x16c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x16d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x16e 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x16f 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x170 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x171 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x172 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x173 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x174 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x175 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x176 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x177 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x178 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x179 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x17a 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x17b 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x17c 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x17d 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x17e 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x17f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x180 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x181 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x182 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x183 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x184 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x185 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x186 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x187 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x188 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x189 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x18a 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x18b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x18c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x18d 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x18e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x18f 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x190 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x191 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x192 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x193 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x194 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x195 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x196 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x197 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x198 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x199 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x19a 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x19b 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x19c 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x19d 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x19e 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x19f 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x1a0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x1a1 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x1a2 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x1a3 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x1a4 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x1a5 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x1a6 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x1a7 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x1a8 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x1a9 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x1aa 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x1ab 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x1ac 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x1ad 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x1ae 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 Ncon
0x1af 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x1b0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 Ncon
0x1b1 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x1b2 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x1b3 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x1b4 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x1b5 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x1b6 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 Ncon
0x1b7 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x1b8 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 Ncon
0x1b9 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1ba 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1bb 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1bc 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1bd 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1be 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1bf 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1c0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1c1 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1c2 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1c3 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1c4 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1c5 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1c6 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1c7 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1c8 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1c9 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1ca 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1cb 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1cc 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1cd 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1ce 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1cf 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1d0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 Ncon
0x1d1 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1d2 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1d3 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1d4 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 Ncon
0x1d5 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1d6 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1d7 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1d8 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1d9 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1da 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1db 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1dc 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 Ncon
0x1dd 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1de 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1df 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1e0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 Ncon
0x1e1 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x1e2 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x1e3 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x1e4 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 32 1 Ncon
0x1e5 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x1e6 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x1e7 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x1e8 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 32 1 Ncon
0x1e9  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4 16  0 16 16 16 16  0 0 None
0x1ea  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4 16  0 16 16 16 16  0 0 None
0x1eb  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4 24  0 16 16 16 16  0 0 None
0x1ec  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4 24  0 16 16 16 16  0 0 None
0x1ed  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4 24  8 16 16 16 16  0 0 None
0x1ee  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4 24  8 16 16 16 16  0 0 None
0x1ef  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4  0  0 16 16 16 16  0 0 None
0x1f0  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4  0  0 16 16 16 16  0 0 None
0x1f1  0 sg  0   0  0 r  . .   0  0  0  0 .  .  4 16  0 16 16 16 16  0 0 None
0x1f2  0 sg  0   0  0 r  . .   0  0  0  0 .  .  4 24  0 16 16 16 16  0 0 None
0x1f3  0 sg  0   0  0 r  . .   0  0  0  0 .  .  4 24  8 16 16 16 16  0 0 None
0x1f4  0 sg  0  32  0 r  . .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1f5  0 sg  0  32  0    . .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1f6  0 sg  0  32  0 r  y .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1f7  0 sg  0  32  0    y .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1f8  0 sg  0  32  0 r  . .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1f9  0 sg  0  32  0    . .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1fa  0 sg  0  32  0 r  y .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1fb  0 sg  0  32  0    y .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x1fc  0 sg  0  64  0 r  . .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x1fd  0 sg  0  64  0    . .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x1fe  0 sg  0  64  0 r  y .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x1ff  0 sg  0  64  0    y .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x200  0 sg  0 128  0 r  . .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x201  0 sg  0 128  0    . .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x202  0 sg  0 128  0 r  y .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x203  0 sg  0 128  0    y .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x204  0 sg  0  32  0 r  . .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x205  0 sg  0  32  0    . .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x206  0 sg  0  32  0 r  y .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x207  0 sg  0  32  0    y .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x208  0 sg  0  32  0 r  . .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x209  0 sg  0  32  0    . .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x20a  0 sg  0  32  0 r  y .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x20b  0 sg  0  32  0    y .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x20c  0 sg  0  32  0 r  . .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x20d  0 sg  0  32  0    . .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x20e  0 sg  0  32  0 r  y .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x20f  0 sg  0  32  0    y .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x210  0 sg  0  32  0 r  . .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x211  0 sg  0  32  0    . .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x212  0 sg  0  32  0 r  y .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x213  0 sg  0  32  0    y .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x214  0 sg  0  64  0 r  . .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x215  0 sg  0  64  0    . .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x216  0 sg  0  64  0 r  y .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x217  0 sg  0  64  0    y .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x218  0 sg  0  64  0 r  . .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x219  0 sg  0  64  0    . .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x21a  0 sg  0  64  0 r  y .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x21b  0 sg  0  64  0    y .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x21c  0 sg  0 128  0 r  . .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x21d  0 sg  0 128  0    . .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x21e  0 sg  0 128  0 r  y .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x21f  0 sg  0 128  0    y .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x220  0 sg  0 128  0 r  . .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x221  0 sg  0 128  0    . .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x222  0 sg  0 128  0 r  y .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x223  0 sg  0 128  0    y .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x224  0 sg  0  16  0 r  . .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x225  0 sg  0  16  0    . .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x226  0 sg  0  16  0 r  y .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x227  0 sg  0  16  0    y .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x228  0 sg  0  64  0 r  . .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x229  0 sg  0  64  0    . .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x22a  0 sg  0  64  0 r  y .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x22b  0 sg  0  64  0    y .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x22c  0 sg  0  16  0 r  . .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x22d  0 sg  0  16  0    . .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x22e  0 sg  0  16  0 r  y .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x22f  0 sg  0  16  0    y .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x230  0 sg  0  16  0 r  . .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x231  0 sg  0  16  0    . .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x232  0 sg  0  16  0 r  y .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x233  0 sg  0  16  0    y .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x234  0 sg  0  64  0 r  . .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x235  0 sg  0  64  0    . .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x236  0 sg  0  64  0 r  y .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x237  0 sg  0  64  0    y .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x238  0 sg  0  64  0 r  . .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x239  0 sg  0  64  0    . .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x23a  0 sg  0  64  0 r  y .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x23b  0 sg  0  64  0    y .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None

I found this site which addresses the issue of opengles2 desktop implementations.
http://www.g-truc.net/post-0457.html

OpenGL ES 2.0 on Windows 7

On AMD side, OpenGL ES 2 is brought to desktop thanks to EGL and a dedicated SDK is provided which makes it significantly different from using OpenGL on desktop. A dedicated OpenGL ES 2 DLL for the implementation is provided and I believe distributed with the AMD Catalyst drivers.

On NVIDIA side, the strategy is different because OpenGL ES 2 is exposed through WGL. The idea was to make OpenGL ES 2 an OpenGL "profile". When I first had a look at it, the implementation would expose all the OpenGL extensions which made me think something like "Not that joke all over again?!" and I didn't waste any time with it. However, things have changed because now when creating an OpenGL ES 2 context, only the OpenGL ES extensions are exposed and the drivers is even trying to report all the not ES compliant requests as errors. I expect this to be a challenging work in progress so once again report your bugs!

OpenGL ES 2.0 on Linux

It looks like that Mesa is currently providing the best implementation: Not only Mesa supports EGL 1.4 but the implementation can load OpenGL, OpenGL ES, OpenGL ES 2 and even OpenVG. However, it's not clear to me whether it can load the proprierary implementations or not. At least, AMD provides EGL 1.4 and OpenGL ES 2.0 implementations through the its SDK.

On NVIDIA side, OpenGL ES 2.0 is exposed by GLX_EXT_create_context_es2_profile in a similar way than on Windows.

Those extensions ( GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile) are reported in my glxinfo just as progandy suspected.
If I just want to test code destined for a portable device on my desktop it might be more convenient to try something like http://malideveloper.arm.com/develop-fo … -emulator/ to translate the opengl calls.

Last edited by authentec (2014-09-07 07:07:48)

Offline

Board footer

Powered by FluxBB