blob: fb22739b6c7c779fe18bc8d4fa2a29b776063a51 [file] [log] [blame]
Brian Paul9b0bbe12009-12-30 10:39:20 -07001
2Status of OpenGL 3.x features in Mesa
3
4
5Note: when an item is marked as "DONE" it means all the core Mesa
6infrastructure is complete but it may be the case that few (if any) drivers
7implement the features.
8
9
10Feature Status
11----------------------------------------------------- ------------------------
12
13GL 3.0:
14
15GLSL changes (GL_EXT_gpu_shader4, etc) not started
Brian Paula6975502010-01-05 21:25:56 -070016Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe)
Brian Pauld35c2ca2010-05-11 21:03:53 -060017Map buffer subranges (GL_ARB_map_buffer_range) DONE
Brian Paul9b0bbe12009-12-30 10:39:20 -070018Float textures, renderbuffers some infrastructure done
Brian Paul449721a2010-03-20 12:05:25 -060019 (incl. GL_EXT_packed_float, GL_EXT_shared_exponent)
Brian Paul9b0bbe12009-12-30 10:39:20 -070020Framebuffer objects (GL_EXT_framebuffer_object) DONE
21Half-float some infrastructure done
22Multisample blit DONE
Brian Paul0ec0f102010-11-21 09:31:19 -070023Non-normalized Integer texture/framebuffer formats ~50% done
Brian Paul70d5c482010-02-25 19:50:09 -0700241D/2D Texture arrays core Mesa, swrast done
Brian Paul9b0bbe12009-12-30 10:39:20 -070025Packed depth/stencil formats DONE
26Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE
27GL_EXT_texture_compression_rgtc not started
Brian Paul9ad45892010-10-21 17:04:25 -060028Red and red/green texture formats DONE (swrast, i965, gallium)
Brian Paula4376012010-04-04 19:08:21 -060029Transform feedback (GL_EXT_transform_feedback) ~50% done
Brian Pauld35c2ca2010-05-11 21:03:53 -060030 glBindFragDataLocation, glGetFragDataLocation,
31 glBindBufferRange, glBindBufferBase commands
Brian Paul9b0bbe12009-12-30 10:39:20 -070032Vertex array objects (GL_APPLE_vertex_array_object) DONE
33sRGB framebuffer format (GL_EXT_framebuffer_sRGB) not started
Brian Paul0ec0f102010-11-21 09:31:19 -070034glClearBuffer commands DONE
35glGetStringi command DONE
36glTexParameterI, glGetTexParameterI commands DONE
37glVertexAttribI commands DONE (but converts int
38 values to floats)
Brian Paul9b0bbe12009-12-30 10:39:20 -070039
40
41GL 3.1:
42
43GLSL 1.30 and 1.40 not started
Brian Paula4376012010-04-04 19:08:21 -060044Instanced drawing (GL_ARB_draw_instanced) ~50% done
Brian Paul9b0bbe12009-12-30 10:39:20 -070045Buffer copying (GL_ARB_copy_buffer) DONE
Brian Paulb4c01332010-10-22 11:01:06 -060046Primitive restart (GL_NV_primitive_restart) DONE (gallium)
Brian Paul9b0bbe12009-12-30 10:39:20 -07004716 vertex texture image units not started
Ian Romanick48156b82010-10-08 14:55:27 -070048Texture buffer objs (GL_ARB_texture_buffer_object) not started
Brian Paul9b0bbe12009-12-30 10:39:20 -070049Rectangular textures (GL_ARB_texture_rectangle) DONE
50Uniform buffer objs (GL_ARB_uniform_buffer_object) not started
Brian Paul0fcea8a2010-04-26 20:35:55 -060051Signed normalized texture formats ~50% done
Brian Paul9b0bbe12009-12-30 10:39:20 -070052
53
54GL 3.2:
55
56Core/compatibility profiles not started
57GLSL 1.50 not started
58Geometry shaders (GL_ARB_geometry_shader4) partially done (Zack)
59BGRA vertex order (GL_ARB_vertex_array_bgra) DONE
60Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE
Brian Paul50a75a02010-04-01 22:15:16 -060061Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
Brian Paul9b0bbe12009-12-30 10:39:20 -070062Provoking vertex (GL_ARB_provoking_vertex) DONE
63Seamless cubemaps (GL_ARB_seamless_cube_map) DONE, mostly?
64Multisample textures (GL_ARB_texture_multisample) not started
65Frag depth clamp (GL_ARB_depth_clamp) DONE
66Fence objects (GL_ARB_sync) DONE
67
68
Brian Pauld35c2ca2010-05-11 21:03:53 -060069GL 3.3:
70
71GLSL 3.30 not started
72GL_ARB_blend_func_extended not started
Ian Romanick48156b82010-10-08 14:55:27 -070073GL_ARB_explicit_attrib_location DONE (swrast, i915, i965)
Brian Pauld35c2ca2010-05-11 21:03:53 -060074GL_ARB_occlusion_query2 not started
75GL_ARB_sampler_objects not started
76GL_ARB_texture_rgb10_a2ui not started
77GL_ARB_texture_swizzle DONE (same as EXT version)
78GL_ARB_timer_query DONE (only Xlib sw driver)
79GL_ARB_instanced_arrays not started
80GL_ARB_vertex_type_2_10_10_10_rev not started
81
82
83GL 4.0:
84
85GLSL 4.0 not started
86GL_ARB_texture_query_lod not started
87GL_ARB_draw_buffers_blend not started
88GL_ARB_draw_indirect not started
89GL_ARB_gpu_shader_fp64 not started
90GL_ARB_sample_shading not started
91GL_ARB_shader_subroutine not started
92GL_ARB_tessellation_shader not started
93GL_ARB_texture_buffer_object_rgb32 not started
94GL_ARB_texture_cube_map_array not started
95GL_ARB_texture_gather not started
96GL_ARB_transform_feedback2 not started
Marek Olšák2892c8b2010-11-21 22:54:33 +010097GL_ARB_transform_feedback3 not started
98
99
100GL 4.1:
101
102GLSL 4.1 not started
103GL_ARB_ES2_compatibility not started
104GL_ARB_get_program_binary not started
105GL_ARB_separate_shader_objects some infrastructure done
106GL_ARB_shader_precision not started
107GL_ARB_vertex_attrib_64bit not started
108GL_ARB_viewport_array not started
Brian Pauld35c2ca2010-05-11 21:03:53 -0600109
110
111
Brian Paul90894362010-01-05 16:03:11 -0700112
113More info about these features and the work involved can be found at
114http://dri.freedesktop.org/wiki/MissingFunctionality