MissingFunctionality

Texture Format Related Features

GL Version

Mesa Version

i965

r600g

Difficulty

Notes

GL_ARB_texture_rg

3.0

7.10

7.10

7.10

GL_ARB_texture_float

3.0

7.11

7.11

7.11

GL_EXT_texture_array

3.0

7.8

8.0

8.0

Test implicit interactions with S3TC

GL_EXT_texture_integer (texture formats)

3.0

8.0

8.0

8.0

GL_EXT_packed_float

3.0

7.11

8.0

7.11

GL_EXT_texture_shared_exponent

3.0

7.11

8.0

7.11

GL_ARB_half_float_pixel

3.0

6.5

7.11

7.9

GL_EXT_texture_compression_rgtc

3.0

7.11

7.11

7.11

GL_EXT_texture_snorm

3.1

7.11

7.11

7.11

GL_ARB_texture_multisample

3.2

No

Doable

Doable

Weeks?

GL_ARB_texture_rgb10_a2ui

3.3

8.0

Doable

8.0

Days

This extension adds new pixel (texture) data formats. Adding support for these is tedious but not terribly difficult.

Draw-call Related Features

GL Version

Mesa Version

i965

r600g

Difficulty

Notes

GL_EXT_transform_feedback

3.0

8.0

8.0

8.0

GL_NV_conditional_render

3.0

7.8

7.11

7.11

Supported using waiting for OQ results so far on Intel.

GL_ARB_draw_instanced

3.1

7.11

8.1

7.11?

Days

GL_NV_primitive_restart

3.1

7.10

8.1

8.0

GL_ARB_instanced_arrays

3.3

Yes

?

7.11

Weeks

Even adding trivial software emulation would save the validation required for N-1 draw calls.

GL_ARB_occlusion_query2

3.3

7.11

7.11

7.11

GL_ARB_vertex_type_2_10_10_10_rev

3.3

8.0

Doable

8.0

Weeks

Render-target Related Features

GL Version

Mesa Version

i965

r600g

Difficulty

Notes

GL_ARB_color_buffer_float

3.0

7.11

7.11

7.11

GL_ARB_depth_buffer_float

3.0

8.0

8.0

8.0

GL_EXT_texture_integer (render formats)

3.0

8.0

8.0

8.0

GL_EXT_draw_buffers2

3.0

7.8

7.9

7.10

GL_ARB_blend_func_extended

3.3

8.1

8.1

8.1

GL_EXT_framebuffer_sRGB

3.0

7.11

7.11

7.11

Shading Language Features

GL Version

Mesa Version

i965

r600g

Difficulty

Notes

GLSL 1.30

3.0

8.0

8.0

8.0

GL_EXT_gpu_shader4

3.1

No

Doable

Doable

Months

Piles and piles of work.

GLSL 1.40

3.1

No

Doable

Doable

GL_ARB_texture_buffer_object

3.1

No

Doable

Doable

Weeks

Infrastructure work has landed. The extension isn't enabled because Mesa's implementation requires GLSL 1.40 and OpenGL 3.1 core profile.

GL_ARB_uniform_buffer_object

3.1

No

Doable

Doable

Months

16 vertex textures

3.0

Yes

8.0

7.11

GLSL 1.50

3.2

No

Doable

Doable

Months

Piles and piles of work.

GL_ARB_geometry_shader4

3.2

Partial?

Doable

Doable

Months

GL_ARB_fragment_coord_conventions

3.2

7.8

7.10

7.8

Days

GL_ARB_shader_bit_encoding

3.3

No

Doable

Doable

Days

Olivier Galibert has patches on the mesa-dev mailing list.

GL_ARB_explicit_attrib_location

3.3

7.10

7.10

7.10

Misc. Features

GL Version

Mesa Version

i965

r600g

Difficulty

Notes

GL_ARB_sampler_objects

3.3

7.11

7.11

7.11

GL_ARB_texture_swizzle

3.3

7.9 (7.5)

7.9 (7.5)

7.9

Originally GL_EXT_texture_swizzle in Mesa 7.5.

GL_ARB_timer_query

3.3

7.9

Doable

7.11 (EXT)

Days

Trivial modification of GL_EXT_timer_query.

GLX / EGL Features

GL Version

Mesa Version

i965

r600g

Difficulty

Notes

GLX_ARB_create_context

3.0

8.0

8.0

8.0

GLX_ARB_create_context_profile

3.2

8.0

8.0

8.0

Weeks

Mesa drivers don't actually support profiles yet, and Xserver support for this extension has not be implemented. There is still work to do here.