docs: rephrase 9.2.1, 9.1.7 news item
[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 OpenGL Core and Compatibility context support
11
12 OpenGL 3.1 and later versions are only supported with the Core profile.
13 There are no plans to support GL_ARB_compatibility. The last supported OpenGL
14 version with all deprecated features is 3.0. Some of the later GL features
15 are exposed in the 3.0 context as extensions.
16
17
18 Feature Status
19 ----------------------------------------------------- ------------------------
20
21 GL 3.0:
22
23 GLSL 1.30 DONE
24 glBindFragDataLocation, glGetFragDataLocation DONE
25 Conditional rendering (GL_NV_conditional_render) DONE (i965, r300, r600, swrast)
26 Map buffer subranges (GL_ARB_map_buffer_range) DONE (i965, r300, r600, swrast)
27 Clamping controls (GL_ARB_color_buffer_float) DONE (i965, r300, r600)
28 Float textures, renderbuffers (GL_ARB_texture_float) DONE (i965, r300, r600)
29 GL_EXT_packed_float DONE (i965, r600)
30 GL_EXT_texture_shared_exponent DONE (i965, r600, swrast)
31 Float depth buffers (GL_ARB_depth_buffer_float) DONE (i965, r600)
32 Framebuffer objects (GL_ARB_framebuffer_object) DONE (i965, r300, r600, swrast)
33 Half-float DONE
34 Non-normalized Integer texture/framebuffer formats DONE (i965, r600)
35 1D/2D Texture arrays DONE
36 Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (i965, r600, swrast)
37 GL_EXT_texture_compression_rgtc DONE (i965, r300, r600, swrast)
38 Red and red/green texture formats DONE (i965, swrast, gallium)
39 Transform feedback (GL_EXT_transform_feedback) DONE (i965, r600)
40 Vertex array objects (GL_APPLE_vertex_array_object) DONE (i965, r300, r600, swrast)
41 sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE (i965, r600)
42 glClearBuffer commands DONE
43 glGetStringi command DONE
44 glTexParameterI, glGetTexParameterI commands DONE
45 glVertexAttribI commands DONE
46 Depth format cube textures DONE
47 GLX_ARB_create_context (GLX 1.4 is required) DONE
48
49
50 GL 3.1:
51
52 GLSL 1.40 DONE (i965, r600)
53 Forward compatibile context support/deprecations DONE (i965, r600)
54 Instanced drawing (GL_ARB_draw_instanced) DONE (i965, gallium, swrast)
55 Buffer copying (GL_ARB_copy_buffer) DONE (i965, r300, r600, swrast)
56 Primitive restart (GL_NV_primitive_restart) DONE (i965, r600)
57 16 vertex texture image units DONE
58 Texture buffer objs (GL_ARB_texture_buffer_object) DONE for OpenGL 3.1 contexts (i965, r600)
59 Rectangular textures (GL_ARB_texture_rectangle) DONE (i965, r300, r600, swrast)
60 Uniform buffer objs (GL_ARB_uniform_buffer_object) DONE (i965, r600, swrast)
61 Signed normalized textures (GL_EXT_texture_snorm) DONE (i965, r300, r600)
62
63
64 GL 3.2:
65
66 Core/compatibility profiles DONE
67 GLSL 1.50 in progress
68 Geometry shaders (GL_ARB_geometry_shader4) partially done
69 BGRA vertex order (GL_ARB_vertex_array_bgra) DONE (i965, r300, r600, swrast)
70 Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE (i965, r300, r600, swrast)
71 Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r300, r600, swrast)
72 Provoking vertex (GL_ARB_provoking_vertex) DONE (i965, r300, r600, swrast)
73 Seamless cubemaps (GL_ARB_seamless_cube_map) DONE (i965, r600)
74 Multisample textures (GL_ARB_texture_multisample) DONE (i965)
75 Frag depth clamp (GL_ARB_depth_clamp) DONE (i965, r600, swrast)
76 Fence objects (GL_ARB_sync) DONE (i965, r300, r600, swrast)
77 GLX_ARB_create_context_profile DONE
78
79
80 GL 3.3:
81
82 GLSL 3.30 new features in this version pretty much done
83 GL_ARB_blend_func_extended DONE (i965, r600, softpipe)
84 GL_ARB_explicit_attrib_location DONE (i915, i965, r300, r600, swrast)
85 GL_ARB_occlusion_query2 DONE (i965, r300, r600, swrast)
86 GL_ARB_sampler_objects DONE (i965, r300, r600)
87 GL_ARB_shader_bit_encoding DONE
88 GL_ARB_texture_rgb10_a2ui DONE (i965, r600)
89 GL_ARB_texture_swizzle DONE (same as EXT version) (i965, r300, r600, swrast)
90 GL_ARB_timer_query DONE (i965, r600)
91 GL_ARB_instanced_arrays DONE (i965, r300, r600)
92 GL_ARB_vertex_type_2_10_10_10_rev DONE (i965, r600)
93
94
95 GL 4.0:
96
97 GLSL 4.0 not started
98 GL_ARB_texture_query_lod DONE (i965)
99 GL_ARB_draw_buffers_blend DONE (i965, r600, softpipe)
100 GL_ARB_draw_indirect started (Christoph)
101 GL_ARB_gpu_shader5 started
102 GL_ARB_gpu_shader_fp64 not started
103 GL_ARB_sample_shading not started
104 GL_ARB_shader_subroutine not started
105 GL_ARB_tessellation_shader not started
106 GL_ARB_texture_buffer_object_rgb32 DONE (i965, softpipe)
107 GL_ARB_texture_cube_map_array DONE (i965, softpipe)
108 GL_ARB_texture_gather DONE (i965)
109 GL_ARB_transform_feedback2 DONE
110 GL_ARB_transform_feedback3 DONE
111
112
113 GL 4.1:
114
115 GLSL 4.1 not started
116 GL_ARB_ES2_compatibility DONE (i965, r300, r600)
117 GL_ARB_get_program_binary DONE (0 binary formats)
118 GL_ARB_separate_shader_objects some infrastructure done
119 GL_ARB_shader_precision not started
120 GL_ARB_vertex_attrib_64bit not started
121 GL_ARB_viewport_array not started
122
123
124 GL 4.2:
125
126 GLSL 4.2 not started
127 GL_ARB_texture_compression_bptc not started
128 GL_ARB_compressed_texture_pixel_storage not started
129 GL_ARB_shader_atomic_counters not started
130 GL_ARB_texture_storage DONE (i965, r300, r600, swrast, gallium)
131 GL_ARB_transform_feedback_instanced DONE
132 GL_ARB_base_instance DONE (i965, nv50, nvc0, r600, radeonsi)
133 GL_ARB_shader_image_load_store not started
134 GL_ARB_conservative_depth DONE (softpipe)
135 GL_ARB_shading_language_420pack DONE (i965, gallium)
136 GL_ARB_internalformat_query DONE (i965, gallium)
137 GL_ARB_map_buffer_alignment DONE (r300, r600, radeonsi)
138
139
140 GL 4.3:
141
142 GLSL 4.3 not started
143 ARB_arrays_of_arrays not started
144 ARB_ES3_compatibility DONE (i965)
145 ARB_clear_buffer_object not started
146 ARB_compute_shader started (gallium)
147 ARB_copy_image not started
148 KHR_debug DONE
149 ARB_explicit_uniform_location not started
150 ARB_fragment_layer_viewport not started
151 ARB_framebuffer_no_attachments not started
152 ARB_internalformat_query2 not started
153 ARB_invalidate_subdata not started
154 ARB_multi_draw_indirect not started
155 ARB_program_interface_query not started
156 ARB_robust_buffer_access_behavior not started
157 ARB_shader_image_size not started
158 ARB_shader_storage_buffer_object not started
159 ARB_stencil_texturing not started
160 ARB_texture_buffer_range DONE (nv50, nvc0)
161 ARB_texture_query_levels DONE (i965)
162 ARB_texture_storage_multisample DONE (i965)
163 ARB_texture_view not started
164 ARB_vertex_attrib_binding started (Fredrik)
165
166
167 GL 4.4:
168
169 GLSL 4.4 not started
170 MAX_VERTEX_ATTRIB_STRIDE not started
171 ARB_buffer_storage not started
172 ARB_clear_texture not started
173 ARB_enhanced_layouts not started
174 ARB_multi_bind not started
175 ARB_query_buffer_object not started
176 ARB_texture_mirror_clamp_to_edge not started
177 ARB_texture_stencil8 not started
178 ARB_vertex_type_10f_11f_11f_rev not started
179
180
181 More info about these features and the work involved can be found at
182 http://dri.freedesktop.org/wiki/MissingFunctionality