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 1.30                                             DONE
     16 glBindFragDataLocation, glGetFragDataLocation         DONE
     17 Conditional rendering (GL_NV_conditional_render)      DONE (i965, r300, r600, swrast)
     18 Map buffer subranges (GL_ARB_map_buffer_range)        DONE (i965, r300, r600, swrast)
     19 Clamping controls (GL_ARB_color_buffer_float)         DONE (i965, r300, r600)
     20 Float textures, renderbuffers (GL_ARB_texture_float)  DONE (i965, r300, r600)
     21 GL_EXT_packed_float                                   DONE (i965, r600)
     22 GL_EXT_texture_shared_exponent                        DONE (i965, r600, swrast)
     23 Float depth buffers (GL_ARB_depth_buffer_float)       DONE (i965, r600)
     24 Framebuffer objects (GL_ARB_framebuffer_object)       DONE (i965, r300, r600, swrast)
     25 Half-float                                            DONE
     26 Non-normalized Integer texture/framebuffer formats    DONE (i965)
     27 1D/2D Texture arrays                                  DONE
     28 Per-buffer blend and masks (GL_EXT_draw_buffers2)     DONE (i965, r600, swrast)
     29 GL_EXT_texture_compression_rgtc                       DONE (i965, r300, r600, swrast)
     30 Red and red/green texture formats                     DONE (i965, swrast, gallium)
     31 Transform feedback (GL_EXT_transform_feedback)        DONE (i965)
     32 Vertex array objects (GL_APPLE_vertex_array_object)   DONE (i965, r300, r600, swrast)
     33 sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     DONE (i965, r600)
     34 glClearBuffer commands                                DONE
     35 glGetStringi command                                  DONE
     36 glTexParameterI, glGetTexParameterI commands          DONE
     37 glVertexAttribI commands                              DONE
     38 Depth format cube textures                            DONE
     39 GLX_ARB_create_context (GLX 1.4 is required)          DONE
     40 
     41 
     42 GL 3.1:
     43 
     44 GLSL 1.40                                             DONE (i965)
     45 Forward compatibile context support/deprecations      DONE (i965)
     46 Instanced drawing (GL_ARB_draw_instanced)             DONE (i965, gallium, swrast)
     47 Buffer copying (GL_ARB_copy_buffer)                   DONE (i965, r300, r600, swrast)
     48 Primitive restart (GL_NV_primitive_restart)           DONE (i965, r600)
     49 16 vertex texture image units                         DONE
     50 Texture buffer objs (GL_ARB_texture_buffer_object)    DONE for OpenGL 3.1 contexts (i965)
     51 Rectangular textures (GL_ARB_texture_rectangle)       DONE (i965, r300, r600, swrast)
     52 Uniform buffer objs (GL_ARB_uniform_buffer_object)    DONE (i965)
     53 Signed normalized textures (GL_EXT_texture_snorm)     DONE (i965, r300, r600)
     54 
     55 
     56 GL 3.2:
     57 
     58 Core/compatibility profiles                           DONE
     59 GLSL 1.50                                             not started
     60 Geometry shaders (GL_ARB_geometry_shader4)            partially done (Zack)
     61 BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE (i965, r300, r600, swrast)
     62 Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE (i965, r300, r600, swrast)
     63 Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r300, r600, swrast)
     64 Provoking vertex (GL_ARB_provoking_vertex)            DONE (i965, r300, r600, swrast)
     65 Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE (i965, r600)
     66 Multisample textures (GL_ARB_texture_multisample)     not started
     67 Frag depth clamp (GL_ARB_depth_clamp)                 DONE (i965, r600, swrast)
     68 Fence objects (GL_ARB_sync)                           DONE (i965, r300, r600, swrast)
     69 GLX_ARB_create_context_profile                        DONE
     70 
     71 
     72 GL 3.3:
     73 
     74 GLSL 3.30                                             new features in this version pretty much done
     75 GL_ARB_blend_func_extended                            DONE (i965, r600, softpipe)
     76 GL_ARB_explicit_attrib_location                       DONE (i915, i965, r300, r600, swrast)
     77 GL_ARB_occlusion_query2                               DONE (i965, r300, r600, swrast)
     78 GL_ARB_sampler_objects                                DONE (i965, r300, r600)
     79 GL_ARB_shader_bit_encoding                            DONE
     80 GL_ARB_texture_rgb10_a2ui                             DONE (i965, r600)
     81 GL_ARB_texture_swizzle                                DONE (same as EXT version) (i965, r300, r600, swrast)
     82 GL_ARB_timer_query                                    DONE (i965)
     83 GL_ARB_instanced_arrays                               DONE (i965, r300, r600)
     84 GL_ARB_vertex_type_2_10_10_10_rev                     DONE (r600)
     85 
     86 
     87 GL 4.0:
     88 
     89 GLSL 4.0                                             not started
     90 GL_ARB_texture_query_lod                             not started
     91 GL_ARB_draw_buffers_blend                            DONE (i965, r600, softpipe)
     92 GL_ARB_draw_indirect                                 not started
     93 GL_ARB_gpu_shader5                                   not started
     94 GL_ARB_gpu_shader_fp64                               not started
     95 GL_ARB_sample_shading                                not started
     96 GL_ARB_shader_subroutine                             not started
     97 GL_ARB_tessellation_shader                           not started
     98 GL_ARB_texture_buffer_object_rgb32                   not started
     99 GL_ARB_texture_cube_map_array                        not started
    100 GL_ARB_texture_gather                                not started
    101 GL_ARB_transform_feedback2                           DONE
    102 GL_ARB_transform_feedback3                           DONE
    103 
    104 
    105 GL 4.1:
    106 
    107 GLSL 4.1                                             not started
    108 GL_ARB_ES2_compatibility                             DONE (i965, r300, r600)
    109 GL_ARB_get_program_binary                            not started
    110 GL_ARB_separate_shader_objects                       some infrastructure done
    111 GL_ARB_shader_precision                              not started
    112 GL_ARB_vertex_attrib_64bit                           not started
    113 GL_ARB_viewport_array                                not started
    114 
    115 
    116 GL 4.2:
    117 
    118 GLSL 4.2                                             not started
    119 GL_ARB_texture_compression_bptc                      not started
    120 GL_ARB_compressed_texture_pixel_storage              not started
    121 GL_ARB_shader_atomic_counters                        not started
    122 GL_ARB_texture_storage                               DONE (r300, r600, swrast)
    123 GL_ARB_transform_feedback_instanced                  DONE
    124 GL_ARB_base_instance                                 DONE (nv50, nvc0, r600, radeonsi)
    125 GL_ARB_shader_image_load_store                       not started
    126 GL_ARB_conservative_depth                            DONE (softpipe)
    127 GL_ARB_shading_language_420pack                      not started
    128 GL_ARB_internalformat_query                          not started
    129 GL_ARB_map_buffer_alignment                          not started
    130 
    131 
    132 GL 4.3:
    133 
    134 GLSL 4.3                                             not started
    135 ARB_arrays_of_arrays                                 not started
    136 ARB_ES3_compatibility                                not started
    137 ARB_clear_buffer_object                              not started
    138 ARB_compute_shader                                   started (gallium)
    139 ARB_copy_image                                       not started
    140 ARB_debug_group                                      not started
    141 ARB_debug_label                                      not started
    142 ARB_debug_output                                     DONE
    143 ARB_debug_output2                                    not started
    144 ARB_explicit_uniform_location                        not started
    145 ARB_fragment_layer_viewport                          not started
    146 ARB_framebuffer_no_attachments                       not started
    147 ARB_internalformat_query2                            not started
    148 ARB_invalidate_subdata                               not started
    149 ARB_multi_draw_indirect                              not started
    150 ARB_program_interface_query                          not started
    151 ARB_robust_buffer_access_behavior                    not started
    152 ARB_shader_image_size                                not started
    153 ARB_shader_storage_buffer_object                     not started
    154 ARB_stencil_texturing                                not started
    155 ARB_texture_buffer_range                             not started
    156 ARB_texture_query_levels                             not started
    157 ARB_texture_storage_multisample                      not started
    158 ARB_texture_view                                     not started
    159 ARB_vertex_attrib_binding                            not started
    160 
    161 
    162 More info about these features and the work involved can be found at
    163 http://dri.freedesktop.org/wiki/MissingFunctionality
    164