Merge branch 'arb_sampler_objects'
[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 Clamping controls (GL_ARB_color_buffer_float)         DONE
19 Float textures, renderbuffers (GL_ARB_texture_float)  BRANCH ~mareko/mesa floating2
20 GL_EXT_packed_float                                   not started
21 GL_EXT_texture_shared_exponent                        not started
22 Float depth buffers (GL_ARB_depth_buffer_float)       not started
23 Framebuffer objects (GL_EXT_framebuffer_object)       DONE
24 Half-float                                            DONE
25 Multisample blit                                      DONE
26 Non-normalized Integer texture/framebuffer formats    ~50% done
27 1D/2D Texture arrays                                  core Mesa, swrast done
28 Packed depth/stencil formats                          DONE
29 Per-buffer blend and masks (GL_EXT_draw_buffers2)     DONE
30 GL_EXT_texture_compression_rgtc                       DONE (swrast, gallium r600)
31 Red and red/green texture formats                     DONE (swrast, i965, gallium)
32 Transform feedback (GL_EXT_transform_feedback)        ~50% done
33    glBindFragDataLocation, glGetFragDataLocation,
34    glBindBufferRange, glBindBufferBase commands
35 Vertex array objects (GL_APPLE_vertex_array_object)   DONE
36 sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     core GL done (i965, gallium), GLX todo
37 glClearBuffer commands                                DONE
38 glGetStringi command                                  DONE
39 glTexParameterI, glGetTexParameterI commands          DONE
40 glVertexAttribI commands                              DONE (but converts int
41                                                             values to floats)
42 Depth format cube textures                            0% done
43
44
45
46 GL 3.1:
47
48 GLSL 1.30 and 1.40                                    not started
49 Instanced drawing (GL_ARB_draw_instanced)             DONE (gallium, swrast)
50 Buffer copying (GL_ARB_copy_buffer)                   DONE
51 Primitive restart (GL_NV_primitive_restart)           DONE (gallium)
52 16 vertex texture image units                         not started
53 Texture buffer objs (GL_ARB_texture_buffer_object)    not started
54 Rectangular textures (GL_ARB_texture_rectangle)       DONE
55 Uniform buffer objs (GL_ARB_uniform_buffer_object)    not started
56 Signed normalized textures (GL_EXT_texture_snorm)     DONE (gallium)
57
58
59 GL 3.2:
60
61 Core/compatibility profiles                           not started
62 GLSL 1.50                                             not started
63 Geometry shaders (GL_ARB_geometry_shader4)            partially done (Zack)
64 BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE
65 Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE
66 Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
67 Provoking vertex (GL_ARB_provoking_vertex)            DONE
68 Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE, mostly?
69 Multisample textures (GL_ARB_texture_multisample)     not started
70 Frag depth clamp (GL_ARB_depth_clamp)                 DONE
71 Fence objects (GL_ARB_sync)                           DONE
72
73
74 GL 3.3:
75
76 GLSL 3.30                                             not started
77 GL_ARB_blend_func_extended                            not started
78 GL_ARB_explicit_attrib_location                       DONE (swrast, i915, i965)
79 GL_ARB_occlusion_query2                               DONE (swrast, gallium)
80 GL_ARB_sampler_objects                                DONE (gallium)
81 GL_ARB_texture_rgb10_a2ui                             not started
82 GL_ARB_texture_swizzle                                DONE (same as EXT version)
83 GL_ARB_timer_query                                    DONE (only Xlib sw driver)
84 GL_ARB_instanced_arrays                               DONE (gallium)
85 GL_ARB_vertex_type_2_10_10_10_rev                     not started
86
87
88 GL 4.0:
89
90 GLSL 4.0                                             not started
91 GL_ARB_texture_query_lod                             not started
92 GL_ARB_draw_buffers_blend                            DONE (gallium softpipe)
93 GL_ARB_draw_indirect                                 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                           not started
102 GL_ARB_transform_feedback3                           not started
103
104
105 GL 4.1:
106
107 GLSL 4.1                                             not started
108 GL_ARB_ES2_compatibility                             not started
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
117
118 More info about these features and the work involved can be found at
119 http://dri.freedesktop.org/wiki/MissingFunctionality