DO_POINT renamed DO_POINTS
[mesa.git] / docs / RELNOTES-3.5
1
2 Mesa 3.5 release notes
3
4 Month ??, 2000
5
6 PLEASE READ!!!!
7
8
9
10 Introduction
11 ------------
12
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.
16
17 The internal structure of Mesa 3.5 is (will be) changed so that it
18 is more modular. The motivation is better support of 3D hardware
19 such as T&L hardware in which much of core Mesa isn't needed.
20
21 Details to come...
22
23
24
25 New Extensions
26 --------------
27
28 GL_EXT_convolution
29 Adds image convolution to glRead/Copy/DrawPixels/TexImage.
30
31 GL_ARB_imaging
32 This is the optional imaging subset of OpenGL 1.2.
33 It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
34 GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
35 GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
36 and GL_SGI_color_matrix extensions all rolled together.
37 This is supported in all software renderers but not in all
38 hardware drivers (3dfx for example).
39
40 GL_ARB_texture_compression
41 This is supported in Mesa but only used by the 3dfx DRI drivers
42 for Voodoo4 and later.
43
44 GL_ARB_texture_env_add
45 This is identical to GL_EXT_texture_env_add.
46
47 GL_NV_blend_square
48 Adds extra blend source and dest factors which allow squaring
49 of color values.
50
51 GL_EXT_fog_coord
52 Allows specification of a per-vertex fog coordinate instead of
53 having fog always computed from the eye distance.
54
55 GL_EXT_secondary_color
56 Allows specifying the secondary (specular) color for each vertex
57 instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
58 mode.
59
60
61
62 libOSMesa.so
63 ------------
64
65 libOSMesa.so is a new library which contains the OSMesa interface for
66 off-screen rendering. Apps which need the OSMesa interface should link
67 with both -lOSMesa and -lGL. This change was made so that stand-alone
68 Mesa works the same way as XFree86/DRI's libGL.
69
70
71
72 Device Driver Changes / Core Mesa Changes
73 -----------------------------------------
74
75 The ctx->Driver.LogicOp() function has been removed. It used to
76 be called during state update in order to determine if the driver
77 could do glLogicOp() operations, and if not, set the SWLogicOpEnabled
78 flag. Drivers should instead examine the LogicOp state themselves
79 and choose specialized point, line, and triangle functions appropriately,
80 or fall back to software rendering. The Xlib driver was the only driver
81 to use this function. And since the Xlib driver no longer draws
82 points, lines or triangles using Xlib, the LogicOp function isn't needed.
83
84 The ctx->Driver.Dither() function has been removed. Drivers should
85 detect dither enable/disable via ctx->Driver.Enable() instead.
86
87 The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
88 are now just called from glIndexMask and glColorMask like the other
89 GL state-changing functions. They are no longer called from inside
90 gl_update_state(). Also, they now return void. The change was made
91 mostly for sake of uniformity.
92
93 The NEW_DRVSTATE[0123] flags have been removed. They weren't being used
94 and are obsolete w.r.t. the way state updates are done in DRI drivers.
95
96
97 Removed obsolete gl_create_visual() and gl_destroy_visual().
98
99 Renamed functions (new namespace):
100
101 old new
102 gl_create_framebuffer _mesa_create_framebuffer
103 gl_destroy_framebuffer _mesa_destroy_framebuffer
104 gl_create_context _mesa_create_context
105 gl_destroy_context _mesa_destroy_context
106 gl_context_initialize _mesa_context_initialize
107 gl_copy_context _mesa_copy_context
108 gl_make_current _mesa_make_current
109 gl_make_current2 _mesa_make_current2
110 gl_get_current_context _mesa_get_current_context
111 gl_flush_vb _mesa_flush_vb
112 gl_warning _mesa_warning
113 gl_compile_error _mesa_compile_error
114
115
116 All the drivers have been updated, but not all of them have been
117 tested since I can't test some platforms (DOS, Windows, Allegro, etc).
118
119
120 Multitexture
121 ------------
122
123 Three texture units are now supported by default. We'll allow more
124 than three texture units when we fix some bitfield issues. In at least
125 one place we have a 32-bit bitfield which is fully allocated, leaving
126 no space for texture unit #3 or higher.
127
128 The TEXTURE1_1D, TEXTURE1_2D, etc constants may go away in the future.
129 Currently, they're only used in the ctx->Texture.ReallyEnabled field.
130 This bitfield is just a conglomerate of ctx->Texture.Unit[i].ReallyEnabled
131 for all <i> texture units. ctx->Texture.ReallyEnabled may become a
132 GLboolean. Then, drivers will have to loop over the texture units to
133 examine ctx->Texture.Unit[i].ReallyEnabled.
134
135
136
137
138
139
140 OpenGL SI related changes
141 -------------------------
142
143 In an effort to make Mesa's internal interfaces more like the OpenGL
144 SI interfaces, a number of changes have been made:
145
146 1. Importing the SI's glcore.h file which defines a number of
147 interface structures like __GLimports and __GLexports.
148
149 2. Renamed "struct gl_context" to "struct __GLcontextRec".
150
151 3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
152
153 4. The GLcontext member Visual is no longer a pointer.
154
155 5. New file: imports.c to setup default import functions for Mesa.
156
157
158 ----------------------------------------------------------------------
159 $Id: RELNOTES-3.5,v 1.8 2000/10/30 16:00:42 keithw Exp $