Mesa 6.3 release notes July 20, 2005 PLEASE READ!!!! Introduction ------------ Mesa uses an even/odd version number scheme like the Linux kernel. Odd numbered versions (such as 6.3) designate new developmental releases. Even numbered versions (such as 6.2) designate stable releases. New Features ------------ GL_ARB_draw_buffers - allows a fragment program to write to a number of separate color buffers, instead of just one. GL_OES_read_format - allows one to query the fastest glReadPixels format and datatype. GL_ARB_pixel_buffer_object - buffer objects for pixel read/write functions. GL_EXT_framebuffer_object - allows render-to-texture and provides a window-system indepedent Pbuffer facility. The Mesa CVS tree contains a couple tests of this extension. DirectFB driver, contributed by Claudio Ciccani. See docs/README.directfb for details. Vertex/Fragment Program PRINT Instruction ----------------------------------------- The GL_NV_vertex_program and GL_NV_fragment_program languages have been extended with a PRINT instruction. glDeleteTextures(), glDeletePrograms() and glDeleteBuffers() Changed -------------------------------------------------------------------- To match the behaviour of other OpenGL implementations, glDeleteTextures, glDeletePrograms and glDeleteBuffers have been modified so that: * The named texture/program/buffer ID is immediately freed for re-use. * The actual texture object, program or buffers isn't really deleted until it is no longer bound in any rendering context (the reference count is zero). Previously, the texture/program/buffer ID wasn't freed until the object was really deleted. Note that textures, programs and buffers can be shared by several rendering contexts so they can't be deleted until they're unbound in _all_ contexts. GL_EXT_framebuffer_object changes --------------------------------- Implementing this extension involved changing a lot of code (for the better). The gl_framebuffer object now a collection of gl_renderbuffer objects. Renderbuffers may store colors, stencil indices, or depth values. The gl_framebuffer and gl_renderbuffer types are object-oriented in design. All the old RGB, color index, stencil and depth-related span functions for reading/writing pixels from/to buffers has changed. Now, all pixels are read/written through a set of common renderbuffer functions (methods). Most device drivers have been updated for these changes, but some haven't. To Do (someday) items --------------------- Switch to freeglut Increase MAX_DRAWBUFFERS driver hooks for BeginQuery/EndQuery Miscellaneous ------------- The main/get.c file is now generated with a Python script (get_gen.py). Driver Status ---------------------- --------------------- XMesa (Xlib) implements OpenGL 1.5 OSMesa (off-screen) implements OpenGL 1.5 Glide (3dfx Voodoo1/2) implements OpenGL 1.3 SVGA implements OpenGL 1.3 Wind River UGL implements OpenGL 1.3 Windows/Win32 implements OpenGL 1.5 DJGPP implements OpenGL 1.5 GGI implements OpenGL 1.3 BeOS implements OpenGL 1.5 Allegro needs updating D3D needs updating ----------------------------------------------------------------------