Home | History | Annotate | Download | only in docs
      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
     16 Conditional rendering (GL_NV_conditional_render)      DONE (swrast & softpipe)
     17 Map buffer subranges (GL_ARB_map_buffer_range)        DONE
     18 Float textures, renderbuffers                         some infrastructure done
     19  (incl. GL_EXT_packed_float, GL_EXT_shared_exponent)
     20 Framebuffer objects (GL_EXT_framebuffer_object)       DONE
     21 Half-float                                            some infrastructure done
     22 Multisample blit                                      DONE
     23 Non-normalized Integer texture/framebuffer formats    ~50% done
     24 1D/2D Texture arrays                                  core Mesa, swrast done
     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
     28 Red and red/green texture formats                     DONE (swrast, i965, gallium)
     29 Transform feedback (GL_EXT_transform_feedback)        ~50% done
     30    glBindFragDataLocation, glGetFragDataLocation,
     31    glBindBufferRange, glBindBufferBase commands
     32 Vertex array objects (GL_APPLE_vertex_array_object)   DONE
     33 sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     not started
     34 glClearBuffer commands                                DONE
     35 glGetStringi command                                  DONE
     36 glTexParameterI, glGetTexParameterI commands          DONE
     37 glVertexAttribI commands                              DONE (but converts int
     38                                                             values to floats)
     39 
     40 
     41 GL 3.1:
     42 
     43 GLSL 1.30 and 1.40                                    not started
     44 Instanced drawing (GL_ARB_draw_instanced)             ~50% done
     45 Buffer copying (GL_ARB_copy_buffer)                   DONE
     46 Primitive restart (GL_NV_primitive_restart)           DONE (gallium)
     47 16 vertex texture image units                         not started
     48 Texture buffer objs (GL_ARB_texture_buffer_object)    not started
     49 Rectangular textures (GL_ARB_texture_rectangle)       DONE
     50 Uniform buffer objs (GL_ARB_uniform_buffer_object)    not started
     51 Signed normalized texture formats                     ~50% done
     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
     61 Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
     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 
     69 GL 3.3:
     70 
     71 GLSL 3.30                                             not started
     72 GL_ARB_blend_func_extended                            not started
     73 GL_ARB_explicit_attrib_location                       DONE (swrast, i915, i965)
     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
     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
    109 
    110 
    111 
    112 
    113 More info about these features and the work involved can be found at
    114 http://dri.freedesktop.org/wiki/MissingFunctionality
    115