Merge branch '7.8'
[profile/ivi/mesa.git] / docs / GL3.txt
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_APPLE_flush_buffer_range)    not started
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    not started
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                     Ian?
29 Transform feedback (GL_EXT_transform_feedback)        ~50% done
30 Vertex array objects (GL_APPLE_vertex_array_object)   DONE
31 sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     not started
32 glClearBuffer commands                                DONE, except for dispatch
33 glGetStringi command                                  DONE, except for dispatch
34 glTexParameterI, glGetTexParameterI commands          DONE, except for dispatch
35 glVertexAttribI commands                              not started
36 glBindFragDataLocation, glGetFragDataLocation cmds    not started
37 glBindBufferRange, glBindBufferBase commands          not started
38
39
40 GL 3.1:
41
42 GLSL 1.30 and 1.40                                    not started
43 Instanced drawing (GL_ARB_draw_instanced)             ~50% done
44 Buffer copying (GL_ARB_copy_buffer)                   DONE
45 Primitive restart (GL_NV_primitive_restart)           not started
46 16 vertex texture image units                         not started
47 Texture buffer objs (GL_ARB_textur_buffer_object)     not started
48 Rectangular textures (GL_ARB_texture_rectangle)       DONE
49 Uniform buffer objs (GL_ARB_uniform_buffer_object)    not started
50 Signed normalized texture formats                     not started
51
52
53 GL 3.2:
54
55 Core/compatibility profiles                           not started
56 GLSL 1.50                                             not started
57 Geometry shaders (GL_ARB_geometry_shader4)            partially done (Zack)
58 BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE
59 Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE
60 Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
61 Provoking vertex (GL_ARB_provoking_vertex)            DONE
62 Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE, mostly?
63 Multisample textures (GL_ARB_texture_multisample)     not started
64 Frag depth clamp (GL_ARB_depth_clamp)                 DONE
65 Fence objects (GL_ARB_sync)                           DONE
66
67
68
69 More info about these features and the work involved can be found at
70 http://dri.freedesktop.org/wiki/MissingFunctionality