Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 1 | |
| 2 | Status of OpenGL 3.x features in Mesa |
| 3 | |
| 4 | |
| 5 | Note: when an item is marked as "DONE" it means all the core Mesa |
| 6 | infrastructure is complete but it may be the case that few (if any) drivers |
| 7 | implement the features. |
| 8 | |
| 9 | |
| 10 | Feature Status |
| 11 | ----------------------------------------------------- ------------------------ |
| 12 | |
| 13 | GL 3.0: |
| 14 | |
| 15 | GLSL changes (GL_EXT_gpu_shader4, etc) not started |
Brian Paul | a697550 | 2010-01-05 21:25:56 -0700 | [diff] [blame] | 16 | Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe) |
Brian Paul | d35c2ca | 2010-05-11 21:03:53 -0600 | [diff] [blame] | 17 | Map buffer subranges (GL_ARB_map_buffer_range) DONE |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 18 | Float textures, renderbuffers some infrastructure done |
Brian Paul | 449721a | 2010-03-20 12:05:25 -0600 | [diff] [blame] | 19 | (incl. GL_EXT_packed_float, GL_EXT_shared_exponent) |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 20 | Framebuffer objects (GL_EXT_framebuffer_object) DONE |
| 21 | Half-float some infrastructure done |
| 22 | Multisample blit DONE |
Brian Paul | 0ec0f10 | 2010-11-21 09:31:19 -0700 | [diff] [blame] | 23 | Non-normalized Integer texture/framebuffer formats ~50% done |
Brian Paul | 70d5c48 | 2010-02-25 19:50:09 -0700 | [diff] [blame] | 24 | 1D/2D Texture arrays core Mesa, swrast done |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 25 | Packed depth/stencil formats DONE |
| 26 | Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE |
| 27 | GL_EXT_texture_compression_rgtc not started |
Brian Paul | 9ad4589 | 2010-10-21 17:04:25 -0600 | [diff] [blame] | 28 | Red and red/green texture formats DONE (swrast, i965, gallium) |
Brian Paul | a437601 | 2010-04-04 19:08:21 -0600 | [diff] [blame] | 29 | Transform feedback (GL_EXT_transform_feedback) ~50% done |
Brian Paul | d35c2ca | 2010-05-11 21:03:53 -0600 | [diff] [blame] | 30 | glBindFragDataLocation, glGetFragDataLocation, |
| 31 | glBindBufferRange, glBindBufferBase commands |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 32 | Vertex array objects (GL_APPLE_vertex_array_object) DONE |
| 33 | sRGB framebuffer format (GL_EXT_framebuffer_sRGB) not started |
Brian Paul | 0ec0f10 | 2010-11-21 09:31:19 -0700 | [diff] [blame] | 34 | glClearBuffer commands DONE |
| 35 | glGetStringi command DONE |
| 36 | glTexParameterI, glGetTexParameterI commands DONE |
| 37 | glVertexAttribI commands DONE (but converts int |
| 38 | values to floats) |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 39 | |
| 40 | |
| 41 | GL 3.1: |
| 42 | |
| 43 | GLSL 1.30 and 1.40 not started |
Brian Paul | a437601 | 2010-04-04 19:08:21 -0600 | [diff] [blame] | 44 | Instanced drawing (GL_ARB_draw_instanced) ~50% done |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 45 | Buffer copying (GL_ARB_copy_buffer) DONE |
Brian Paul | b4c0133 | 2010-10-22 11:01:06 -0600 | [diff] [blame] | 46 | Primitive restart (GL_NV_primitive_restart) DONE (gallium) |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 47 | 16 vertex texture image units not started |
Ian Romanick | 48156b8 | 2010-10-08 14:55:27 -0700 | [diff] [blame] | 48 | Texture buffer objs (GL_ARB_texture_buffer_object) not started |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 49 | Rectangular textures (GL_ARB_texture_rectangle) DONE |
| 50 | Uniform buffer objs (GL_ARB_uniform_buffer_object) not started |
Brian Paul | 0fcea8a | 2010-04-26 20:35:55 -0600 | [diff] [blame] | 51 | Signed normalized texture formats ~50% done |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 52 | |
| 53 | |
| 54 | GL 3.2: |
| 55 | |
| 56 | Core/compatibility profiles not started |
| 57 | GLSL 1.50 not started |
| 58 | Geometry shaders (GL_ARB_geometry_shader4) partially done (Zack) |
| 59 | BGRA vertex order (GL_ARB_vertex_array_bgra) DONE |
| 60 | Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE |
Brian Paul | 50a75a0 | 2010-04-01 22:15:16 -0600 | [diff] [blame] | 61 | Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium) |
Brian Paul | 9b0bbe1 | 2009-12-30 10:39:20 -0700 | [diff] [blame] | 62 | Provoking vertex (GL_ARB_provoking_vertex) DONE |
| 63 | Seamless cubemaps (GL_ARB_seamless_cube_map) DONE, mostly? |
| 64 | Multisample textures (GL_ARB_texture_multisample) not started |
| 65 | Frag depth clamp (GL_ARB_depth_clamp) DONE |
| 66 | Fence objects (GL_ARB_sync) DONE |
| 67 | |
| 68 | |
Brian Paul | d35c2ca | 2010-05-11 21:03:53 -0600 | [diff] [blame] | 69 | GL 3.3: |
| 70 | |
| 71 | GLSL 3.30 not started |
| 72 | GL_ARB_blend_func_extended not started |
Ian Romanick | 48156b8 | 2010-10-08 14:55:27 -0700 | [diff] [blame] | 73 | GL_ARB_explicit_attrib_location DONE (swrast, i915, i965) |
Brian Paul | d35c2ca | 2010-05-11 21:03:53 -0600 | [diff] [blame] | 74 | GL_ARB_occlusion_query2 not started |
| 75 | GL_ARB_sampler_objects not started |
| 76 | GL_ARB_texture_rgb10_a2ui not started |
| 77 | GL_ARB_texture_swizzle DONE (same as EXT version) |
| 78 | GL_ARB_timer_query DONE (only Xlib sw driver) |
| 79 | GL_ARB_instanced_arrays not started |
| 80 | GL_ARB_vertex_type_2_10_10_10_rev not started |
| 81 | |
| 82 | |
| 83 | GL 4.0: |
| 84 | |
| 85 | GLSL 4.0 not started |
| 86 | GL_ARB_texture_query_lod not started |
| 87 | GL_ARB_draw_buffers_blend not started |
| 88 | GL_ARB_draw_indirect not started |
| 89 | GL_ARB_gpu_shader_fp64 not started |
| 90 | GL_ARB_sample_shading not started |
| 91 | GL_ARB_shader_subroutine not started |
| 92 | GL_ARB_tessellation_shader not started |
| 93 | GL_ARB_texture_buffer_object_rgb32 not started |
| 94 | GL_ARB_texture_cube_map_array not started |
| 95 | GL_ARB_texture_gather not started |
| 96 | GL_ARB_transform_feedback2 not started |
Marek Olšák | 2892c8b | 2010-11-21 22:54:33 +0100 | [diff] [blame^] | 97 | GL_ARB_transform_feedback3 not started |
| 98 | |
| 99 | |
| 100 | GL 4.1: |
| 101 | |
| 102 | GLSL 4.1 not started |
| 103 | GL_ARB_ES2_compatibility not started |
| 104 | GL_ARB_get_program_binary not started |
| 105 | GL_ARB_separate_shader_objects some infrastructure done |
| 106 | GL_ARB_shader_precision not started |
| 107 | GL_ARB_vertex_attrib_64bit not started |
| 108 | GL_ARB_viewport_array not started |
Brian Paul | d35c2ca | 2010-05-11 21:03:53 -0600 | [diff] [blame] | 109 | |
| 110 | |
| 111 | |
Brian Paul | 9089436 | 2010-01-05 16:03:11 -0700 | [diff] [blame] | 112 | |
| 113 | More info about these features and the work involved can be found at |
| 114 | http://dri.freedesktop.org/wiki/MissingFunctionality |