[[!table header="no" class="mointable" data=""" **Texture Format Related Features** | GL Version | Mesa Version | i965 | r600g | Difficulty | Notes GL_ARB_texture_rg | 3.0 | 7.10 | 7.10 | 7.10 | | GL_ARB_texture_float | 3.0 | 7.11 | 7.11 | 7.11 | | GL_EXT_texture_array | 3.0 | 7.8 | 8.0 | 8.0 | | Test implicit interactions with S3TC GL_EXT_texture_integer (texture formats) | 3.0 | 8.0 | 8.0 | 8.0 | | GL_EXT_packed_float | 3.0 | 7.11 | 8.0 | 7.11 | | GL_EXT_texture_shared_exponent | 3.0 | 7.11 | 8.0 | 7.11 | GL_ARB_half_float_pixel | 3.0 | 6.5 | 7.11 | 7.9 | | GL_EXT_texture_compression_rgtc | 3.0 | 7.11 | 7.11 | 7.11 | | GL_EXT_texture_snorm | 3.1 | 7.11 | 7.11 | 7.11 | | GL_ARB_texture_multisample | 3.2 | No | Doable | Doable | Weeks? | GL_ARB_texture_rgb10_a2ui | 3.3 | 8.0 | 9.0 | 8.0 | | **Draw-call Related Features** | GL Version | Mesa Version | i965 | r600g | Difficulty | Notes GL_EXT_transform_feedback | 3.0 | 8.0 | 8.0 | 8.0 | | GL_NV_conditional_render | 3.0 | 7.8 | 7.11 | 7.11 | | Supported using waiting for OQ results so far on Intel. GL_ARB_draw_instanced | 3.1 | 7.11 | 9.0 | 7.11? | Days | GL_NV_primitive_restart | 3.1 | 7.10 | 9.0 | 8.0 | | GL_ARB_instanced_arrays | 3.3 | Yes | 9.0 | 7.11 | Weeks | Even adding trivial software emulation would save the validation required for N-1 draw calls. GL_ARB_occlusion_query2 | 3.3 | 7.11 | 7.11 | 7.11 | | GL_ARB_vertex_type_2_10_10_10_rev | 3.3 | 8.0 | Doable | 8.0 | Weeks | **Render-target Related Features** | GL Version | Mesa Version | i965 | r600g | Difficulty | Notes GL_ARB_color_buffer_float | 3.0 | 7.11 | 7.11 | 7.11 | | GL_ARB_depth_buffer_float | 3.0 | 8.0 | 8.0 | 8.0 | | GL_EXT_texture_integer (render formats) | 3.0 | 8.0 | 8.0 | 8.0 | | GL_EXT_draw_buffers2 | 3.0 | 7.8 | 7.9 | 7.10 | | GL_ARB_blend_func_extended | 3.3 | 9.0 | 9.0 | 9.0 | | GL_EXT_framebuffer_sRGB | 3.0 | 7.11 | 7.11 | 7.11 | | **Shading Language Features** | GL Version | Mesa Version | i965 | r600g | Difficulty | Notes GLSL 1.30 | 3.0 | 8.0 | 8.0 | 8.0 | | GL_EXT_gpu_shader4 | 3.1 | No | Doable | Doable | Weeks | GLSL 1.40 | 3.1 | 9.0 | 9.0 | 9.0 | | GL_ARB_texture_buffer_object | 3.1 | 9.0 | 9.0 | 9.0 | | GL_ARB_uniform_buffer_object | 3.1 | 9.0 | 9.0 | 9.0 | Months | 16 vertex textures | 3.0 | Yes | 8.0 | 7.11 | | GLSL 1.50 | 3.2 | No | Doable | Doable | Months | Piles and piles of work. GL_ARB_geometry_shader4 | 3.2 | Partial? | Doable | Doable | Months | Plombo is working on it: [[https://github.com/Plombo/mesa/tree/geometry-shaders-rebase|https://github.com/Plombo/mesa/tree/geometry-shaders-rebase]] GL_ARB_fragment_coord_conventions | 3.2 | 7.8 | 7.10 | 7.8 | | GL_ARB_shader_bit_encoding | 3.3 | 9.0 | 9.0 | 9.0 | | GL_ARB_explicit_attrib_location | 3.3 | 7.10 | 7.10 | 7.10 | | **Misc. Features** | GL Version | Mesa Version | i965 | r600g | Difficulty | Notes GL_ARB_sampler_objects | 3.3 | 7.11 | 7.11 | 7.11 | | GL_ARB_texture_swizzle | 3.3 | 7.9 (7.5) | 7.9 (7.5) | 7.9 | | Originally GL_EXT_texture_swizzle in Mesa 7.5. GL_ARB_timer_query | 3.3 | 7.9 | 9.0 | 9.0 | | **GLX / EGL Features** | GL Version | Mesa Version | i965 | r600g | Difficulty | Notes GLX_ARB_create_context | 3.0 | 8.0 | 8.0 | 8.0 | | GLX_ARB_create_context_profile | 3.2 | 8.0 | 8.0 | 8.0 | Weeks | Mesa drivers don't actually support profiles yet, and Xserver support for this extension has not be implemented. There is still work to do here. """]]