implement IR_I_TO_F
[mesa.git] / docs / RELNOTES-4.1
index 5db89f75afc15b856b130b71f2e0d420dd047a70..92cf9196f06457278edd19f46d102e9cc1eb8c7e 100644 (file)
@@ -1,9 +1,9 @@
 
                             Mesa 4.1 release notes
 
 
                             Mesa 4.1 release notes
 
-                            <month>, <day>, 2002
+                               October 29, 2002
 
 
-                               PLEASE READ!!!!
+                                PLEASE READ!!!!
 
 
 
 
 
 
@@ -65,7 +65,7 @@ GL_NV_point_sprite
 
     For rendering points as textured quads.  Useful for particle effects.
 
 
     For rendering points as textured quads.  Useful for particle effects.
 
-GL_NV_texture_rectangle
+GL_NV_texture_rectangle  (new in 4.0.4 actually)
 
     Allows one to use textures with sizes that are not powers of two.
     Note that mipmapping and several texture wrap modes are not allowed.
 
     Allows one to use textures with sizes that are not powers of two.
     Note that mipmapping and several texture wrap modes are not allowed.
@@ -78,6 +78,15 @@ GL_EXT_stencil_two_side
 
    Separate stencil modes for front and back-facing polygons.
 
 
    Separate stencil modes for front and back-facing polygons.
 
+GLX_SGIX_fbconfig & GLX_SGIX_pbuffer
+
+   Off-screen rendering support.
+
+GL_ATI_texture_mirror_once
+
+   Adds two new texture wrap modes: GL_MIRROR_CLAMP_ATI and
+   GL_MIRROR_CLAMP_TO_EDGE_ATI.
+
 
 
 Device Driver Status
 
 
 Device Driver Status
@@ -143,15 +152,6 @@ New features in GLUT
 XXX Things To Do Yet XXXX
 -------------------------
 
 XXX Things To Do Yet XXXX
 -------------------------
 
-Verify x86 code for normal transformation works with new 4-element normal
-vector arrays.  Pretty sure the SSE code is wrong.
-
-Allow multiple points to be rendered into one sw_span.
-
-improve point/line rendering speed.
-
-glVertexAttrib*NV(index>15) should cause an error.
-
 isosurf with vertex program exhibits some missing triangles (probably
 when recycling the vertex buffer for long prims).
 
 isosurf with vertex program exhibits some missing triangles (probably
 when recycling the vertex buffer for long prims).
 
@@ -224,24 +224,32 @@ are some things to change:
 
    Here are the changes:
 
 
    Here are the changes:
 
-   - Rename ctx->Color.DrawDestMask to ctx->Color._DrawDestMask
-   - Rename ctx->Color.DriverDrawBuffer to ctx->Color._DriverDrawBuffer
-   - Rename ctx->Pixel.DriverReadBuffer to ctx->Pixel._DriverReadBuffer
+   - Renamed ctx->Color.DrawDestMask to ctx->Color._DrawDestMask
+   - Removed ctx->Color.DriverDrawBuffer
+   - Removed ctx->Pixel.DriverReadBuffer
    - Removed ctx->Color.MultiDrawBuffer
    - Removed ctx->Color.MultiDrawBuffer
-   - Removed ctx->Driver.SetDrawBuffer
-   - Added ctx->Driver.DrawBuffer and ctx->Driver.ReadBuffer.  These functions
-     exactly correspond to glDrawBuffer and glReadBuffer calls.
+   - Removed ctx->Driver.SetDrawBuffer()
+   - Removed swrast->Driver.SetReadBuffer().
+   - Added ctx->Color._DrawDestMask - a bitmask of FRONT/BACK_LEFT/RIGHT_BIT
+     values to indicate the current draw buffers.
+   - Added ctx->Pixel._ReadSrcMask to indicate the source for pixel reading.
+     The value is _one_ of the FRONT/BACK_LEFT/RIGHT_BIT values.
+   - Added ctx->Driver.DrawBuffer() and ctx->Driver.ReadBuffer().
+     These functions exactly correspond to glDrawBuffer and glReadBuffer calls.
      Many drivers will set ctx->Driver.DrawBuffer = _swrast_DrawBuffer and
      leave ctx->Draw.ReadBuffer NULL.
      DRI drivers should implement their own function for ctx->Driver.DrawBuffer
      and use it to set the current hardware drawing buffer.  You'll probably
      also want to check for GL_FRONT_AND_BACK mode and fall back to software.
      Call _swrast_DrawBuffer() too, to update the swrast state.
      Many drivers will set ctx->Driver.DrawBuffer = _swrast_DrawBuffer and
      leave ctx->Draw.ReadBuffer NULL.
      DRI drivers should implement their own function for ctx->Driver.DrawBuffer
      and use it to set the current hardware drawing buffer.  You'll probably
      also want to check for GL_FRONT_AND_BACK mode and fall back to software.
      Call _swrast_DrawBuffer() too, to update the swrast state.
-   - Removed swrast->Driver.SetReadBuffer
-   - Added swrast->Driver.SetBuffer.  This function should be implemented by
-     _all_ device drivers.  Mesa will call it to specify the buffer to use
-     for span reading AND writing and point/line/triangle rendering.  There
-     should be no confusion between current read or draw buffer anymore.
+   - Added swrast->Driver.SetBuffer().
+     This function should be implemented by all device drivers that use swrast.
+     Mesa will call it to specify the buffer to use for span reading AND
+     writing and point/line/triangle rendering.
+     There should be no confusion between current read or draw buffer anymore.
+   - Added swrast->CurrentBuffer to indicate which color buffer to read/draw.
+     Will be FRONT_LEFT_BIT, BACK_LEFT_BIT, FRONT_RIGHT_BIT or BACK_RIGHT_BIT.
+     This value is usually passed to swrast->Driver.SetBuffer().
 
 
 4. _mesa_create_context() changes.  This function now takes a pointer to
 
 
 4. _mesa_create_context() changes.  This function now takes a pointer to
@@ -267,5 +275,34 @@ are some things to change:
    is enabled.
 
 
    is enabled.
 
 
+7. Removed ctx->Polygon._OffsetAny.  Removed ctx->Polygon.OffsetMRD.
+
+
+8. GLfloat / GLchan changes:
+
+   - Changed ctx->Driver.ClearColor() to take GLfloat[4] instead of GLchan[4].
+     ctx->Color.ClearColor is now GLfloat[4] too.
+   - Changed ctx->Driver.AlphaRef() to take GLfloat instead of GLchan.
+   - ctx->Color.AlphaRef is now GLfloat.
+   - texObj->BorderColor is now GLfloat[4].  texObj->_BorderChan is GLchan[4].
+
+   This is part of an effort to remove all GLchan types from core Mesa so
+   that someday we can support 8, 16 and 32-bit color channels dynamically
+   at runtime, instead of at compile-time.
+
+
+9. GLboolean ctx->Tranform.ClipEnabled[MAX_CLIP_PLANES] has been replaced
+   by GLuint ctx->Transform.ClipPlanesEnabled.  The later is a bitfield.
+
+
+10. There's a new matrix_stack type in mtypes.h used for the Modelview,
+   Projection, Color and Texcoord matrix stacks.
+
+
+11. The ctx->Current.* fields have changed a lot.  Now, there's a
+   ctx->Current.Attrib[] array for all vertex attributes which matches
+   the NV vertex program conventions.
+
+
 ----------------------------------------------------------------------
 ----------------------------------------------------------------------
-$Id: RELNOTES-4.1,v 1.16 2002/09/19 16:34:29 brianp Exp $
+$Id: RELNOTES-4.1,v 1.22 2002/10/29 15:06:37 brianp Exp $