README

March 15, 2026 · View on GitHub

This is an extraction of the Mesa 3-D library's software rasterizer and offscreen rendering implementation of OpenGL 2.0 style APIs. The 7.0.4 release of Mesa is the original source of this code, although it has been scrubbed down and modded a little for the purposes of minimalism. (This fork is not affiliated with the Mesa project - for the modern implementation see https://mesa3d.org)

The goals of this particular fork are NOT speed, but rather a portable, reliable, self contained, cross platform rendering method that does not require ANY outside support from the OS or graphics hardware. The idea is to guarantee an application's ability to produce scene rasterizations as image data even when the primary graphics stack of the machine is unavailable. It also aims to be as trouble free as possible when it comes to things like API stability and maintenance requirements.

The core libosmesa library deliberately does not have ANY external dependencies on any libraries beyond the core C/C++ system libraries - this makes it as insensitive as possible to changes in operating system environments. Because displaying the image data on screen is outside the scope of libosmesa, it is also not tied to any operating system's window system API. It just hands the caller the rasterized image data - any subsequent display is up to higher layers of the application's library stack.

The examples directory DOES have some external dependencies on graphical toolkits, in order to provide some graphical application examples. The example building may be disabled by setting -DOSMESA_BUILD_EXAMPLES=OFF. The examples directory itself may also be removed completely if a project bundling the libosmesa sources doesn't wish to include it - the build system will adapt appropriately.

Source code changes are (or at least are intended to be) relatively minor and include things like static analyzer clean-ups and updating header includes to avoid accidentally including system versions of gl.h.


Fast Approximate Anti-Aliasing

VTK-style Fast Approximate Anti-Aliasing) has been integrated into OSMesa as an optional built-in post-processing feature. This integration provides automatic edge smoothing for rendered images with minimal performance impact.

Features

  • Integrated API: Enable/disable FXAA with a single function call
  • sRGB Color Space: Processes images in sRGB color space (matching VTK's approach) for improved visual quality
  • Automatic Application: FXAA is applied automatically when glFinish() is called
  • VTK-Compatible: Uses the same algorithm and color space handling as VTK's GPU-based FXAA

API

OSMesaFXAAEnable

void OSMesaFXAAEnable(GLboolean enable);

Enable or disable FXAA post-processing for the current OSMesa context.

Parameters:

  • enable: GL_TRUE to enable FXAA, GL_FALSE to disable

Example:

OSMesaContext ctx = OSMesaCreateContextExt(OSMESA_RGBA, 16, 0, 0, NULL);
OSMesaMakeCurrent(ctx, buffer, GL_UNSIGNED_BYTE, width, height);

/* Enable FXAA */
OSMesaFXAAEnable(GL_TRUE);

/* Render scene */
render_scene();

/* FXAA is automatically applied when glFinish() is called */
glFinish();

Color Space Handling

The implementation converts rendered images through the following pipeline:

  1. Linear RGB (from OpenGL rendering)
  2. → sRGB (via gamma encoding for FXAA processing)
  3. FXAA processing (in sRGB color space)
  4. → Linear RGB (via gamma decoding for final output)

This matches VTK's approach and provides better visual quality than processing in linear space, as FXAA's luminance calculations work better in perceptual color space.

Limitations

  • Currently only works with RGBA 8-bit unsigned byte buffers
  • FXAA is applied in-place on the framebuffer
  • Uses fixed parameters tuned for general-purpose rendering

FXAA Parameters

The implementation uses the following parameters (matching VTK defaults):

  • RelativeContrastThreshold: 0.125
  • HardContrastThreshold: 0.0625
  • SubpixelBlendLimit: 0.75
  • SubpixelContrastThreshold: 0.25
  • EndpointSearchIterations: 12

These parameters provide a good balance between quality and performance for typical 3D rendering scenarios.


A note about supported OpenGL versions:

Most documentation for the 7.x series of Mesa3D mentions OpenGL 2.1. The reason libosmesa does not report that version is the ARB_shading_language_120 feature was "not quite done" in Mesa3D v7.0.4. ARB_pixel_buffer_object and EXT_texture_sRGB ARE present, but without GLSL v1.20 proper OpenGL v2.1 support is a no-go. Implementing what is missing (or backporting it from newer Mesa3D versions) would most likely be a significant effort, and is not currently in the scope of the libosmesa effort.

A note about GL_ARB_framebuffer_object under OpenGL 2.0:

GL_ARB_framebuffer_object was originally defined as an extension layered on top of OpenGL 2.x and later promoted to core in OpenGL 3.0. libosmesa advertises this extension and implements the full entry-point set:

glIsRenderbuffer / glBindRenderbuffer / glDeleteRenderbuffers glGenRenderbuffers / glRenderbufferStorage / glGetRenderbufferParameteriv glIsFramebuffer / glBindFramebuffer / glDeleteFramebuffers glGenFramebuffers / glCheckFramebufferStatus glFramebufferTexture1D/2D/3D / glFramebufferRenderbuffer glGetFramebufferAttachmentParameteriv / glGenerateMipmap glBlitFramebuffer / glRenderbufferStorageMultisample / glFramebufferTextureLayer

Known limitations arising from the GL 2.0 context:

  • Multisample (GL_RENDERBUFFER_SAMPLES): GL_MAX_SAMPLES is 1. glRenderbufferStorageMultisample() accepts any sample count in [0, 1] and creates a single-sample renderbuffer internally; no real multi-sampling is performed. Requesting samples > 1 generates GL_INVALID_VALUE.

  • Layered / array textures (glFramebufferTextureLayer): Only GL_TEXTURE_3D layers are supported. GL_TEXTURE_1D_ARRAY and GL_TEXTURE_2D_ARRAY require OpenGL 3.0 and are not available.

  • Integer framebuffer formats (e.g. GL_RGBA8I, GL_RGBA8UI): GL_EXT_texture_integer is implemented. Integer renderbuffer formats (GL_RGBA8I/UI, GL_RGBA16I/UI, GL_RGBA32I/UI, GL_RGB8I/UI, GL_RGB16I/UI, GL_RGB32I/UI) are supported as FBO color attachments. Note: GLSL integer samplers (isampler2D, usampler2D) are not supported.

  • sRGB framebuffers (GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING): GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB are implemented. GL_SRGB8_EXT and GL_SRGB8_ALPHA8_EXT are valid renderbuffer formats. When GL_FRAMEBUFFER_SRGB is enabled, linear→sRGB conversion is applied before storing color data to sRGB-format renderbuffers. sRGB attachments report GL_SRGB encoding; linear attachments GL_LINEAR.

  • GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: Fixed-point unsigned normalized (GL_UNSIGNED_NORMALIZED) is supported for all standard formats. GL_EXT_texture_integer adds GL_INT and GL_UNSIGNED_INT for integer format attachments. Floating-point types are not available.

Applications that check for GL_ARB_framebuffer_object in the extension string (rather than checking GL_VERSION >= 3.0) will work correctly within the above limitations. All validation, completeness checks, and query functions conform to the GL_ARB_framebuffer_object specification.


GLEW Extension Info

GLEW version 2.2.0 Running on a Mesa OffScreen from Brian Paul OpenGL version 2.0 Mesa 7.0.4 is supported

GL_VERSION_1_1: OK

GL_VERSION_1_2: OK

glCopyTexSubImage3D: OK glDrawRangeElements: OK glTexImage3D: OK glTexSubImage3D: OK

GL_VERSION_1_2_1: OK

GL_VERSION_1_3: OK

glActiveTexture: OK glClientActiveTexture: OK glCompressedTexImage1D: OK glCompressedTexImage2D: OK glCompressedTexImage3D: OK glCompressedTexSubImage1D: OK glCompressedTexSubImage2D: OK glCompressedTexSubImage3D: OK glGetCompressedTexImage: OK glLoadTransposeMatrixd: OK glLoadTransposeMatrixf: OK glMultTransposeMatrixd: OK glMultTransposeMatrixf: OK glMultiTexCoord1d: OK glMultiTexCoord1dv: OK glMultiTexCoord1f: OK glMultiTexCoord1fv: OK glMultiTexCoord1i: OK glMultiTexCoord1iv: OK glMultiTexCoord1s: OK glMultiTexCoord1sv: OK glMultiTexCoord2d: OK glMultiTexCoord2dv: OK glMultiTexCoord2f: OK glMultiTexCoord2fv: OK glMultiTexCoord2i: OK glMultiTexCoord2iv: OK glMultiTexCoord2s: OK glMultiTexCoord2sv: OK glMultiTexCoord3d: OK glMultiTexCoord3dv: OK glMultiTexCoord3f: OK glMultiTexCoord3fv: OK glMultiTexCoord3i: OK glMultiTexCoord3iv: OK glMultiTexCoord3s: OK glMultiTexCoord3sv: OK glMultiTexCoord4d: OK glMultiTexCoord4dv: OK glMultiTexCoord4f: OK glMultiTexCoord4fv: OK glMultiTexCoord4i: OK glMultiTexCoord4iv: OK glMultiTexCoord4s: OK glMultiTexCoord4sv: OK glSampleCoverage: OK

GL_VERSION_1_4: OK

glBlendColor: OK glBlendEquation: OK glBlendFuncSeparate: OK glFogCoordPointer: OK glFogCoordd: OK glFogCoorddv: OK glFogCoordf: OK glFogCoordfv: OK glMultiDrawArrays: OK glMultiDrawElements: OK glPointParameterf: OK glPointParameterfv: OK glPointParameteri: OK glPointParameteriv: OK glSecondaryColor3b: OK glSecondaryColor3bv: OK glSecondaryColor3d: OK glSecondaryColor3dv: OK glSecondaryColor3f: OK glSecondaryColor3fv: OK glSecondaryColor3i: OK glSecondaryColor3iv: OK glSecondaryColor3s: OK glSecondaryColor3sv: OK glSecondaryColor3ub: OK glSecondaryColor3ubv: OK glSecondaryColor3ui: OK glSecondaryColor3uiv: OK glSecondaryColor3us: OK glSecondaryColor3usv: OK glSecondaryColorPointer: OK glWindowPos2d: OK glWindowPos2dv: OK glWindowPos2f: OK glWindowPos2fv: OK glWindowPos2i: OK glWindowPos2iv: OK glWindowPos2s: OK glWindowPos2sv: OK glWindowPos3d: OK glWindowPos3dv: OK glWindowPos3f: OK glWindowPos3fv: OK glWindowPos3i: OK glWindowPos3iv: OK glWindowPos3s: OK glWindowPos3sv: OK

GL_VERSION_1_5: OK

glBeginQuery: OK glBindBuffer: OK glBufferData: OK glBufferSubData: OK glDeleteBuffers: OK glDeleteQueries: OK glEndQuery: OK glGenBuffers: OK glGenQueries: OK glGetBufferParameteriv: OK glGetBufferPointerv: OK glGetBufferSubData: OK glGetQueryObjectiv: OK glGetQueryObjectuiv: OK glGetQueryiv: OK glIsBuffer: OK glIsQuery: OK glMapBuffer: OK glUnmapBuffer: OK

GL_VERSION_2_0: OK

glAttachShader: OK glBindAttribLocation: OK glBlendEquationSeparate: OK glCompileShader: OK glCreateProgram: OK glCreateShader: OK glDeleteProgram: OK glDeleteShader: OK glDetachShader: OK glDisableVertexAttribArray: OK glDrawBuffers: OK glEnableVertexAttribArray: OK glGetActiveAttrib: OK glGetActiveUniform: OK glGetAttachedShaders: OK glGetAttribLocation: OK glGetProgramInfoLog: OK glGetProgramiv: OK glGetShaderInfoLog: OK glGetShaderSource: OK glGetShaderiv: OK glGetUniformLocation: OK glGetUniformfv: OK glGetUniformiv: OK glGetVertexAttribPointerv: OK glGetVertexAttribdv: OK glGetVertexAttribfv: OK glGetVertexAttribiv: OK glIsProgram: OK glIsShader: OK glLinkProgram: OK glShaderSource: OK glStencilFuncSeparate: OK glStencilMaskSeparate: OK glStencilOpSeparate: OK glUniform1f: OK glUniform1fv: OK glUniform1i: OK glUniform1iv: OK glUniform2f: OK glUniform2fv: OK glUniform2i: OK glUniform2iv: OK glUniform3f: OK glUniform3fv: OK glUniform3i: OK glUniform3iv: OK glUniform4f: OK glUniform4fv: OK glUniform4i: OK glUniform4iv: OK glUniformMatrix2fv: OK glUniformMatrix3fv: OK glUniformMatrix4fv: OK glUseProgram: OK glValidateProgram: OK glVertexAttrib1d: OK glVertexAttrib1dv: OK glVertexAttrib1f: OK glVertexAttrib1fv: OK glVertexAttrib1s: OK glVertexAttrib1sv: OK glVertexAttrib2d: OK glVertexAttrib2dv: OK glVertexAttrib2f: OK glVertexAttrib2fv: OK glVertexAttrib2s: OK glVertexAttrib2sv: OK glVertexAttrib3d: OK glVertexAttrib3dv: OK glVertexAttrib3f: OK glVertexAttrib3fv: OK glVertexAttrib3s: OK glVertexAttrib3sv: OK glVertexAttrib4Nbv: OK glVertexAttrib4Niv: OK glVertexAttrib4Nsv: OK glVertexAttrib4Nub: OK glVertexAttrib4Nubv: OK glVertexAttrib4Nuiv: OK glVertexAttrib4Nusv: OK glVertexAttrib4bv: OK glVertexAttrib4d: OK glVertexAttrib4dv: OK glVertexAttrib4f: OK glVertexAttrib4fv: OK glVertexAttrib4iv: OK glVertexAttrib4s: OK glVertexAttrib4sv: OK glVertexAttrib4ubv: OK glVertexAttrib4uiv: OK glVertexAttrib4usv: OK glVertexAttribPointer: OK

GL_VERSION_2_1: MISSING

GL_VERSION_3_0: MISSING

GL_VERSION_3_1: MISSING

GL_VERSION_3_2: MISSING

GL_VERSION_3_3: MISSING

GL_VERSION_4_0: MISSING

GL_VERSION_4_1: MISSING

GL_VERSION_4_2: MISSING

GL_VERSION_4_3: MISSING

GL_VERSION_4_4: MISSING

GL_VERSION_4_5: MISSING

GL_VERSION_4_6: MISSING

GL_3DFX_multisample: MISSING

GL_3DFX_tbuffer: MISSING

GL_3DFX_texture_compression_FXT1: MISSING

GL_AMD_blend_minmax_factor: MISSING

GL_AMD_compressed_3DC_texture: MISSING

GL_AMD_compressed_ATC_texture: MISSING

GL_AMD_conservative_depth: MISSING

GL_AMD_debug_output: MISSING

GL_AMD_depth_clamp_separate: MISSING

GL_AMD_draw_buffers_blend: MISSING

GL_AMD_framebuffer_multisample_advanced: MISSING

GL_AMD_framebuffer_sample_positions: MISSING

GL_AMD_gcn_shader: MISSING

GL_AMD_gpu_shader_half_float: MISSING

GL_AMD_gpu_shader_half_float_fetch: MISSING

GL_AMD_gpu_shader_int16: MISSING

GL_AMD_gpu_shader_int64: MISSING

GL_AMD_interleaved_elements: MISSING

GL_AMD_multi_draw_indirect: MISSING

GL_AMD_name_gen_delete: MISSING

GL_AMD_occlusion_query_event: MISSING

GL_AMD_performance_monitor: MISSING

GL_AMD_pinned_memory: MISSING

GL_AMD_program_binary_Z400: MISSING

GL_AMD_query_buffer_object: MISSING

GL_AMD_sample_positions: MISSING

GL_AMD_seamless_cubemap_per_texture: MISSING

GL_AMD_shader_atomic_counter_ops: MISSING

GL_AMD_shader_ballot: MISSING

GL_AMD_shader_explicit_vertex_parameter: MISSING

GL_AMD_shader_image_load_store_lod: MISSING

GL_AMD_shader_stencil_export: MISSING

GL_AMD_shader_stencil_value_export: MISSING

GL_AMD_shader_trinary_minmax: MISSING

GL_AMD_sparse_texture: MISSING

GL_AMD_stencil_operation_extended: MISSING

GL_AMD_texture_gather_bias_lod: MISSING

GL_AMD_texture_texture4: MISSING

GL_AMD_transform_feedback3_lines_triangles: MISSING

GL_AMD_transform_feedback4: MISSING

GL_AMD_vertex_shader_layer: MISSING

GL_AMD_vertex_shader_tessellator: MISSING

GL_AMD_vertex_shader_viewport_index: MISSING

GL_ANDROID_extension_pack_es31a: MISSING

GL_ANGLE_depth_texture: MISSING

GL_ANGLE_framebuffer_blit: MISSING

GL_ANGLE_framebuffer_multisample: MISSING

GL_ANGLE_instanced_arrays: MISSING

GL_ANGLE_pack_reverse_row_order: MISSING

GL_ANGLE_program_binary: MISSING

GL_ANGLE_texture_compression_dxt1: MISSING

GL_ANGLE_texture_compression_dxt3: MISSING

GL_ANGLE_texture_compression_dxt5: MISSING

GL_ANGLE_texture_usage: MISSING

GL_ANGLE_timer_query: MISSING

GL_ANGLE_translated_shader_source: MISSING

GL_APPLE_aux_depth_stencil: MISSING

GL_APPLE_client_storage: MISSING

GL_APPLE_clip_distance: MISSING

GL_APPLE_color_buffer_packed_float: MISSING

GL_APPLE_copy_texture_levels: MISSING

GL_APPLE_element_array: MISSING

GL_APPLE_fence: MISSING

GL_APPLE_float_pixels: MISSING

GL_APPLE_flush_buffer_range: MISSING

GL_APPLE_framebuffer_multisample: MISSING

GL_APPLE_object_purgeable: MISSING

GL_APPLE_pixel_buffer: MISSING

GL_APPLE_rgb_422: MISSING

GL_APPLE_row_bytes: MISSING

GL_APPLE_specular_vector: MISSING

GL_APPLE_sync: MISSING

GL_APPLE_texture_2D_limited_npot: MISSING

GL_APPLE_texture_format_BGRA8888: MISSING

GL_APPLE_texture_max_level: MISSING

GL_APPLE_texture_packed_float: MISSING

GL_APPLE_texture_range: MISSING

GL_APPLE_transform_hint: MISSING

GL_APPLE_vertex_array_object: OK

glBindVertexArrayAPPLE: OK glDeleteVertexArraysAPPLE: OK glGenVertexArraysAPPLE: OK glIsVertexArrayAPPLE: OK

GL_APPLE_vertex_array_range: MISSING

GL_APPLE_vertex_program_evaluators: MISSING

GL_APPLE_ycbcr_422: MISSING

GL_ARB_ES2_compatibility: MISSING

GL_ARB_ES3_1_compatibility: MISSING

GL_ARB_ES3_2_compatibility: MISSING

GL_ARB_ES3_compatibility: MISSING

GL_ARB_arrays_of_arrays: MISSING

GL_ARB_base_instance: MISSING

GL_ARB_bindless_texture: MISSING

GL_ARB_blend_func_extended: MISSING

GL_ARB_buffer_storage: MISSING

GL_ARB_cl_event: MISSING

GL_ARB_clear_buffer_object: MISSING

GL_ARB_clear_texture: MISSING

GL_ARB_clip_control: MISSING

GL_ARB_color_buffer_float: MISSING

GL_ARB_compatibility: MISSING

GL_ARB_compressed_texture_pixel_storage: MISSING

GL_ARB_compute_shader: MISSING

GL_ARB_compute_variable_group_size: MISSING

GL_ARB_conditional_render_inverted: MISSING

GL_ARB_conservative_depth: MISSING

GL_ARB_copy_buffer: MISSING

GL_ARB_copy_image: MISSING

GL_ARB_cull_distance: MISSING

GL_ARB_debug_output: MISSING

GL_ARB_depth_buffer_float: MISSING

GL_ARB_depth_clamp: MISSING

GL_ARB_depth_texture: OK

GL_ARB_derivative_control: MISSING

GL_ARB_direct_state_access: MISSING

GL_ARB_draw_buffers: OK

glDrawBuffersARB: OK

GL_ARB_draw_buffers_blend: MISSING

GL_ARB_draw_elements_base_vertex: MISSING

GL_ARB_draw_indirect: MISSING

GL_ARB_draw_instanced: MISSING

GL_ARB_enhanced_layouts: MISSING

GL_ARB_explicit_attrib_location: MISSING

GL_ARB_explicit_uniform_location: MISSING

GL_ARB_fragment_coord_conventions: MISSING

GL_ARB_fragment_layer_viewport: MISSING

GL_ARB_fragment_program: OK

GL_ARB_fragment_program_shadow: MISSING

GL_ARB_fragment_shader: OK

GL_ARB_fragment_shader_interlock: MISSING

GL_ARB_framebuffer_no_attachments: MISSING

GL_ARB_framebuffer_object: OK

GL_ARB_framebuffer_sRGB: OK

GL_ARB_geometry_shader4: MISSING

GL_ARB_get_program_binary: MISSING

GL_ARB_get_texture_sub_image: MISSING

GL_ARB_gl_spirv: MISSING

GL_ARB_gpu_shader5: MISSING

GL_ARB_gpu_shader_fp64: MISSING

GL_ARB_gpu_shader_int64: MISSING

GL_ARB_half_float_pixel: OK

GL_ARB_half_float_vertex: MISSING

GL_ARB_imaging: OK

glBlendEquation: OK glColorSubTable: OK glColorTable: OK glColorTableParameterfv: OK glColorTableParameteriv: OK glConvolutionFilter1D: OK glConvolutionFilter2D: OK glConvolutionParameterf: OK glConvolutionParameterfv: OK glConvolutionParameteri: OK glConvolutionParameteriv: OK glCopyColorSubTable: OK glCopyColorTable: OK glCopyConvolutionFilter1D: OK glCopyConvolutionFilter2D: OK glGetColorTable: OK glGetColorTableParameterfv: OK glGetColorTableParameteriv: OK glGetConvolutionFilter: OK glGetConvolutionParameterfv: OK glGetConvolutionParameteriv: OK glGetHistogram: OK glGetHistogramParameterfv: OK glGetHistogramParameteriv: OK glGetMinmax: OK glGetMinmaxParameterfv: OK glGetMinmaxParameteriv: OK glGetSeparableFilter: OK glHistogram: OK glMinmax: OK glResetHistogram: OK glResetMinmax: OK glSeparableFilter2D: OK

GL_ARB_indirect_parameters: MISSING

GL_ARB_instanced_arrays: MISSING

GL_ARB_internalformat_query: MISSING

GL_ARB_internalformat_query2: MISSING

GL_ARB_invalidate_subdata: MISSING

GL_ARB_map_buffer_alignment: MISSING

GL_ARB_map_buffer_range: MISSING

GL_ARB_matrix_palette: MISSING

GL_ARB_multi_bind: MISSING

GL_ARB_multi_draw_indirect: MISSING

GL_ARB_multisample: OK

glSampleCoverageARB: OK

GL_ARB_multitexture: OK

glActiveTextureARB: OK glClientActiveTextureARB: OK glMultiTexCoord1dARB: OK glMultiTexCoord1dvARB: OK glMultiTexCoord1fARB: OK glMultiTexCoord1fvARB: OK glMultiTexCoord1iARB: OK glMultiTexCoord1ivARB: OK glMultiTexCoord1sARB: OK glMultiTexCoord1svARB: OK glMultiTexCoord2dARB: OK glMultiTexCoord2dvARB: OK glMultiTexCoord2fARB: OK glMultiTexCoord2fvARB: OK glMultiTexCoord2iARB: OK glMultiTexCoord2ivARB: OK glMultiTexCoord2sARB: OK glMultiTexCoord2svARB: OK glMultiTexCoord3dARB: OK glMultiTexCoord3dvARB: OK glMultiTexCoord3fARB: OK glMultiTexCoord3fvARB: OK glMultiTexCoord3iARB: OK glMultiTexCoord3ivARB: OK glMultiTexCoord3sARB: OK glMultiTexCoord3svARB: OK glMultiTexCoord4dARB: OK glMultiTexCoord4dvARB: OK glMultiTexCoord4fARB: OK glMultiTexCoord4fvARB: OK glMultiTexCoord4iARB: OK glMultiTexCoord4ivARB: OK glMultiTexCoord4sARB: OK glMultiTexCoord4svARB: OK

GL_ARB_occlusion_query: OK

glBeginQueryARB: OK glDeleteQueriesARB: OK glEndQueryARB: OK glGenQueriesARB: OK glGetQueryObjectivARB: OK glGetQueryObjectuivARB: OK glGetQueryivARB: OK glIsQueryARB: OK

GL_ARB_occlusion_query2: MISSING

GL_ARB_parallel_shader_compile: MISSING

GL_ARB_pipeline_statistics_query: MISSING

GL_ARB_pixel_buffer_object: OK

GL_ARB_point_parameters: OK

glPointParameterfARB: OK glPointParameterfvARB: OK

GL_ARB_point_sprite: OK

GL_ARB_polygon_offset_clamp: MISSING

GL_ARB_post_depth_coverage: MISSING

GL_ARB_program_interface_query: MISSING

GL_ARB_provoking_vertex: MISSING

GL_ARB_query_buffer_object: MISSING

GL_ARB_robust_buffer_access_behavior: MISSING

GL_ARB_robustness: MISSING

GL_ARB_robustness_application_isolation: MISSING

GL_ARB_robustness_share_group_isolation: MISSING

GL_ARB_sample_locations: MISSING

GL_ARB_sample_shading: MISSING

GL_ARB_sampler_objects: MISSING

GL_ARB_seamless_cube_map: MISSING

GL_ARB_seamless_cubemap_per_texture: MISSING

GL_ARB_separate_shader_objects: MISSING

GL_ARB_shader_atomic_counter_ops: MISSING

GL_ARB_shader_atomic_counters: MISSING

GL_ARB_shader_ballot: MISSING

GL_ARB_shader_bit_encoding: MISSING

GL_ARB_shader_clock: MISSING

GL_ARB_shader_draw_parameters: MISSING

GL_ARB_shader_group_vote: MISSING

GL_ARB_shader_image_load_store: MISSING

GL_ARB_shader_image_size: MISSING

GL_ARB_shader_objects: OK

glAttachObjectARB: OK glCompileShaderARB: OK glCreateProgramObjectARB: OK glCreateShaderObjectARB: OK glDeleteObjectARB: OK glDetachObjectARB: OK glGetActiveUniformARB: OK glGetAttachedObjectsARB: OK glGetHandleARB: OK glGetInfoLogARB: OK glGetObjectParameterfvARB: OK glGetObjectParameterivARB: OK glGetShaderSourceARB: OK glGetUniformLocationARB: OK glGetUniformfvARB: OK glGetUniformivARB: OK glLinkProgramARB: OK glShaderSourceARB: OK glUniform1fARB: OK glUniform1fvARB: OK glUniform1iARB: OK glUniform1ivARB: OK glUniform2fARB: OK glUniform2fvARB: OK glUniform2iARB: OK glUniform2ivARB: OK glUniform3fARB: OK glUniform3fvARB: OK glUniform3iARB: OK glUniform3ivARB: OK glUniform4fARB: OK glUniform4fvARB: OK glUniform4iARB: OK glUniform4ivARB: OK glUniformMatrix2fvARB: OK glUniformMatrix3fvARB: OK glUniformMatrix4fvARB: OK glUseProgramObjectARB: OK glValidateProgramARB: OK

GL_ARB_shader_precision: MISSING

GL_ARB_shader_stencil_export: MISSING

GL_ARB_shader_storage_buffer_object: MISSING

GL_ARB_shader_subroutine: MISSING

GL_ARB_shader_texture_image_samples: MISSING

GL_ARB_shader_texture_lod: MISSING

GL_ARB_shader_viewport_layer_array: MISSING

GL_ARB_shading_language_100: OK

GL_ARB_shading_language_420pack: MISSING

GL_ARB_shading_language_include: MISSING

GL_ARB_shading_language_packing: MISSING

GL_ARB_shadow: OK

GL_ARB_shadow_ambient: OK

GL_ARB_sparse_buffer: MISSING

GL_ARB_sparse_texture: MISSING

GL_ARB_sparse_texture2: MISSING

GL_ARB_sparse_texture_clamp: MISSING

GL_ARB_spirv_extensions: MISSING

GL_ARB_stencil_texturing: MISSING

GL_ARB_sync: MISSING

GL_ARB_tessellation_shader: MISSING

GL_ARB_texture_barrier: MISSING

GL_ARB_texture_border_clamp: OK

GL_ARB_texture_buffer_object: MISSING

GL_ARB_texture_buffer_object_rgb32: MISSING

GL_ARB_texture_buffer_range: MISSING

GL_ARB_texture_compression: OK

glCompressedTexImage1DARB: OK glCompressedTexImage2DARB: OK glCompressedTexImage3DARB: OK glCompressedTexSubImage1DARB: OK glCompressedTexSubImage2DARB: OK glCompressedTexSubImage3DARB: OK glGetCompressedTexImageARB: OK

GL_ARB_texture_compression_bptc: MISSING

GL_ARB_texture_compression_rgtc: MISSING

GL_ARB_texture_cube_map: OK

GL_ARB_texture_cube_map_array: MISSING

GL_ARB_texture_env_add: OK

GL_ARB_texture_env_combine: OK

GL_ARB_texture_env_crossbar: OK

GL_ARB_texture_env_dot3: OK

GL_ARB_texture_filter_anisotropic: MISSING

GL_ARB_texture_filter_minmax: MISSING

GL_ARB_texture_float: OK

GL_ARB_texture_gather: MISSING

GL_ARB_texture_mirror_clamp_to_edge: MISSING

GL_ARB_texture_mirrored_repeat: OK

GL_ARB_texture_multisample: MISSING

GL_ARB_texture_non_power_of_two: OK

GL_ARB_texture_query_levels: MISSING

GL_ARB_texture_query_lod: MISSING

GL_ARB_texture_rectangle: OK

GL_ARB_texture_rg: MISSING

GL_ARB_texture_rgb10_a2ui: MISSING

GL_ARB_texture_stencil8: MISSING

GL_ARB_texture_storage: MISSING

GL_ARB_texture_storage_multisample: MISSING

GL_ARB_texture_swizzle: MISSING

GL_ARB_texture_view: MISSING

GL_ARB_timer_query: MISSING

GL_ARB_transform_feedback2: MISSING

GL_ARB_transform_feedback3: MISSING

GL_ARB_transform_feedback_instanced: MISSING

GL_ARB_transform_feedback_overflow_query: MISSING

GL_ARB_transpose_matrix: OK

glLoadTransposeMatrixdARB: OK glLoadTransposeMatrixfARB: OK glMultTransposeMatrixdARB: OK glMultTransposeMatrixfARB: OK

GL_ARB_uniform_buffer_object: MISSING

GL_ARB_vertex_array_bgra: MISSING

GL_ARB_vertex_array_object: MISSING

GL_ARB_vertex_attrib_64bit: MISSING

GL_ARB_vertex_attrib_binding: MISSING

GL_ARB_vertex_blend: MISSING

GL_ARB_vertex_buffer_object: OK

glBindBufferARB: OK glBufferDataARB: OK glBufferSubDataARB: OK glDeleteBuffersARB: OK glGenBuffersARB: OK glGetBufferParameterivARB: OK glGetBufferPointervARB: OK glGetBufferSubDataARB: OK glIsBufferARB: OK glMapBufferARB: OK glUnmapBufferARB: OK

GL_ARB_vertex_program: OK

glBindProgramARB: OK glDeleteProgramsARB: OK glDisableVertexAttribArrayARB: OK glEnableVertexAttribArrayARB: OK glGenProgramsARB: OK glGetProgramEnvParameterdvARB: OK glGetProgramEnvParameterfvARB: OK glGetProgramLocalParameterdvARB: OK glGetProgramLocalParameterfvARB: OK glGetProgramStringARB: OK glGetProgramivARB: OK glGetVertexAttribPointervARB: OK glGetVertexAttribdvARB: OK glGetVertexAttribfvARB: OK glGetVertexAttribivARB: OK glIsProgramARB: OK glProgramEnvParameter4dARB: OK glProgramEnvParameter4dvARB: OK glProgramEnvParameter4fARB: OK glProgramEnvParameter4fvARB: OK glProgramLocalParameter4dARB: OK glProgramLocalParameter4dvARB: OK glProgramLocalParameter4fARB: OK glProgramLocalParameter4fvARB: OK glProgramStringARB: OK glVertexAttrib1dARB: OK glVertexAttrib1dvARB: OK glVertexAttrib1fARB: OK glVertexAttrib1fvARB: OK glVertexAttrib1sARB: OK glVertexAttrib1svARB: OK glVertexAttrib2dARB: OK glVertexAttrib2dvARB: OK glVertexAttrib2fARB: OK glVertexAttrib2fvARB: OK glVertexAttrib2sARB: OK glVertexAttrib2svARB: OK glVertexAttrib3dARB: OK glVertexAttrib3dvARB: OK glVertexAttrib3fARB: OK glVertexAttrib3fvARB: OK glVertexAttrib3sARB: OK glVertexAttrib3svARB: OK glVertexAttrib4NbvARB: OK glVertexAttrib4NivARB: OK glVertexAttrib4NsvARB: OK glVertexAttrib4NubARB: OK glVertexAttrib4NubvARB: OK glVertexAttrib4NuivARB: OK glVertexAttrib4NusvARB: OK glVertexAttrib4bvARB: OK glVertexAttrib4dARB: OK glVertexAttrib4dvARB: OK glVertexAttrib4fARB: OK glVertexAttrib4fvARB: OK glVertexAttrib4ivARB: OK glVertexAttrib4sARB: OK glVertexAttrib4svARB: OK glVertexAttrib4ubvARB: OK glVertexAttrib4uivARB: OK glVertexAttrib4usvARB: OK glVertexAttribPointerARB: OK

GL_ARB_vertex_shader: OK

glBindAttribLocationARB: OK glGetActiveAttribARB: OK glGetAttribLocationARB: OK

GL_ARB_vertex_type_10f_11f_11f_rev: MISSING

GL_ARB_vertex_type_2_10_10_10_rev: MISSING

GL_ARB_viewport_array: MISSING

GL_ARB_window_pos: OK

glWindowPos2dARB: OK glWindowPos2dvARB: OK glWindowPos2fARB: OK glWindowPos2fvARB: OK glWindowPos2iARB: OK glWindowPos2ivARB: OK glWindowPos2sARB: OK glWindowPos2svARB: OK glWindowPos3dARB: OK glWindowPos3dvARB: OK glWindowPos3fARB: OK glWindowPos3fvARB: OK glWindowPos3iARB: OK glWindowPos3ivARB: OK glWindowPos3sARB: OK glWindowPos3svARB: OK

GL_ARM_mali_program_binary: MISSING

GL_ARM_mali_shader_binary: MISSING

GL_ARM_rgba8: MISSING

GL_ARM_shader_framebuffer_fetch: MISSING

GL_ARM_shader_framebuffer_fetch_depth_stencil: MISSING

GL_ARM_texture_unnormalized_coordinates: MISSING

GL_ATIX_point_sprites: MISSING

GL_ATIX_texture_env_combine3: MISSING

GL_ATIX_texture_env_route: MISSING

GL_ATIX_vertex_shader_output_point_size: MISSING

GL_ATI_draw_buffers: MISSING

GL_ATI_element_array: MISSING

GL_ATI_envmap_bumpmap: MISSING

GL_ATI_fragment_shader: OK

glAlphaFragmentOp1ATI: OK glAlphaFragmentOp2ATI: OK glAlphaFragmentOp3ATI: OK glBeginFragmentShaderATI: OK glBindFragmentShaderATI: OK glColorFragmentOp1ATI: OK glColorFragmentOp2ATI: OK glColorFragmentOp3ATI: OK glDeleteFragmentShaderATI: OK glEndFragmentShaderATI: OK glGenFragmentShadersATI: OK glPassTexCoordATI: OK glSampleMapATI: OK glSetFragmentShaderConstantATI: OK

GL_ATI_map_object_buffer: MISSING

GL_ATI_meminfo: MISSING

GL_ATI_pn_triangles: MISSING

GL_ATI_separate_stencil: OK

glStencilFuncSeparateATI: OK glStencilOpSeparateATI: OK

GL_ATI_shader_texture_lod: MISSING

GL_ATI_text_fragment_shader: MISSING

GL_ATI_texture_compression_3dc: MISSING

GL_ATI_texture_env_combine3: OK

GL_ATI_texture_float: MISSING

GL_ATI_texture_mirror_once: OK

GL_ATI_vertex_array_object: MISSING

GL_ATI_vertex_attrib_array_object: MISSING

GL_ATI_vertex_streams: MISSING

GL_DMP_program_binary: MISSING

GL_DMP_shader_binary: MISSING

GL_EXT_422_pixels: MISSING

GL_EXT_Cg_shader: MISSING

GL_EXT_EGL_image_array: MISSING

GL_EXT_EGL_image_external_wrap_modes: MISSING

GL_EXT_EGL_image_storage: MISSING

GL_EXT_EGL_sync: MISSING

GL_EXT_YUV_target: MISSING

GL_EXT_abgr: OK

GL_EXT_base_instance: MISSING

GL_EXT_bgra: OK

GL_EXT_bindable_uniform: MISSING

GL_EXT_blend_color: OK

glBlendColorEXT: OK

GL_EXT_blend_equation_separate: OK

glBlendEquationSeparateEXT: OK

GL_EXT_blend_func_extended: MISSING

GL_EXT_blend_func_separate: OK

glBlendFuncSeparateEXT: OK

GL_EXT_blend_logic_op: OK

GL_EXT_blend_minmax: OK

glBlendEquationEXT: OK

GL_EXT_blend_subtract: OK

GL_EXT_buffer_storage: MISSING

GL_EXT_clear_texture: MISSING

GL_EXT_clip_control: MISSING

GL_EXT_clip_cull_distance: MISSING

GL_EXT_clip_volume_hint: OK

GL_EXT_cmyka: MISSING

GL_EXT_color_buffer_float: MISSING

GL_EXT_color_buffer_half_float: MISSING

GL_EXT_color_subtable: MISSING

GL_EXT_compiled_vertex_array: OK

glLockArraysEXT: OK glUnlockArraysEXT: OK

GL_EXT_compressed_ETC1_RGB8_sub_texture: MISSING

GL_EXT_conservative_depth: MISSING

GL_EXT_convolution: OK

glConvolutionFilter1DEXT: OK glConvolutionFilter2DEXT: OK glConvolutionParameterfEXT: OK glConvolutionParameterfvEXT: OK glConvolutionParameteriEXT: OK glConvolutionParameterivEXT: OK glCopyConvolutionFilter1DEXT: OK glCopyConvolutionFilter2DEXT: OK glGetConvolutionFilterEXT: OK glGetConvolutionParameterfvEXT: OK glGetConvolutionParameterivEXT: OK glGetSeparableFilterEXT: OK glSeparableFilter2DEXT: OK

GL_EXT_coordinate_frame: MISSING

GL_EXT_copy_image: MISSING

GL_EXT_copy_texture: OK

glCopyTexImage1DEXT: OK glCopyTexImage2DEXT: OK glCopyTexSubImage1DEXT: OK glCopyTexSubImage2DEXT: OK glCopyTexSubImage3DEXT: OK

GL_EXT_cull_vertex: MISSING

GL_EXT_debug_label: MISSING

GL_EXT_debug_marker: MISSING

GL_EXT_depth_bounds_test: OK

glDepthBoundsEXT: OK

GL_EXT_depth_clamp: MISSING

GL_EXT_direct_state_access: MISSING

GL_EXT_discard_framebuffer: MISSING

GL_EXT_disjoint_timer_query: MISSING

GL_EXT_draw_buffers: MISSING

GL_EXT_draw_buffers2: MISSING

GL_EXT_draw_buffers_indexed: MISSING

GL_EXT_draw_elements_base_vertex: MISSING

GL_EXT_draw_instanced: MISSING

GL_EXT_draw_range_elements: OK

glDrawRangeElementsEXT: OK

GL_EXT_draw_transform_feedback: MISSING

GL_EXT_external_buffer: MISSING

GL_EXT_float_blend: MISSING

GL_EXT_fog_coord: OK

glFogCoordPointerEXT: OK glFogCoorddEXT: OK glFogCoorddvEXT: OK glFogCoordfEXT: OK glFogCoordfvEXT: OK

GL_EXT_frag_depth: MISSING

GL_EXT_fragment_lighting: MISSING

GL_EXT_framebuffer_blit: OK

glBlitFramebufferEXT: OK

GL_EXT_framebuffer_multisample: MISSING

GL_EXT_framebuffer_multisample_blit_scaled: MISSING

GL_EXT_framebuffer_object: OK

glBindFramebufferEXT: OK glBindRenderbufferEXT: OK glCheckFramebufferStatusEXT: OK glDeleteFramebuffersEXT: OK glDeleteRenderbuffersEXT: OK glFramebufferRenderbufferEXT: OK glFramebufferTexture1DEXT: OK glFramebufferTexture2DEXT: OK glFramebufferTexture3DEXT: OK glGenFramebuffersEXT: OK glGenRenderbuffersEXT: OK glGenerateMipmapEXT: OK glGetFramebufferAttachmentParameterivEXT: OK glGetRenderbufferParameterivEXT: OK glIsFramebufferEXT: OK glIsRenderbufferEXT: OK glRenderbufferStorageEXT: OK

GL_EXT_framebuffer_sRGB: OK

GL_EXT_geometry_point_size: MISSING

GL_EXT_geometry_shader: MISSING

GL_EXT_geometry_shader4: MISSING

GL_EXT_gpu_program_parameters: OK

glProgramEnvParameters4fvEXT: OK glProgramLocalParameters4fvEXT: OK

GL_EXT_gpu_shader4: MISSING

GL_EXT_gpu_shader5: MISSING

GL_EXT_histogram: OK

glGetHistogramEXT: OK glGetHistogramParameterfvEXT: OK glGetHistogramParameterivEXT: OK glGetMinmaxEXT: OK glGetMinmaxParameterfvEXT: OK glGetMinmaxParameterivEXT: OK glHistogramEXT: OK glMinmaxEXT: OK glResetHistogramEXT: OK glResetMinmaxEXT: OK

GL_EXT_index_array_formats: MISSING

GL_EXT_index_func: MISSING

GL_EXT_index_material: MISSING

GL_EXT_index_texture: MISSING

GL_EXT_instanced_arrays: MISSING

GL_EXT_light_texture: MISSING

GL_EXT_map_buffer_range: MISSING

GL_EXT_memory_object: MISSING

GL_EXT_memory_object_fd: MISSING

GL_EXT_memory_object_win32: MISSING

GL_EXT_misc_attribute: MISSING

GL_EXT_multi_draw_arrays: OK

glMultiDrawArraysEXT: OK glMultiDrawElementsEXT: OK

GL_EXT_multi_draw_indirect: MISSING

GL_EXT_multiple_textures: MISSING

GL_EXT_multisample: MISSING

GL_EXT_multisample_compatibility: MISSING

GL_EXT_multisampled_render_to_texture: MISSING

GL_EXT_multisampled_render_to_texture2: MISSING

GL_EXT_multiview_draw_buffers: MISSING

GL_EXT_multiview_tessellation_geometry_shader: MISSING

GL_EXT_multiview_texture_multisample: MISSING

GL_EXT_multiview_timer_query: MISSING

GL_EXT_occlusion_query_boolean: MISSING

GL_EXT_packed_depth_stencil: OK

GL_EXT_packed_float: MISSING

GL_EXT_packed_pixels: OK

GL_EXT_paletted_texture: OK

glColorTableEXT: OK glGetColorTableEXT: OK glGetColorTableParameterfvEXT: OK glGetColorTableParameterivEXT: OK

GL_EXT_pixel_buffer_object: OK

GL_EXT_pixel_transform: MISSING

GL_EXT_pixel_transform_color_table: MISSING

GL_EXT_point_parameters: OK

glPointParameterfEXT: OK glPointParameterfvEXT: OK

GL_EXT_polygon_offset: OK

glPolygonOffsetEXT: OK

GL_EXT_polygon_offset_clamp: MISSING

GL_EXT_post_depth_coverage: MISSING

GL_EXT_primitive_bounding_box: MISSING

GL_EXT_protected_textures: MISSING

GL_EXT_provoking_vertex: MISSING

GL_EXT_pvrtc_sRGB: MISSING

GL_EXT_raster_multisample: MISSING

GL_EXT_read_format_bgra: MISSING

GL_EXT_render_snorm: MISSING

GL_EXT_rescale_normal: OK

GL_EXT_robustness: MISSING

GL_EXT_sRGB: MISSING

GL_EXT_sRGB_write_control: MISSING

GL_EXT_scene_marker: MISSING

GL_EXT_secondary_color: OK

glSecondaryColor3bEXT: OK glSecondaryColor3bvEXT: OK glSecondaryColor3dEXT: OK glSecondaryColor3dvEXT: OK glSecondaryColor3fEXT: OK glSecondaryColor3fvEXT: OK glSecondaryColor3iEXT: OK glSecondaryColor3ivEXT: OK glSecondaryColor3sEXT: OK glSecondaryColor3svEXT: OK glSecondaryColor3ubEXT: OK glSecondaryColor3ubvEXT: OK glSecondaryColor3uiEXT: OK glSecondaryColor3uivEXT: OK glSecondaryColor3usEXT: OK glSecondaryColor3usvEXT: OK glSecondaryColorPointerEXT: OK

GL_EXT_semaphore: MISSING

GL_EXT_semaphore_fd: MISSING

GL_EXT_semaphore_win32: MISSING

GL_EXT_separate_shader_objects: MISSING

GL_EXT_separate_specular_color: OK

GL_EXT_shader_framebuffer_fetch: MISSING

GL_EXT_shader_framebuffer_fetch_non_coherent: MISSING

GL_EXT_shader_group_vote: MISSING

GL_EXT_shader_image_load_formatted: MISSING

GL_EXT_shader_image_load_store: MISSING

GL_EXT_shader_implicit_conversions: MISSING

GL_EXT_shader_integer_mix: MISSING

GL_EXT_shader_io_blocks: MISSING

GL_EXT_shader_non_constant_global_initializers: MISSING

GL_EXT_shader_pixel_local_storage: MISSING

GL_EXT_shader_pixel_local_storage2: MISSING

GL_EXT_shader_texture_lod: MISSING

GL_EXT_shadow_funcs: OK

GL_EXT_shadow_samplers: MISSING

GL_EXT_shared_texture_palette: OK

GL_EXT_sparse_texture: MISSING

GL_EXT_sparse_texture2: MISSING

GL_EXT_static_vertex_array: MISSING

GL_EXT_stencil_clear_tag: MISSING

GL_EXT_stencil_two_side: MISSING

GL_EXT_stencil_wrap: OK

GL_EXT_subtexture: OK

glTexSubImage1DEXT: OK glTexSubImage2DEXT: OK glTexSubImage3DEXT: OK

GL_EXT_tessellation_point_size: MISSING

GL_EXT_tessellation_shader: MISSING

GL_EXT_texture: OK

GL_EXT_texture3D: OK

glTexImage3DEXT: OK

GL_EXT_texture_array: MISSING

GL_EXT_texture_border_clamp: MISSING

GL_EXT_texture_buffer: MISSING

GL_EXT_texture_buffer_object: MISSING

GL_EXT_texture_compression_astc_decode_mode: MISSING

GL_EXT_texture_compression_astc_decode_mode_rgb9e5: MISSING

GL_EXT_texture_compression_bptc: MISSING

GL_EXT_texture_compression_dxt1: MISSING

GL_EXT_texture_compression_latc: MISSING

GL_EXT_texture_compression_rgtc: MISSING

GL_EXT_texture_compression_s3tc: MISSING

GL_EXT_texture_compression_s3tc_srgb: MISSING

GL_EXT_texture_cube_map: MISSING

GL_EXT_texture_cube_map_array: MISSING

GL_EXT_texture_edge_clamp: OK

GL_EXT_texture_env: MISSING

GL_EXT_texture_env_add: OK

GL_EXT_texture_env_combine: OK

GL_EXT_texture_env_dot3: OK

GL_EXT_texture_filter_anisotropic: MISSING

GL_EXT_texture_filter_minmax: MISSING

GL_EXT_texture_format_BGRA8888: MISSING

GL_EXT_texture_format_sRGB_override: MISSING

GL_EXT_texture_integer: OK

GL_EXT_texture_lod_bias: OK

GL_EXT_texture_mirror_clamp: OK

GL_EXT_texture_mirror_clamp_to_edge: MISSING

GL_EXT_texture_norm16: MISSING

GL_EXT_texture_object: OK

glAreTexturesResidentEXT: OK glBindTextureEXT: OK glDeleteTexturesEXT: OK glGenTexturesEXT: OK glIsTextureEXT: OK glPrioritizeTexturesEXT: OK

GL_EXT_texture_perturb_normal: MISSING

GL_EXT_texture_query_lod: MISSING

GL_EXT_texture_rectangle: OK

GL_EXT_texture_rg: MISSING

GL_EXT_texture_sRGB: OK

GL_EXT_texture_sRGB_R8: MISSING

GL_EXT_texture_sRGB_RG8: MISSING

GL_EXT_texture_sRGB_decode: MISSING

GL_EXT_texture_shadow_lod: MISSING

GL_EXT_texture_shared_exponent: MISSING

GL_EXT_texture_snorm: MISSING

GL_EXT_texture_storage: MISSING

GL_EXT_texture_swizzle: MISSING

GL_EXT_texture_type_2_10_10_10_REV: MISSING

GL_EXT_texture_view: MISSING

GL_EXT_timer_query: MISSING

GL_EXT_transform_feedback: MISSING

GL_EXT_unpack_subimage: MISSING

GL_EXT_vertex_array: OK

glArrayElementEXT: OK glColorPointerEXT: OK glDrawArraysEXT: OK glEdgeFlagPointerEXT: OK glIndexPointerEXT: OK glNormalPointerEXT: OK glTexCoordPointerEXT: OK glVertexPointerEXT: OK

GL_EXT_vertex_array_bgra: MISSING

GL_EXT_vertex_array_setXXX: MISSING

GL_EXT_vertex_attrib_64bit: MISSING

GL_EXT_vertex_shader: MISSING

GL_EXT_vertex_weighting: MISSING

GL_EXT_win32_keyed_mutex: MISSING

GL_EXT_window_rectangles: MISSING

GL_EXT_x11_sync_object: MISSING

GL_FJ_shader_binary_GCCSO: MISSING

GL_GREMEDY_frame_terminator: MISSING

GL_GREMEDY_string_marker: MISSING

GL_HP_convolution_border_modes: MISSING

GL_HP_image_transform: MISSING

GL_HP_occlusion_test: MISSING

GL_HP_texture_lighting: MISSING

GL_IBM_cull_vertex: MISSING

GL_IBM_multimode_draw_arrays: OK

glMultiModeDrawArraysIBM: OK glMultiModeDrawElementsIBM: OK

GL_IBM_rasterpos_clip: OK

GL_IBM_static_data: MISSING

GL_IBM_texture_mirrored_repeat: OK

GL_IBM_vertex_array_lists: MISSING

GL_IMG_bindless_texture: MISSING

GL_IMG_framebuffer_downsample: MISSING

GL_IMG_multisampled_render_to_texture: MISSING

GL_IMG_program_binary: MISSING

GL_IMG_read_format: MISSING

GL_IMG_shader_binary: MISSING

GL_IMG_texture_compression_pvrtc: MISSING

GL_IMG_texture_compression_pvrtc2: MISSING

GL_IMG_texture_env_enhanced_fixed_function: MISSING

GL_IMG_texture_filter_cubic: MISSING

GL_INGR_color_clamp: MISSING

GL_INGR_interlace_read: MISSING

GL_INTEL_blackhole_render: MISSING

GL_INTEL_conservative_rasterization: MISSING

GL_INTEL_fragment_shader_ordering: MISSING

GL_INTEL_framebuffer_CMAA: MISSING

GL_INTEL_map_texture: MISSING

GL_INTEL_parallel_arrays: MISSING

GL_INTEL_performance_query: MISSING

GL_INTEL_shader_integer_functions2: MISSING

GL_INTEL_texture_scissor: MISSING

GL_KHR_blend_equation_advanced: MISSING

GL_KHR_blend_equation_advanced_coherent: MISSING

GL_KHR_context_flush_control: MISSING

GL_KHR_debug: MISSING

GL_KHR_no_error: MISSING

GL_KHR_parallel_shader_compile: MISSING

GL_KHR_robust_buffer_access_behavior: MISSING

GL_KHR_robustness: MISSING

GL_KHR_shader_subgroup: MISSING

GL_KHR_texture_compression_astc_hdr: MISSING

GL_KHR_texture_compression_astc_ldr: MISSING

GL_KHR_texture_compression_astc_sliced_3d: MISSING

GL_KTX_buffer_region: MISSING

GL_MESAX_texture_stack: MISSING

GL_MESA_framebuffer_flip_y: MISSING

GL_MESA_pack_invert: OK

GL_MESA_program_binary_formats: MISSING

GL_MESA_resize_buffers: OK

glResizeBuffersMESA: OK

GL_MESA_shader_integer_functions: MISSING

GL_MESA_tile_raster_order: MISSING

GL_MESA_window_pos: OK

glWindowPos2dMESA: OK glWindowPos2dvMESA: OK glWindowPos2fMESA: OK glWindowPos2fvMESA: OK glWindowPos2iMESA: OK glWindowPos2ivMESA: OK glWindowPos2sMESA: OK glWindowPos2svMESA: OK glWindowPos3dMESA: OK glWindowPos3dvMESA: OK glWindowPos3fMESA: OK glWindowPos3fvMESA: OK glWindowPos3iMESA: OK glWindowPos3ivMESA: OK glWindowPos3sMESA: OK glWindowPos3svMESA: OK glWindowPos4dMESA: OK glWindowPos4dvMESA: OK glWindowPos4fMESA: OK glWindowPos4fvMESA: OK glWindowPos4iMESA: OK glWindowPos4ivMESA: OK glWindowPos4sMESA: OK glWindowPos4svMESA: OK

GL_MESA_ycbcr_texture: OK

GL_NVX_blend_equation_advanced_multi_draw_buffers: MISSING

GL_NVX_conditional_render: MISSING

GL_NVX_gpu_memory_info: MISSING

GL_NVX_gpu_multicast2: MISSING

GL_NVX_linked_gpu_multicast: MISSING

GL_NVX_progress_fence: MISSING

GL_NV_3dvision_settings: MISSING

GL_NV_EGL_stream_consumer_external: MISSING

GL_NV_alpha_to_coverage_dither_control: MISSING

GL_NV_bgr: MISSING

GL_NV_bindless_multi_draw_indirect: MISSING

GL_NV_bindless_multi_draw_indirect_count: MISSING

GL_NV_bindless_texture: MISSING

GL_NV_blend_equation_advanced: MISSING

GL_NV_blend_equation_advanced_coherent: MISSING

GL_NV_blend_minmax_factor: MISSING

GL_NV_blend_square: OK

GL_NV_clip_space_w_scaling: MISSING

GL_NV_command_list: MISSING

GL_NV_compute_program5: MISSING

GL_NV_compute_shader_derivatives: MISSING

GL_NV_conditional_render: MISSING

GL_NV_conservative_raster: MISSING

GL_NV_conservative_raster_dilate: MISSING

GL_NV_conservative_raster_pre_snap: MISSING

GL_NV_conservative_raster_pre_snap_triangles: MISSING

GL_NV_conservative_raster_underestimation: MISSING

GL_NV_copy_buffer: MISSING

GL_NV_copy_depth_to_color: MISSING

GL_NV_copy_image: MISSING

GL_NV_deep_texture3D: MISSING

GL_NV_depth_buffer_float: MISSING

GL_NV_depth_clamp: MISSING

GL_NV_depth_nonlinear: MISSING

GL_NV_depth_range_unclamped: MISSING

GL_NV_draw_buffers: MISSING

GL_NV_draw_instanced: MISSING

GL_NV_draw_texture: MISSING

GL_NV_draw_vulkan_image: MISSING

GL_NV_evaluators: MISSING

GL_NV_explicit_attrib_location: MISSING

GL_NV_explicit_multisample: MISSING

GL_NV_fbo_color_attachments: MISSING

GL_NV_fence: MISSING

GL_NV_fill_rectangle: MISSING

GL_NV_float_buffer: MISSING

GL_NV_fog_distance: MISSING

GL_NV_fragment_coverage_to_color: MISSING

GL_NV_fragment_program: OK

glGetProgramNamedParameterdvNV: OK glGetProgramNamedParameterfvNV: OK glProgramNamedParameter4dNV: OK glProgramNamedParameter4dvNV: OK glProgramNamedParameter4fNV: OK glProgramNamedParameter4fvNV: OK

GL_NV_fragment_program2: MISSING

GL_NV_fragment_program4: MISSING

GL_NV_fragment_program_option: MISSING

GL_NV_fragment_shader_barycentric: MISSING

GL_NV_fragment_shader_interlock: MISSING

GL_NV_framebuffer_blit: MISSING

GL_NV_framebuffer_mixed_samples: MISSING

GL_NV_framebuffer_multisample: MISSING

GL_NV_framebuffer_multisample_coverage: MISSING

GL_NV_generate_mipmap_sRGB: MISSING

GL_NV_geometry_program4: MISSING

GL_NV_geometry_shader4: MISSING

GL_NV_geometry_shader_passthrough: MISSING

GL_NV_gpu_multicast: MISSING

GL_NV_gpu_program4: MISSING

GL_NV_gpu_program5: MISSING

GL_NV_gpu_program5_mem_extended: MISSING

GL_NV_gpu_program_fp64: MISSING

GL_NV_gpu_shader5: MISSING

GL_NV_half_float: MISSING

GL_NV_image_formats: MISSING

GL_NV_instanced_arrays: MISSING

GL_NV_internalformat_sample_query: MISSING

GL_NV_light_max_exponent: OK

GL_NV_memory_attachment: MISSING

GL_NV_mesh_shader: MISSING

GL_NV_multisample_coverage: MISSING

GL_NV_multisample_filter_hint: MISSING

GL_NV_non_square_matrices: MISSING

GL_NV_occlusion_query: MISSING

GL_NV_pack_subimage: MISSING

GL_NV_packed_depth_stencil: MISSING

GL_NV_packed_float: MISSING

GL_NV_packed_float_linear: MISSING

GL_NV_parameter_buffer_object: MISSING

GL_NV_parameter_buffer_object2: MISSING

GL_NV_path_rendering: MISSING

GL_NV_path_rendering_shared_edge: MISSING

GL_NV_pixel_buffer_object: MISSING

GL_NV_pixel_data_range: MISSING

GL_NV_platform_binary: MISSING

GL_NV_point_sprite: OK

glPointParameteriNV: OK glPointParameterivNV: OK

GL_NV_polygon_mode: MISSING

GL_NV_present_video: MISSING

GL_NV_primitive_restart: MISSING

GL_NV_query_resource_tag: MISSING

GL_NV_read_buffer: MISSING

GL_NV_read_buffer_front: MISSING

GL_NV_read_depth: MISSING

GL_NV_read_depth_stencil: MISSING

GL_NV_read_stencil: MISSING

GL_NV_register_combiners: MISSING

GL_NV_register_combiners2: MISSING

GL_NV_representative_fragment_test: MISSING

GL_NV_robustness_video_memory_purge: MISSING

GL_NV_sRGB_formats: MISSING

GL_NV_sample_locations: MISSING

GL_NV_sample_mask_override_coverage: MISSING

GL_NV_scissor_exclusive: MISSING

GL_NV_shader_atomic_counters: MISSING

GL_NV_shader_atomic_float: MISSING

GL_NV_shader_atomic_float64: MISSING

GL_NV_shader_atomic_fp16_vector: MISSING

GL_NV_shader_atomic_int64: MISSING

GL_NV_shader_buffer_load: MISSING

GL_NV_shader_noperspective_interpolation: MISSING

GL_NV_shader_storage_buffer_object: MISSING

GL_NV_shader_subgroup_partitioned: MISSING

GL_NV_shader_texture_footprint: MISSING

GL_NV_shader_thread_group: MISSING

GL_NV_shader_thread_shuffle: MISSING

GL_NV_shading_rate_image: MISSING

GL_NV_shadow_samplers_array: MISSING

GL_NV_shadow_samplers_cube: MISSING

GL_NV_stereo_view_rendering: MISSING

GL_NV_tessellation_program5: MISSING

GL_NV_texgen_emboss: MISSING

GL_NV_texgen_reflection: OK

GL_NV_texture_array: MISSING

GL_NV_texture_barrier: MISSING

GL_NV_texture_border_clamp: MISSING

GL_NV_texture_compression_latc: MISSING

GL_NV_texture_compression_s3tc: MISSING

GL_NV_texture_compression_s3tc_update: MISSING

GL_NV_texture_compression_vtc: MISSING

GL_NV_texture_env_combine4: MISSING

GL_NV_texture_expand_normal: MISSING

GL_NV_texture_multisample: MISSING

GL_NV_texture_npot_2D_mipmap: MISSING

GL_NV_texture_rectangle: OK

GL_NV_texture_rectangle_compressed: MISSING

GL_NV_texture_shader: MISSING

GL_NV_texture_shader2: MISSING

GL_NV_texture_shader3: MISSING

GL_NV_transform_feedback: MISSING

GL_NV_transform_feedback2: MISSING

GL_NV_uniform_buffer_unified_memory: MISSING

GL_NV_vdpau_interop: MISSING

GL_NV_vdpau_interop2: MISSING

GL_NV_vertex_array_range: MISSING

GL_NV_vertex_array_range2: MISSING

GL_NV_vertex_attrib_integer_64bit: MISSING

GL_NV_vertex_buffer_unified_memory: MISSING

GL_NV_vertex_program: OK

glAreProgramsResidentNV: OK glBindProgramNV: OK glDeleteProgramsNV: OK glExecuteProgramNV: OK glGenProgramsNV: OK glGetProgramParameterdvNV: OK glGetProgramParameterfvNV: OK glGetProgramStringNV: OK glGetProgramivNV: OK glGetTrackMatrixivNV: OK glGetVertexAttribPointervNV: OK glGetVertexAttribdvNV: OK glGetVertexAttribfvNV: OK glGetVertexAttribivNV: OK glIsProgramNV: OK glLoadProgramNV: OK glProgramParameter4dNV: OK glProgramParameter4dvNV: OK glProgramParameter4fNV: OK glProgramParameter4fvNV: OK glProgramParameters4dvNV: OK glProgramParameters4fvNV: OK glRequestResidentProgramsNV: OK glTrackMatrixNV: OK glVertexAttrib1dNV: OK glVertexAttrib1dvNV: OK glVertexAttrib1fNV: OK glVertexAttrib1fvNV: OK glVertexAttrib1sNV: OK glVertexAttrib1svNV: OK glVertexAttrib2dNV: OK glVertexAttrib2dvNV: OK glVertexAttrib2fNV: OK glVertexAttrib2fvNV: OK glVertexAttrib2sNV: OK glVertexAttrib2svNV: OK glVertexAttrib3dNV: OK glVertexAttrib3dvNV: OK glVertexAttrib3fNV: OK glVertexAttrib3fvNV: OK glVertexAttrib3sNV: OK glVertexAttrib3svNV: OK glVertexAttrib4dNV: OK glVertexAttrib4dvNV: OK glVertexAttrib4fNV: OK glVertexAttrib4fvNV: OK glVertexAttrib4sNV: OK glVertexAttrib4svNV: OK glVertexAttrib4ubNV: OK glVertexAttrib4ubvNV: OK glVertexAttribPointerNV: OK glVertexAttribs1dvNV: OK glVertexAttribs1fvNV: OK glVertexAttribs1svNV: OK glVertexAttribs2dvNV: OK glVertexAttribs2fvNV: OK glVertexAttribs2svNV: OK glVertexAttribs3dvNV: OK glVertexAttribs3fvNV: OK glVertexAttribs3svNV: OK glVertexAttribs4dvNV: OK glVertexAttribs4fvNV: OK glVertexAttribs4svNV: OK glVertexAttribs4ubvNV: OK

GL_NV_vertex_program1_1: OK

GL_NV_vertex_program2: MISSING

GL_NV_vertex_program2_option: MISSING

GL_NV_vertex_program3: MISSING

GL_NV_vertex_program4: MISSING

GL_NV_video_capture: MISSING

GL_NV_viewport_array: MISSING

GL_NV_viewport_array2: MISSING

GL_NV_viewport_swizzle: MISSING

GL_OES_EGL_image: MISSING

GL_OES_EGL_image_external: MISSING

GL_OES_EGL_image_external_essl3: MISSING

GL_OES_blend_equation_separate: MISSING

GL_OES_blend_func_separate: MISSING

GL_OES_blend_subtract: MISSING

GL_OES_byte_coordinates: MISSING

GL_OES_compressed_ETC1_RGB8_texture: MISSING

GL_OES_compressed_paletted_texture: MISSING

GL_OES_copy_image: MISSING

GL_OES_depth24: MISSING

GL_OES_depth32: MISSING

GL_OES_depth_texture: MISSING

GL_OES_depth_texture_cube_map: MISSING

GL_OES_draw_buffers_indexed: MISSING

GL_OES_draw_texture: MISSING

GL_OES_element_index_uint: MISSING

GL_OES_extended_matrix_palette: MISSING

GL_OES_fbo_render_mipmap: MISSING

GL_OES_fragment_precision_high: MISSING

GL_OES_framebuffer_object: MISSING

GL_OES_geometry_point_size: MISSING

GL_OES_geometry_shader: MISSING

GL_OES_get_program_binary: MISSING

GL_OES_gpu_shader5: MISSING

GL_OES_mapbuffer: MISSING

GL_OES_matrix_get: MISSING

GL_OES_matrix_palette: MISSING

GL_OES_packed_depth_stencil: MISSING

GL_OES_point_size_array: MISSING

GL_OES_point_sprite: MISSING

GL_OES_read_format: OK

GL_OES_required_internalformat: MISSING

GL_OES_rgb8_rgba8: MISSING

GL_OES_sample_shading: MISSING

GL_OES_sample_variables: MISSING

GL_OES_shader_image_atomic: MISSING

GL_OES_shader_io_blocks: MISSING

GL_OES_shader_multisample_interpolation: MISSING

GL_OES_single_precision: MISSING

GL_OES_standard_derivatives: MISSING

GL_OES_stencil1: MISSING

GL_OES_stencil4: MISSING

GL_OES_stencil8: MISSING

GL_OES_surfaceless_context: MISSING

GL_OES_tessellation_point_size: MISSING

GL_OES_tessellation_shader: MISSING

GL_OES_texture_3D: MISSING

GL_OES_texture_border_clamp: MISSING

GL_OES_texture_buffer: MISSING

GL_OES_texture_compression_astc: MISSING

GL_OES_texture_cube_map: MISSING

GL_OES_texture_cube_map_array: MISSING

GL_OES_texture_env_crossbar: MISSING

GL_OES_texture_mirrored_repeat: MISSING

GL_OES_texture_npot: MISSING

GL_OES_texture_stencil8: MISSING

GL_OES_texture_storage_multisample_2d_array: MISSING

GL_OES_texture_view: MISSING

GL_OES_vertex_array_object: MISSING

GL_OES_vertex_half_float: MISSING

GL_OES_vertex_type_10_10_10_2: MISSING

GL_OML_interlace: MISSING

GL_OML_resample: MISSING

GL_OML_subsample: MISSING

GL_OVR_multiview: MISSING

GL_OVR_multiview2: MISSING

GL_OVR_multiview_multisampled_render_to_texture: MISSING

GL_PGI_misc_hints: MISSING

GL_PGI_vertex_hints: MISSING

GL_QCOM_YUV_texture_gather: MISSING

GL_QCOM_alpha_test: MISSING

GL_QCOM_binning_control: MISSING

GL_QCOM_driver_control: MISSING

GL_QCOM_extended_get: MISSING

GL_QCOM_extended_get2: MISSING

GL_QCOM_framebuffer_foveated: MISSING

GL_QCOM_perfmon_global_mode: MISSING

GL_QCOM_shader_framebuffer_fetch_noncoherent: MISSING

GL_QCOM_shader_framebuffer_fetch_rate: MISSING

GL_QCOM_texture_foveated: MISSING

GL_QCOM_texture_foveated_subsampled_layout: MISSING

GL_QCOM_tiled_rendering: MISSING

GL_QCOM_writeonly_rendering: MISSING

GL_REGAL_ES1_0_compatibility: MISSING

GL_REGAL_ES1_1_compatibility: MISSING

GL_REGAL_enable: MISSING

GL_REGAL_error_string: MISSING

GL_REGAL_extension_query: MISSING

GL_REGAL_log: MISSING

GL_REGAL_proc_address: MISSING

GL_REND_screen_coordinates: MISSING

GL_S3_s3tc: MISSING

GL_SGIS_clip_band_hint: MISSING

GL_SGIS_color_range: MISSING

GL_SGIS_detail_texture: MISSING

GL_SGIS_fog_function: MISSING

GL_SGIS_generate_mipmap: OK

GL_SGIS_line_texgen: MISSING

GL_SGIS_multisample: MISSING

GL_SGIS_multitexture: MISSING

GL_SGIS_pixel_texture: MISSING

GL_SGIS_point_line_texgen: MISSING

GL_SGIS_shared_multisample: MISSING

GL_SGIS_sharpen_texture: MISSING

GL_SGIS_texture4D: MISSING

GL_SGIS_texture_border_clamp: OK

GL_SGIS_texture_edge_clamp: OK

GL_SGIS_texture_filter4: MISSING

GL_SGIS_texture_lod: OK

GL_SGIS_texture_select: MISSING

GL_SGIX_async: MISSING

GL_SGIX_async_histogram: MISSING

GL_SGIX_async_pixel: MISSING

GL_SGIX_bali_g_instruments: MISSING

GL_SGIX_bali_r_instruments: MISSING

GL_SGIX_bali_timer_instruments: MISSING

GL_SGIX_blend_alpha_minmax: MISSING

GL_SGIX_blend_cadd: MISSING

GL_SGIX_blend_cmultiply: MISSING

GL_SGIX_calligraphic_fragment: MISSING

GL_SGIX_clipmap: MISSING

GL_SGIX_color_matrix_accuracy: MISSING

GL_SGIX_color_table_index_mode: MISSING

GL_SGIX_complex_polar: MISSING

GL_SGIX_convolution_accuracy: MISSING

GL_SGIX_cube_map: MISSING

GL_SGIX_cylinder_texgen: MISSING

GL_SGIX_datapipe: MISSING

GL_SGIX_decimation: MISSING

GL_SGIX_depth_pass_instrument: MISSING

GL_SGIX_depth_texture: OK

GL_SGIX_dvc: MISSING

GL_SGIX_flush_raster: MISSING

GL_SGIX_fog_blend: MISSING

GL_SGIX_fog_factor_to_alpha: MISSING

GL_SGIX_fog_layers: MISSING

GL_SGIX_fog_offset: MISSING

GL_SGIX_fog_patchy: MISSING

GL_SGIX_fog_scale: MISSING

GL_SGIX_fog_texture: MISSING

GL_SGIX_fragment_lighting_space: MISSING

GL_SGIX_fragment_specular_lighting: MISSING

GL_SGIX_fragments_instrument: MISSING

GL_SGIX_framezoom: MISSING

GL_SGIX_icc_texture: MISSING

GL_SGIX_igloo_interface: MISSING

GL_SGIX_image_compression: MISSING

GL_SGIX_impact_pixel_texture: MISSING

GL_SGIX_instrument_error: MISSING

GL_SGIX_interlace: MISSING

GL_SGIX_ir_instrument1: MISSING

GL_SGIX_line_quality_hint: MISSING

GL_SGIX_list_priority: MISSING

GL_SGIX_mpeg1: MISSING

GL_SGIX_mpeg2: MISSING

GL_SGIX_nonlinear_lighting_pervertex: MISSING

GL_SGIX_nurbs_eval: MISSING

GL_SGIX_occlusion_instrument: MISSING

GL_SGIX_packed_6bytes: MISSING

GL_SGIX_pixel_texture: MISSING

GL_SGIX_pixel_texture_bits: MISSING

GL_SGIX_pixel_texture_lod: MISSING

GL_SGIX_pixel_tiles: MISSING

GL_SGIX_polynomial_ffd: MISSING

GL_SGIX_quad_mesh: MISSING

GL_SGIX_reference_plane: MISSING

GL_SGIX_resample: MISSING

GL_SGIX_scalebias_hint: MISSING

GL_SGIX_shadow: OK

GL_SGIX_shadow_ambient: OK

GL_SGIX_slim: MISSING

GL_SGIX_spotlight_cutoff: MISSING

GL_SGIX_sprite: MISSING

GL_SGIX_subdiv_patch: MISSING

GL_SGIX_subsample: MISSING

GL_SGIX_tag_sample_buffer: MISSING

GL_SGIX_texture_add_env: MISSING

GL_SGIX_texture_coordinate_clamp: MISSING

GL_SGIX_texture_lod_bias: MISSING

GL_SGIX_texture_mipmap_anisotropic: MISSING

GL_SGIX_texture_multi_buffer: MISSING

GL_SGIX_texture_phase: MISSING

GL_SGIX_texture_range: MISSING

GL_SGIX_texture_scale_bias: MISSING

GL_SGIX_texture_supersample: MISSING

GL_SGIX_vector_ops: MISSING

GL_SGIX_vertex_array_object: MISSING

GL_SGIX_vertex_preclip: MISSING

GL_SGIX_vertex_preclip_hint: MISSING

GL_SGIX_ycrcb: MISSING

GL_SGIX_ycrcb_subsample: MISSING

GL_SGIX_ycrcba: MISSING

GL_SGI_color_matrix: OK

GL_SGI_color_table: OK

glColorTableParameterfvSGI: OK glColorTableParameterivSGI: OK glColorTableSGI: OK glCopyColorTableSGI: OK glGetColorTableParameterfvSGI: OK glGetColorTableParameterivSGI: OK glGetColorTableSGI: OK

GL_SGI_complex: MISSING

GL_SGI_complex_type: MISSING

GL_SGI_fft: MISSING

GL_SGI_texture_color_table: OK

GL_SUNX_constant_data: MISSING

GL_SUN_convolution_border_modes: MISSING

GL_SUN_global_alpha: MISSING

GL_SUN_mesh_array: MISSING

GL_SUN_read_video_pixels: MISSING

GL_SUN_slice_accum: MISSING

GL_SUN_triangle_list: MISSING

GL_SUN_vertex: MISSING

GL_VIV_shader_binary: MISSING

GL_WIN_phong_shading: MISSING

GL_WIN_scene_markerXXX: MISSING

GL_WIN_specular_fog: MISSING

GL_WIN_swap_hint: MISSING