GL3.txt revision 3414447011b6b25aeab22f4949a96c09cf4c5098
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
16Conditional rendering (GL_NV_conditional_render)      DONE (swrast, softpipe, i965)
17Map buffer subranges (GL_ARB_map_buffer_range)        DONE
18Clamping controls (GL_ARB_color_buffer_float)         DONE
19Float textures, renderbuffers (GL_ARB_texture_float)  DONE (gallium r300)
20GL_EXT_packed_float                                   DONE (gallium r600)
21GL_EXT_texture_shared_exponent                        DONE (gallium, swrast)
22Float depth buffers (GL_ARB_depth_buffer_float)       DONE
23Framebuffer objects (GL_EXT_framebuffer_object)       DONE
24Half-float                                            DONE
25Multisample blit                                      DONE
26Non-normalized Integer texture/framebuffer formats    ~50% done
271D/2D Texture arrays                                  core Mesa, swrast done
28Packed depth/stencil formats                          DONE
29Per-buffer blend and masks (GL_EXT_draw_buffers2)     DONE
30GL_EXT_texture_compression_rgtc                       DONE (swrast, gallium r600)
31Red and red/green texture formats                     DONE (swrast, i965, gallium)
32Transform feedback (GL_EXT_transform_feedback)        ~50% done
33   glBindFragDataLocation, glGetFragDataLocation,
34   glBindBufferRange, glBindBufferBase commands
35Vertex array objects (GL_APPLE_vertex_array_object)   DONE
36sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     core GL done (i965, gallium), GLX todo
37glClearBuffer commands                                DONE
38glGetStringi command                                  DONE
39glTexParameterI, glGetTexParameterI commands          DONE
40glVertexAttribI commands                              DONE (but converts int
41                                                            values to floats)
42Depth format cube textures                            0% done
43GLX_ARB_create_context (GLX 1.4 is required)          not started
44
45
46GL 3.1:
47
48GLSL 1.40                                             not started
49Instanced drawing (GL_ARB_draw_instanced)             DONE (gallium, swrast)
50Buffer copying (GL_ARB_copy_buffer)                   DONE
51Primitive restart (GL_NV_primitive_restart)           DONE (gallium)
5216 vertex texture image units                         DONE
53Texture buffer objs (GL_ARB_texture_buffer_object)    not started
54Rectangular textures (GL_ARB_texture_rectangle)       DONE
55Uniform buffer objs (GL_ARB_uniform_buffer_object)    not started
56Signed normalized textures (GL_EXT_texture_snorm)     DONE (gallium)
57
58
59GL 3.2:
60
61Core/compatibility profiles                           not started
62GLSL 1.50                                             not started
63Geometry shaders (GL_ARB_geometry_shader4)            partially done (Zack)
64BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE
65Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE
66Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
67Provoking vertex (GL_ARB_provoking_vertex)            DONE
68Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE
69Multisample textures (GL_ARB_texture_multisample)     not started
70Frag depth clamp (GL_ARB_depth_clamp)                 DONE
71Fence objects (GL_ARB_sync)                           DONE
72GLX_ARB_create_context_profile                        not started
73
74
75GL 3.3:
76
77GLSL 3.30                                             not started
78GL_ARB_blend_func_extended                            not started
79GL_ARB_explicit_attrib_location                       DONE (swrast, i915, i965)
80GL_ARB_occlusion_query2                               DONE (swrast, gallium)
81GL_ARB_sampler_objects                                DONE (gallium)
82GL_ARB_texture_rgb10_a2ui                             not started
83GL_ARB_texture_swizzle                                DONE (same as EXT version)
84GL_ARB_timer_query                                    ~60% done (the EXT variant)
85GL_ARB_instanced_arrays                               DONE (gallium)
86GL_ARB_vertex_type_2_10_10_10_rev                     not started
87
88
89GL 4.0:
90
91GLSL 4.0                                             not started
92GL_ARB_texture_query_lod                             not started
93GL_ARB_draw_buffers_blend                            DONE (gallium softpipe)
94GL_ARB_draw_indirect                                 not started
95GL_ARB_gpu_shader_fp64                               not started
96GL_ARB_sample_shading                                not started
97GL_ARB_shader_subroutine                             not started
98GL_ARB_tessellation_shader                           not started
99GL_ARB_texture_buffer_object_rgb32                   not started
100GL_ARB_texture_cube_map_array                        not started
101GL_ARB_texture_gather                                not started
102GL_ARB_transform_feedback2                           not started
103GL_ARB_transform_feedback3                           not started
104
105
106GL 4.1:
107
108GLSL 4.1                                             not started
109GL_ARB_ES2_compatibility                             DONE (i965)
110GL_ARB_get_program_binary                            not started
111GL_ARB_separate_shader_objects                       some infrastructure done
112GL_ARB_shader_precision                              not started
113GL_ARB_vertex_attrib_64bit                           not started
114GL_ARB_viewport_array                                not started
115
116
117
118
119More info about these features and the work involved can be found at
120http://dri.freedesktop.org/wiki/MissingFunctionality
121