nvc0: Add sanity checks for output buffer
[mesa/nouveau-pmpeg.git] / docs / RELNOTES-4.0
blob2f729db158f388643a62da4a7c252fcb187a6908
2                            Mesa 4.0 release notes
4                              October 18, 2001
6                               PLEASE READ!!!!
10 Introduction
11 ------------
13 Mesa uses an even/odd version number scheme like the Linux kernel.
14 Odd numbered versions (such as 3.3) designate new developmental releases.
15 Even numbered versions (such as 3.4) designate stable releases.
17 Mesa version 4.0 signifies two things:
19   1. A stabilization of the 3.5 development release
20   2. Implementation of the OpenGL 1.3 specification
23 Note that the Mesa major version number is incremented with the OpenGL
24 minor version number:
26    Mesa 1.x  ==  OpenGL 1.0
27    Mesa 2.x  ==  OpenGL 1.1
28    Mesa 3.x  ==  OpenGL 1.2
29    Mesa 4.x  ==  OpenGL 1.3
33 New Features
34 ------------
36 Mesa 3.5 already had all the new features of OpenGL 1.3, implemented as
37 extensions.  These extensions were simply promoted to standard features:
39    GL_ARB_multisample
40    GL_ARB_multitexture
41    GL_ARB_texture_border_clamp
42    GL_ARB_texture_compression
43    GL_ARB_texture_cube_map
44    GL_ARB_texture_env_add
45    GL_ARB_texture_env_combine
46    GL_ARB_texture_env_dot3
47    GL_ARB_transpose_matrix
49 In Mesa 4.0 the functions defined by these extensions are now available
50 without the "ARB" suffix.  For example, glLoadTransposeMatrixf() is now
51 a standard API function.  The new functions in OpenGL 1.3 and Mesa 4.0 are:
53    glActiveTexture
54    glClientActiveTexture
55    glCompressedTexImage1D
56    glCompressedTexImage2D
57    glCompressedTexImage3D
58    glCompressedTexSubImage1D
59    glCompressedTexSubImage2D
60    glCompressedTexSubImage3D
61    glGetCompressedTexImage
62    glLoadTransposeMatrixd
63    glLoadTransposeMatrixf
64    glMultiTexCoord1d
65    glMultiTexCoord1dv
66    glMultiTexCoord1f
67    glMultiTexCoord1fv
68    glMultiTexCoord1i
69    glMultiTexCoord1iv
70    glMultiTexCoord1s
71    glMultiTexCoord1sv
72    glMultiTexCoord2d
73    glMultiTexCoord2dv
74    glMultiTexCoord2f
75    glMultiTexCoord2fv
76    glMultiTexCoord2i
77    glMultiTexCoord2iv
78    glMultiTexCoord2s
79    glMultiTexCoord2sv
80    glMultiTexCoord3d
81    glMultiTexCoord3dv
82    glMultiTexCoord3f
83    glMultiTexCoord3fv
84    glMultiTexCoord3i
85    glMultiTexCoord3iv
86    glMultiTexCoord3s
87    glMultiTexCoord3sv
88    glMultiTexCoord4d
89    glMultiTexCoord4dv
90    glMultiTexCoord4f
91    glMultiTexCoord4fv
92    glMultiTexCoord4i
93    glMultiTexCoord4iv
94    glMultiTexCoord4s
95    glMultiTexCoord4sv
96    glMultTransposeMatrixd
97    glMultTransposeMatrixf
98    glSampleCoverage
99    glSamplePass
102 GLX 1.4 is the companion to OpenGL 1.3.  The only new features in GLX 1.4
103 are support for multisampling and the GLX_ARB_get_proc_address extension.
104 glXGetProcAddress() is the only new function in GLX 1.4.
108 Multisample and Texture Compression
109 -----------------------------------
111 The OpenGL 1.3 specification allows the multisample and texture compression
112 features to essentially be no-ops.  For example, if you query for multisample
113 support you'll find none, but the API functions work.
115 Similarly, texture compression is not implemented by any of the software
116 drivers but you can specify a generic compressed texture format (like
117 GL_COMPRESSED_RGBA) to glTexImage2D and it'll be accepted.
121 Device Drivers
122 --------------
124 Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
125 device driver.  If the driver enables all the ARB extensions which are part
126 of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3".  Otherwise,
127 it'll return "1.2".
129 A number of Mesa's software drivers haven't been actively maintained for
130 some time.  We rely on volunteers to maintain many of the drivers.
131 Here's the current status of all included drivers:
134 Driver                  Status
135 ----------------------  ---------------------
136 XMesa (Xlib)            implements OpenGL 1.3
137 OSMesa (off-screen)     implements OpenGL 1.3
138 FX (3dfx Voodoo1/2)     implements OpenGL 1.3
139 SVGA                    implements OpenGL 1.3
140 Wind River UGL          implements OpenGL 1.3
141 Windows/Win32           implements OpenGL 1.3
142 GGI                     needs updating
143 DOS/DJGPP               needs updating
144 BeOS                    needs updating
145 Allegro                 needs updating
146 D3D                     needs updating
147 DOS                     needs updating
149 Special thanks go to Karl Schultz for updating the Windows driver.
151 The XFree86/DRI drivers have not yet been updated to use Mesa 4.0 as of
152 September 2001, but that should happen eventually.
156 Other Changes
157 -------------
159 See the VERSIONS file for more details about bug fixes, etc. in Mesa 4.0.
162 ----------------------------------------------------------------------