069d36d23d721f46df673d549b7be806b13ecb6a
[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 1.30 DONE
16 glBindFragDataLocation, glGetFragDataLocation DONE
17 Conditional rendering (GL_NV_conditional_render) DONE (i965, r600, swrast)
18 Map buffer subranges (GL_ARB_map_buffer_range) DONE (i965, r600, swrast)
19 Clamping controls (GL_ARB_color_buffer_float) DONE (i965, r600)
20 Float textures, renderbuffers (GL_ARB_texture_float) DONE (i965, r600)
21 GL_EXT_packed_float DONE (i965, r600)
22 GL_EXT_texture_shared_exponent DONE (i965, r600, swrast)
23 Float depth buffers (GL_ARB_depth_buffer_float) DONE (i965, r600)
24 Framebuffer objects (GL_EXT_framebuffer_object) DONE (i965, r600, swrast)
25 Half-float DONE
26 Multisample blit DONE
27 Non-normalized Integer texture/framebuffer formats ~50% done
28 1D/2D Texture arrays DONE
29 Packed depth/stencil formats DONE
30 Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (i965, r600, swrast)
31 GL_EXT_texture_compression_rgtc DONE (i965, r600, swrast)
32 Red and red/green texture formats DONE (i965, swrast, gallium)
33 Transform feedback (GL_EXT_transform_feedback) DONE (i965)
34 Vertex array objects (GL_APPLE_vertex_array_object) DONE (i965, r600, swrast)
35 sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE (i965, r600)
36 glClearBuffer commands DONE
37 glGetStringi command DONE
38 glTexParameterI, glGetTexParameterI commands DONE
39 glVertexAttribI commands DONE (but converts int
40 values to floats)
41 Depth format cube textures DONE
42 GLX_ARB_create_context (GLX 1.4 is required) DONE
43
44
45 GL 3.1:
46
47 GLSL 1.40 not started
48 Instanced drawing (GL_ARB_draw_instanced) DONE (gallium, swrast)
49 Buffer copying (GL_ARB_copy_buffer) DONE (i965, r600, swrast)
50 Primitive restart (GL_NV_primitive_restart) DONE (r600)
51 16 vertex texture image units DONE
52 Texture buffer objs (GL_ARB_texture_buffer_object) not started
53 Rectangular textures (GL_ARB_texture_rectangle) DONE (i965, r600, swrast)
54 Uniform buffer objs (GL_ARB_uniform_buffer_object) not started
55 Signed normalized textures (GL_EXT_texture_snorm) DONE (i965, r600)
56
57
58 GL 3.2:
59
60 Core/compatibility profiles not started
61 GLSL 1.50 not started
62 Geometry shaders (GL_ARB_geometry_shader4) partially done (Zack)
63 BGRA vertex order (GL_ARB_vertex_array_bgra) DONE (i965, r600, swrast)
64 Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE (i965, r600, swrast)
65 Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r600, swrast)
66 Provoking vertex (GL_ARB_provoking_vertex) DONE (i965, r600, swrast)
67 Seamless cubemaps (GL_ARB_seamless_cube_map) DONE (i965, r600)
68 Multisample textures (GL_ARB_texture_multisample) not started
69 Frag depth clamp (GL_ARB_depth_clamp) DONE (i965, r600, swrast)
70 Fence objects (GL_ARB_sync) DONE (i965, r600, swrast)
71 GLX_ARB_create_context_profile 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 (i915, i965, r600, swrast)
79 GL_ARB_occlusion_query2 DONE (r600, swrast)
80 GL_ARB_sampler_objects DONE (i965, r600)
81 GL_ARB_texture_rgb10_a2ui DONE (gallium)
82 GL_ARB_texture_swizzle DONE (same as EXT version) (i965, r600, swrast)
83 GL_ARB_timer_query ~60% done (the EXT variant)
84 GL_ARB_instanced_arrays DONE (r600)
85 GL_ARB_vertex_type_2_10_10_10_rev DONE (r600)
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 (r600, 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 DONE
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 DONE (i965, r600)
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 GL 4.2:
117 GLSL 4.2 not started
118 GL_ARB_texture_compression_bptc not started
119 GL_ARB_compressed_texture_pixel_storage not started
120 GL_ARB_shader_atomic_counters not started
121 GL_ARB_texture_storage DONE (r600, swrast)
122 GL_ARB_transform_feedback_instanced not started
123 GL_ARB_base_instance not started
124 GL_ARB_shader_image_load_store not started
125 GL_ARB_conservative_depth DONE (compiler)
126 GL_ARB_shading_language_420pack not started
127 GL_ARB_internalformat_query not started
128 GL_ARB_map_buffer_alignment not started
129
130
131 More info about these features and the work involved can be found at
132 http://dri.freedesktop.org/wiki/MissingFunctionality