GL3.txt revision c33d2e6b08be42d3e4d779777f73ab91b036809f
1
2Status of OpenGL 3.x features in Mesa
3
4
5Note: when an item is marked as "DONE" it means all the core Mesa
6infrastructure is complete but it may be the case that few (if any) drivers
7implement the features.
8
9
10Feature                                               Status
11----------------------------------------------------- ------------------------
12
13GL 3.0:
14
15GLSL 1.30 (GL_EXT_gpu_shader4, etc.)                  started
16glBindFragDataLocation, glGetFragDataLocation         DONE
17Conditional rendering (GL_NV_conditional_render)      DONE (swrast, softpipe, i965)
18Map buffer subranges (GL_ARB_map_buffer_range)        DONE
19Clamping controls (GL_ARB_color_buffer_float)         DONE
20Float textures, renderbuffers (GL_ARB_texture_float)  DONE (gallium r300)
21GL_EXT_packed_float                                   DONE (gallium r600)
22GL_EXT_texture_shared_exponent                        DONE (gallium, swrast)
23Float depth buffers (GL_ARB_depth_buffer_float)       DONE
24Framebuffer objects (GL_EXT_framebuffer_object)       DONE
25Half-float                                            DONE
26Multisample blit                                      DONE
27Non-normalized Integer texture/framebuffer formats    ~50% done
281D/2D Texture arrays                                  DONE (gallium, swrast)
29Packed depth/stencil formats                          DONE
30Per-buffer blend and masks (GL_EXT_draw_buffers2)     DONE
31GL_EXT_texture_compression_rgtc                       DONE (swrast, gallium r600)
32Red and red/green texture formats                     DONE (swrast, i965, gallium)
33Transform feedback (GL_EXT_transform_feedback)        ~50% done
34Vertex array objects (GL_APPLE_vertex_array_object)   DONE
35sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     core GL done (i965, gallium), GLX todo
36glClearBuffer commands                                DONE
37glGetStringi command                                  DONE
38glTexParameterI, glGetTexParameterI commands          DONE
39glVertexAttribI commands                              DONE (but converts int
40                                                            values to floats)
41Depth format cube textures                            not started
42GLX_ARB_create_context (GLX 1.4 is required)          not started
43
44
45GL 3.1:
46
47GLSL 1.40                                             not started
48Instanced drawing (GL_ARB_draw_instanced)             DONE (gallium, swrast)
49Buffer copying (GL_ARB_copy_buffer)                   DONE
50Primitive restart (GL_NV_primitive_restart)           DONE (gallium)
5116 vertex texture image units                         DONE
52Texture buffer objs (GL_ARB_texture_buffer_object)    not started
53Rectangular textures (GL_ARB_texture_rectangle)       DONE
54Uniform buffer objs (GL_ARB_uniform_buffer_object)    not started
55Signed normalized textures (GL_EXT_texture_snorm)     DONE (gallium)
56
57
58GL 3.2:
59
60Core/compatibility profiles                           not started
61GLSL 1.50                                             not started
62Geometry shaders (GL_ARB_geometry_shader4)            partially done (Zack)
63BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE
64Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE
65Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
66Provoking vertex (GL_ARB_provoking_vertex)            DONE
67Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE
68Multisample textures (GL_ARB_texture_multisample)     not started
69Frag depth clamp (GL_ARB_depth_clamp)                 DONE
70Fence objects (GL_ARB_sync)                           DONE
71GLX_ARB_create_context_profile                        not started
72
73
74GL 3.3:
75
76GLSL 3.30                                             not started
77GL_ARB_blend_func_extended                            not started
78GL_ARB_explicit_attrib_location                       DONE (swrast, i915, i965)
79GL_ARB_occlusion_query2                               DONE (swrast, gallium)
80GL_ARB_sampler_objects                                DONE (gallium)
81GL_ARB_texture_rgb10_a2ui                             not started
82GL_ARB_texture_swizzle                                DONE (same as EXT version)
83GL_ARB_timer_query                                    ~60% done (the EXT variant)
84GL_ARB_instanced_arrays                               DONE (gallium)
85GL_ARB_vertex_type_2_10_10_10_rev                     DONE (gallium)
86
87
88GL 4.0:
89
90GLSL 4.0                                             not started
91GL_ARB_texture_query_lod                             not started
92GL_ARB_draw_buffers_blend                            DONE (gallium softpipe)
93GL_ARB_draw_indirect                                 not started
94GL_ARB_gpu_shader_fp64                               not started
95GL_ARB_sample_shading                                not started
96GL_ARB_shader_subroutine                             not started
97GL_ARB_tessellation_shader                           not started
98GL_ARB_texture_buffer_object_rgb32                   not started
99GL_ARB_texture_cube_map_array                        not started
100GL_ARB_texture_gather                                not started
101GL_ARB_transform_feedback2                           started
102GL_ARB_transform_feedback3                           not started
103
104
105GL 4.1:
106
107GLSL 4.1                                             not started
108GL_ARB_ES2_compatibility                             DONE (i965)
109GL_ARB_get_program_binary                            not started
110GL_ARB_separate_shader_objects                       some infrastructure done
111GL_ARB_shader_precision                              not started
112GL_ARB_vertex_attrib_64bit                           not started
113GL_ARB_viewport_array                                not started
114
115
116GL 4.2:
117GLSL 4.2                                             not started
118GL_ARB_texture_compression_bptc                      not started
119GL_ARB_compressed_texture_pixel_storage              not started
120GL_ARB_shader_atomic_counters                        not started
121GL_ARB_texture_storage                               DONE (gallium, swrast)
122GL_ARB_transform_feedback_instanced                  not started
123GL_ARB_base_instance                                 not started
124GL_ARB_shader_image_load_store                       not started
125GL_ARB_conservative_depth                            DONE (compiler)
126GL_ARB_shading_language_420pack                      not started
127GL_ARB_internalformat_query                          not started
128GL_ARB_map_buffer_alignment                          not started
129
130
131More info about these features and the work involved can be found at
132http://dri.freedesktop.org/wiki/MissingFunctionality
133