docs/GL3: document what's missing for GL3
[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 ~50% done (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