Merge branch 'master' into pipe-video
[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_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    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                     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, except for dispatch
35 glGetStringi command                                  DONE, except for dispatch
36 glTexParameterI, glGetTexParameterI commands          DONE, except for dispatch
37 glVertexAttribI 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)           DONE (gallium)
46 16 vertex texture image units                         not started
47 Texture buffer objs (GL_ARB_texture_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                     ~50% done
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 GL 3.3:
69
70 GLSL 3.30                                             not started
71 GL_ARB_blend_func_extended                            not started
72 GL_ARB_explicit_attrib_location                       DONE (swrast, i915, i965)
73 GL_ARB_occlusion_query2                               not started
74 GL_ARB_sampler_objects                                not started
75 GL_ARB_texture_rgb10_a2ui                             not started
76 GL_ARB_texture_swizzle                                DONE (same as EXT version)
77 GL_ARB_timer_query                                    DONE (only Xlib sw driver)
78 GL_ARB_instanced_arrays                               not started
79 GL_ARB_vertex_type_2_10_10_10_rev                     not started
80
81
82 GL 4.0:
83
84 GLSL 4.0                                             not started
85 GL_ARB_texture_query_lod                             not started
86 GL_ARB_draw_buffers_blend                            not started
87 GL_ARB_draw_indirect                                 not started
88 GL_ARB_gpu_shader_fp64                               not started
89 GL_ARB_sample_shading                                not started
90 GL_ARB_shader_subroutine                             not started
91 GL_ARB_tessellation_shader                           not started
92 GL_ARB_texture_buffer_object_rgb32                   not started
93 GL_ARB_texture_cube_map_array                        not started
94 GL_ARB_texture_gather                                not started
95 GL_ARB_transform_feedback2                           not started
96
97
98
99
100 More info about these features and the work involved can be found at
101 http://dri.freedesktop.org/wiki/MissingFunctionality