Compare commits

...

3396 Commits

Author SHA1 Message Date
Keith Whitwell
f2f09abce4 linux-solo compiles as far as the gamma driver, which seems independently
broken?
2003-11-21 13:40:19 +00:00
Keith Whitwell
93320957f2 compilation fixes, disable ubyte color code for now at least 2003-11-12 14:26:20 +00:00
Keith Whitwell
374a09c4f7 Turn off some debug 2003-11-11 15:28:34 +00:00
Keith Whitwell
1302fd3b25 Clean a little 2003-11-11 15:12:24 +00:00
Keith Whitwell
5198950cde Don't adjust indicies if adjustment is zero 2003-11-11 15:11:59 +00:00
Keith Whitwell
88d66b7208 Fix import_color functions. 2003-11-11 15:07:58 +00:00
Keith Whitwell
701208d259 Add CallLists() to vtxfmt.
Restore old NormalLength optimization for display lists.
Add some heuristics to t_vtx_api.c to prevent bloated vertices and
excessive flushing (hopefully).
2003-11-11 11:42:50 +00:00
Keith Whitwell
dfd3c9c40f Add CallLists to vtxfmt definition. Fix some FLUSH() usage in save
functions.
2003-11-11 11:40:16 +00:00
Keith Whitwell
cef9471ab2 Add missing GL_FRONT_AND_BACK case. 2003-10-16 17:56:46 +00:00
Keith Whitwell
8d8bb0679c Fix assertion 2003-10-15 10:02:57 +00:00
Keith Whitwell
5affcd3cbb Restore code to clean incoming position data of size <= 2. 2003-10-14 18:10:47 +00:00
Keith Whitwell
86ac3e3c2d Deal with wrapped, weak primitives correctly. 2003-10-14 18:09:35 +00:00
Keith Whitwell
5c2d467e6d Bind material data when required.
Remove #if 0 blocks
Need to verify VertexProgram behaviour.
2003-10-14 18:08:48 +00:00
Keith Whitwell
c00a1c4622 Implement FALLBACK() when receiving EvalCoord or CallList inside
begin/end pair when compiling.

Clean up compilation state invalidation a little.
2003-10-14 12:00:33 +00:00
Keith Whitwell
dad38213e7 Reset ctx->Driver.CurrentSavePrimitive to PRIM_UNKNOWN after compiling a
glCallList() command.
2003-10-14 11:33:04 +00:00
Keith Whitwell
9cbad64314 Implement compiled DrawArrays and DrawElements.
Use the PRIM_WEAK flag to make sure they are executed correctly on playback.
2003-10-14 11:24:28 +00:00
Keith Whitwell
f0bf8c0ed1 Initialize the arrayelt helper 2003-10-14 11:23:52 +00:00
Keith Whitwell
6b692dc06c Make it clear that the driver (or tnl/ module) must supply
the DrawArray/DrawElements code for the outside-begin-end compilation states.
2003-10-14 11:23:08 +00:00
Keith Whitwell
be3c25458b Use correct check to terminate DrawArrays loop 2003-10-14 11:18:04 +00:00
Keith Whitwell
a384b0c5eb Cope with being initialized multiple times. 2003-10-14 11:12:15 +00:00
Keith Whitwell
acfa4d46a4 Use _mesa_compile_error() rather than just _mesa_error(). 2003-10-14 10:29:13 +00:00
Keith Whitwell
df3b1eb5bc Cope with dangling attribute references from display lists
Handle colormaterial updates correctly
2003-10-14 10:19:05 +00:00
Keith Whitwell
34a9e4adaf use VERT_ATTRIB constants in definitions of _save_VertexAttrib* 2003-10-13 18:26:19 +00:00
Keith Whitwell
34f6df8b6d Add code for GL_COMPILE_AND_EXECUTE 2003-10-13 18:24:38 +00:00
Keith Whitwell
5fc6940aca Use ctx->Exec rather than _glapi_Dispatch so that this will work
even in COMPILE_AND_EXECUTE modes.
2003-10-13 18:24:14 +00:00
Keith Whitwell
c9c27a6efd Fix error in material recording.
Add flush commands to new vertex functions for serializing with tnl module.
2003-10-13 18:04:02 +00:00
Keith Whitwell
79a49e30a1 Fix several more display list glitches.
Get 'loopback' replay of display lists working.
2003-10-13 18:01:05 +00:00
Keith Whitwell
f1582dbe52 use VERT_ATTRIB constants in definitions of _tnl_VertexAttrib* 2003-10-13 18:00:00 +00:00
Keith Whitwell
4fc77f884c Fix typo in VertexAttrib2fNV 2003-10-13 17:21:16 +00:00
Keith Whitwell
398f8d10a2 Correctly convert back colors to GLchan values when copying 2003-10-13 12:48:15 +00:00
Keith Whitwell
5b9ad341a0 Correct initialization of tnl->vtx.current for material attributes. 2003-10-13 12:31:58 +00:00
Keith Whitwell
fcd68a2b30 Add code to get materials working in lighting again. 2003-10-13 12:29:35 +00:00
Keith Whitwell
f1bbe8d0a5 Flush vertex data before playing back a vertex_list. 2003-10-13 12:27:58 +00:00
Keith Whitwell
3c0cfda46b remove debug statements 2003-10-13 09:19:13 +00:00
Keith Whitwell
5d80efc35e Fix a few minor displaylist bugs 2003-10-13 09:18:09 +00:00
Keith Whitwell
e01f56b3a8 Solve the gears glitches. 2003-10-10 21:54:34 +00:00
Keith Whitwell
30cd200068 Fix a typo with evalcoord1f 2003-10-10 21:40:53 +00:00
Keith Whitwell
e55c545d4a Get edgeflag/unfilled polygons working.
Don't allow more vertices in a vertex list than ctx->Const.MaxArrayLockSize.
2003-10-10 19:19:50 +00:00
Keith Whitwell
b101554d16 vertex_list display lists (replacing the old immediate struct) are
working, though gears shows a couple of glitches still.
2003-10-10 18:35:57 +00:00
Keith Whitwell
1b8c209523 Fallback (opcode-based) display lists are working. 2003-10-10 13:05:40 +00:00
Keith Whitwell
d46adad5cd Fix assertion in render stage.
Add missing call to _mesa_update_state() before running pipeline
Bind ctx->Current values when no user-supplied vertex data available.
2003-10-10 12:18:01 +00:00
Keith Whitwell
bfc37379cc Added quite a bit of debug prints. Fixed a couple of smaller bugs.
Isosurf and pointblast run & looks pretty close to correct!
2003-10-10 09:32:55 +00:00
Keith Whitwell
0c390fec04 Checkpoint -- The whole library compiles now... 2003-10-09 17:42:36 +00:00
Keith Whitwell
d5c9fd383b Checkpoint -- module compiles. Some issues with strides outstanding. 2003-10-09 14:45:30 +00:00
Keith Whitwell
8ae69294ad Checkpoint commit -- module compiles 2003-10-09 13:45:50 +00:00
Keith Whitwell
46330d3aa7 remove one more unused type 2003-10-09 10:16:05 +00:00
Keith Whitwell
c91f7ad52b Remove no-longer-used vector types 2003-10-09 10:06:14 +00:00
Keith Whitwell
5b40d6924c Actually include the dlist.c changes this time. 2003-10-08 17:31:58 +00:00
Keith Whitwell
27b4c2d675 new file 2003-10-08 17:05:07 +00:00
Keith Whitwell
051a8141d1 Checkpoint commit.
- Changes flowing from rework in tnl/ module.
2003-10-08 16:52:17 +00:00
Keith Whitwell
9b6d6988c4 Checkpoint commit. Doesn't yet compile.
- New vertex building code to replace 'struct immediate' stuff.
- New display list compiler designed for hardware acceleration.
- Emphasis of 'Attrib' pointers over traditional 'Color', 'Normal', etc.
2003-10-08 16:51:36 +00:00
Keith Whitwell
967fa00a7f Modify vtxfmt code to always pass colors and indexes as floats.
Modify vtxfmt code to include size 1,2,3 vertex attribute functions.
Extend api_noop.c to include more functions for building an
   outside-begin-end dispatch table or vtxfmt.
Add opcodes to dlist.c to compile vertex attributes, begin/end commands, etc.
   - The intention is for these to be used as a fallback for an optimizing
	display list compiler.
Store Index internally as a float.
2003-10-08 16:49:42 +00:00
Kendall Bennett
2cdd699a77 More SciTech SNAP specific changes to glheader.h. Also modified the macros
in swrast/s_spantemp.h to allow dithering to be used in the SNAP drivers.
2003-10-08 01:53:30 +00:00
Keith Whitwell
4e5b58f483 index wasn't being calculated correctly (result was being discarded)
in light_ci()
2003-10-07 12:37:23 +00:00
Keith Whitwell
a4fc8035f1 VertexAttrib4fv wasn't being installed (4f was). 2003-10-06 17:57:48 +00:00
Keith Whitwell
3e291c01ea Fix typo 2003-10-06 14:19:53 +00:00
Brian Paul
facb597f48 fix error message (bug 816876) 2003-10-03 14:37:18 +00:00
Brian Paul
5fd77da4f6 improved 'clean' targets (Otto Solares) 2003-10-03 14:03:14 +00:00
Kendall Bennett
7d8eb0604a Removed bogus OS/2 floating point->integer conversion routine 2003-10-03 01:38:28 +00:00
Kendall Bennett
d7fe183f76 Fixed incorrect Watcom assembler macros 2003-10-03 00:15:13 +00:00
Kendall Bennett
adbbea9b51 Fixed bugs in Mesa software span rendering for color index modes 2003-10-02 23:50:44 +00:00
Brian Paul
a75246f8f5 updates from Daniel Borca 2003-10-02 17:36:43 +00:00
Kendall Bennett
d6643331ab Updates required for building the SciTech SNAP version of Mesa. This includes:
1. Changes to the main header files to exclude some stuff is __SCITECH_SNAP__
   is defined. The main GL/gl.h header file in SciTech SNAP is actually a wrapper
   that defines a bunch of necessary stuff and then included GL/gl_mesa.h which
   is the normal Mesa GL/gl.h header file renamed.

2. Changed APIENTRY * to APIENTRYP macros in the GL/gl.h and GL/glext.h header
   files. This will better support other compilers like IBM VisualAge C++. I
   added a basic macro for APIENTRYP to GL/gl.h (inside the !SNAP block), so
   existing code will compile the same, but when the SNAP version is being
   built we will use the correc definitions for the target compiler.

3. Changed a few more void * declarations to GLvoid *'s to avoid Open Watcom
   compiler complaints.

4. Updates the OPENGL_VERSION macro to include a patch number (set to 0 for
   now). Probably not necessary, but the original macro was wrong and we use
   that macro in our code.

5. Changed _tnl_end() to _tnl_end_ctx() to avoid conflicts with _tnl_End when
   using a compiler that has a case insensitive link.
2003-09-30 20:02:27 +00:00
Alan Hourihane
7214e1a1c4 char -> GLubyte 2003-09-30 12:59:17 +00:00
Alan Hourihane
e508f7f08e add gamma driver - no kernel driver yet
(build tested, not physically tested)
2003-09-30 11:28:16 +00:00
Alan Hourihane
0f2e186926 add the SiS driver - no kernel driver yet
(build tested, but not physically tested)
2003-09-30 11:13:31 +00:00
Alan Hourihane
525dda4f26 fix cut & paste errors 2003-09-30 11:05:46 +00:00
Alan Hourihane
6bec5b30e1 add the i830 driver - no kernel driver yet
(build tested, but not physically tested)
2003-09-30 11:02:38 +00:00
Alan Hourihane
73b0420bba add the i810 driver - no kernel driver yet
(build tested, but not physically tested)
2003-09-30 10:54:15 +00:00
Alan Hourihane
5b5142b543 mkdir the server directory, as using cvs with -P would prune an empty
directory
2003-09-30 10:29:15 +00:00
Karl Schultz
cafc787027 Add project file for new spriteblast demo. (Update dependency) 2003-09-25 19:17:30 +00:00
Karl Schultz
26577e4939 Add project file for new spriteblast demo. 2003-09-25 19:15:22 +00:00
Brian Paul
1a89978d83 GL_ARB_point_sprite demo 2003-09-24 20:41:53 +00:00
Karl Schultz
77a505a4bb MS dev studio project file for teapots demo. 2003-09-24 17:37:00 +00:00
Karl Schultz
c1cbde2ae1 Workspace file for redbook programs 2003-09-24 17:36:00 +00:00
Karl Schultz
2c9618bb12 Change projection transform so that the top row of teapots are now visible. 2003-09-24 17:34:32 +00:00
Brian Paul
9b101c34da added info about vertex/fragment program debugger 2003-09-23 15:40:57 +00:00
Brian Paul
b0cde83906 enum updates 2003-09-23 14:46:11 +00:00
Brian Paul
d7dabacfa3 new enum values for GL_MESA_program_debug 2003-09-23 14:44:33 +00:00
Brian Paul
8f7141e970 minor clean-ups 2003-09-23 14:42:52 +00:00
Brian Paul
d01681d6c9 remove a _TriangleCaps reference 2003-09-23 14:41:02 +00:00
Karl Rasche
d11bb2b297 Add extra cases and enums for _mesa_fetch_state(), and set the length of
program_parameter.StateIndexes[] to 6, used for fetching matrix state
2003-09-23 00:45:56 +00:00
Karl Schultz
f3a63d69ff Create 'all' project to make it easy to build and clean all the programs in the demos directory. 2003-09-22 18:21:19 +00:00
Karl Schultz
ea9365b48a Add remaining demos. 2003-09-22 18:03:09 +00:00
Karl Schultz
6872c21ace New visual studio project fiile for building demos. 2003-09-22 18:02:45 +00:00
Brian Paul
9d55394471 apply patch #740145 from SourceForge 2003-09-22 15:18:50 +00:00
Brian Paul
a13fb034cb casts 2003-09-19 15:39:11 +00:00
Brian Paul
e4fcea2e06 Assorted casts to silence g++ warnings. 2003-09-19 15:38:15 +00:00
Karl Schultz
74c33393b4 Add include for context.h to define NEED_SECONDARY_COLOR. 2003-09-19 15:28:45 +00:00
Karl Schultz
ff750fe8cb Make binary - even though this is a text file, common practice is to store MS studio files as binary 2003-09-19 15:08:42 +00:00
Brian Paul
04e6987de1 summary of Mesa's extension enum values 2003-09-19 15:07:57 +00:00
Karl Schultz
b263802bcf Make binary - even though this is a text file, common practice is to store MS studio files as binary 2003-09-19 14:58:35 +00:00
Brian Paul
361a9ac966 minor updates 2003-09-19 14:58:21 +00:00
Karl Schultz
a588e5af3b Make binary - even though this is a text file, common practice is to store MS studio files as binary 2003-09-19 14:49:54 +00:00
Brian Paul
effa9af9b1 added note about _TriangleCaps 2003-09-18 23:42:08 +00:00
Brian Paul
98cdf71f5a a few less occurances of _TriangleCaps 2003-09-18 23:36:07 +00:00
Brian Paul
29b4076f9a Move away from using the ctx->_TriangleCaps bitfield.
New macros in context.h for testing state: NEED_SECONDARY_COLOR
and NEED_TWO_SIDED_LIGHTING.
2003-09-18 23:21:08 +00:00
Brian Paul
1a8ebb8c2f tweak an error message 2003-09-18 23:10:36 +00:00
Brian Paul
87f858dd7c s/_backface_sign/_BackfaceSign/ 2003-09-18 22:25:31 +00:00
Karl Schultz
e4b40a7cf1 Updated for new Windows build system. 2003-09-18 19:10:53 +00:00
Karl Schultz
85be17868c Now obsolete. 2003-09-18 18:40:22 +00:00
Karl Schultz
84c2730866 New visual studio workspace and projects for building demos. 2003-09-18 18:39:53 +00:00
Karl Schultz
80d719f11a Remove first attempt at using visual studio projects to compile demos. 2003-09-18 18:35:29 +00:00
Karl Schultz
315e78b0b5 Update with current set of gl* entry points. 2003-09-18 18:32:13 +00:00
Brian Paul
2c5f5dc7fe Move macros from header to C file. Updated some comments 2003-09-18 17:00:14 +00:00
Brian Paul
06588db3fa Move context ASSERT/FLUSH macros to context.h 2003-09-18 16:45:44 +00:00
Brian Paul
3173277e20 remove MESA_TRACE stuff 2003-09-18 16:39:09 +00:00
Brian Paul
8512074b90 version tweaks 2003-09-18 16:34:35 +00:00
Brian Paul
bd3096edc3 removed unused NoRaster and Rendering fields from GLcontext 2003-09-18 16:33:10 +00:00
Brian Paul
99823b3744 Remove FLT_MIN definition to imports.h
Assorted code clean-ups in light.c
2003-09-18 16:18:43 +00:00
Karl Schultz
0c415bca5c Copy the DLL files to the lib directory instead of libexec. 2003-09-18 15:41:01 +00:00
Karl Schultz
4ba2986c06 Add symbols to export private entry points to osmesa. 2003-09-18 15:15:38 +00:00
Karl Schultz
a01566e468 Add casts to prevent double->float conversion compiler warnings. 2003-09-18 15:14:58 +00:00
Karl Schultz
df8d337eec Add casts to prevent signed/unsigned compare compiler warnings. 2003-09-18 15:14:10 +00:00
Brian Paul
65f605849a assorted updates 2003-09-17 21:36:08 +00:00
Brian Paul
83f57e32ca updated with new extension info 2003-09-17 21:22:54 +00:00
Brian Paul
bbd9a0c2b4 remove unused Target field from gl_buffer_object 2003-09-17 21:18:46 +00:00
Brian Paul
66e6e3e8e1 Fixed/added some error checks.
Allow one buffer to be bound to multiple targets.
Rebind buffer 0 when deleting currently bound buffer.
2003-09-17 21:18:22 +00:00
Jon Smirl
ea7bf8b130 Add cast to remove compiler warning 2003-09-17 21:14:22 +00:00
Brian Paul
6296276ebe unbind vertex arrays from buffer in DeleteBuffersARB() 2003-09-17 18:58:09 +00:00
Brian Paul
1ceeac29ec s/GL_READ_WRITE_ARB/GL_WRITE_ONLY_ARB/ 2003-09-17 18:20:52 +00:00
Brian Paul
de8d410a99 Exercise the GL_ELEMENT_ARRAY_BUFFER_ARB path 2003-09-17 18:15:47 +00:00
Brian Paul
d2afb39d19 Implement GL_ELEMENT_ARRAY_BUFFER_ARB for buffer objects. 2003-09-17 18:15:13 +00:00
Jose Fonseca
1a5709dc5b Change the hyperlinks names in the main page to match the Doxygen generated ones. 2003-09-17 17:14:11 +00:00
Jose Fonseca
9109625c03 Seperate the Doxygen configuration files (for full Mesa only) in a common part and an individual module part.
Rewrite the Makefile in order to avoid the double pass when the tag files already exist. A double pass can still be achieved by doing 'make clean all'.
2003-09-17 17:07:24 +00:00
Brian Paul
6bced0148e test GL_ARB_vertex_buffer_object 2003-09-17 16:27:07 +00:00
Brian Paul
57d882b684 GL_ARB_vertex_buffer_object working now, at least for non-indexed
vertex arrays.
2003-09-17 16:06:49 +00:00
Jose Fonseca
397d1e4d57 Merge the Doxygen configuration files from the embedded branch. 2003-09-17 16:00:10 +00:00
Brian Paul
5543901b96 new casts 2003-09-17 03:46:34 +00:00
Brian Paul
84351999ec added call to _mesa_enable_1_5_extensions() 2003-09-17 03:42:14 +00:00
Brian Paul
148a2847a1 More work on ARB_vertex_buffer_object.
Use GLubyte * instead of void * for gl_client_array->Ptr to simplify upcoming
pointer arithmetic changes.
2003-09-17 03:40:11 +00:00
Brian Paul
4561f84183 changed a comment 2003-09-17 03:34:29 +00:00
Brian Paul
278ce99171 move a comment 2003-09-17 03:33:54 +00:00
Brian Paul
b04633d727 move some functions, add some comments 2003-09-17 03:33:10 +00:00
Brian Paul
458c900d3b set ARB_vertex_buffer_object in _mesa_enable_sw_extensions() 2003-09-17 03:32:12 +00:00
Brian Paul
978646d86f fix up FEATURE_* defines 2003-09-17 03:31:30 +00:00
Brian Paul
1d57658ee5 minor simplification 2003-09-15 19:57:11 +00:00
Brian Paul
aa00d122b8 Some work on ARB_vertex_buffer_object.
Use GL_CLIENT_ACTIVE_TEXTURE when returning texcoord array values in get.c
2003-09-15 19:55:10 +00:00
Kendall Bennett
b29b8ca47d Updates to fix problems building with the Open Watcom compiler. 2003-09-12 22:01:01 +00:00
Brian Paul
438a898dcf allow glTexImage1/2/3D width/height/depth = 0 2003-09-12 15:04:12 +00:00
Brian Paul
973da83f62 Allow glTexImage1/2/3D to specify width/height/depth = 0.
This allows texture state to be resettable to default state.
Not allowed according to the spec, but allowed by all other OpenGL libs.
2003-09-12 15:03:12 +00:00
Brian Paul
5c480a4887 display list support for ARB_vertex/fragment_program 2003-09-09 15:35:37 +00:00
Brian Paul
90f673e3ec plug in vertex buffer object functions 2003-09-09 15:10:44 +00:00
Brian Paul
ca29a7c731 remove duplicate sunos5-smp entries 2003-09-09 15:08:44 +00:00
Brian Paul
c7b872a277 Added prototypes for internal functions to bufferobj.h.
Minor code clean-ups.
2003-09-09 13:44:40 +00:00
Brian Paul
39c65bfb93 remove last of mklib.solaris stuff 2003-09-09 13:33:12 +00:00
Ian Romanick
0207b47aaf Added most of the infrastructure required to support
ARB_vertex_buffer_object.  THIS IS INCOMPLETE.
2003-09-09 00:10:12 +00:00
Brian Paul
0a363f4e87 fix timer bug (801485) 2003-09-08 15:23:55 +00:00
Brian Paul
50253ea0a3 Remove all the swap_control stuff from glxgears demo (restored to vers 1.2).
New glxswapcontrol.c file added.
2003-09-08 15:06:23 +00:00
Brian Paul
176108767d SunOS tweaks (Greg Menke) 2003-09-08 14:59:11 +00:00
Brian Paul
e39cbf63f6 update sunos5 targets (Greg Menke) 2003-09-08 14:58:05 +00:00
Brian Paul
445ecdcebd use GL_GLEXT_PROTOTYPES 2003-09-08 14:56:41 +00:00
Brian Paul
91253e7be5 more debugger development 2003-09-05 19:34:58 +00:00
Brian Paul
054fedb455 fix typo 2003-09-05 19:34:25 +00:00
Brian Paul
94f944762d move GL_MESA_program_debug code into program.c 2003-09-05 19:27:25 +00:00
Brian Paul
6c57b379a4 misc updates 2003-09-05 14:53:25 +00:00
Brian Paul
1ac73bc993 update directories 2003-09-05 14:47:24 +00:00
Brian Paul
5f37abfc43 updated info for Mesa 5.1 2003-09-05 14:47:07 +00:00
Brian Paul
ade4de9b5d Updated for 5.0.2 release. 2003-09-05 13:39:39 +00:00
Brian Paul
044f20d1ea files for CVS to ignore 2003-09-05 12:51:24 +00:00
Jouk Jansen
054b5aef92 Committing in .
Added missing include files.

 Modified Files:
 	Mesa-newtree/progs/demos/isosurf.c
 	Mesa-newtree/src/mesa/main/nvvertexec.c
 ----------------------------------------------------------------------
2003-09-05 09:37:32 +00:00
Brian Paul
d402cb97bd implement SWZ and TXB. some code clean-up 2003-09-04 23:55:33 +00:00
Brian Paul
0d08399d8d move SWIZZLE_ZERO/ONE tokens to program.h 2003-09-04 23:38:03 +00:00
Brian Paul
0ac157ddc4 import 5.0.2 info 2003-09-04 23:10:38 +00:00
Brian Paul
9c9c2cd725 Added new opcodes for ARB_fragment_program, like ABS, CMP, TXB, etc. 2003-09-04 15:18:22 +00:00
Brian Paul
e082348a4b a little more MiniGLX info 2003-09-03 23:10:31 +00:00
Brian Paul
afc0428b5c assorted updates 2003-09-03 23:04:31 +00:00
Brian Paul
56e9efa15d added fbdev/DRI and MiniGLX info 2003-09-03 23:04:02 +00:00
Brian Paul
eaf2f5bb4f fix a few typos for linux-solo 2003-09-03 20:48:05 +00:00
Brian Paul
feb9e4c432 ARB_point_sprite is not part of OpenGL 1.5 2003-09-03 18:04:02 +00:00
Brian Paul
03f0ddbe4c include math.h 2003-09-03 17:21:51 +00:00
Brian Paul
67c1fd2fdb add -lCrun for sunos5, added sunos5-smp (Greg M) 2003-09-03 14:34:55 +00:00
Ian Romanick
c8363a31cf Added support for EXT_texture_mirror_clamp and the single wrap mode
that it addes to ATI_texture_mirror_once.  This includes updating the
texwrap test to exercise the new mode.
2003-09-02 19:25:17 +00:00
Brian Paul
886bc6f36c remove -malign-loops=2 -malign-functions=2 (bug 738020) 2003-09-02 18:19:53 +00:00
Brian Paul
c86eab8478 added GLUT_CFLAGS to compile GLUT with -fexceptions (bug 726223) 2003-09-02 18:06:18 +00:00
Brian Paul
352e0d0d27 pbuffer info 2003-09-02 16:58:14 +00:00
Brian Paul
21d956106e fix-up CXXFLAGS (bug 757292) 2003-09-02 16:43:01 +00:00
Brian Paul
08dbe5664d add missing glNormal, glVertex calls (Michal Wozniak) 2003-09-02 15:10:32 +00:00
Brian Paul
77e85f133c update from Daniel Borca 2003-09-02 14:47:51 +00:00
Brian Paul
0d4da529bd fix fog.End error 2003-09-02 13:36:03 +00:00
Brian Paul
b3680df593 s/DP4/DP3/ 2003-08-31 19:06:10 +00:00
Brian Paul
254e201721 s/DP4/DP3/ 2003-08-31 18:57:17 +00:00
Brian Paul
2b7a01a39b always assign texcoord[i][3] to silence valgrind 2003-08-31 18:55:55 +00:00
Brian Paul
7961e67c2a update parameter indexing 2003-08-31 18:55:23 +00:00
Brian Paul
1c5ff572aa added program.c plus minor fixes 2003-08-31 18:54:52 +00:00
Brian Paul
bd7a3de4b3 added minor assertion 2003-08-31 18:53:45 +00:00
Brian Paul
04a81da03b Moved some shared vertex/fragment program code into new program.c file.
Implemented new program_parameter_list type and functions for dealing with
named program parameters, constants and GL state references.
New state_index enum for describing GL state referenced within ARB vertex/
fragment programs.  Plus, functions for fetching named GL state.
2003-08-31 18:52:47 +00:00
Karl Schultz
e38a55ecb2 Generate browse info for Debug version. 2003-08-30 16:08:35 +00:00
Karl Schultz
dc24230de7 Silence compiler warnings about implicit casts or conversions by supplying explicit casts and/or tweaking constant and variable definitions. 2003-08-30 14:45:04 +00:00
Brian Paul
d12a871b21 s/GLuint/GLint/ 2003-08-29 14:45:45 +00:00
Brian Paul
e39a334f1a fix minor warnings with casts 2003-08-29 14:45:15 +00:00
Karl Schultz
c769a7febf add arbfragparse.c to project. 2003-08-29 13:57:27 +00:00
Brian Paul
f5515cb4af Move clamping of texture LOD bias to texture application time. 2003-08-28 23:31:00 +00:00
Brian Paul
760960028f Updates from Daniel Borca 2003-08-28 16:57:01 +00:00
Brian Paul
9e94aaf6e3 remove unused bytes variable 2003-08-28 03:10:41 +00:00
Brian Paul
3a604da4cc added GL_EXT_texture_lod_bias to OpenGL 1.4 feature list 2003-08-28 03:10:00 +00:00
Brian Paul
58c5df87be remove a bunch of the extension definitions from the legacy section 2003-08-28 03:08:40 +00:00
Brian Paul
0b12650701 space bar to toggle animation 2003-08-28 03:07:49 +00:00
Brian Paul
781fb93877 Added OpenGL 1.4's per-texture LOD bias. 2003-08-28 03:04:41 +00:00
Brian Paul
a6ed6f48e6 make _glapi_get_proc_address() return NULL if function doesn't start with gl prefix 2003-08-27 14:48:16 +00:00
Jouk Jansen
d49acd629b Committing in .
Added a type cast to silence the OpenVMS DECC compiler

 Modified Files:
 	Mesa-newtree/src/mesa/swrast/s_nvfragprog.c
 ----------------------------------------------------------------------
2003-08-27 11:12:35 +00:00
Brian Paul
d2d3052378 latest extensions and updates 2003-08-24 14:56:20 +00:00
Brian Paul
371f7cdb7a fix PFNGLMULTIMODEDRAWARRAYSIBMPROC 2003-08-24 14:49:53 +00:00
Brian Paul
f9dbd07e14 regenerated for GL_IBM_multimode_draw_arrays 2003-08-24 14:42:11 +00:00
Jon Smirl
dc22a652c9 Fix compile problems with `glMultiModeDrawArraysIBM'
Adjust makefiles to create depends and not store it in CVS
Remove dependency on kernel pci_ids.h
2003-08-24 04:44:23 +00:00
Brian Paul
d620015abd indentation fix 2003-08-23 21:44:08 +00:00
Brian Paul
2230b8518e test program to exercise glDraw/ReadPixels(GL_DEPTH_COMPONENT) and pixel zooming 2003-08-23 21:42:57 +00:00
Brian Paul
4be6c0f04b glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work 2003-08-23 21:40:21 +00:00
Jon Smirl
a3a10e6dfc Add missing assembly file from radeon build 2003-08-23 05:05:11 +00:00
Jon Smirl
e28a4c147c Remove files not used in current MGA driver 2003-08-23 05:01:38 +00:00
Jon Smirl
1da1f1e4ba update fb makefile for new directory structure, add depends 2003-08-23 04:58:24 +00:00
Jon Smirl
7c819439ba Rename Makefile to Makefile.X11, add depend support 2003-08-23 01:34:56 +00:00
Jon Smirl
52f246bd23 Added missing includes for standard header files 2003-08-23 01:28:59 +00:00
Jon Smirl
724c2c7f6f Add file miniglx.h 2003-08-23 01:25:30 +00:00
Jon Smirl
ae530c2ff9 Renaming Makefile to Makefile.X11, added depend support, adjusted paths 2003-08-23 01:12:35 +00:00
Ian Romanick
6373672367 Trivial changes to add support for GL_ARB_point_sprite, which is a
subset of GL_NV_point_sprite (which was already supported).
2003-08-23 00:12:46 +00:00
Ian Romanick
3baefe663b Added support for GL_IBM_multimode_draw_arrays.
Added non-static entrypoints and the name string for
GL_SUN_multi_draw_arrays (identical to GL_EXT_multi_draw_arrays).

Made add_newer_entrypoints (in src/mesa/main/context.c) table driven.
This reduced the size of context.o by about 3KB.
2003-08-22 23:28:03 +00:00
Brian Paul
5df82c82bd patch to import Jon Smirl's work from Bitkeeper 2003-08-22 20:11:43 +00:00
Brian Paul
1a84876d79 restore gcc-sl config 2003-08-22 18:06:59 +00:00
Brian Paul
4778beb761 updates from Daniel Borca 2003-08-22 13:47:08 +00:00
Keith Whitwell
12c037dbff Use correct conversions when translating array colors. 2003-08-20 07:21:41 +00:00
Brian Paul
9ec58c2c5b DOS and glide driver updates from Daniel Borca 2003-08-19 15:52:51 +00:00
Brian Paul
3dc8cc4ebc glPixelMap fix 2003-08-19 01:09:57 +00:00
Brian Paul
9d73b81068 Fix glPixelMap: s/GLint/GLsizei/ 2003-08-19 01:08:24 +00:00
Brian Paul
d4576154e6 glPixelMap[f/ui/us]v()'s size parameter is GLsizei, not GLint. 2003-08-19 01:07:26 +00:00
Brian Paul
bb93870133 simplify some python code 2003-08-19 01:06:24 +00:00
Brian Paul
8a033fa135 minor code improvement in glGenTextures 2003-08-18 19:45:42 +00:00
Brian Paul
01bb309cce register file changes 2003-08-17 17:12:35 +00:00
Brian Paul
f2dd273322 Re-org of register files for vertex/fragment programs. Will be easier to
hook in global state references, etc. for ARB programs.
2003-08-17 17:11:50 +00:00
Brian Paul
4f12be0249 fix some broken links 2003-08-15 19:10:47 +00:00
Jouk Jansen
3bbe68510f Committing in .
Update OpenVMS makefile due to new source files.

 Modified Files:
 	Mesa-newtree/src/mesa/main/descrip.mms
 ----------------------------------------------------------------------
2003-08-11 11:46:36 +00:00
Brian Paul
e17c1abd67 added arbfrag/vertparse 2003-08-06 19:24:44 +00:00
Brian Paul
b5a41d6050 prep for OpenGL 1.5 2003-08-06 19:24:02 +00:00
Brian Paul
2c50b922d6 fix a bunch of warnings 2003-08-06 19:23:20 +00:00
Brian Paul
49555d14a8 remove temporary prototypes 2003-08-06 19:22:59 +00:00
Brian Paul
8f44286b29 placeholder files 2003-08-06 19:22:37 +00:00
Brian Paul
1b252a4f6f added info about Mesa-newtree 2003-08-06 19:16:48 +00:00
Brian Paul
824a4fc34f updated item 1.4 2003-08-06 19:05:26 +00:00
Keith Whitwell
93a458840c Shared dri driver resources 2003-08-06 18:12:22 +00:00
Keith Whitwell
b32a036059 Not-quite-functional swrast-only dri driver 2003-08-06 18:11:57 +00:00
Keith Whitwell
b93652d67e Shared radeon/r200 init code 2003-08-06 18:10:59 +00:00
Brian Paul
676cf71852 Added TOP to point to top of tree to find includes and libs 2003-08-06 18:04:32 +00:00
Keith Whitwell
848ff108a0 mga driver, brought over by Jon Smirl 2003-08-06 18:01:13 +00:00
Keith Whitwell
adbec39bbf r200 driver, brought over by Jon Smirl 2003-08-06 17:59:57 +00:00
Keith Whitwell
a7ea785a10 miniglx test programs 2003-08-06 17:47:15 +00:00
Keith Whitwell
fb4d5492e0 Newer version of this file 2003-08-06 17:15:29 +00:00
Keith Whitwell
ff56908e09 Store material attributes in an Attrib[] style array. This is a
first step to reviving/rescuing the 'vtx' rework from the old mesa
tree.
2003-08-05 18:55:49 +00:00
Keith Whitwell
e6dea091c0 Fix samples/fog.c regression - missing test for NeedEyeCoords. 2003-08-05 18:12:55 +00:00
Brian Paul
304d11e0e1 Updates from Daniel Borca. 2003-08-05 15:54:08 +00:00
Keith Whitwell
2880669853 Fix typo (& instead of &&) to fix olympic.c bug 2003-08-01 20:30:20 +00:00
Brian Paul
1a615070ed replace assertion with conditional 2003-07-30 23:13:39 +00:00
Karl Schultz
f88d846255 Moved. 2003-07-26 12:44:37 +00:00
Karl Schultz
acad0fae7f Add the C++ and response files to the project so that they show up in the project file list. 2003-07-26 12:43:39 +00:00
Karl Schultz
e7d9b3fdd7 Reorganized projects so there is one project for each Mesa source subdir, and put the actual project files in each subdir. 2003-07-26 12:42:45 +00:00
Karl Schultz
1b41c0d3d8 VC 6 Project File 2003-07-26 12:38:06 +00:00
Karl Schultz
4894df6cf2 minor option tweak 2003-07-25 16:43:31 +00:00
Karl Schultz
b9d9c1f40d Compiler/Linker "response" file containing compiler options and list of files to compile/link for the C++ files in the glu library. It is easier to edit and maintain this infomation in flat files instead of trying to enter it into the VC project menus. The C++ files are compiled as a "pre-link" step. 2003-07-25 16:38:17 +00:00
Karl Schultz
9b0bb3d052 Add documentation. 2003-07-25 16:35:25 +00:00
Karl Schultz
fd5889f975 Project now builds the C++ sources (with great difficulty). Add module definition file (glu.def) to project. 2003-07-25 16:35:05 +00:00
Karl Schultz
c2b39d0312 add a dependency so that osmesa builds 2003-07-25 16:32:50 +00:00
Karl Schultz
00d7f16dbd cleanup - add comments and sort names. 2003-07-25 14:44:57 +00:00
Brian Paul
c2aee04666 don't include malloc.h (bug 776574) 2003-07-24 22:41:17 +00:00
Karl Schultz
838bb33fe1 add osdemo project 2003-07-24 17:45:27 +00:00
Karl Schultz
0a5957bfb1 project file for osdemo 2003-07-24 17:45:09 +00:00
Karl Schultz
eb226f118f Add osmesa project 2003-07-24 17:44:17 +00:00
Karl Schultz
a3286498e6 add symbols needed by osmesa. 2003-07-24 17:43:40 +00:00
Karl Schultz
bd36e5f17b Project file for osmesa 2003-07-24 17:43:11 +00:00
Karl Schultz
4e245c334d moved to top of tree. 2003-07-24 17:10:03 +00:00
Karl Schultz
7d3bf7f6d1 Microsoft Visual Studio 6 Workspace file for building Mesa and related libraries. (Moved from src/mesa/drivers/windows to make it easier to find.) The project files belonging to the workspace are located elsewhere in the tree, closer to the modules they each build. 2003-07-24 17:09:29 +00:00
Brian Paul
3a25e2350a if texture color table is enabled, use the color table's format to evaluate the texture env function 2003-07-24 13:33:22 +00:00
Karl Schultz
df03f8ed6d fix location of mesa.def 2003-07-24 04:11:36 +00:00
Karl Schultz
adb5e0bb1d linker exports defs 2003-07-24 04:11:07 +00:00
Karl Schultz
95a791bb3e Project to build the gears demo program. 2003-07-24 03:55:25 +00:00
Karl Schultz
c7363f7a48 Workspace to build Mesa demos and sample programs. 2003-07-24 03:54:46 +00:00
Karl Schultz
c06ff13b14 Project file to build GLUT32.DLL 2003-07-24 03:52:43 +00:00
Karl Schultz
5c04693a3f Project file to build GLU32.DLL 2003-07-24 03:51:43 +00:00
Karl Schultz
b6a74a4f6e Source code for GDI driver. 2003-07-24 03:47:46 +00:00
Karl Schultz
fbd052efed Project file to build gdi driver and OPENGL32.DLL. 2003-07-24 03:47:22 +00:00
Karl Schultz
9baab01c1f Project file to build tnl - creates static LIB that is later linked to make a DLL. 2003-07-24 03:46:20 +00:00
Karl Schultz
bff1bf9794 Project file to build swrast - creates static LIB that is later linked to make a DLL. 2003-07-24 03:45:58 +00:00
Karl Schultz
b1bc0dc3f4 Project file to build core mesa - creates static LIB that is later linked to make a DLL. 2003-07-24 03:45:27 +00:00
Karl Schultz
341313b601 Visual Studio Workspace file for building Mesa. This workspace contains projects for building core mesa, backend drivers (e.g., gdi, dx7, ...), GLU, and GLUT. The project files are placed in the appropriate places in the Mesa tree. 2003-07-24 03:40:29 +00:00
Karl Schultz
f78311ed64 Removing from this directory. Will be added to new gdi driver directory. 2003-07-24 03:37:01 +00:00
Karl Schultz
6ff00f91c8 Remove obsolete file. 2003-07-24 03:35:34 +00:00
Karl Schultz
6b4716c63a Windows does not define HUGE_VAL, so use the IEEE hex constants. 2003-07-24 03:18:44 +00:00
Brian Paul
9c7b81697b fix a few more glitches from last big check-in 2003-07-23 21:21:30 +00:00
Brian Paul
9f9bed9c8e fix GL_SGI_texture_colortable bugs 2003-07-23 17:13:48 +00:00
Brian Paul
d19b5db5dc fill in chapter 5, 6 text 2003-07-23 15:45:25 +00:00
Brian Paul
ad6ecf0227 remove printf 2003-07-22 18:34:27 +00:00
Brian Paul
6a940e8946 New interactive debugging code - vertex or fragment program. 2003-07-22 03:53:44 +00:00
Brian Paul
05944c031c Restore more code lost during last big merge.
Rename colortable-related functions.
2003-07-22 03:51:46 +00:00
Brian Paul
f7fda86c6d Implement debugger callback, etc for vertex programs. Misc clean-ups. 2003-07-22 03:34:54 +00:00
Brian Paul
389858ee7b tokens, functions for GL_MESA_program_debug 2003-07-21 04:30:25 +00:00
Brian Paul
64da663f51 vertex/fragment debugger extension 2003-07-21 04:23:32 +00:00
Brian Paul
5366b01d86 test program for GL_MESA_program_debug extension 2003-07-21 04:22:59 +00:00
Brian Paul
08ff059f20 Initial implementation of GL_MESA_program_debug - a vertex/fragment program
debugging extension.
2003-07-21 04:22:40 +00:00
Brian Paul
190c11e06d Numbered productions for ARB_vertex_program grammar (Karl Rasche) 2003-07-18 16:45:38 +00:00
Brian Paul
9a0d97a21c Karl Rasche's ARB_vertex_program parser 2003-07-18 16:43:45 +00:00
Brian Paul
f44898c088 Fix up FEATURE_* defines in config.h
_glapi_add_entrypoint() updates in context.c
2003-07-18 15:44:57 +00:00
Brian Paul
702ca20bf0 Fix up some loose ends from the last big check-in. 2003-07-18 15:22:16 +00:00
Brian Paul
c19cbb58cd more DOS updates from Daniel Borca 2003-07-17 14:50:11 +00:00
Keith Whitwell
6dc8557500 Merge Jose's documentation and core Mesa changes from embedded branch 2003-07-17 13:43:59 +00:00
Brian Paul
44c699949a DOS updates from Daniel Borca 2003-07-11 16:33:43 +00:00
Brian Paul
356959952c added GL_VERSION check 2003-07-10 14:39:57 +00:00
Brian Paul
f6e76fe9b5 fix conformance glitch introduced with NPOT extension 2003-07-07 17:01:18 +00:00
Brian Paul
ef751eb08b minor fixes in _mesa_TexGen[id]v() to silence valgrind 2003-07-07 16:46:27 +00:00
Brian Paul
92d31641d2 fix int/float conversion for GL_TEXTURE_PRIORITY in gl[Get]TexParameteri[v] 2003-07-03 15:08:25 +00:00
Brian Paul
b464dee72b bigger window 2003-07-03 03:11:56 +00:00
Brian Paul
7568561fa7 GL_ARB_texture_non_power_of_two test program 2003-07-03 03:10:50 +00:00
Brian Paul
235c150f0a added GL_ARB_texture_non_power_of_two 2003-07-03 03:07:12 +00:00
Brian Paul
887e2cf01a Implemented GL_ARB_texture_non_power_of_two (except for auto mipmap generation). 2003-07-03 03:05:48 +00:00
Brian Paul
32bac60519 tweak checks for display list zero 2003-07-03 03:02:44 +00:00
Brian Paul
de4f460e20 Simplify extension string handling. 2003-07-03 02:15:06 +00:00
Jouk Jansen
9826ca3ef5 Committing in .
Enable installation on OpenVMS ODS5 disks.

 Modified Files:
 	Mesa-newtree/progs/demos/descrip.mms
 	Mesa-newtree/progs/tests/descrip.mms
 	Mesa-newtree/progs/xdemos/descrip.mms
 	Mesa-newtree/src/glut/glx/descrip.mms
 	Mesa-newtree/src/mesa/array_cache/descrip.mms
 	Mesa-newtree/src/mesa/drivers/osmesa/descrip.mms
 	Mesa-newtree/src/mesa/drivers/x11/descrip.mms
 	Mesa-newtree/src/mesa/glapi/descrip.mms
 	Mesa-newtree/src/mesa/main/descrip.mms
 	Mesa-newtree/src/mesa/math/descrip.mms
 	Mesa-newtree/src/mesa/swrast/descrip.mms
 	Mesa-newtree/src/mesa/swrast_setup/descrip.mms
 	Mesa-newtree/src/mesa/tnl/descrip.mms
 ----------------------------------------------------------------------
2003-07-02 14:23:49 +00:00
Brian Paul
4e28d962ff DOS updates (Daniel Borca) 2003-06-30 21:51:31 +00:00
Brian Paul
a58214e417 add a few more digits to PI to make Evgeny happy 2003-06-27 15:26:56 +00:00
Jouk Jansen
fb8105fbaa Committing in .
OpenVMS compile support for new directory tree
 One file was missing in the previous commit.


 Modified Files:
 	Mesa-newtree/src/glut/glx/mms_depend
 ----------------------------------------------------------------------
2003-06-17 07:22:29 +00:00
Jouk Jansen
ccb8284a5b Committing in .
OpenVMS support for new directory tree

 Modified Files:
 	Mesa-newtree/progs/demos/descrip.mms
 	Mesa-newtree/progs/tests/descrip.mms
 	Mesa-newtree/progs/xdemos/descrip.mms
 	Mesa-newtree/src/glu/sgi/descrip.mms
 	Mesa-newtree/src/glut/glx/descrip.mms
 	Mesa-newtree/src/mesa/main/descrip.mms
 Added Files:
 	Mesa-newtree/descrip.mms Mesa-newtree/mms-config.
 	Mesa-newtree/src/descrip.mms Mesa-newtree/src/glu/descrip.mms
 	Mesa-newtree/src/mesa/descrip.mms
 	Mesa-newtree/src/mesa/array_cache/descrip.mms
 	Mesa-newtree/src/mesa/drivers/osmesa/descrip.mms
 	Mesa-newtree/src/mesa/drivers/x11/descrip.mms
 	Mesa-newtree/src/mesa/glapi/descrip.mms
 	Mesa-newtree/src/mesa/math/descrip.mms
 	Mesa-newtree/src/mesa/swrast/descrip.mms
 	Mesa-newtree/src/mesa/swrast_setup/descrip.mms
 	Mesa-newtree/src/mesa/tnl/descrip.mms
 	Mesa-newtree/vms/analyze_map.com Mesa-newtree/vms/xlib.opt
 	Mesa-newtree/vms/xlib_share.opt
 ----------------------------------------------------------------------
2003-06-17 07:20:22 +00:00
Brian Paul
642699a19f DOS updates for new tree (Daniel Borca) 2003-06-16 14:32:44 +00:00
Brian Paul
710207c46f fix include paths (Daniel Borca) 2003-06-16 14:30:57 +00:00
Brian Paul
225517aff0 GLUT for OS/2 (Evgeny Kotsuba) 2003-06-13 21:49:46 +00:00
Brian Paul
8fa507592b fix typo, added space/anim control 2003-06-13 02:42:57 +00:00
Brian Paul
86258034d5 GL_ARB_occlusion_query demo. 2003-06-13 02:38:35 +00:00
Brian Paul
b17a722ca3 Implemented GL_ARB_occlusion_query (not 100% finalized). 2003-06-13 02:37:27 +00:00
Brian Paul
0c0e583c01 More clean-ups and re-org 2003-06-13 02:32:28 +00:00
Brian Paul
93db675bd9 added new GL_ARB_v_p instructions 2003-06-13 02:31:42 +00:00
Brian Paul
6a0db56269 s/ATTRIB_h/ATTRIB_H/ 2003-06-12 16:01:42 +00:00
Brian Paul
5ac9e660a6 added null pointer check in tnl_copy_to_current() 2003-06-11 18:48:54 +00:00
Brian Paul
b1d53d909d new buffer/context visual compatibility test (Phil Brown) 2003-06-11 18:48:19 +00:00
Brian Paul
196a90b511 added missing types to _mesa_VertexAttribPointerARB() 2003-06-11 18:47:51 +00:00
Brian Paul
5c08c5bff3 clean up _tnl_copy_to_current() 2003-06-11 14:38:17 +00:00
Brian Paul
f499860de4 moved from main/ to glapi/ 2003-06-10 21:55:20 +00:00
Brian Paul
de5496d2a6 Further makefile clean-up, concentrated on the x86 assembly files. 2003-06-10 21:47:59 +00:00
Brian Paul
5f3439916b fixes for x86 builds 2003-06-10 19:06:20 +00:00
Brian Paul
5e04bcf6de GL_EXT_texture_rectangle, directory tree info 2003-06-10 15:01:45 +00:00
Brian Paul
66a83c9e17 fix GL_CURRENT_VERTEX_ATTRIB_ARB queries 2003-06-10 14:56:40 +00:00
Brian Paul
9a2121cfb6 update for new directory tree 2003-06-10 14:54:37 +00:00
Brian Paul
cd0fbde699 add missing vertex attribs in _tnl_copy_to_current() 2003-06-10 14:48:47 +00:00
Brian Paul
829703316d fixed secondary color typo 2003-06-10 14:47:46 +00:00
Brian Paul
b953bebc25 updated old-style makefiles for new tree 2003-06-10 14:46:24 +00:00
Ian Romanick
9ac51f57ef Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything. 2003-06-05 00:50:18 +00:00
Brian Paul
b9e1411660 comments regarding window sizing 2003-06-04 17:18:09 +00:00
Brian Paul
3c28d1e2a9 Added GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle) 2003-06-04 12:59:01 +00:00
Ian Romanick
09dbc1e5ae Removed fields from 'struct gl_extensions' for extensions that don't
need them.  Added "always on" extensions for extensions that are part
of core versions 1.1 and 1.2.
2003-06-02 20:37:16 +00:00
Brian Paul
a189e4c1e1 s/DrawBuffer/ReadBuffer/ in _mesa_ResizeBuffersMESA (PHil Brown) 2003-06-02 16:46:48 +00:00
Brian Paul
c9ab99ced1 updated rule for make OSMesa lib (Brad King) 2003-06-02 15:42:23 +00:00
Brian Paul
45e9a5c46b Added GL_LIB_NAME / GLU_LIB_NAME so the default name for the libraries
can be overridden (Brad King).
2003-06-02 15:21:16 +00:00
Brian Paul
698e67d409 remove test file 2003-06-01 16:28:46 +00:00
Brian Paul
68155873bd updated release steps 2003-06-01 16:28:00 +00:00
Brian Paul
c0e1189bad latest updates for 5.1 2003-06-01 16:27:37 +00:00
Brian Paul
3ba8a49c81 Remove a bunch of really old/obsolete configs.
Use the new mklib script.
2003-06-01 16:25:02 +00:00
Brian Paul
8c20c7ba0c Replace most mklib.* scripts with a new uber-mklib script with more features. 2003-06-01 16:21:45 +00:00
Brian Paul
f1163a3769 setup default programs for GL_ARB_vertex/fragment_program 2003-06-01 15:39:58 +00:00
Brian Paul
236d2dbc72 minor error check tweaks for NV_light_max_exponent 2003-05-30 22:31:41 +00:00
Brian Paul
80f669b9b0 added GL_NV_light_max_exponent 2003-05-30 22:30:31 +00:00
Ian Romanick
882caa18c6 Added support for NV_light_max_exponent. 2003-05-30 21:37:14 +00:00
Ian Romanick
b2a4aecd80 Removed an accidental addition in the previous commit. 2003-05-30 18:41:38 +00:00
Brian Paul
f8f830d59d minor clean-ups 2003-05-30 15:42:22 +00:00
Brian Paul
62dc802818 misc changes from testing 2003-05-30 15:38:26 +00:00
Brian Paul
80b8665438 include readtex.h 2003-05-30 15:37:47 +00:00
Brian Paul
f98921d344 display both YCbCr and RGB image (Ian) 2003-05-30 15:36:04 +00:00
Brian Paul
785774deb2 applied Ian's misc patches 2003-05-30 15:30:16 +00:00
Brian Paul
dc3e0f0f5d s/_T_VBXFORM_H/_T_IMM_EXEC_H/ 2003-05-28 19:20:13 +00:00
Brian Paul
d18c08fe89 silence some warnings (Evgeny Kotsuba) 2003-05-28 15:30:53 +00:00
Brian Paul
0b52018df2 added MESA_VERSION() macro, etc (Holger Waechtler) 2003-05-28 14:30:45 +00:00
Brian Paul
e8e93e9cc6 glBindProgramARB dispatches to glBindProgramNV (remove _mesa_BindProgramARB).
Removed VertexAttrib*ARB() stubs.
2003-05-28 14:26:03 +00:00
Brian Paul
2c5f93784e Version defines. include "version.h" in a few files. 2003-05-27 21:24:40 +00:00
Brian Paul
8750668ad7 check buffer->UseSoftware*Buffer in _mesa_free_framebuffer_data() 2003-05-27 15:20:43 +00:00
Brian Paul
a3793214e9 a couple casts (Evgeny Kotsuba) 2003-05-26 14:37:54 +00:00
Keith Whitwell
27358a24a0 move LoadYUVImage into readtex.c 2003-05-20 09:54:58 +00:00
Keith Whitwell
eea72ff722 Test programs for ycbcr extension 2003-05-20 08:50:02 +00:00
Brian Paul
0421ce4b46 autoconf/automake updated for newer versions (bug 734362) 2003-05-15 14:04:27 +00:00
Brian Paul
12f8fb6084 added a couple casts 2003-05-15 13:38:24 +00:00
Brian Paul
06a03bfb2a updated with new glext.h stuff 2003-05-10 04:48:16 +00:00
Brian Paul
3ef8ed72ca version 18 of glext.h 2003-05-10 04:39:05 +00:00
Brian Paul
b93df0af47 remove temporary stuff 2003-05-10 04:38:24 +00:00
Brian Paul
e591ad7350 added GL_ARB_vertex_program functions 2003-05-10 04:37:47 +00:00
Brian Paul
0295088118 initialize condition codes before running program 2003-05-10 04:37:24 +00:00
Brian Paul
3fdb8fbfc5 fix scalar literal parsing glitches 2003-05-10 04:36:11 +00:00
Brian Paul
ea31ca4720 fix MapBufferARB() return type 2003-05-10 04:35:09 +00:00
Brian Paul
baa42c3364 clamp fog color 2003-05-10 04:34:15 +00:00
Brian Paul
a96d596be9 added comment about MAX_WIDTH and textures 2003-05-08 16:00:45 +00:00
Brian Paul
6636a61418 fixed delete statement (bug 721765) 2003-05-08 15:47:00 +00:00
Brian Paul
7357f20b1e minor updates 2003-05-02 15:05:02 +00:00
Brian Paul
c784d87b0f updates from Ian 2003-05-02 15:04:20 +00:00
Brian Paul
e53aa5022f more docs (Klaus Niederkruger) 2003-05-01 22:45:57 +00:00
Brian Paul
92f9785c72 Use ctx->Const.MaxTextureImageUnits and MaxTextureCoordUnits in more places.
Misc vertex array / vertex program changes.
2003-05-01 22:44:02 +00:00
Brian Paul
09b00c5ded Ian's buffer swap extensions 2003-05-01 19:12:23 +00:00
Brian Paul
1a8d64e6e9 change global_grid_u0/u1 to REAL (Eric Cazeaux) 2003-04-30 15:20:37 +00:00
Brian Paul
5329d0ca7a updated for glIsBufferARB 2003-04-29 22:20:36 +00:00
Brian Paul
f34de59b3e don't try to clear non-existant buffers 2003-04-29 13:16:37 +00:00
Jouk Jansen
370d7ad007 Committing in .
Updating OpenVMS compile support

 Modified Files:
 	Mesa/src/descrip.mms Mesa/xdemos/glxgears.c
 ----------------------------------------------------------------------
2003-04-29 07:15:48 +00:00
Brian Paul
9e3a7cd6dd LOG2() clean-up (Klaus Niederkrueger) 2003-04-28 15:24:17 +00:00
Brian Paul
c8f2f456f9 new comments (Klaus Niederkruger) 2003-04-28 14:56:24 +00:00
Brian Paul
c6506004d4 fix glIsBufferARB() prototype 2003-04-28 14:42:33 +00:00
Brian Paul
3e50d140f5 updated with newest functions 2003-04-23 20:23:17 +00:00
Brian Paul
e78f823724 fix function prototypes for manging (Bill Hoffman) 2003-04-23 17:42:07 +00:00
Brian Paul
a83b4b1f2c remove unneeded fragment program test 2003-04-21 15:05:20 +00:00
Brian Paul
464bc3b674 remove unneeded unsigned int / zero comparisons 2003-04-21 15:04:30 +00:00
Brian Paul
7bb832f9f7 fix DDX, DDY instructions (probably not finished though) 2003-04-21 15:03:46 +00:00
Brian Paul
e5b244ff7f Implemented GL_EXT_depth_bounds_test. 2003-04-21 15:02:17 +00:00
Brian Paul
2780bb824f added GL_EXT_depth_bounds_test 2003-04-21 14:57:07 +00:00
Brian Paul
b0b9b798ac alias ARB/NV program functions where possible 2003-04-21 14:53:40 +00:00
Brian Paul
e4eae45512 silence warning 2003-04-21 14:52:32 +00:00
Brian Paul
8eb2fe0e15 added a cast 2003-04-21 14:51:49 +00:00
Brian Paul
d93b68f17a silence warnings 2003-04-21 14:51:16 +00:00
Brian Paul
ff389b00a5 casts 2003-04-21 14:50:49 +00:00
Brian Paul
95210bc806 fix minor warnings 2003-04-21 14:50:12 +00:00
Brian Paul
e5db876329 use INDEX8_SPAN_ARGS 2003-04-21 14:06:01 +00:00
Brian Paul
a0ef56fd15 fix .c / .h typo 2003-04-21 14:04:27 +00:00
Brian Paul
edd677454d minor re-org of program matrix, program local parameter limits 2003-04-18 18:02:43 +00:00
Brian Paul
9b14e0fbfd more GL_ARB_fragment_program tokens 2003-04-18 01:56:44 +00:00
Brian Paul
77eec61e21 more GL_ARB_vertex/fragment_program bits 2003-04-18 01:56:11 +00:00
Brian Paul
5e92a7c745 fix some glBindProgramNV/ARB details 2003-04-17 23:14:30 +00:00
Brian Paul
3ca3ab0cd1 clean up usage of extension function pointers 2003-04-17 21:43:55 +00:00
Brian Paul
24339179a4 Demo of using GL_ARB_vertex/fragment_program to do per-pixel lighting. 2003-04-17 19:20:54 +00:00
Brian Paul
da74a60e4c added LoadProgramNV and RequestResidentProgramsNV 2003-04-17 02:44:13 +00:00
Brian Paul
5960105ca3 Added arbprogram.c to Makefiles.
Added display list support for GL_NV_fragment_program.
Assorted clean-ups.
2003-04-17 02:33:08 +00:00
Brian Paul
af0c247021 temporary GL_ARB_fragment_program tokens 2003-04-17 01:48:56 +00:00
Brian Paul
451f31093e checkpoint: more infrastructure for GL_ARB_vertex/fragment_program. 2003-04-17 01:48:19 +00:00
Brian Paul
2db8041ffe fix depth texture tex env bug (#719903) 2003-04-14 17:08:53 +00:00
Brian Paul
d0492cf137 Some groundwork for GL_ARB_vertex/fragment_program. 2003-04-11 01:20:06 +00:00
Brian Paul
6cfaff1633 remove a const 2003-04-10 19:57:19 +00:00
Keith Whitwell
bf7128a682 drawarrayrange fix 2003-04-10 10:03:30 +00:00
Brian Paul
ebab631c9c fix typo 2003-04-09 22:50:52 +00:00
Brian Paul
0b77a1c635 fix typo 2003-04-09 21:50:08 +00:00
Brian Paul
ad80233d5d add support for swap and sync extensions (Ian Romanick) 2003-04-09 21:47:19 +00:00
Brian Paul
4c928471c1 Added function pointer typedefs for GL_NV_fragment_program 2003-04-09 02:32:56 +00:00
Brian Paul
ef393cbb54 Added GL_ARB_vertex_buffer_object tokens 2003-04-09 02:32:12 +00:00
Brian Paul
aac732546a basic work on GL_ARB_vertex_buffer_object 2003-04-09 02:31:35 +00:00
Brian Paul
c708ac2afe fix string compare bug 2003-04-08 18:02:27 +00:00
Brian Paul
38c619bf15 add missing return in raster_pos4f() 2003-04-08 13:33:41 +00:00
Brian Paul
dcf3d8d61d fix some problems parsing scalar source arguments 2003-04-08 02:57:36 +00:00
Brian Paul
36a0a3252e Added ctx->Texture._EnabledCoordUnits bitfield.
Fixed some vertex array / vertex program glitches with glDrawElements.
Fixed some fragment program runtime bugs.
Non-trivial Cg programs are running now.
2003-04-08 02:27:16 +00:00
Brian Paul
0cebd5822a added _mesa_realloc() 2003-04-08 02:22:41 +00:00
Brian Paul
b8ca0172e7 scalar source reg can be a scalar or vector literal 2003-04-07 23:12:00 +00:00
Brian Paul
071a4ddd92 initialize attribute vectors to 4 components 2003-04-07 23:07:50 +00:00
Brian Paul
4cef881e1f Demo of per-pixel lighting with a fragment program. 2003-04-07 23:05:50 +00:00
Brian Paul
14995b3d3b minor parser fixes, program print-out fixes 2003-04-07 14:58:58 +00:00
Brian Paul
670c8780f7 fix typo 2003-04-07 14:57:27 +00:00
Brian Paul
0e7f2952fe fix color array mixup 2003-04-07 14:54:01 +00:00
Keith Whitwell
e3dd0a4e7f Don't unset FLUSH_STORED_VERTICES in _tnl_execute_cassette as this may
break driver callbacks.
2003-04-07 14:53:28 +00:00
Brian Paul
69ffa43656 Added gcc-sl target and shared lib shell script (Philip Brown) 2003-04-07 14:45:52 +00:00
Keith Whitwell
33ce405e86 Pass 4th element correctly in loopback_VertexAttrib4svNV 2003-04-05 07:29:23 +00:00
Brian Paul
c0eebd723f test glProgramNamedParameter4fNV() 2003-04-05 00:38:40 +00:00
Brian Paul
ce7f006e66 fragment program named constants and named program parameters basically work now 2003-04-05 00:38:09 +00:00
Brian Paul
738318bb75 Rework gl[Copy]Tex[Sub]Image() error checking so that all level, width, height
and depth checks are done via ctx->Driver.TestProxyTexImage().  This allows
more flexiblity, like supporting larger, non-cubic 3D textures.
2003-04-04 17:17:50 +00:00
Brian Paul
b0e90cc839 more memory-related fixes 2003-04-03 21:01:33 +00:00
Brian Paul
7823388744 some texture compression odds & ends 2003-04-03 20:57:49 +00:00
Brian Paul
bb5ebf1724 simplify CEILF, FLOORF, FABSF stuff 2003-04-03 20:34:38 +00:00
Brian Paul
0983163fde fix double-memory free in XMesaDestroyContext 2003-04-02 19:34:36 +00:00
Brian Paul
27f4484fb7 added GL_PROXY_TEXTURE_RECTANGLE_NV to is_proxy_target() 2003-04-01 22:23:11 +00:00
Brian Paul
dd26d02889 clean-up current state initialization 2003-04-01 22:20:42 +00:00
Brian Paul
12fca20e1f added GL_FRAGMENT_PROGRAM_NV (Alan Matsuoka) 2003-04-01 19:07:35 +00:00
Brian Paul
b852f048ee minor initialization fixes 2003-04-01 18:57:36 +00:00
Brian Paul
8d7a2504c3 improve some error messages 2003-04-01 18:56:30 +00:00
Brian Paul
4b28b5a885 GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query was returning stride 2003-04-01 18:27:07 +00:00
Brian Paul
97bc3d7e78 GL_FOG_COORDINATE_SOURCE_EXT query was missing 2003-04-01 18:22:23 +00:00
Brian Paul
525f04389f fix GL_LIST_MODE, GL_CURRENT_MATRIX_STACK_DEPTH_NV and GL_CURRENT_MATRIX_NV queries 2003-04-01 18:16:33 +00:00
Brian Paul
f0805670a1 fix default compare mode 2003-04-01 18:10:10 +00:00
Brian Paul
6fafc7ad19 s/gl_ctx/mesa/ and misc clean-ups 2003-04-01 17:28:55 +00:00
Brian Paul
1e24d3318d use structure containment to derive xmesa_context from GLcontext 2003-04-01 17:28:10 +00:00
Brian Paul
a3f137094c New device driver hooks for texture object and texture image creation to
allow drivers to implement C++-like inheritance via containment.
Lots of assorted clean-ups related to texture objects.
2003-04-01 16:41:50 +00:00
Brian Paul
926c34f894 comments 2003-04-01 16:39:25 +00:00
Brian Paul
e9f4ee87d8 _mesa_realloc() fix 2003-04-01 16:17:03 +00:00
Brian Paul
8412c60451 added gnumake/gmake info 2003-04-01 15:33:08 +00:00
Jouk Jansen
b8b50cc5c4 Committing in .
added bufferobj.obj

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2003-04-01 13:43:41 +00:00
Brian Paul
dc27b33fb4 Remove dead code.
Replace blocks of per-attribute code with for-loops.
New comments/docs.
2003-03-31 23:47:31 +00:00
Brian Paul
d78c57e8b5 clean-ups, const qualifiers 2003-03-31 23:08:59 +00:00
Brian Paul
6045b0501d minor clean-ups, const qualifiers 2003-03-31 23:06:50 +00:00
Brian Paul
05b2651066 reduce memory needed for vertex attributes (allocate on demand) 2003-03-31 18:19:56 +00:00
Brian Paul
55b0ff2193 use gluSphere instead of glutSphere so we get texcoords 2003-03-31 16:51:38 +00:00
Brian Paul
c765d44650 fixed bad texgen Q problem 2003-03-31 16:48:35 +00:00
Brian Paul
a376e339a5 minor updates 2003-03-30 16:54:36 +00:00
Brian Paul
954a9b8885 added MD5 checksums 2003-03-30 16:45:02 +00:00
Brian Paul
bc6dfeb865 added 5.0.1 info 2003-03-30 16:20:23 +00:00
Brian Paul
871a881899 minor change 2003-03-30 16:18:30 +00:00
Brian Paul
7f223f2060 5.0.1 updates 2003-03-30 16:17:54 +00:00
Brian Paul
408722351d enable 1.4 extensions 2003-03-30 15:49:01 +00:00
Brian Paul
56fe21b3e7 remove debug printf 2003-03-29 17:09:42 +00:00
Brian Paul
1c455e4843 remove duplicate line 2003-03-29 17:07:03 +00:00
Brian Paul
6061df09a4 Basic infrastructure for GL_ARB_vertex_buffer_object. 2003-03-29 17:01:00 +00:00
Brian Paul
c13a05547d print GL_MULTISAMPLE_ARB 2003-03-29 16:42:57 +00:00
Brian Paul
c310570215 fix texgen msg strings 2003-03-29 16:40:23 +00:00
Brian Paul
9c27050e27 minor updates 2003-03-29 16:39:52 +00:00
Brian Paul
997d468afe added GL_ARB_vertex_buffer_object functions 2003-03-29 16:39:21 +00:00
Brian Paul
88e3ed2d81 disable normal xform code for now 2003-03-29 16:38:37 +00:00
Brian Paul
29af3b2be6 added _mesa_print_nv_vertex_instruction() 2003-03-29 16:38:08 +00:00
Brian Paul
52334967ed proper dispatch for NV_fragment_program functions 2003-03-29 16:37:07 +00:00
Brian Paul
c6d030a597 GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_NV_fragment_program entrypoints 2003-03-29 16:36:59 +00:00
Brian Paul
861a60fd40 added entries for GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_NV_fragment_program 2003-03-29 16:35:09 +00:00
Brian Paul
183aea64d3 DOS updates from Daniel Borca 2003-03-29 16:14:01 +00:00
Brian Paul
a8d4963fbc fix EXP instruction and ARL-relative addressing 2003-03-29 16:04:31 +00:00
Brian Paul
8856cece54 minor clean-ups, comments, etc 2003-03-28 01:39:04 +00:00
Brian Paul
98fc9b36b6 fixed ColorMask problem for front-buffer rendering 2003-03-27 17:51:33 +00:00
Brian Paul
a5607f2a04 remove some unfinished code accidently checked in 2003-03-25 02:29:46 +00:00
Brian Paul
a46bd6f96a histogram code move, remove s_histogram.[ch] from Makefiles 2003-03-25 02:26:28 +00:00
Brian Paul
45bc887da2 replace _mesa_ prefix with _swrast_, remove s_histogram.[ch] 2003-03-25 02:23:44 +00:00
Brian Paul
af1bfb7281 store correct EXP result 2003-03-25 00:00:29 +00:00
Brian Paul
6d6efd605f disable prototyped GLX_ARB_render_texture extension 2003-03-24 23:41:10 +00:00
Brian Paul
ee2b34215f add 2, not 4, in _mesa_get_compressed_formats() 2003-03-24 20:00:09 +00:00
Brian Paul
bb21846b2f subset spec (was subset.html in embedded-1-branch) 2003-03-22 18:35:53 +00:00
Brian Paul
d40f9fa0ec fix GL_COLOR_MATERIAL bug 2003-03-21 13:18:33 +00:00
Brian Paul
efe5671eef remove/obfuscate all remaining email addresses 2003-03-19 19:15:28 +00:00
Jouk Jansen
b0f347872d Committing in .
Added some type casts

 Modified Files:
 	Mesa/src/swrast/s_nvfragprog.c
 ----------------------------------------------------------------------
2003-03-19 07:15:35 +00:00
Brian Paul
4515663052 Rewrite of fragment program named parameters, constants, etc. Not done. 2003-03-19 05:34:24 +00:00
Brian Paul
762c115242 added comments 2003-03-19 05:33:09 +00:00
Keith Whitwell
aaa46798f1 Fix typo 2003-03-17 21:38:47 +00:00
Brian Paul
c6dcb0fe89 move #include glheader.h before extern C namespace 2003-03-17 15:13:43 +00:00
Brian Paul
54e92e8420 Store partial derivative values in sw_span structure.
Implemented DDX and DDY fragment program instructions (whew!)
Not fully tested yet.
2003-03-16 22:02:36 +00:00
Brian Paul
a79b55ae65 use TEX_UNIT_LOOP macro to coalesce some code 2003-03-16 20:10:01 +00:00
Brian Paul
dec3ed69e2 clean-ups, re-org in preparation for fragment program work 2003-03-16 18:42:13 +00:00
Brian Paul
b0eee79868 added -lstc++ info, convert more plain text to html 2003-03-16 16:43:04 +00:00
Brian Paul
350353adcd Fix up some fragment program texture enable issues.
Implemented TXD instruction.
2003-03-15 17:33:25 +00:00
Brian Paul
add99d01ee added fptest1, fptexture, texrect, etc 2003-03-14 15:43:46 +00:00
Brian Paul
5b8ed51501 simple NV_fragment_program texture test 2003-03-14 15:41:51 +00:00
Brian Paul
f386f73f9e Clean-up of parser error handling/reporting.
Basic fragment program texture instructions are limping along.
2003-03-14 15:40:59 +00:00
Brian Paul
a2da1155c2 include macros.h 2003-03-14 15:38:04 +00:00
Brian Paul
57ad382b8d DJGPP tweaks 2003-03-11 15:42:48 +00:00
Brian Paul
971e4d6160 DJGPP tweaks 2003-03-11 15:34:42 +00:00
Brian Paul
7954480d65 added Klaus Niederkruger, html clean-up 2003-03-10 14:01:05 +00:00
Brian Paul
24e81fda4d fix/improve glAreTextures/ProgramsResident (Jose Fonseca) 2003-03-10 00:26:24 +00:00
Brian Paul
08953c318e test GLfloat OSMesa rendering 2003-03-08 19:05:45 +00:00
Brian Paul
47d8adde43 DOS update (Daniel Borca) 2003-03-08 18:28:14 +00:00
Brian Paul
f4b21ab645 minor tweaks 2003-03-08 17:45:44 +00:00
Brian Paul
0b27aceae2 Documentation/website overhaul. The website content and doc/ directory
are now merged and are one and the same.
2003-03-08 17:38:57 +00:00
Brian Paul
dc32636cfd minor updates 2003-03-07 20:21:51 +00:00
Brian Paul
009bbccb69 added OS/2 version of IROUND (Evgeny Kotsuba) 2003-03-07 14:54:22 +00:00
Jouk Jansen
b5a56e2480 Committing in .
Removed src/mmath.c from OpenVMS makefile

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2003-03-05 15:54:56 +00:00
Brian Paul
cc9464e082 fix GLchan=GLfloat problems 2003-03-04 19:16:47 +00:00
Brian Paul
612cf792db silence a GLchan=GLfloat warning with a cast 2003-03-04 19:16:23 +00:00
Brian Paul
f9b1e5241f added _mesa_inv_sqrtf() and INV_SQRTF() (Josh Vanderhoof) 2003-03-04 16:33:53 +00:00
Brian Paul
386578c5bc disable using optimized _mesa_sqrtf() for now 2003-03-03 21:44:39 +00:00
Brian Paul
42ad8664f9 better error messages (Leif Delgass) 2003-03-03 15:37:41 +00:00
Brian Paul
078418208f added glFinish with comment 2003-03-03 03:14:25 +00:00
Brian Paul
a59ce9041d added extern "C" for C++ 2003-03-02 19:38:24 +00:00
Brian Paul
0168240c5c removed extra _mesa_memset16() prototype 2003-03-02 19:36:09 +00:00
Brian Paul
490a8b8315 remove some MESA_DEBUG stuff 2003-03-02 19:31:15 +00:00
Brian Paul
27558a160a Killed mmath.[ch]. Moved low-level functions/assembly code into imports.[ch]
Moved type conversion and interpolation macros into macros.h
Updated all the files that used to include mmath.h
2003-03-01 01:50:20 +00:00
Brian Paul
4e50ab5f70 document latest source code changes 2003-03-01 01:50:13 +00:00
Brian Paul
001a3012ac updated version 2003-02-28 16:31:32 +00:00
Brian Paul
7acd88c6d9 minor typo 2003-02-28 15:09:02 +00:00
Brian Paul
a20ed72003 fix GLchan==GLfloat bug in solve_plane_chan (bug 694546) 2003-02-28 15:08:49 +00:00
Brian Paul
13c4c046a5 fix a cast (bug 694546) 2003-02-27 23:37:53 +00:00
Karl Schultz
e9218448ca fix compilation for windows 2003-02-27 19:43:02 +00:00
Karl Schultz
65098ec9f5 fix compilation warnings on Windows 2003-02-27 19:40:45 +00:00
Karl Schultz
72baa3126b Fix function definitions for Windows. 2003-02-27 19:00:00 +00:00
Brian Paul
6a98bef961 fix float color interpolation (bug 694461) 2003-02-27 18:15:18 +00:00
Brian Paul
759c8f92e9 More clean-ups. Parse scalar/vector literals and defined identifier sources. 2003-02-26 01:28:15 +00:00
Brian Paul
730c924943 s/Parse_SwizzleSrcReg/Parse_VectorSrc/. Parse +/- and absolute value syntax. 2003-02-25 20:07:43 +00:00
Brian Paul
ec35842990 more parser test programs 2003-02-25 20:06:35 +00:00
Brian Paul
9f4d812aa7 set MAX_NV_FRAGMENT_PROGRAM_OUTPUTS to 3 2003-02-25 19:30:59 +00:00
Brian Paul
f9ff2657c4 assorted clean-ups and improvements 2003-02-25 19:30:27 +00:00
Brian Paul
8488c9f3cb pass the instruction to store_vector4(). implement KIL. 2003-02-25 19:29:43 +00:00
Brian Paul
1bdc52f86e parser clean-ups and simplifications 2003-02-25 19:27:54 +00:00
Brian Paul
adb1a2911a move matrix type enum out of GLmatrix struct 2003-02-25 19:27:06 +00:00
Brian Paul
a10be7fb85 fix-up pixel_format enum stuff 2003-02-25 19:26:30 +00:00
Brian Paul
4039cb8ca8 casts to silence g++ warnings 2003-02-25 19:25:52 +00:00
Brian Paul
b10c434a8f use _mesa_find_line_column() 2003-02-23 05:25:16 +00:00
Brian Paul
d804fd1f4d parser clean-ups (use struct parse_state) 2003-02-23 05:24:39 +00:00
Brian Paul
25fea6be0a added _mesa_find_line_column() 2003-02-23 05:23:53 +00:00
Brian Paul
736d10c274 silence warning with a cast 2003-02-23 04:23:43 +00:00
Brian Paul
25060c1f29 test if active texture is really changed in _mesa_ActiveTexture() 2003-02-23 04:12:57 +00:00
Brian Paul
b8d6607acd Move span stuff from swrast.h to s_context.h (it's private).
Implemented remaining fragment program instructions.
Initial changes to implement fragment program texture sampling.
2003-02-23 04:10:54 +00:00
Brian Paul
4e44d8c4c6 parser clean-ups 2003-02-23 04:09:21 +00:00
Brian Paul
14e6bbccff added TEXTURE_*_INDEX tokens 2003-02-23 04:07:28 +00:00
Brian Paul
3a4231e132 use IROUND to convert depth values from float to int (bug 690728) 2003-02-21 21:00:20 +00:00
Brian Paul
ea20dfa7a8 fix zoom/clipping bug 689964 2003-02-21 00:17:58 +00:00
Brian Paul
19b3b0a0ff updated DOS files for tarball 2003-02-20 15:53:38 +00:00
Brian Paul
60f84fcc91 latest DOS updates (Daniel Borca) 2003-02-20 15:43:52 +00:00
Brian Paul
449e47f06a Replace some #defines with enums. (Klaus Niederkrueger) 2003-02-17 16:35:56 +00:00
Brian Paul
85109b063c fixed bad zoomed.zStep assignment (bug 687811) 2003-02-17 15:41:05 +00:00
Brian Paul
04cbad84e8 Implement parsing of texture instructions and prototype execution.
Misc parser clean-ups.
2003-02-17 15:38:03 +00:00
Brian Paul
2c1912fe84 more work on DEFINE/DECLARATION statements, symbol tables 2003-02-16 23:07:34 +00:00
Brian Paul
a89cc0edad version bumps, etc 2003-02-13 16:01:33 +00:00
Brian Paul
f2f5f4f884 replace APIENTRY with GLUTAPIENTRY to be consistant with glut.h 2003-02-12 23:56:21 +00:00
Brian Paul
095f59a303 added OS/2 includes 2003-02-12 16:04:07 +00:00
Alan Hourihane
e07618fb57 cast GLfloat 2003-02-10 20:31:11 +00:00
Alan Hourihane
615991ac66 fix fragment_program for Windows 2003-02-10 20:22:08 +00:00
Brian Paul
a4a5da745b added rules for making bz2 files and md5 checksums 2003-02-08 22:09:04 +00:00
Brian Paul
b6b39455e3 added cvsclean target 2003-02-08 16:23:44 +00:00
Brian Paul
92d7935074 replace _mesa_strtof() with _mesa_strtod() 2003-02-08 15:56:34 +00:00
Brian Paul
b8e3eb95d0 disable normal xform code - see bug 673938 2003-02-08 15:43:39 +00:00
Brian Paul
c8e28650c9 fix assertion in transfer_teximage() (Laurent Desnogues) 2003-02-06 13:50:57 +00:00
Brian Paul
7d0522e16a replace | with & (Laurent Desnogues) 2003-02-06 13:44:55 +00:00
Brian Paul
66dce0875e fix bug in popping texture color table state 2003-02-05 15:24:28 +00:00
Brian Paul
6cf845f338 added a comment for _tnl_need_projected_coords() 2003-02-04 14:40:56 +00:00
Brian Paul
dd5f1f43ac Use 'ndc' instead of 'proj' terminology.
Added a bunch of const qualifiers.
2003-02-04 14:40:02 +00:00
Brian Paul
e5ed2f07d8 read/write files, not stdio (Daniel Borca) 2003-02-04 12:34:02 +00:00
Brian Paul
398c6b7980 DOS updates (Daniel Borca) 2003-02-04 02:43:27 +00:00
Brian Paul
657a9d64d7 unneeded (Daniel Borca) 2003-02-04 02:41:25 +00:00
Brian Paul
95e67dc99d use ARB flavor of window_pos extension 2003-02-04 02:35:00 +00:00
Brian Paul
3d7071b8a5 updated with new functions (Bill Hoffman) 2003-02-04 02:29:21 +00:00
Brian Paul
c0f1a69a96 print debug message when SSE is disabled by user (Klaus Neiderkrueger) 2003-02-04 02:22:51 +00:00
Brian Paul
4f615d7fa3 update version numbers (Klaus Niederkrueger) 2003-02-04 02:21:50 +00:00
Karl Schultz
839bef921c Check only LEFT bits for clearing alpha buffer. (Evgeny Kotsuba) 2003-01-30 15:47:06 +00:00
Brian Paul
4c3bb69a94 fix reported 3Dnow bug in _mesa_normal_tab (Felix Kuhling) 2003-01-30 14:30:24 +00:00
Brian Paul
5c31f8678b fix prefetch bug (Felix Kuhling) 2003-01-28 22:41:18 +00:00
Brian Paul
35d03a6b3e updated version test 2003-01-28 15:31:35 +00:00
Brian Paul
02de45dced move ltor computation 2003-01-28 00:14:32 +00:00
Brian Paul
f4418f4d1c some casts (Evgeny Kotsuba) 2003-01-28 00:10:41 +00:00
Brian Paul
45b47d079f Make GL_SGI_texture_color_table work per-texture unit.
Clean-up and optimize _swrast_texture_table_lookup().
2003-01-26 14:37:15 +00:00
Brian Paul
7cac85d00a remove bad assertion, fix minor bug in _mesa_lookup_rgba() 2003-01-26 14:34:56 +00:00
Brian Paul
9067c26e5d optimize compute_coveragef (Evgeny Kotsuba) 2003-01-25 18:57:13 +00:00
Brian Paul
9d169138d0 new texture enums (Leif Delgass) 2003-01-25 00:46:46 +00:00
Brian Paul
b7209b54f7 remove unused vars 2003-01-24 21:42:27 +00:00
Brian Paul
388781a526 silence warning 2003-01-24 21:41:08 +00:00
Brian Paul
b3f717037d silence some warnings 2003-01-24 21:38:19 +00:00
Brian Paul
d737ad5272 renamed dither-related preprocessor symbols (bug 536406) 2003-01-24 15:33:22 +00:00
Brian Paul
a7c52c61e5 push/pop color table state (Eric Plante) 2003-01-22 17:58:52 +00:00
Brian Paul
a2473160d4 improved solve_plane_chan() (Evgeny Kotsuba) 2003-01-22 15:03:09 +00:00
Brian Paul
7ab14f00f0 glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3 2003-01-22 00:42:45 +00:00
Brian Paul
041d5d3aee added missing break (Leif Delgass) 2003-01-21 23:58:29 +00:00
Brian Paul
ccec647f1c GL_SGI_texture_color_table 2003-01-21 21:48:29 +00:00
Brian Paul
418ac00e75 GL_SGI_texture_color_table extension (Eric Plante) 2003-01-21 21:47:45 +00:00
Brian Paul
068a4812fc new X86 CPU detection code (Petr Sebor) 2003-01-21 16:13:55 +00:00
Brian Paul
943f0c6a41 GL_ATI_texture_env_combine3 extension 2003-01-21 15:49:06 +00:00
Brian Paul
19ad3fee8c check for NV_fragment_program for glGetString(GL_PROGRAM_ERROR_STRING_NV) 2003-01-21 15:45:39 +00:00
Brian Paul
64b4298181 fix an assertion 2003-01-20 15:21:41 +00:00
Brian Paul
a12d12d119 use COPY_CHAN4 macro 2003-01-20 15:20:27 +00:00
Brian Paul
8f95d790da use R/G/B/ACOMP indexes (Evgeny Kotsuba) 2003-01-20 00:25:17 +00:00
Brian Paul
2e5c1dce4e fix IBM CPP warning (Evgeny Kotsuba) 2003-01-20 00:24:22 +00:00
Brian Paul
47ecdf55da add some casts 2003-01-19 15:27:37 +00:00
Alan Hourihane
5e9dd04077 fix for framebuffer width and height when window hasn't been realized. 2003-01-16 19:10:46 +00:00
Brian Paul
1596bf398c another fix for glDrawPixels + clipping 2003-01-16 18:57:44 +00:00
Brian Paul
08e1ef79cc update CurrentStack in glActiveTexture if needed (bug 669080) 2003-01-16 15:22:13 +00:00
Brian Paul
ed96f46637 fix glDrawPixels hang when clipping 2003-01-15 23:46:34 +00:00
Jouk Jansen
b6f2dd2a99 Committing in .
the latest changes were in UNIX and not VMS makefile syntax.
 changed to VMS syntax.

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2003-01-15 13:37:47 +00:00
Karl Schultz
ec4c882e47 Fix SourceForge bug 664908. wglDescribePixelFormat should return the
number of valid PFD's if the PFD pointer is NULL, without checking
the validity of the other parameters.
2003-01-15 00:34:16 +00:00
Brian Paul
4fc647c397 simple GL_NV_fragment_program test 2003-01-14 22:50:02 +00:00
Brian Paul
890bcc0be3 fragment program execution 2003-01-14 04:57:47 +00:00
Brian Paul
610d59981a First batch of code for GL_NV_fragment_program.
Re-org of some GL_NV_vertex_program code.
Replace MAX_TEXTURE_UNITS with MAX_TEXTURE_COORD_UNITS and MAX_TEXTURE_IMAGE_UNITS.
2003-01-14 04:55:45 +00:00
Brian Paul
cf01d97dc3 GL_NV_fragment_program 2003-01-14 04:50:14 +00:00
Brian Paul
e58286ccb6 prototype render-to-texture 2003-01-14 04:49:31 +00:00
Brian Paul
3c5bfac63b initial code for render-to-texture 2003-01-14 04:49:07 +00:00
Brian Paul
e1e446bf77 remove const from _mesa_strtof() 2003-01-14 03:05:38 +00:00
Brian Paul
44257dacc0 added _mesa_strtof() 2003-01-14 03:02:13 +00:00
Brian Paul
4097ea012a OSMesa16 updates (Eric Plante), added _mesa_strtof() 2003-01-14 03:00:54 +00:00
Brian Paul
dad19f51c3 fix fog stride bugs (Michel Danzer) 2003-01-13 15:47:52 +00:00
Brian Paul
ce352387fb remove ADD_L altogether 2003-01-09 23:43:02 +00:00
Brian Paul
e27f5e5254 s/16/32/ (Josh Vanderhoof) 2003-01-09 18:03:20 +00:00
Brian Paul
25e38ce9e5 moved ADD_L instruction (Linus Torvalds) 2003-01-09 14:56:25 +00:00
Brian Paul
9108b29dbf added font-related symbols 2003-01-09 14:36:54 +00:00
Brian Paul
e772bee10b fix some float/ubyte mistakes (Daniel Borca) 2003-01-08 21:32:33 +00:00
Brian Paul
ff9ef3baed move t->Image[i]->Format test (bug 659012) 2003-01-08 16:48:04 +00:00
Brian Paul
1e091f48f0 fix typo in rotation code (bug 659677) 2003-01-08 16:42:47 +00:00
Brian Paul
fa268adc9d fix glCopyTexSubImage2D error checking (bug 661907) 2003-01-08 16:24:05 +00:00
Alan Hourihane
95249b2d18 Check that ActiveTextureARB doesn't overflow MaxTextureUnits 2002-12-30 19:24:05 +00:00
Keith Whitwell
0070285b32 Add missing break statements 2002-12-19 18:36:01 +00:00
Brian Paul
518b6f44b4 added new DOS files 2002-12-19 15:18:22 +00:00
Brian Paul
10d2259baa obsolete 2002-12-19 15:15:24 +00:00
Brian Paul
2df7cd4f0c DOS updates 2002-12-19 15:14:58 +00:00
Brian Paul
03516d9efa DOS updates from Daniel Borca. 2002-12-18 15:06:36 +00:00
Brian Paul
c0fc0d4e5f comment changes 2002-12-18 15:02:19 +00:00
Brian Paul
866023da66 improved error message 2002-12-18 15:01:26 +00:00
Brian Paul
7c0e32bbf0 added RELNOTES-5.1 file 2002-12-18 14:57:34 +00:00
Brian Paul
7956321bf1 bug fixes 2002-12-18 14:56:59 +00:00
Keith Whitwell
e15fd85727 Add mechanism to destroy mutexes. Important on OS's where mutex initialization
allocates memory (like FreeBSD).
2002-12-12 13:03:15 +00:00
Brian Paul
76d2a77291 use/test GL_SGIS_generate_mipmaps if available 2002-12-10 16:51:28 +00:00
Brian Paul
6f458650bf let _mesa_problem() take variable arguments 2002-12-06 03:10:59 +00:00
Keith Whitwell
46b99c9016 Don't crash if End received without a Begin... 2002-12-05 11:49:46 +00:00
Brian Paul
6cb5b3475d added _mesa_print_texunit_state() for debugging 2002-12-05 04:51:57 +00:00
Brian Paul
93e0ba8b80 properly handle very wide images 2002-12-05 04:48:53 +00:00
Brian Paul
6e179ad9ef clean-ups, comments 2002-12-05 04:46:54 +00:00
Brian Paul
91e98cd153 fix bad _mesa_printf() calls (mesa bug 646753) 2002-12-04 14:24:44 +00:00
Brian Paul
66fa33e576 updated to use ARB extensions 2002-12-03 03:13:17 +00:00
Brian Paul
2a7243481a added GL_DEPTH_COMPONENT to two assertions 2002-12-03 00:05:48 +00:00
Brian Paul
e7cf569475 declar vsnprintf for OS/2 and VMS (Evgeny Kotsuba) 2002-12-01 13:59:11 +00:00
Brian Paul
d37363d4c0 added const to casts 2002-11-30 17:18:46 +00:00
Brian Paul
2569c3c744 remove GLUTAPIENTRY from __glutCloseDownGameMode 2002-11-30 17:04:04 +00:00
Brian Paul
0f8daaf670 mask is always non-null in write_rgba_pixels and write_monorgba_pixels 2002-11-28 15:56:06 +00:00
Brian Paul
1b94df053d use polygon offset to avoid multi-pass Z-fighting artifacts 2002-11-28 15:51:55 +00:00
Brian Paul
957a0cdb13 added missing call to _mesa_write_mono_alpha_span() 2002-11-26 03:00:04 +00:00
Brian Paul
f345c61a59 fixed bad clear value 2002-11-26 02:58:43 +00:00
Brian Paul
a87514f58e added missing ctx parameter to _tnl_flush_immediate() calls 2002-11-25 20:27:47 +00:00
Brian Paul
3ac375b174 set default texcoords for glBitmap/glDrawPixels 2002-11-25 20:26:59 +00:00
Keith Whitwell
e44bf40402 Flush IM if very small number of verts left -- prevent copy errors 2002-11-25 13:55:31 +00:00
Brian Paul
3ac8105e9c fixed cube texture auto-mipmap generation bug (641363) 2002-11-20 21:39:39 +00:00
Brian Paul
3a212032e7 put FEATURE_NV_vertex_program around vpstate.h include 2002-11-19 15:25:00 +00:00
Brian Paul
d6113fc20d bring in a few AGP-related bits from 4.0.4 2002-11-18 15:11:49 +00:00
Brian Paul
a8f002f4f4 enable 1.4 extensions 2002-11-18 14:45:14 +00:00
Brian Paul
1fe3b1d964 more clean-ups 2002-11-15 15:05:04 +00:00
Brian Paul
69e3c8b323 bump version to 5.1 2002-11-14 16:14:50 +00:00
Brian Paul
22a47c5251 Overhaul of line drawing template code. Make better use of sw_span mechanism. 2002-11-14 03:48:03 +00:00
Brian Paul
4839824587 fix compilation problem (Philippe Houdoin) 2002-11-13 22:22:20 +00:00
Karl Schultz
1b260aee24 Add _mesa_enable_1_4_extensions and _mesa_problem 2002-11-13 20:59:07 +00:00
Brian Paul
9c799cdc49 Lots of clean-ups.
Use new s_spantemp.h to generate all the span functions.
Updated triangle functions (#define NAME, etc)
2002-11-13 16:57:44 +00:00
Brian Paul
b4497c5843 template code for span functions for flat, memory-based frame buffers 2002-11-13 16:54:01 +00:00
Brian Paul
cdf2da368d moved function declaration into the template, define the NAME to specify the function names 2002-11-13 16:51:01 +00:00
Brian Paul
36723b6538 check for NULL span argument 2002-11-13 16:48:47 +00:00
Brian Paul
e21a79bfdd added comments about NULL mask parameter to span-write functions 2002-11-13 16:47:18 +00:00
Brian Paul
4d7a1289ed optimized color buffer clear fallback (use mono-color span functions 2002-11-13 16:46:19 +00:00
Brian Paul
9d88c7d8f4 last tweaks for 5.0 release 2002-11-13 15:33:50 +00:00
Brian Paul
21709b354b init facing to zero 2002-11-13 15:04:29 +00:00
Brian Paul
62d821786c include imports.h 2002-11-13 15:03:31 +00:00
Brian Paul
101b16cf41 minor update 2002-11-13 03:08:15 +00:00
Brian Paul
069ad023b5 omit dmesadxe.h from tar file 2002-11-13 02:34:53 +00:00
Brian Paul
43cb96cbf6 html index to doc files, doxygen files 2002-11-13 02:28:20 +00:00
Brian Paul
1e9d43f56c latest 5.0 bug fixes 2002-11-12 19:32:09 +00:00
Brian Paul
7069a7e3d6 apply scale factor before clapping for DOT3 2002-11-12 19:27:24 +00:00
Brian Paul
d5cbe1e924 removed -malign-jumps 2002-11-12 02:49:14 +00:00
Karl Schultz
d8c6273cf6 Tweaks for hpux. The hpux10 and hpux10-sl targets now build pretty
cleanly.
2002-11-11 18:56:36 +00:00
Brian Paul
68b1d5c315 compilation fixes 2002-11-11 18:42:38 +00:00
Brian Paul
f104619b8f changes to vishandle usage to prevent segfault in some circumstances 2002-11-10 17:07:06 +00:00
Brian Paul
04cf6f4958 added Z calculation fix 2002-11-09 21:29:08 +00:00
Brian Paul
ad8cd6111e fix float->int Z calculation in _mesa_span_default_z() 2002-11-09 21:28:41 +00:00
Brian Paul
e307931314 fix one-bit error in float->int Z calculation 2002-11-09 21:26:41 +00:00
Brian Paul
2dee6187e4 added P4 / 3DNow bug fix 2002-11-09 20:41:13 +00:00
Keith Whitwell
b6d90e50ea fix 3dnow misdetection on new p4's 2002-11-09 17:43:58 +00:00
Brian Paul
aa80f05484 multisample / polygon smooth test 2002-11-08 18:30:26 +00:00
Karl Schultz
af76b4280c Add instructions to unzip both zip files into the same directory. 2002-11-08 18:00:04 +00:00
Brian Paul
456bc69ac4 declare tempI as Int, not Real (Jon Perry) 2002-11-08 17:38:13 +00:00
Brian Paul
872c9baf00 fixed active stencil face query 2002-11-08 15:51:17 +00:00
Brian Paul
0b0245c160 minor clean-up 2002-11-08 15:49:31 +00:00
Brian Paul
2c9e7ae38b fixed active stencil face query bug 2002-11-08 15:39:58 +00:00
Brian Paul
7a4a6a3c4c fixed a few category lines 2002-11-08 15:38:48 +00:00
Brian Paul
d1efbf0456 implemented automatic code gen and individual function validation 2002-11-08 15:35:46 +00:00
Brian Paul
6e40539490 added a few more missing 1.4 entrypoints 2002-11-07 16:37:12 +00:00
Brian Paul
7348df5937 added glBlendFuncSeparate, glMultiDrawArrays, glMultiDrawElements 2002-11-07 16:34:58 +00:00
Brian Paul
c542351085 added glFogCoord functions 2002-11-07 16:24:27 +00:00
Brian Paul
1cfae1adb2 added 1.4 functions 2002-11-07 16:23:40 +00:00
Brian Paul
42ace1c150 added missing 1.4 glFogCoord functions 2002-11-07 16:20:20 +00:00
Brian Paul
cf1c860a34 surround fixedEdges decl by #ifndef NDEBUG / #endif 2002-11-07 14:17:05 +00:00
Brian Paul
8bfc9d71aa restored fixedEdges var (for VMS) 2002-11-06 16:09:04 +00:00
Brian Paul
36b9b0e9d1 latest 5.0 bug fixes 2002-11-06 15:18:26 +00:00
Brian Paul
f48216ad0f a few dispatch pointers weren't set (glGenTexturesEXT for example) 2002-11-06 15:16:23 +00:00
Jouk Jansen
0d88328c7e Committing in .
OpenVMS issues

 Modified Files:
 	Mesa/si-glu/mesaglu.opt Mesa/src/mmath.h
 ----------------------------------------------------------------------
2002-11-06 13:39:23 +00:00
Brian Paul
66ab727101 minor multi-sample clean-ups 2002-11-05 21:11:18 +00:00
Brian Paul
25af66a67f added some printfs to show current polygon mode and cull state 2002-11-05 20:59:16 +00:00
Brian Paul
aca31cf6de fixed glTexParameteriv(GL_TEXTURE_BORDER_COLOR) error 2002-11-05 20:58:37 +00:00
Brian Paul
c4b40cc404 added GLUT and DOS updates 2002-11-05 20:53:42 +00:00
Brian Paul
aa3029bce1 Updates for DOS driver from Daniel Borca. 2002-11-05 20:52:07 +00:00
Brian Paul
8a738db519 support for GLX_ARB_multisample 2002-11-04 22:20:28 +00:00
Brian Paul
4b01eb6e08 minor revision to 4.1 features 2002-11-04 20:31:55 +00:00
Brian Paul
7d4d41a984 FX driver fixes 2002-11-04 20:31:09 +00:00
Brian Paul
8115e29ddc misc driver updates (Daniel Borca) 2002-11-04 20:29:04 +00:00
Brian Paul
df45a985ed glxinfo update 2002-11-04 16:25:42 +00:00
Brian Paul
d2e39bb050 add support for GLX_ARB_multisample 2002-11-04 16:24:18 +00:00
Brian Paul
969e1ac233 fix for HPUX 2002-11-01 23:49:59 +00:00
Brian Paul
772752449d HPUX fixes 2002-11-01 23:46:53 +00:00
Brian Paul
a85fae9cb0 silence a bunch of warnings 2002-11-01 23:45:30 +00:00
Brian Paul
034e8641bb renamed abs() function glu_abs() 2002-11-01 23:35:07 +00:00
Brian Paul
026b40f416 fix a typo 2002-11-01 17:42:03 +00:00
Brian Paul
561e6723cf list bug fixes in 5.0 2002-10-31 17:19:03 +00:00
Brian Paul
e89f0792eb tweak pipeline flags for vertex programming 2002-10-31 17:14:37 +00:00
Brian Paul
e0e6bd7ae1 fix the occasional missing triangle bug 2002-10-31 17:14:16 +00:00
Brian Paul
36481524ba simple GL_EXT_stencil_wrap test program 2002-10-31 15:25:07 +00:00
Brian Paul
07624e347b fix a few HPUX problems 2002-10-31 14:58:36 +00:00
Keith Whitwell
9627ed0631 Add a note about window map behaviour and the autotuning of nr of loops which
can conspire to make it look like clearspd is exposing an intermittent driver
bug...
2002-10-31 12:38:32 +00:00
Brian Paul
8d43976858 added a comment about future work 2002-10-30 20:40:46 +00:00
Brian Paul
9167d04dea s/getenv/_mesa_getenv/ 2002-10-30 20:25:15 +00:00
Brian Paul
2ad5921cf3 use wrappers from imports.h rather than stdio, stdlib, etc functions. 2002-10-30 20:24:45 +00:00
Brian Paul
e1e867c3b2 remove some stray debug/abort code 2002-10-30 20:18:38 +00:00
Brian Paul
4663bd50f1 don't call abort() 2002-10-30 20:16:43 +00:00
Brian Paul
68a7ee5cbb s/printf/_mesa_printf/ 2002-10-30 19:59:33 +00:00
Brian Paul
36b518a7ca s/sprintf/_mesa_sprintf/ 2002-10-30 19:58:58 +00:00
Brian Paul
f16a66e97d remove debug printf 2002-10-30 19:57:21 +00:00
Brian Paul
6ec6b845fd s/BZERO/_mesa_bzero/ 2002-10-30 19:49:29 +00:00
Brian Paul
9dc11a3e38 test both XFree86LOADER and IN_MODULE to see if we're being built as the glx module 2002-10-30 19:44:41 +00:00
Brian Paul
c5934054f3 fix potential bug in _mesa_align_calloc/malloc (Frank van Heesch) 2002-10-30 19:40:20 +00:00
Brian Paul
3160edec33 more version bumps 2002-10-29 23:53:22 +00:00
Brian Paul
b2289a944e minor updates 2002-10-29 23:42:48 +00:00
Brian Paul
42649700e2 bump OpenGL version to 1.4, Mesa version to 5.0 2002-10-29 23:09:37 +00:00
Brian Paul
ebe0b30c3e preparation for 5.0 release 2002-10-29 22:42:04 +00:00
Brian Paul
9bd8f97ea4 update versioning/extensions for OpenGL 1.4 / Mesa 5.0 2002-10-29 22:32:50 +00:00
Brian Paul
46b3f97654 fix culling problem (bug 630649) 2002-10-29 22:25:57 +00:00
Brian Paul
05a4b37707 updated email addresses 2002-10-29 20:28:36 +00:00
Brian Paul
fd062077c6 set release date 2002-10-29 15:06:37 +00:00
Brian Paul
153f15497c init a few more fields in _mesa_initialize_visual() 2002-10-29 15:04:35 +00:00
Brian Paul
dec2a4d4b7 added some casts for mallocs (bug 630379) 2002-10-29 15:03:14 +00:00
Karl Schultz
d3975341e7 Add casts to quiet compiler warnings. 2002-10-28 23:01:24 +00:00
Karl Schultz
5f1651ddc5 export new functions. 2002-10-28 23:00:50 +00:00
Brian Paul
367d308b82 wrapped a few more C library functions 2002-10-25 21:06:26 +00:00
Brian Paul
e781aec85d #include fixes 2002-10-25 18:47:56 +00:00
Brian Paul
a4f0b6884c added skybox and options to load real images 2002-10-25 17:20:26 +00:00
Brian Paul
92c195211a remove all.h, mem.h, mem.c 2002-10-25 13:50:48 +00:00
Jouk Jansen
c2836e9ac6 Committing in .
Removed src/mem.c from OpenVMS makefile

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2002-10-25 08:26:26 +00:00
Brian Paul
46458ba213 include GL/glx.h 2002-10-25 00:01:58 +00:00
Brian Paul
3c63452e64 Header file clean-up:
1. Remove all.h and PC_HEADER junk.
2. Rolled mem.c and mem.h into imports.c and imports.h
3. Include imports.h instead of mem.h
Restore _mesa_create/initialize_context() to be like they were in 4.0.4
New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
2002-10-24 23:57:19 +00:00
Brian Paul
d0add7cf1a added missing code to copy texrect state 2002-10-23 14:53:27 +00:00
Brian Paul
cca4dedbfd stex3d updated 2002-10-23 14:01:38 +00:00
Brian Paul
4fbdedc0d5 massive overhaul, see new keyboard options 2002-10-23 14:00:01 +00:00
Keith Whitwell
47fe2fc105 Fix projtex interp bug 2002-10-23 10:24:27 +00:00
Brian Paul
8e6926f7c3 added glDeleteTextures refcount bug fix 2002-10-22 15:17:34 +00:00
Brian Paul
e9283774dc remove debug printfs 2002-10-22 15:15:41 +00:00
Brian Paul
cf46208624 fix refcount error in _mesa_DeleteTextures (Randy Fayan) 2002-10-22 15:14:49 +00:00
Brian Paul
e6962b183d add missing texture rectangle code in _mesa_DeleteTextures() 2002-10-22 15:08:59 +00:00
Brian Paul
60b003e197 added GL_ATI_texture_mirror_once 2002-10-21 15:53:06 +00:00
Brian Paul
c7a219ec6f GL_ATI_texture_mirror_once extension (Ian Romanick) 2002-10-21 15:52:34 +00:00
Brian Paul
ac9a65b1dd doxygen comments (Klaus Niederkrueger) 2002-10-21 15:06:26 +00:00
Brian Paul
ef31f60b12 new _mesa_max_texture_levels() helper function - not used everywhere yet 2002-10-18 18:03:04 +00:00
Karl Schultz
53d30c56eb Quiet compiler warnings. 2002-10-18 17:47:35 +00:00
Brian Paul
2ce0654eba implement auto mipmap generation for compressed textures 2002-10-18 17:41:45 +00:00
Karl Schultz
8eaa290216 Add casts to quiet compiler warnings. 2002-10-18 17:02:00 +00:00
Brian Paul
6ac04f2fc6 fix bug in GL_MIRRORED_REPEAT_ARB (Ian Romanick) 2002-10-18 13:40:59 +00:00
Brian Paul
6e1ceff48b latest fixes 2002-10-18 13:28:55 +00:00
Brian Paul
e716549618 only allow intformat==GL_COLOR_INDEX if EXT_paletted_texture is supported 2002-10-18 13:24:08 +00:00
Brian Paul
8c2a1f0e4d check for GL_EXT_paletted_texture 2002-10-18 13:23:19 +00:00
Karl Schultz
798d83cf67 Add casts to quiet compiler warnings. 2002-10-17 22:26:06 +00:00
Karl Schultz
6afdc0bec2 Put back the include of windows.h so we are back to version 17 of the file. 2002-10-17 21:03:22 +00:00
Karl Schultz
3e2fa3fd5c Change for Windows only: Make demos and examples build again.
Move the inclusion of windows.h from glext.h to gl.h.  There are a few
good reasons for this:
- Including it in gl.h is more strightforward and makes it easier to
troubleshoot include file problems.  It was sometimes hard to find it
in glext.h.
- Needed to define APIENTRY correctly.  APIENTRY is used in gl.h.
- glut.h needs windows.h but does not include it, expecting the app to
include it.  Including it in gl.h if not already included by the app
makes glut.h happy.  This allows one to write a gl/glut app without
explictly including windows.h, which may only be really important for
toy apps like our samples and demos.  But a "real" app can still
include windows.h if it wants.
2002-10-17 19:39:31 +00:00
Brian Paul
bc36ee25d8 new wrap modes (Ian Romanick) 2002-10-17 17:39:37 +00:00
Brian Paul
944ea204a8 s/functionOffset/offset/ 2002-10-17 16:29:17 +00:00
Brian Paul
10d343f407 patches from Gerk Huisma for float-channel rendering 2002-10-17 15:26:38 +00:00
Brian Paul
673077c613 applied Philippe Houdoin's patch, plus minor clean-ups 2002-10-17 14:25:30 +00:00
Brian Paul
8dfc5b9863 surround vertex program code with #if FEATURE_NV_vertex_program/#endif 2002-10-16 17:57:51 +00:00
Brian Paul
e32b909054 remove some crud 2002-10-16 17:57:03 +00:00
Brian Paul
2efb3029f0 remove lowpc.c and highpc.c 2002-10-15 15:55:45 +00:00
Brian Paul
10882b17c9 removed highpc.c and lowpc.c 2002-10-15 15:54:23 +00:00
Brian Paul
0977fa67b8 update file list for tar file 2002-10-15 15:40:57 +00:00
Brian Paul
f7657d037e make a few static function non-static for highpc.c 2002-10-15 15:36:26 +00:00
Brian Paul
d2ec14c4aa remove 'beta' from GL_VERSION string 2002-10-15 15:23:16 +00:00
Brian Paul
d4ffbe4cca allow querying of glut functions via glutGetProcAddress() 2002-10-15 15:23:02 +00:00
Brian Paul
dfedb8b78e added gluTessNormal() dummy function 2002-10-15 14:45:19 +00:00
Brian Paul
9d00b68482 added missing glFinish() 2002-10-15 14:44:53 +00:00
Brian Paul
7c5282d2a8 minor updates 2002-10-15 14:43:55 +00:00
Brian Paul
f2e21e1026 added latest 4.1 changes 2002-10-15 14:41:48 +00:00
Brian Paul
11fd2d7558 disable wsPriv field in __GLdrawablePrivateRec to match XFree86/DRI 2002-10-14 17:12:01 +00:00
Brian Paul
60b6e4fd7e context-related cleanups (ex: _mesa_notifySwapBuffers instead of _mesa_swapbuffers) 2002-10-14 17:08:17 +00:00
Brian Paul
795ae30787 Glide driver disabled by default 2002-10-14 14:19:11 +00:00
Brian Paul
45c569860c print transparent pixel info when using -v option (Gerd Sussner) 2002-10-14 13:57:23 +00:00
Brian Paul
cb4253a546 added missing GLX_TRANSPARENT_RGB 2002-10-14 13:52:27 +00:00
Brian Paul
2871f57bcf check EXT_point_parameters before calling PointParameterfvEXT() 2002-10-11 21:42:08 +00:00
Brian Paul
32d0d5aec4 init swrast->CurrentBuffer 2002-10-11 17:50:59 +00:00
Brian Paul
f58826db57 updated info about glRead/DrawBuffers() 2002-10-11 17:42:48 +00:00
Brian Paul
8ad1076dc2 Another round of glRead/DrawBuffer() clean-ups and simplifications.
Replaced ctx->Color._DriverDrawBuffer with swrast->CurrentBuffer.
Replaced ctx->Pixel._DriverReadBuffer with ctx->Pixel._ReadSrcMask.
swrast->Driver.SetBuffer() takes FRONT/BACK_LEFT/RIGHT_BIT values now.
Added tokens and code for GL_AUX buffers, for completeness.
2002-10-11 17:41:03 +00:00
Brian Paul
9e84910749 undo previous check-in (check if ctx->Color.DrawBuffer == mode) 2002-10-11 15:17:12 +00:00
Keith Whitwell
b110ca34f0 lineloop fix 2002-10-11 08:24:13 +00:00
Brian Paul
d54d4633fd check mode for no change in _mesa_Read/DrawBuffer() 2002-10-11 00:02:16 +00:00
Brian Paul
813c96f458 updated porting info 2002-10-10 23:49:02 +00:00
Keith Whitwell
fbc236b401 add GL_UNPACK_CLIENT_STORAGE_APPLE gets 2002-10-10 18:03:44 +00:00
Brian Paul
23cdcede5d check texImage->IsClientData before freeing memory 2002-10-10 14:12:09 +00:00
Brian Paul
71072be182 disable _glapi_set_warning_func() call as it's not present in older libGLs 2002-10-10 00:22:13 +00:00
Brian Paul
0670eb259d removed old TEXTURE0_ defines 2002-10-09 23:56:32 +00:00
Brian Paul
433a084130 removed old VERT_* defines, use VERT_BIT_* instead 2002-10-09 19:45:53 +00:00
Brian Paul
008a5dd7bb use new vertex bitfield tokens 2002-10-09 19:38:32 +00:00
Brian Paul
85678e0399 disable wscx field in __GLimportsRec to be consistant with XFree86 2002-10-09 19:37:32 +00:00
Brian Paul
c20579d651 XFree86 fixes (clib macro wrappers) 2002-10-09 19:36:24 +00:00
Brian Paul
f2c5296dd7 disable XMesaCreatePBuffer() for XFree86 2002-10-09 19:35:11 +00:00
Brian Paul
59c5cf35c9 finally get rid of ctx->Texture._ReallyEnabled field 2002-10-08 23:59:33 +00:00
Brian Paul
614301faca fix a typo 2002-10-08 23:58:55 +00:00
Brian Paul
ece3e63c98 change fog from GLfloat to GLfloat[4] (like other vertex attribs) 2002-10-08 23:57:50 +00:00
Brian Paul
5fd1cc2e0e s/glVertexAttrib4fNV/_glapi->Dispatch->VertexAttrib4fNV/ 2002-10-08 23:57:13 +00:00
Brian Paul
d3f6b0559f added missing dispatch code for new AGP-related functions 2002-10-08 23:16:26 +00:00
Brian Paul
b5974db277 import from DRI CVS 2002-10-08 23:14:43 +00:00
Brian Paul
8455203bc7 GLX_NV_vertex_array_range and GLX_MESA_agp_offset extensions 2002-10-08 22:47:53 +00:00
Jouk Jansen
f72a3da697 Committing in .
Add compile support in the xdemos directory for OpenVMS

 Modified Files:
 	Mesa/descrip.mms Mesa/xdemos/descrip.mms
 	Mesa/xdemos/glxgears.c
 ----------------------------------------------------------------------
2002-10-08 08:38:26 +00:00
Brian Paul
cf69eeb1aa removed old comment 2002-10-07 15:03:14 +00:00
Brian Paul
73029c5d75 added GLX_SGIX_fbconfig and GLX_SGIX_pbuffer 2002-10-05 18:32:38 +00:00
Brian Paul
5687740762 added pbinfo and pbdemo programs 2002-10-05 18:30:46 +00:00
Brian Paul
21666e3db4 pbuffer info and demo programs 2002-10-05 18:30:13 +00:00
Brian Paul
e4656003ca Pbuffers seem to work! 2002-10-05 18:27:41 +00:00
Brian Paul
fa647e8336 added XMesaCreatePBuffer() 2002-10-05 03:03:37 +00:00
Brian Paul
3265fe5f8e more work on fbconfig/pbuffer support 2002-10-05 03:02:34 +00:00
Brian Paul
f42d366bb6 GLfloat/GLchan updates 2002-10-05 03:02:01 +00:00
Brian Paul
4b334b2db6 restore ACCUM_BITS to 16 2002-10-05 03:01:28 +00:00
Karl Schultz
6640bc3bfa include procs for compressed textures 2002-10-04 23:11:03 +00:00
Karl Schultz
248b3cf727 remove const storage class specifier for the decl of a var that isn't
a const.
2002-10-04 23:10:06 +00:00
Brian Paul
072edaf126 updated list of internal changes in 4.1 2002-10-04 19:10:27 +00:00
Brian Paul
fc80ad6e62 Changed a number of context fields from GLchan to GLfloat (such as ClearColor).
Also changed parameter types for some driver functions (like ctx->Driver.Clear-
Color).  Updated all the device drivers.
Someday, we want to support 8, 16 and 32-bit channels dynamically at runtime.
2002-10-04 19:10:06 +00:00
Brian Paul
f782b8189e multiple GL_POINTS can now be rendered together into one fragment span 2002-10-04 17:37:45 +00:00
Karl Schultz
f8acbed50d Fix for bug 618459. Mods to allow compilation on VC++ 5.0 (Michael Krause) 2002-10-04 15:58:33 +00:00
Brian Paul
a42e7c9172 record GL_INVALID_VALUE in glVertexAttrib*NV() if index > 15 2002-10-03 23:27:22 +00:00
Brian Paul
be99e845bd finished up GL_EXT_stencil_two_side 2002-10-02 23:24:04 +00:00
Brian Paul
0adce5d0ed removed unused ctx->Polygon.OffsetMRD 2002-10-02 22:05:55 +00:00
Brian Paul
641b2307ec removed ctx->Polygon._OffsetAny - not really needed 2002-10-02 21:44:08 +00:00
Brian Paul
8420ad94f2 bring over from 4.0.4 branch 2002-10-02 17:32:26 +00:00
Brian Paul
d8419c730e better error checking related to YCbCr images 2002-10-02 17:25:05 +00:00
Brian Paul
54f3aab0c7 _glapi_get_proc_address() now always returns a valid dispatch stub function
(provided we're on x86 or SPARC).  Later, _glapi_add_entrypoint() will fix-up
the dispatch offset (which was -1).  This will allow DRI libGL to avoid
probing for drivers.
2002-10-02 01:51:44 +00:00
Jouk Jansen
a329d68903 Committing in .
texcompress.c added to OpenVMS makefile.

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2002-09-27 14:47:24 +00:00
Brian Paul
89fb06fcc1 new texture compression infrastructure 2002-09-27 02:45:37 +00:00
Brian Paul
1a0bfdc8c1 fix bug in index_mask() (bug 609837) 2002-09-23 17:21:53 +00:00
Brian Paul
681b8c9d1b merge gl_texture_image RowStride from DRI 4.0.4 2002-09-23 16:37:13 +00:00
Brian Paul
b7808884bb update from Daniel Borca 2002-09-21 22:45:37 +00:00
Brian Paul
551b65f137 GL_MESA_pack_invert 2002-09-21 17:34:56 +00:00
Brian Paul
c5b9950660 updates from 4.0.4 (MESA_ycbcr_texture, APPLE_client_storage, etc) 2002-09-21 16:51:25 +00:00
Brian Paul
c62aeed003 merge updates from 4.0.4 2002-09-21 16:47:09 +00:00
Brian Paul
f022463aa6 added src/BeOS/*.h to file list 2002-09-19 16:36:52 +00:00
Brian Paul
5b18bb6a60 stencil two-side and 3dfx fix 2002-09-19 16:34:55 +00:00
Brian Paul
ca6647b307 two-side stencil info 2002-09-19 16:34:29 +00:00
Brian Paul
473e51f2fb Updated BeOS support (Philippe Houdoin) 2002-09-19 16:19:43 +00:00
Brian Paul
cbc1fb0a9a push and pop ESI (Daniel Borca) 2002-09-19 16:07:32 +00:00
Brian Paul
b6e04ee7c8 obsolete 2002-09-19 16:05:01 +00:00
Brian Paul
a9be374f82 pull-in changes from DRI/Mesa-4.0.4 2002-09-17 15:46:34 +00:00
Brian Paul
e1cb2fb571 remove GLint t, pass target to _mesa_init_teximage_fields() 2002-09-17 14:14:18 +00:00
Brian Paul
d5bbbd41c4 fixed _mesa_generate_mipmaps() target problem 2002-09-16 17:57:14 +00:00
Brian Paul
8cd2d0e782 more detailed _mesa_error() messages 2002-09-16 17:56:02 +00:00
Brian Paul
c84e84a734 doxygen comments 2002-09-16 17:55:36 +00:00
Brian Paul
57aca2bf6e fixed pixel pack bug in glGetTexImage() 2002-09-14 16:51:34 +00:00
Karl Schultz
99683bd830 Mark destroyed context as not current. (Frank Warmerdam) 2002-09-12 17:05:55 +00:00
Brian Paul
4991d0f9f3 optimizations to _math_matrix_rotate() (Rudolf Opalla) 2002-09-12 16:26:04 +00:00
Brian Paul
3ce6dc7f1d more detailed _mesa_error() strings 2002-09-08 17:29:16 +00:00
Brian Paul
6c25e3a111 incorrect dimenstion passed to texture_error_check() in compressed teximage functions 2002-09-06 14:42:04 +00:00
Brian Paul
3f25b1a358 removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT 2002-09-06 13:00:50 +00:00
Brian Paul
57df24a86c don't query GL_MAX_CONVOLUTION_WIDTH/HEIGHT 2002-09-06 12:58:56 +00:00
Brian Paul
28bc6cb479 minor updates to sync with XFree86 2002-09-06 03:47:34 +00:00
Brian Paul
2f7ef5fae8 added -l option to print interesting OpenGL limits 2002-09-06 03:35:43 +00:00
Brian Paul
e41c57758d fixed glSampleCoverage typo 2002-09-06 03:30:20 +00:00
Brian Paul
7d7ec0ea91 implemented glProgramParameters4[df]vNV() 2002-09-06 03:25:03 +00:00
Brian Paul
6a1e1623fd hook-up dispatch for glActiveStencilFaceEXT() 2002-09-06 03:20:21 +00:00
Brian Paul
fdaa72bc43 added GL_EXT_stencil_two_side and GL_NV_fence 2002-09-06 03:19:32 +00:00
Brian Paul
5f60a0b50a GL_EXT_stencil_two_side extension, not 100% complete yet. 2002-09-06 02:56:08 +00:00
Brian Paul
a2ae6faf1a removed glext.h fix-ups corrected in glext.h version 17 2002-09-06 02:52:23 +00:00
Brian Paul
e14c151f0a version 17 2002-09-06 02:48:09 +00:00
Brian Paul
530d4611eb added OpenGL 1.4 entrypoints 2002-09-06 02:46:08 +00:00
Brian Paul
3a03211aee added GL_IBM_texture_mirrored_repeat (Ian Romanick) 2002-09-05 21:16:30 +00:00
Brian Paul
e7abc078ab test for ARB_texture_cube_map when getting GL version(Ian Romanick) 2002-09-05 21:14:36 +00:00
Jouk Jansen
0a7fc572a7 Committing in .
Adding vsnprintf support for OpenVMS (needed in src/imports.c)

 Modified Files:
 	Mesa/src/Makefile.am Mesa/src/descrip.mms
 Added Files:
 	Mesa/src/vsnprintf.c
 ----------------------------------------------------------------------
2002-09-05 08:38:01 +00:00
Brian Paul
7e35cc53ce updated wglGetProcAddress 2002-09-04 14:14:36 +00:00
Brian Paul
528afb5ff4 updated DOS file list 2002-09-03 18:14:08 +00:00
Brian Paul
05ed911aca updates from Daniel Borca 2002-09-03 18:11:32 +00:00
Brian Paul
b9f75444e6 improved error string 2002-09-03 18:05:17 +00:00
Brian Paul
ba88dd0d92 s/5/NUM_TEXTURE_TARGETS/ 2002-09-03 18:03:45 +00:00
Brian Paul
ed00b2ef33 fixed compilation problem for swdd->SetBuffer 2002-09-03 17:10:54 +00:00
Brian Paul
391876e5e6 fix up stuff accidentaly checked in a few days ago 2002-08-29 14:02:27 +00:00
Karl Schultz
53880a85b6 Don't call _mesa_initialize_context because we are using
_mesa_create_context.  This avoids calling initialize twice and fixes
memory leaks.  Add call to free the GL context because we are creating it
with _mesa_create_context, fixing another leak.
2002-08-28 18:26:38 +00:00
Brian Paul
41771982c4 define GLAPIENTRY and GLAPI if not defined in gl.h 2002-08-27 21:47:31 +00:00
Brian Paul
fb657ef91d added glXAllocate/FreeMemoryNV() 2002-08-22 21:10:37 +00:00
Brian Paul
8fefafa220 stub functions for glXAllocate/FreeMemoryNV() 2002-08-22 21:10:01 +00:00
Brian Paul
2188d002df minor error message changes 2002-08-21 16:39:39 +00:00
Brian Paul
62166908a9 re-enable ASSIGN_NORM_GROUP( 3dnow ) 2002-08-21 13:07:17 +00:00
Brian Paul
1e0241d3c6 replace Current.Color with Current.Attrib[VERT_ATTRIB_COLOR0] 2002-08-21 13:05:37 +00:00
Keith Whitwell
713800a495 update colormaterial state on swtcl wakeup 2002-08-21 10:39:59 +00:00
Brian Paul
2b930072b3 s/DrawDestMask/_DrawDestMask/ 2002-08-21 02:59:31 +00:00
Brian Paul
b79e99ad60 s/ProjectedClipPtr/NdcPtr/ 2002-08-21 02:59:00 +00:00
Brian Paul
3ac01f5e47 fix problems in FXgetImage() 2002-08-21 02:57:58 +00:00
Brian Paul
34713c1a3c fixed array index typo in VERT_SAVE_RGBA() macro 2002-08-21 02:56:58 +00:00
Brian Paul
5117a8214d added multitexture and line stipple 2002-08-17 00:30:36 +00:00
Brian Paul
f569dc447a minor tweaks 2002-08-17 00:29:55 +00:00
Brian Paul
9f7011b88b added error checking for glCallLists() type parameter 2002-08-17 00:26:29 +00:00
Brian Paul
af3265fabd added new GLUT features 2002-08-17 00:23:19 +00:00
Brian Paul
6bf6cd3418 bump lib version to 3.7.1, more make clean commands 2002-08-17 00:20:48 +00:00
Brian Paul
7ae671446a added glutGetProcAddress() 2002-08-17 00:12:48 +00:00
Brian Paul
46a035f76d added glutGetProcAddress() and GLUT_FPS env var option 2002-08-17 00:12:12 +00:00
Karl Schultz
10730663a1 Add note about needing to run VCVARS32.BAT when compiling.
Add book and samples to the list of dirs that are built.
Reword some notes about the build process.
2002-08-15 15:13:31 +00:00
Brian Paul
1972ac661c added (char *) casts 2002-08-08 17:12:38 +00:00
Brian Paul
3efe5beefc fix up resulting FOGC and PSIZ when needed 2002-08-08 16:55:56 +00:00
Brian Paul
352c13f783 init tmp->Normal.size = 3 2002-08-08 16:55:17 +00:00
Brian Paul
ebe671cfad comments 2002-08-08 16:54:43 +00:00
Brian Paul
ea53a5b5ab change GLvector3f to GLvector4f for normal transformation 2002-08-08 16:53:12 +00:00
Brian Paul
946ad2720a change dest stride to 16 bytes instead of 12 2002-08-08 15:36:50 +00:00
Brian Paul
2a1abe3b46 initialize SWvertex array to zeros 2002-08-08 00:41:11 +00:00
Brian Paul
fb8ca95dff changed normal stride from 12 to 16 bytes since normals are now GLfloat[4] (for vertex program) 2002-08-07 16:40:18 +00:00
Brian Paul
a4ac844979 re-check-in - something didn't work on the previous check-in 2002-08-07 15:18:42 +00:00
Brian Paul
e968686133 latest bug fixes 2002-08-07 00:46:17 +00:00
Brian Paul
77df88727c struct sw_span is again allocated on the stack, but the arrays of span
data are broken out into a new struct span_arrays which is allocated
per-context (to avoid huge stack allocations - a problem on Windows).
This lets us use span.redStep instead of span->redStep (for example) to
hopefully get slightly better performance in the triangle functions.
2002-08-07 00:45:07 +00:00
Karl Schultz
2353e96c32 Coerce vsnprintf to _vsnprintf for windows 2002-08-03 16:19:20 +00:00
Brian Paul
971df9b389 misc updates 2002-08-01 15:16:46 +00:00
Brian Paul
c2656d588b define MAXSTRING and use vsnprintf to preven overflows 2002-08-01 15:10:23 +00:00
Karl Schultz
f1dee4fe8f Catch up windows driver with recent context mods 2002-07-29 00:01:00 +00:00
Karl Schultz
54572c1b93 export new symbols for osmesa lib 2002-07-28 18:01:36 +00:00
Brian Paul
c712425d0d fix warnings (bug 580528) 2002-07-22 13:45:31 +00:00
Brian Paul
5c711e3671 fix patching offsets (Sven Panne) (patch 544637) 2002-07-12 16:00:57 +00:00
Brian Paul
e237491493 silence warnings 2002-07-12 15:54:19 +00:00
Brian Paul
f02a5f6cc5 Pedantic compiler fixes (Sven Panne) 2002-07-12 15:54:01 +00:00
Brian Paul
902d2faadf applied Eric Anholt's patch for Athlon SSE 2002-07-11 15:33:02 +00:00
Brian Paul
8eaffa2a1c re-enable X86 code 2002-07-10 01:25:50 +00:00
Brian Paul
55c82c596e added Read/DrawBuffer porting info 2002-07-09 01:28:03 +00:00
Brian Paul
3b4fbbc129 Overhaul of glRead/DrawBuffer() code. Now, swrast->Driver.SetBuffer()
indicates the read AND draw color buffer for all software rasterization.
Lots of related clean-ups.  See RELNOTES-4.1 for details.
2002-07-09 01:22:50 +00:00
Jouk Jansen
b4338e5887 Committing in .
Adding a missing ',' in a parameter list of a routine called

 Modified Files:
 	Mesa/src/imports.c
 ----------------------------------------------------------------------
2002-07-01 08:26:00 +00:00
Brian Paul
89f9cf8add Added divide by zero check (Jon Perry). Remove dead vars. Fix indentation. 2002-06-30 16:58:11 +00:00
Brian Paul
c2fa38d5ae added Gerk Huisma's GLchan=GLfloat fixes 2002-06-30 16:16:03 +00:00
Brian Paul
4336c28c84 CHAN_TYPE==GL_FLOAT clamping. call _tnl_MakeCurrent. (Gerk Huisma) 2002-06-30 16:07:18 +00:00
Brian Paul
e201bef913 blending fixes for CHAN_TYPE==GL_FLOAT (Gerk Huisma) 2002-06-30 15:57:45 +00:00
Brian Paul
3c342ebd78 added GL_EXT_multi_draw_arrays 2002-06-30 15:49:03 +00:00
Brian Paul
e8ed14d0c2 added unofficial dispatch offsets for GL_EXT_multi_draw_arrays functions 2002-06-30 15:47:43 +00:00
Brian Paul
2525bc7d30 Implemented GL_EXT_multi_draw_arrays: glMultiDrawArraysEXT() and glMultiDrawElementsEXT(). 2002-06-30 15:47:00 +00:00
Brian Paul
1074d8c361 indentation fix 2002-06-29 20:04:57 +00:00
Brian Paul
487047c060 prep for OpenGL 1.4 feature set 2002-06-29 20:03:13 +00:00
Brian Paul
4e9676fb13 Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.
Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
2002-06-29 19:48:15 +00:00
Brian Paul
f1ad551604 fix CHAN_TYPE==GL_FLOAT compile problem 2002-06-26 14:56:20 +00:00
Brian Paul
058f319f60 pull in 4.0.3 docs to trunk 2002-06-26 02:36:34 +00:00
Brian Paul
7082420653 removed extra right-paren 2002-06-25 15:25:17 +00:00
Keith Whitwell
07bb9884a5 FRONT_AND_BACK culling 2002-06-25 08:44:27 +00:00
Brian Paul
82d9f3c034 finish-up vertex program evaluators 2002-06-25 02:56:45 +00:00
Brian Paul
0c3f820bf0 remove an unneeded statement in update_polygon(), added a comment 2002-06-25 02:31:37 +00:00
Brian Paul
4db3c48a13 test program for NV_vertex_program and evaluators 2002-06-23 02:57:33 +00:00
Brian Paul
581cc2025f fix problems in _mesa_debug/printf() 2002-06-23 02:53:22 +00:00
Brian Paul
8e7bd03760 added some _mesa_debug() calls 2002-06-23 02:52:18 +00:00
Brian Paul
2abbb660a2 checkpoint: updates for NV_vertex_program evaluators - a bit more left to do 2002-06-23 02:47:38 +00:00
Brian Paul
d65e0beb68 set stage->inputs properly (I think), plus debug/comment updates 2002-06-23 02:40:48 +00:00
Brian Paul
455d262c55 added support for NV_vertex_program evaluators 2002-06-23 02:36:27 +00:00
Brian Paul
837bf6e2df Added new bitfields to tnl_eval_store for NV_vertex_program evaluators 2002-06-23 02:32:39 +00:00
Brian Paul
775669f6ef put XSync in get_buffer_size(), plus clean-up 2002-06-19 21:49:37 +00:00
Brian Paul
02c03ef6b4 Moved GL_PROGRAM_ERROR_POSITION_NV state (it's not per-program).
Finished all glGet* queries for GL_NV_vertex_program.
Improved error reporting in glEnable/Disable/Get, etc.
2002-06-18 16:53:46 +00:00
Jouk Jansen
f922986238 Committing in .
Added mtypes.h inclusion

 Modified Files:
 	Mesa/src/imports.c
 ----------------------------------------------------------------------
2002-06-18 08:35:25 +00:00
Brian Paul
10d7f540ff new fix for initial window size problem 2002-06-17 23:38:14 +00:00
Brian Paul
85d816028a Port glXCopyContext bug from 4.0 branch. 2002-06-17 23:36:31 +00:00
Brian Paul
d373819b8c Joe Krahn's context sharing test program 2002-06-16 03:57:48 +00:00
Brian Paul
83b820aa98 Fix glXCopyContext bug 2002-06-16 03:56:11 +00:00
Brian Paul
1043a6498a fix a comment 2002-06-16 01:14:22 +00:00
Brian Paul
d834e8da88 fixed window size initialization bug 2002-06-16 01:11:10 +00:00
Brian Paul
8816c70a61 added a comment 2002-06-16 01:10:41 +00:00
Brian Paul
d66ca10c53 added some braces 2002-06-16 01:09:16 +00:00
Brian Paul
e514cfea74 the GGI driver is up to date 2002-06-15 03:15:16 +00:00
Brian Paul
4e99da15eb test for GL_NV_texture_rectangle 2002-06-15 03:08:19 +00:00
Brian Paul
9c0babf24f added GL_ARB_texture_env_crossbar 2002-06-15 03:06:16 +00:00
Brian Paul
e769cda1eb updates to 4.1 features 2002-06-15 03:05:36 +00:00
Brian Paul
bfa168e3fc updated with 4.0.x -> 4.1 porting info 2002-06-15 03:03:58 +00:00
Brian Paul
8afe7de8de Implemented GL_NV_texture_rectangle extension.
Replace struct gl_texure_object's Dimension w/ Target field.
Added _EnabledUnits to struct gl_texture_attrib - the _ReallyEnabled
  field is obsolete, but still present for now.  This effectively
  removes the 8-texture units limit, 32 units now possible, but unlikely!
New TEXTURE_1D/2D/3D/CUBE/RECT_BIT tokens for unit->_ReallyEnabled field.
Updated device drivers to use ctx->Texture._EnabledUnits.
2002-06-15 03:03:06 +00:00
Brian Paul
8bdd0dc8d0 #ifdef-out unused big-endian texel fetch functions 2002-06-15 02:55:22 +00:00
Brian Paul
9d47f3d6b8 added missing ctx parameter to _mesa_debug() calls 2002-06-15 02:54:01 +00:00
Brian Paul
4753d60dd0 Added ctx parameter to _mesa_debug()
Added _mesa_printf()
Updated SetDrawBuffer() function in all drivers (ala 4.0.3)
Import 4.0.3/DRI changes.
2002-06-15 02:38:15 +00:00
Jouk Jansen
5e54ddc3a6 Committing in .
Added <stdarg.h>

 Modified Files:
 	Mesa/src/imports.c
  ----------------------------------------------------------------------
2002-06-13 08:27:32 +00:00
Jouk Jansen
f8035450bb Committing in .
Removed config.c

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2002-06-13 07:22:59 +00:00
Brian Paul
4c4663747c added Porting Information section 2002-06-13 04:50:09 +00:00
Brian Paul
d09a1d8b29 more removal of fprintf() calls 2002-06-13 04:49:17 +00:00
Brian Paul
2f35d5e9d5 fixed a couple dumb mistakes 2002-06-13 04:31:09 +00:00
Brian Paul
9a33a11d71 New _mesa_debug() function to replace fprintf() calls.
Some source files updated to call _mesa_debug(), but not finished.
Added __GLimports as a parameter to _mesa_create/init_context() and
updated drivers accordingly.
Fleshed-out more of the __GLimports and __GLexports functionality.
Removed run-time config file support (config.c)
2002-06-13 04:28:29 +00:00
Brian Paul
1013e46504 Moved big/little endian code to glheader.h.
Define either MESA_BIG_ENDIAN or MESA_LITTLE_ENDIAN.
2002-06-12 00:52:50 +00:00
Brian Paul
35883ceb93 Fix NASM problems, remove static var in SSE detection code. (Josh Vanderhoof) 2002-06-11 01:26:58 +00:00
Brian Paul
4fe2f3f1a0 Added CPLUSPLUS for sunos5 entries 2002-06-10 17:01:46 +00:00
Brian Paul
b58c5ad7b0 GGI driver updates (Filip Spacek) 2002-06-10 15:16:44 +00:00
Brian Paul
dd41748f63 added missing texture cube map targets 2002-06-08 12:39:18 +00:00
Brian Paul
3f058cd2c5 version 15 of glext.h 2002-06-07 20:21:12 +00:00
Brian Paul
9800adaed2 s/GL_MAX_TEXTURE_RECTANGLE_SIZE_NV/GL_MAX_RECTANGLE_TEXTURE_SIZE_NV/ 2002-06-07 19:29:49 +00:00
Brian Paul
112f7cdeab fixed point sprite bug 2002-06-07 16:01:03 +00:00
Brian Paul
f21a4872e8 replaced hard-coded 4 with NUM_TEXTURE_TARGETS 2002-06-06 16:31:24 +00:00
Brian Paul
e0107e87a7 replaced 0xf and 0xf0 with TEXTURE0_ANY and TEXTURE1_ANY 2002-06-06 16:19:25 +00:00
Brian Paul
241afd837c NASM fix for *_CONTENT() macros (Josh Vanderhoof) 2002-06-06 15:33:37 +00:00
Brian Paul
af2a1c1d67 more big-endian tweaks 2002-06-05 16:48:54 +00:00
Brian Paul
28b03c6acb use CONTENT() macro on line 205 (Josh Vanderhoof) 2002-06-04 21:29:20 +00:00
Brian Paul
f5a0781975 bring over Michel Daenzer's DRI changes 2002-06-03 16:06:34 +00:00
Brian Paul
91d6f12b4a added another spot-check to verify dispatch table correctness 2002-05-29 15:23:16 +00:00
Brian Paul
60f1a3c288 Added GL_NV_point_sprite functions: glPointParameteri[v]NV().
Removed dead ARB_window_pos functions (we alias the MESA_window_pos funcs).
2002-05-29 15:16:01 +00:00
Brian Paul
1d155c1dd8 added GL_NV_point_sprite entrypoints 2002-05-29 15:14:13 +00:00
Brian Paul
4290dbac4d added -axK to linux-icc CFLAGS 2002-05-27 17:13:42 +00:00
Brian Paul
a078d75a27 some initial work for fbconfigs/pbuffers 2002-05-27 17:06:59 +00:00
Brian Paul
1c40d50014 added GL_NV_point_sprite 2002-05-27 17:05:51 +00:00
Brian Paul
f105bc4095 removed experiemental GL_MESA_sprite_point extension 2002-05-27 17:05:19 +00:00
Brian Paul
6c408b4667 replaced experimental MESA_sprite_point with NV_point_sprite 2002-05-27 17:04:52 +00:00
Brian Paul
23d8ef3937 dispatch offsets for ARB_window_pos 2002-05-27 17:03:08 +00:00
Brian Paul
22538b23b4 updated vertex program dispatch 2002-05-27 17:00:18 +00:00
Brian Paul
ee29d3b42a updated vertex program dispatch offsets to official values 2002-05-27 16:58:24 +00:00
Keith Whitwell
02e0de263e another checkpoint of struct immediate replacement code 2002-05-11 08:38:25 +00:00
Brian Paul
002483e009 Minor change to current raster position and texcoords. 2002-05-09 21:54:16 +00:00
Keith Whitwell
9228a9362c Fix FETCH(argb1555) mask values 2002-05-09 20:51:05 +00:00
Brian Paul
79cfdebbe0 remove -xK flag from linux-icc 2002-05-06 15:46:05 +00:00
Brian Paul
30ec9dbaed added linux-icc config (Marc.Dietrich) 2002-05-05 16:00:06 +00:00
Alan Hourihane
a5cdf99951 remove test code 2002-05-02 09:17:59 +00:00
Alan Hourihane
056b35874b glutSwapBuffers implicitly does a glFinish when swapping back to the front
buffer. We now issue a glFinish when not issuing SwapBuffers to ensure
the pipeline is complete.

(Problem found with Chromium).
2002-05-02 09:15:22 +00:00
Brian Paul
f595212336 Implemented GL_ARB_texture_env_crossbar.
Simplification of some of the texture application code.
2002-05-02 00:59:20 +00:00
Brian Paul
c450d57991 replaced GLshort with GLushort in _mesa_sizeof_packed_type() 2002-04-26 13:59:09 +00:00
Brian Paul
18385b0f4e added GL_TEXTURE_MAX_ANISOTROPY_EXT to glGetTexParameteriv() 2002-04-26 13:40:11 +00:00
Brian Paul
57c35b162e added GL_TEXTURE_MAX_ANISOTROPY_EXT to glGetTexParameter (bug 548812) 2002-04-25 22:11:33 +00:00
Brian Paul
df7bd4bf11 test mapsize against 1, not 0 in glPixelMap() 2002-04-24 20:11:20 +00:00
Brian Paul
fb68919362 added GL_EDGE_FLAG_ARRAY_COUNT_EXT to glGetBooleanv() (Bug 548277) 2002-04-24 20:05:26 +00:00
Karl Schultz
dc2270b461 Apply alpha buffer control fix to accum buffer too. 2002-04-23 18:39:09 +00:00
Karl Schultz
e694a8765a Fix up alpha buffer handling for Windows.
- add two new Pixel Format Descriptors that do not have alpha bits to
mirror the two that do.
- add logic to wglChoosePixelFormat to match PFD's with respect to alpha.
- Create/clear software alpha buffer as required.
Now a wgl or GLUT program can control the creation of a software alpha
buffer via the PFD or GLUT parms, respectively.
2002-04-23 18:23:32 +00:00
Brian Paul
62c36a2ff3 call _mesa_sizeof_packed_type() in _mesa_GetTexImage() (bug 547203) 2002-04-23 16:44:46 +00:00
Alan Hourihane
dec0131a29 Test for NULL pointer for LoadMatrix(), MultMatrix() and
Load/MultTransposeMatrix() and return without recording any errors or
doing any multiplication.
2002-04-22 20:00:16 +00:00
Brian Paul
fdd631a941 removed CVS $Log comments 2002-04-22 16:03:37 +00:00
Brian Paul
62954c8c30 test program for NV_vertex_program + vertex arrays 2002-04-22 15:53:54 +00:00
Jouk Jansen
bcc5d46b08 Committing in .
Remove __FUNCTION__ macro definition from CC compile definitions.
 (OpenVMS only)

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2002-04-22 10:29:43 +00:00
Brian Paul
f55b303fc2 added to-do list for the 4.1 release 2002-04-21 21:12:49 +00:00
Brian Paul
61bac6014a check for vertex program mode 2002-04-21 21:04:46 +00:00
Brian Paul
28c61d5b49 fixed assertion, replaced switch() with if/elseif 2002-04-21 21:03:02 +00:00
Brian Paul
12bab63f09 Vertex program attribute arrays seem to work now. This includes fallbacks
to the conventional arrays when attribute arrays aren't enabled.
2002-04-21 20:37:04 +00:00
Brian Paul
f3781eaafa added support for vertex program attribute arrays 2002-04-21 19:39:48 +00:00
Brian Paul
b7752724d9 vertex program attribute array work 2002-04-21 18:49:18 +00:00
Brian Paul
1113e3266f fixed Width/Height cut&paste typo 2002-04-20 17:54:55 +00:00
Jose Fonseca
04df3bbe8e Re-scheduling of the instructions according to the MMX pairing rules. This is dificult to quantify but the improvemnet reaches about of 0.7% in some cases in a Pentium III. In older Pentiums the improvements could be quite substancial due less capable integer pipelines. 2002-04-19 21:27:12 +00:00
Jose Fonseca
3fe2bb8933 Added min and max blend functions.
Slight optimization of _mesa_mmx_blend_add.
2002-04-19 20:12:30 +00:00
Karl Schultz
4fa66fa85c Provide a reasonable replacement for __FUNCTION__ when using non GNU C
compilers.  This allows Mesa to compile with non GNU C compilers again.
2002-04-19 15:49:40 +00:00
Brian Paul
bf80e1ed62 Allocate a sw_span struct in the swrast context instead of allocating it
on the stack frame in the point/line/triangle functions. (Klaus Niederkrueger)
This should solve the performance problem Karl found on Windows.
2002-04-19 14:05:50 +00:00
Brian Paul
05be7ae125 pass context pointer to _tnl_free_immediate(), removed backref pointer 2002-04-19 12:32:14 +00:00
Jose Fonseca
0c527ab054 MMX add blending function added. 2002-04-19 10:53:08 +00:00
Jose Fonseca
533e88824a MMX modulate belding function added.
Factorization of more common MMX code.
2002-04-19 10:33:34 +00:00
Alan Hourihane
68c48df2bf Correct check for noop array state change (Raystonn) 2002-04-19 08:38:23 +00:00
Brian Paul
26e2fb062a removed a stray debug printf 2002-04-19 01:08:48 +00:00
Brian Paul
4c5f8a8207 C++ fix 2002-04-19 00:47:07 +00:00
Brian Paul
7322cccfb9 new casts 2002-04-19 00:45:50 +00:00
Brian Paul
6c5b7029b3 added two (GLchan *) casts 2002-04-19 00:42:20 +00:00
Brian Paul
a670c1280b casts to fix GLint/GLuint mismatches 2002-04-19 00:38:27 +00:00
Brian Paul
db07de057f added some casts 2002-04-19 00:23:08 +00:00
Brian Paul
36c3df78f4 restored writeAll = GL_FALSE test/assignment 2002-04-18 14:57:00 +00:00
Jose Fonseca
55d9ee83b4 Definition of several utility macros for self-contained MMX operations such as scaling and lerping.
Restructured the MMX blending function to use a template, being only necessary to specify the main loop, which is also used for making the runin and runout sections.
Optimization of the MMX function after remembering that the multiplication was commutative (how can somebody forget this..) resulting in less register usage. Now there is no need for generate or read from memory any constant inside the loop.

Assemblers other than the GNU assembler can choke on the output of the C preprocessor since it was necessary to add line separators ';' to the defined macros.
2002-04-18 11:57:28 +00:00
Keith Whitwell
9ff3e9d992 Core of the future vertex engine. Isn't built yet, nor will be for a while...
Checkpoint commit.
2002-04-18 08:17:03 +00:00
Jose Fonseca
ef65c60d88 Removed code that was proven to have faster alternatives to reduce complexity and facilitate reusability. 2002-04-18 08:09:50 +00:00
Brian Paul
4c1f79264e fixed problem with swap() function and GCC3 (patch 414404) 2002-04-17 19:30:41 +00:00
Brian Paul
620735af45 Disabled SPARC cliptest functions for now. See bug report 544665. 2002-04-17 19:08:32 +00:00
Jose Fonseca
d60bb2fbc8 Remaining patch for the 255x255=255 identity correction be
made also in the runin and runout section of the code.
2002-04-14 11:33:54 +00:00
Brian Paul
cffb351a62 Jose's latest patch (GMBT_GEOMETRIC_CORRECTION) 2002-04-12 21:56:42 +00:00
Brian Paul
8c598cfd82 fixes for corrected GL_DOT3_RGB[A]_EXT token values 2002-04-12 21:17:28 +00:00
Brian Paul
cb445412fc version 13 of glext.h - fixes GL_EXT_texture_env_dot3 token values 2002-04-12 21:09:12 +00:00
Brian Paul
d23de4d334 updated a few comments 2002-04-12 15:47:21 +00:00
Brian Paul
b7f5e92f17 Klaus Niederkrueger's latest changes: use INIT_SPAN() to init span primitive
type, width, interp mask and array mask.
2002-04-12 15:39:58 +00:00
Brian Paul
9add9a21d8 new MMX blend code (Jose Fonseca) 2002-04-10 16:32:32 +00:00
Jouk Jansen
0cd8a1ea13 Committing in .
Update OpenVMS makefile

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2002-04-10 13:17:59 +00:00
Keith Whitwell
306d3fcdba bring in changes from dri tcl branch 2002-04-09 16:56:50 +00:00
Karl Schultz
e503d8b56f Update filelist to reflect two removed source files. 2002-04-09 15:33:49 +00:00
Keith Whitwell
0a79baf1bf remove dead vertex assembly 2002-04-09 14:58:03 +00:00
Keith Whitwell
851de7ded1 remove dead vertex assembly 2002-04-09 14:47:57 +00:00
Brian Paul
c030a18ea6 tranforming display list normals by non-uniform scale didn't work (Carlos Pereira) 2002-04-08 15:37:13 +00:00
Karl Schultz
17642eddf4 Added -perf option to measure frame rate. This is useful for measuring
Mesa in a more environment-independent way.
2002-04-05 17:40:20 +00:00
Brian Paul
ebe4e3237c repair Array.NewState flags (Michael Fitzpatrick) 2002-04-04 23:59:14 +00:00
Karl Schultz
14209028b6 export more symbols for osmesa (win32) 2002-04-04 18:27:49 +00:00
Karl Schultz
4d030ba651 casts to silence compiler warnings 2002-04-04 18:25:40 +00:00
Brian Paul
db0944b08a latest 4.1 features and bug fixes 2002-04-04 17:01:50 +00:00
Brian Paul
42f916de5c fixed some 3D texture image stride bugs when using 16-bit channels 2002-04-04 16:59:05 +00:00
Brian Paul
01dc182ee8 added OSMesaGetProcAddress() 2002-04-04 16:58:04 +00:00
Brian Paul
486734a5d5 Texture combine alpha subtraction was wrong. Fixed 16-bit channel glitches 2002-04-04 16:56:24 +00:00
Brian Paul
09784e1e15 use NULL lambda array for pixel texture 2002-04-04 16:53:59 +00:00
Brian Paul
d5c94ef40d fixed 16 bit/channel problem in blend_modulate() 2002-04-04 16:53:26 +00:00
Brian Paul
543381510d fixed 16/32-bit channel problems in CopyColor[Sub]Table() 2002-04-04 16:53:00 +00:00
Brian Paul
1d84421b7e fixup float/ushort conversion macros 2002-04-04 16:51:52 +00:00
Brian Paul
6b50a004ff blend_add() modified for GLfloat channels 2002-04-04 01:40:18 +00:00
Brian Paul
02ee456248 call _mesa_ResizeBuffersMESA() in OSMesaMakeCurrent() to reconcile buffer size changes 2002-04-04 00:54:02 +00:00
Brian Paul
db30cc8d00 added an error check 2002-04-02 23:53:56 +00:00
Brian Paul
99aab34199 return NULL from Fake_glXCreateContext() if dpy or visinfo are NULL 2002-04-02 23:52:53 +00:00
Brian Paul
b63e8556fa more blending updates from Jose 2002-04-02 23:36:50 +00:00
Brian Paul
31fe0ade35 minor re-org 2002-04-02 16:20:00 +00:00
Brian Paul
9de4782e49 added GL_ARB_point_parameters 2002-04-02 16:19:21 +00:00
Brian Paul
f9e75c31e8 DJGPP updates 2002-04-02 16:18:20 +00:00
Brian Paul
17b7cc4cae faster blending (Jose Fonseca) 2002-04-02 16:16:45 +00:00
Brian Paul
01bcd83def updates from Jose Fonseca 2002-04-02 16:16:14 +00:00
Brian Paul
1537b63fce GL_ARB_point_parameters support 2002-04-02 16:15:16 +00:00
Brian Paul
86a7cc6f2c minor optimization in GL_TRANSFORM_BIT popping 2002-04-01 17:03:38 +00:00
Brian Paul
6c921af034 DOS driver update 2002-04-01 17:01:33 +00:00
Karl Schultz
a97d216adb Add _glapi_get_context to export for osmesa. 2002-03-29 23:49:51 +00:00
Brian Paul
103bc0f75c Replaced ClipEnabled[] array and _AnyClip with ClipPlanesEnabled bitmask. 2002-03-29 17:27:59 +00:00
Brian Paul
23d319fc7d use _glapi_get_context() instead of GET_CURRENT_CONTEXT(ctx); in buffer_size() 2002-03-29 17:20:48 +00:00
Brian Paul
a68b8dfd76 Use invert_matrix_general() instead of invert_matrix_perspective() because
the later fails for some projection matrices (ala Vis5D with Chromium).
2002-03-29 17:18:08 +00:00
Brian Paul
f66de79365 decrement Transform._AnyClip when clip planes are disabled 2002-03-28 22:45:45 +00:00
Brian Paul
934bee04f2 popping of user-defined clip planes was broken 2002-03-28 22:42:41 +00:00
Brian Paul
7c8b5399f0 reset span.end to zero after rendering the span 2002-03-28 16:24:14 +00:00
Brian Paul
c028617784 fixed inequality in an assertion 2002-03-27 15:49:27 +00:00
Brian Paul
e6f2b4174b removed a bad assertion 2002-03-25 17:24:43 +00:00
Brian Paul
2161b8cf03 more extensions 2002-03-23 16:35:40 +00:00
Brian Paul
3c70f6f2ac exercise GL_EXT_shadow_funcs 2002-03-23 16:34:18 +00:00
Brian Paul
636b2801d9 Test implementation of proposed GL_EXT_shadow_funcs extension. This just
generalizes the R/texture comparision operators to include all eight of
the depth test comparisons.
2002-03-23 16:33:53 +00:00
Brian Paul
25b85bf02a bring over from the 4.0 branch 2002-03-23 02:38:39 +00:00
Brian Paul
4544bd22fd added 4.0.2 info 2002-03-23 02:38:10 +00:00
Brian Paul
252250ae64 re-adding a lost file 2002-03-23 02:37:17 +00:00
Brian Paul
e69bfe74d7 DOS/Mesa driver updates (Daniel Borca) 2002-03-23 02:34:07 +00:00
Brian Paul
6211144e05 use -O3 to compile osmesa16/32 targets 2002-03-23 02:30:18 +00:00
Brian Paul
7de02fef5b replaced an assertion with a conditional 2002-03-23 02:29:37 +00:00
Brian Paul
819505ad2a removed temporary GL_ARB_texture_mirrored_repeat enums 2002-03-23 01:49:58 +00:00
Brian Paul
8334c89e70 removed temporary ARB_texture enum defs 2002-03-23 01:48:18 +00:00
Brian Paul
e3af5354a6 latest extension headers from SGI 2002-03-23 01:47:27 +00:00
Brian Paul
491e573c38 removed glSamplePass() 2002-03-20 22:07:17 +00:00
Brian Paul
80ac8d171c don't set plane mask for xm_buffer->gc, it causes an accum buffer conformance problem 2002-03-19 16:48:06 +00:00
Brian Paul
aeb4434563 Use MESA_PBUFFER_ALLOC/FREE macros to allocate all framebuffer and texture
memory.  These can be overridden by applications which need to manage this
memory specially.  Contributed by Gerk Huisma.
Also, new code for 8-bit -> 16-bit/channel texture image storage which
fills in the least-significant bits properly.
2002-03-19 16:47:04 +00:00
Brian Paul
d0570646bd fix Intel C compiler warnings (Gerk Huisma) 2002-03-19 15:22:50 +00:00
Brian Paul
f7c830e35c rename ResizeBuffersMESA to ResizeBuffers 2002-03-16 18:07:39 +00:00
Brian Paul
ac5bbe4c4a added latest 4.1 bug fixes/updates 2002-03-16 18:03:40 +00:00
Brian Paul
31f12f504e New mipmap lambda calculation. Previously, trilinear filtering could
result in _very_ blurry textures.  Still need to do some optimization
of the new code in s_span.c
2002-03-16 18:02:07 +00:00
Brian Paul
bc6b60c4ff buffer resize changes 2002-03-16 00:57:14 +00:00
Brian Paul
93c132a058 added XMesaResizeBuffers() 2002-03-16 00:53:48 +00:00
Brian Paul
18a285a5e2 Lots of changes related to framebuffer/window buffer resizing. Basically,
instead of passing a GLcontext* to ResizeBuffers(), pass a GLframebuffer*.
The idea is that a window can be resized without it being bound to a rendering
context.  This makes for a nice clean-up in the XFree86 server-side GLX code.
Renamed ctx->Driver.ResizeBuffersMESA() to ctx->Driver.ResizeBuffers().
2002-03-16 00:53:15 +00:00
Brian Paul
8d687e7e58 protect currentReadable reference with #ifndef GLX_BUILT_IN_XMESA 2002-03-15 18:43:25 +00:00
Brian Paul
1d822ea8cf updated comments. removed dead code. 2002-03-15 18:33:12 +00:00
Brian Paul
a72edf01ba remove a debug printf 2002-03-15 18:24:53 +00:00
Brian Paul
8843d52af1 fixed typo in CONVERT_TEXEL_DWORD for convert_abgr8888_to_ai88 textures (Michael Fitzpatrick) 2002-03-15 18:05:49 +00:00
Brian Paul
612fc01293 fixed pointer arithmetic error in glCopyPixels 2002-03-14 22:09:25 +00:00
Brian Paul
d488af5b34 added _mesa_image_image_stride() 2002-03-13 04:34:32 +00:00
Brian Paul
9a888bdc2a added a comment 2002-03-13 04:33:32 +00:00
Brian Paul
f9708e45ac initial work for NV_vertex_program1_1 extension 2002-03-13 04:33:16 +00:00
Brian Paul
1d01794e6e Removed the xm_context field from XMesaBuffer. It was preventing N threads
from rendering into one window in parallel and wasn't really needed anyway.
2002-03-12 21:55:50 +00:00
Brian Paul
5033f21d05 tweak file list for tarballs 2002-03-11 14:59:50 +00:00
Brian Paul
1c91fe2e3f obsolete 2002-03-11 14:57:40 +00:00
Brian Paul
a3e44f4531 fix some minor warnings 2002-03-08 19:44:28 +00:00
Brian Paul
b43a828ad4 DOS driver updates from Daniel Borca 2002-03-08 19:27:17 +00:00
Brian Paul
7fd50afbbf new DOS driver files from Daniel Borca 2002-03-08 19:24:56 +00:00
Brian Paul
2b9ba3f84f new assertions, use INLINE macro (Klaus Niederkrueger) 2002-03-08 00:09:18 +00:00
Brian Paul
5104b4d9df minor patches from David Dawes 2002-03-07 21:50:41 +00:00
Brian Paul
0b2fa873c6 syntax fixes for Solaris (David Dawes) 2002-03-07 21:40:08 +00:00
Brian Paul
c5a76cbed4 silence gcc warnings (Marc La France) 2002-03-01 04:28:32 +00:00
Brian Paul
09a0cb464d updated comments for CHAN_BITS=16 or 32 2002-03-01 04:23:36 +00:00
Brian Paul
aa24e9171a use official enum values for GL_ARB_depth_texture and GL_ARB_shadow 2002-02-25 22:18:14 +00:00
Brian Paul
e0193a9425 DOS updates from Daniel Borca 2002-02-23 17:11:27 +00:00
Brian Paul
c7a3356746 Fixed out-of-bounds memory write problem (CONVERT_TEXEL_DWORD macro).
Renamed 'packing' to 'unpacking' since we're moving data from client -> GL.
Rnamed DST_ROW_WIDTH to DST_ROW_BYTES.
2002-02-21 15:12:31 +00:00
Brian Paul
d0271502f8 check for initialized XMesaBuffer in XMesaGarbageCollect() 2002-02-20 23:59:03 +00:00
Brian Paul
ad7306b23c Updated 1D/3D/cube mipmapping code to work like the new 2D code. 2002-02-17 17:58:31 +00:00
Brian Paul
9ff74a0f15 undo some debug changes mistakenly checked in earlier 2002-02-17 17:37:55 +00:00
Brian Paul
711e27fda2 Simplified fog code. 2002-02-17 17:30:57 +00:00
Brian Paul
983bc3e018 don't include s_fog.h 2002-02-17 17:30:23 +00:00
Brian Paul
4f252bd980 Lots of improvements in the 2D texture sampling code. Fewer function calls
and no more switches inside loops.  To do: give the 1D/3D/cube routines the
same treatment.
2002-02-17 01:58:59 +00:00
Brian Paul
c14a5a6c62 Optimized the interpolate_texcoords() function:
Use fast approximation to log().
  Check for dq==0 to avoid a per-pixel divide.
2002-02-17 01:49:31 +00:00
Brian Paul
8baae48fb7 removed dead code 2002-02-16 23:44:46 +00:00
Brian Paul
f204c9d2bb updated to use GL_ARB_depth_texture, GL_ARB_shadow, GL_ARB_shadow_ambient 2002-02-16 14:54:18 +00:00
Brian Paul
9ac7182ec4 use separate GC for SwapBuffers to avoid colormask problem 2002-02-15 19:15:33 +00:00
Brian Paul
026c036be0 include string.h to silence warning 2002-02-15 16:48:48 +00:00
Brian Paul
78a21f96b5 added new depth_texture/shadow tokens (temporary) 2002-02-15 16:41:36 +00:00
Brian Paul
2e47ff7b9c Finished up GL_ARB_depth_texture and GL_ARB_shadow 2002-02-15 16:37:36 +00:00
Brian Paul
9a3061715c updated VERT_BIT_* definitions 2002-02-15 16:32:36 +00:00
Brian Paul
4182cf60d9 Finished up GL_ARB_depth_texture and GL_ARB_shadow. 2002-02-15 16:32:06 +00:00
Brian Paul
c9ceef41fe GL_ARB_window_pos fog fix 2002-02-15 16:27:13 +00:00
Brian Paul
a8f2efd147 finished up GL_ARB_window_pos 2002-02-15 16:26:08 +00:00
Brian Paul
70b8d304bb added a glClear() error check 2002-02-15 16:25:16 +00:00
Brian Paul
4ba35633d6 fixed a multitexture MatrixMode() bug 2002-02-15 16:24:37 +00:00
Brian Paul
c4c4213b69 obsolete 2002-02-15 14:10:19 +00:00
Brian Paul
ce57201825 uniformly pass texcoords as GLfloat [4] 2002-02-15 03:41:47 +00:00
Brian Paul
09700ee358 added alternate glBitmap code (disabled) 2002-02-15 03:41:00 +00:00
Brian Paul
a048da0767 added SPAN_SPEC flag in smooth_multitextured_line() 2002-02-15 03:39:37 +00:00
Brian Paul
3ff07d2062 fixed float->int conversion. Fix conditional for 16-bit Z buffer path 2002-02-15 03:38:12 +00:00
Brian Paul
ca7596e834 updated GL_VENDOR string 2002-02-14 00:40:24 +00:00
Brian Paul
95e2c72fd5 minor clean-up 2002-02-14 00:39:53 +00:00
Keith Whitwell
d4e02d6026 Remove debug 2002-02-13 23:53:19 +00:00
Brian Paul
cbd9a0254e now supports > 2 texture units 2002-02-13 02:23:33 +00:00
Keith Whitwell
0cb28418d0 More suport for t&l drivers
Fix GLuint compare bugs
Fix RESET_STIPPLE calls
2002-02-13 00:53:19 +00:00
Karl Schultz
12a1024d9d fix compiler warning (windows) 2002-02-12 16:45:22 +00:00
Brian Paul
38d042a4ad silence compiler warnings 2002-02-12 16:07:47 +00:00
Brian Paul
69d4ae7bb3 add new DOS files to tar file list 2002-02-12 03:28:48 +00:00
Brian Paul
db41d2ea8c Daniel Borca's new DOS/DJGPP driver. 2002-02-12 03:24:56 +00:00
Brian Paul
cc27365d77 Daniel Borca's GLUT for DOS/DGJPP. 2002-02-12 03:24:06 +00:00
Brian Paul
bcb148de92 added an assertion, fix typo 2002-02-06 03:22:47 +00:00
Brian Paul
2784dadafc fixed typo in depth_test_pixels(), should fix reported VTK failures 2002-02-06 03:22:00 +00:00
Brian Paul
c4afba36c3 fix evaluator data and matrix stack mem leaks (Robert Bergkvist) 2002-02-05 23:21:45 +00:00
Brian Paul
79c2f53491 Clean-up and remove dead code related to depth/stecil testing. 2002-02-04 15:59:29 +00:00
Brian Paul
ac8c241e64 removed references to removed source files 2002-02-02 21:41:58 +00:00
Brian Paul
b37a084357 Converted line drawing over to new span code, pb no longer used.
Big clean-up of line drawing code.
Removed many obsolete span processing functions.
2002-02-02 21:40:33 +00:00
Brian Paul
733a4b602b sw_span can now hold x/y arrays of fragment positions - getting ready to
ditch the pb (pixel buffer) code.
Converted point drawing, bitmaps and aa lines to use new span functions.
2002-02-02 17:24:11 +00:00
Brian Paul
ceb39f4f8d Clean-up and optimize alpha test code.
Major clean-up of pixel zoom code.
2002-01-31 00:27:43 +00:00
Brian Paul
e79de014c5 removed GLUT reference 2002-01-30 21:54:37 +00:00
Brian Paul
e0bafefd7a don't use affine/persp_textured_triangle funcs when CHAN_BITS > 8 2002-01-30 16:54:02 +00:00
Brian Paul
1cefc83a88 return GL_RENDERER = Mesa Offscreen16/32 when CHAN_BITS = 16 or 32 2002-01-30 16:53:03 +00:00
Brian Paul
eae38ca1b2 replace GLushort w/ GLubyte in DEST_4US template (fixes 16-bit GLchan problem 2002-01-30 16:52:02 +00:00
Brian Paul
6e1666437e Still more texture/span simplification and clean-up.
Updated comments, fixed indentation, etc.
2002-01-28 04:25:56 +00:00
Brian Paul
7956292a76 More span improvements. Removed _mesa_write_monocolor_span().
Removed last of span.filled* flags and Klaus's macros.
More simplification of triangle functions.
2002-01-28 03:42:28 +00:00
Brian Paul
f1e2369878 More span clean-up, mostly texture-related.
_mesa_rasterize_span() is gone, replaced by new _mesa_write_textured_span().
Removed some unneeded triangle functions - more simplification possible.
2002-01-28 00:07:33 +00:00
Brian Paul
2a182a9897 LOTS of changes, building upon Klaus's work.
struct sw_span is used throughout span/fragment processing.
This is leading to less code and more chances for optimization.
2002-01-27 18:32:03 +00:00
Brian Paul
6a731f343e added fog and raster Z position controls 2002-01-26 17:49:30 +00:00
Brian Paul
ad7e727024 more info about building for Motif 2002-01-25 16:05:31 +00:00
Brian Paul
6ee7a02852 added missing IsEnabled() cases for fog coord and secondary color arrays 2002-01-22 18:40:46 +00:00
Brian Paul
8bd13de4cc fixed array_cache.tag mistake 2002-01-22 18:37:05 +00:00
Brian Paul
4c8fadc6d9 Clean-up/renaming of the per-vertex attribute bits, specifically, the
VERT_BIT_* flags are new and used in many places (esp in T&L code).
Updated some comments for doxygen.
Various code clean-ups.
2002-01-22 14:35:16 +00:00
Brian Paul
9b681dcc17 added array_cache to TAGFILES 2002-01-22 14:31:09 +00:00
Brian Paul
2bc668d092 minor update 2002-01-21 21:21:22 +00:00
Brian Paul
ac9aa22174 files to support doxygen (source code documentation) 2002-01-21 19:29:55 +00:00
Brian Paul
2ef866d1fc Klaus's latest patches and some clean-up 2002-01-21 18:12:34 +00:00
Brian Paul
674012f083 updated gl_mangle.h (Ray Tice) 2002-01-18 14:55:40 +00:00
Brian Paul
9958ace401 new gl_mangle.h with korn shell script to regenerate itself from gl.h and glext.h (Ray Tice) 2002-01-16 23:51:09 +00:00
Brian Paul
658702df97 changed PB (pixel buffer) to use texcoord[4] array 2002-01-16 20:15:00 +00:00
Brian Paul
028fe46fc5 set PB->haveSpec in line functions that emit specular color 2002-01-16 18:22:19 +00:00
Brian Paul
72574b959c added another test in regions_overlap() (Klaus) 2002-01-16 16:04:50 +00:00
Brian Paul
78940758e9 latest changes from Klaus 2002-01-16 16:00:03 +00:00
Brian Paul
b311950dde added latest bug fixes 2002-01-16 15:45:54 +00:00
Karl Schultz
4197c0ea9b Fixes for 24-bit Windows devices. The old code was trying to do 3-byte
stores with a full DWORD store (yuk).  (Jeff Lewis)
2002-01-16 15:42:17 +00:00
Jouk Jansen
43df32e438 Committing in .
-Compile support for tests on OpenVMS
 -Fixed missing header file
 -Fixed missing return value on function return

 Modified Files:
 	Mesa/descrip.mms Mesa/tests/sharedtex.c
 Added Files:
 	Mesa/tests/descrip.mms
 ----------------------------------------------------------------------
2002-01-16 14:32:46 +00:00
Karl Schultz
40fac75370 get tests working on windows (Robert Bergkvist) 2002-01-16 01:03:25 +00:00
Karl Schultz
3d587f6432 Samples working for Windows (Robert Bergkvist) 2002-01-16 00:57:54 +00:00
Karl Schultz
164ce12202 Demo updates for Windows (Robert Bergkvist) 2002-01-16 00:48:43 +00:00
Karl Schultz
83356781e1 Removed missing files and added new ones (Robert Bergkvist) 2002-01-16 00:41:16 +00:00
Brian Paul
858b694b64 added some missing error checks 2002-01-15 21:49:57 +00:00
Brian Paul
25c5f1b448 Fixed Windows compile problem with gl__unused413() function. 2002-01-15 19:04:52 +00:00
Karl Schultz
2ff30b21bc Correct typo (vpstate.c) so that makefile works. 2002-01-15 18:41:53 +00:00
Karl Schultz
e19f5d7cb7 Remove phantom tab on a blank line to allow compile on IRIX. 2002-01-15 18:30:58 +00:00
Brian Paul
47507f4464 removed api_compat stuff 2002-01-15 18:27:33 +00:00
Karl Schultz
f2e5c19a2f Fixed pixel color component problem and clear code for 24-bit Windows
devices.  (Jeff Lewis)
2002-01-15 18:14:34 +00:00
Karl Schultz
807aea838b Remove trailing CR's. No logical changes. 2002-01-15 18:11:36 +00:00
Brian Paul
24f7c0c944 remove api_compat.c 2002-01-14 16:07:33 +00:00
Brian Paul
03c0c2e8aa Removed api_compat stuff, there's a better way.
Fixed FogCoord / SecondaryColor mix-ups in api_arrayelt.c
2002-01-14 16:06:35 +00:00
Brian Paul
fe9f62ff18 oops, missed vpstate.c 2002-01-14 15:47:10 +00:00
Brian Paul
7fc487d38b added vertex program sources 2002-01-14 15:46:19 +00:00
Brian Paul
1bb17ed0f2 added glReadPixels / scissor bug fix 2002-01-12 16:19:04 +00:00
Brian Paul
21cb88911a don't apply scissor box in read_fast_rgba_pixels() 2002-01-12 16:12:52 +00:00
Brian Paul
3e276d43a2 added some comments 2002-01-12 03:01:23 +00:00
Brian Paul
166718f749 updated some comments 2002-01-12 02:57:14 +00:00
Brian Paul
c6755aa6d5 set _NeedEyeCoords to zero if vertex program is enabled 2002-01-12 02:55:30 +00:00
Brian Paul
8e6d305c89 Changed gl_client_array's Enabled field to GLuint so it can actually
hold the flags we're storing in it!
2002-01-11 17:26:54 +00:00
Brian Paul
2edd1807f8 Moved _mesa_VertexAttribPointerNV into varray.c.
Removed dead placeholder functions from vpstate.[ch].
Changed gl_client_array's Enabled field to GLuint so it can actually
hold the flags we're storing in it!
Always do the switch (type) code in the vertex array functions to that
<type> gets error checked!
2002-01-11 17:25:35 +00:00
Brian Paul
9927f1978d Klaus's latest patches: change texcoord[3] to texcoord[4] everywhere 2002-01-10 16:54:28 +00:00
Brian Paul
2e99cbd953 init whole immediate struct to zero 2002-01-10 15:50:12 +00:00
Brian Paul
26c878ac16 added glTexEnviv bug fix 2002-01-09 02:16:58 +00:00
Brian Paul
0c5c1392ab fixed int->float conversion bug in _mesa_TexEnviv() 2002-01-09 02:14:29 +00:00
Brian Paul
a701a1445c added GL_REPLACE / GL_RGB texture bug fix 2002-01-09 00:30:01 +00:00
Brian Paul
35e5e89f56 fixed GL_REPLACE / GL_RGB bug 2002-01-09 00:27:49 +00:00
Brian Paul
8927fbe9c5 added GL_BLEND/texenv color bug fix 2002-01-09 00:14:13 +00:00
Brian Paul
fd1727bd10 texture env color wasn't used correctly in GL_BLEND mode 2002-01-09 00:09:33 +00:00
Brian Paul
d599190575 compile with -DNDEBUG 2002-01-08 15:58:32 +00:00
Brian Paul
97291208cb work-around for QNX compiler problem 2002-01-08 14:56:51 +00:00
Brian Paul
571a1ac6ee implemented vertex program point size control 2002-01-06 20:39:03 +00:00
Brian Paul
363049160d Another vertex program checkpoint: clean-up of vertex attribute storage
in vertex_buffer.   Improved vertex program pipeline stage such that
output registers can be processed in a loop.  Getting closer to where
we need to be in order to implement performance optimizations...
2002-01-06 03:54:12 +00:00
Brian Paul
e2053d1690 minor clean-ups 2002-01-05 21:58:42 +00:00
Brian Paul
bc42c19f22 infrastructure for vertex program attribute evaluators 2002-01-05 21:53:20 +00:00
Brian Paul
bd1a9dacf6 Vertex program checkpoint commit: converted all vertex attributes (color,
normal, texcoords, fogcoord, secondary color, etc) to GLfloat[4] datatype.
Aliasing of glVertex, glNormal, glColor, glFogCoord, etc. to glVertexAttrib
now complete.
2002-01-05 20:51:12 +00:00
Brian Paul
ca209ae1f9 comments, clean-ups, added lots of const qualifiers 2002-01-05 14:12:24 +00:00
Brian Paul
cab83b8aa9 comments, clean-ups, added lots of const qualifiers 2002-01-05 14:03:33 +00:00
Brian Paul
f48bfd66da test multitexture and vertex arrays 2002-01-04 23:00:19 +00:00
Brian Paul
714cdd88a4 added some assertions to exercise glIsTexture() 2002-01-04 21:05:57 +00:00
Brian Paul
5e1a4fdc3c added info about which drivers work and don't work 2002-01-04 14:42:35 +00:00
Brian Paul
8d0499b75e fix bug 498555 - test for __GNUC__ 2002-01-04 14:35:46 +00:00
Gareth Hughes
735d92029c - Clean up state bitmask.
- Add (somewhat broken) PolygonMode bit, toggles between GL_FILL and
  GL_LINE.  Somewhat useful in mimicking certain Viewperf tests.
2002-01-04 09:47:17 +00:00
Brian Paul
78c2aa0b51 regenerated from updated glsparcasm.py script 2002-01-03 16:35:08 +00:00
Brian Paul
efe2baadb8 don't use macros, just expand them in-line 2002-01-03 16:33:59 +00:00
Gareth Hughes
a0f923d286 Add missing items from .cvsignore files, tests/Makefile 2001-12-28 06:37:40 +00:00
Gareth Hughes
1fb0a43c16 Remove warnings about the difference between function pointers and
(void *) pointers.
2001-12-28 06:28:10 +00:00
Keith Whitwell
1a6f488908 add _compat_VertexAttrib4fNV 2001-12-21 15:48:23 +00:00
Karl Schultz
2391f4cec6 Define finite as _finite for Windows. 2001-12-20 18:59:39 +00:00
Keith Whitwell
fc00cbe8d1 Further help with dri libGL version skew 2001-12-20 15:30:45 +00:00
Keith Whitwell
1643203a93 Fix clipping problem on mga 2001-12-20 09:54:20 +00:00
Brian Paul
a359d3488a some display list support for vertex program extension 2001-12-19 02:36:05 +00:00
Brian Paul
3f9be68dc4 added separate specular bug fix to 4.0.1 list 2001-12-19 01:29:58 +00:00
Brian Paul
fa6b2fba7a fix a comment typo 2001-12-19 01:09:46 +00:00
Brian Paul
f47efb5ab3 have to clamp color+specular in _swrast_add_spec_terms_triangle()! (fixes Chimera bug) 2001-12-19 01:08:49 +00:00
Brian Paul
c6a14906c6 remove some cruft 2001-12-19 01:07:50 +00:00
Brian Paul
530da27edb bring 4.0.1 info into trunk 2001-12-18 14:08:23 +00:00
Brian Paul
30f51ae067 Replace old matrix stacks with new code based on struct matrix_stack.
Moved vertex program hash table into shared context state.
Implemented reference counting for vertex programs.
Replaced tnl "ProjectedClip" with "Ndc" (normalized device coordinates).
2001-12-18 04:06:44 +00:00
Brian Paul
645ced2955 disable prototype matrix stack code 2001-12-17 22:41:45 +00:00
Jouk Jansen
aea09490f5 Committing in .
Update OpenVMS makefile for vertex-routines
 #ifndef __VMS added for one print statement containing __FUNCTION__

 Modified Files:
 	Mesa/src/descrip.mms Mesa/src/tnl/t_imm_api.c
 ----------------------------------------------------------------------
2001-12-17 09:02:55 +00:00
Brian Paul
3ade8af7ff added some debug printfs (disabled) 2001-12-17 04:58:50 +00:00
Brian Paul
10f30eb438 first checkpoint commit of Klaus's new span code (struct sw_span) 2001-12-17 04:54:35 +00:00
Brian Paul
57d6e1aebf first checkpoint commit of Klaus's new span code (struct sw_span) 2001-12-17 04:47:57 +00:00
Brian Paul
c843a1a039 remove conditional in RESET_STIPPLE to fix conformance failure 2001-12-17 01:46:58 +00:00
Brian Paul
54772892bd updated vertex buffer identifiers 2001-12-16 11:28:20 +00:00
Brian Paul
c11120270c warp a quadmesh with a gravitational source via vertex program 2001-12-15 23:28:15 +00:00
Brian Paul
9cb3947c56 rotating, lit torus via vertex program 2001-12-15 22:33:59 +00:00
Brian Paul
e3a0f39824 divide by W and clipping now work - in pretty good shape now 2001-12-15 22:31:23 +00:00
Brian Paul
56790ced1a temporary hack for divide by W 2001-12-15 21:31:28 +00:00
Brian Paul
b15a3b4d13 better api trace/log messages 2001-12-15 16:42:59 +00:00
Brian Paul
d2237d48ec vertex program fixes 2001-12-15 02:14:43 +00:00
Brian Paul
c3d90f3211 disable debug printf's, fix a crash 2001-12-15 02:13:32 +00:00
Brian Paul
36c77a81ad free the NormalLengthPtr if non-null in _tnl_free_immediate() 2001-12-15 00:49:00 +00:00
Brian Paul
9745d47991 added newline characters to trace strings 2001-12-14 21:56:50 +00:00
Karl Schultz
5cbd179121 Use $(MAKE) on the irix targets, instead of hard-coding pmake,
as suggested in SF bug 482149.  People can still use
pmake -v -f Makefile.X11 if they want to use pmake (works great for me).
Sorry, this should have been in the last check-in.
2001-12-14 17:48:19 +00:00
Karl Schultz
92512085d5 Add .cc as a valid suffix. 2001-12-14 17:19:32 +00:00
Karl Schultz
16e2d94cc7 Cleanup for IRIX 6 platforms. Build src-glu instead of si-glu due
to problems with building the c++ code in the si-glu.
2001-12-14 17:14:45 +00:00
Karl Schultz
c589af2fe2 Fix up targets for
irix6-o32, irix6-o32-dso, irix6-n32, irix6-n32-dso
2001-12-14 16:42:23 +00:00
Karl Schultz
7c8db694cc Remove rules that were put into place to deal with compiling files that
are in subdirectories of this directory.  The list of rules that were here
was out of date for Mesa 4 and would likely get out of date again.  It is
better to have make handle it (e.g., use pmake -v on IRIX).
2001-12-14 16:35:55 +00:00
Brian Paul
1668d4bab8 s/glxGetProcAddress/glXGetProcAddressARB/ 2001-12-14 11:40:14 +00:00
Brian Paul
eaf0eac7d3 oops, wrong value for GLX_SAMPLES 2001-12-14 03:19:06 +00:00
Brian Paul
b70f5c21e7 added GLX_SAMPLE_BUFFERS, GLX_SAMPLES 2001-12-14 03:18:08 +00:00
Brian Paul
15d4a2327d minor tweaks 2001-12-14 03:17:00 +00:00
Brian Paul
a19d7c35cd 4.1 extensions 2001-12-14 03:16:06 +00:00
Brian Paul
1d1635d27b planned extensions for 4.1 2001-12-14 03:14:49 +00:00
Brian Paul
b638c34381 minor dispatach table changes 2001-12-14 03:13:04 +00:00
Brian Paul
797ea81d63 vertex program test program 2001-12-14 03:03:38 +00:00
Brian Paul
86b842790b vertex program check-in 2001-12-14 02:50:01 +00:00
Brian Paul
680522f74c add dispatch offsets for vertex program functions 2001-12-14 02:48:10 +00:00
Karl Schultz
faaa88fc48 Remove const from save_TexParameteri to match prototype for glTexParameteri.
Allows compilation on IRIX.
2001-12-13 19:58:20 +00:00
Karl Schultz
d313068dc8 Added missing entry points 2001-12-13 19:15:58 +00:00
Brian Paul
d9331ae71e fixed errors in feedback for glDraw/CopyPixels and glBitmap 2001-12-13 19:12:42 +00:00
Brian Paul
59235bd5da special case blend optmizations (Jeremy Fitzhardinge) 2001-12-13 16:14:26 +00:00
Brian Paul
c3209d45ad call FLUSH_VERTICES() in _mesaTexParameterfv() (bug 491832) 2001-12-13 16:02:11 +00:00
Keith Whitwell
5246b6c9d1 fix for ubyte colors 2001-12-13 10:51:41 +00:00
Keith Whitwell
59e5b90452 fix primitive calculation in 1-line dlist immediates (molecules) 2001-12-13 10:49:04 +00:00
Keith Whitwell
09fc9324f6 fix glut tess lockup 2001-12-11 15:13:57 +00:00
Brian Paul
74df2ef732 added enums for GL_ARB_depth_texture/shadow/shadow_ambient (temporary) 2001-12-05 22:01:13 +00:00
Keith Whitwell
ef4f5b391e add inf and nan tests to swrast functions 2001-12-05 10:24:31 +00:00
Brian Paul
aecfb51c30 fixed potential array overwrite problem 2001-12-04 23:45:31 +00:00
Brian Paul
014ec1ac5e prototype implementation of GL_ARB_depth_texture, GL_ARB_shadow, GL_ARB_shadow_ambient 2001-12-04 23:44:55 +00:00
Brian Paul
471a774f43 dispatch changes to minimize hassle with XFree86 libGL 2001-12-04 23:43:31 +00:00
Keith Whitwell
c34cb25bdd further tweak to dlist change 2001-12-04 13:04:29 +00:00
Keith Whitwell
aa46094ca6 guard ResetStipple calls 2001-12-03 17:48:58 +00:00
Keith Whitwell
4ea18fc2dc fx another place where PRIM_PARITY is calculated 2001-12-03 17:47:04 +00:00
Keith Whitwell
a8b25ada45 simplify drawarrays paths 2001-12-03 17:41:58 +00:00
Keith Whitwell
3a825a85f1 avoid side-effects in macro param 2001-12-03 17:39:12 +00:00
Keith Whitwell
bfd2ae6e99 correctly reset input after dlist execution 2001-12-03 17:19:14 +00:00
Karl Schultz
e6373ba6d7 Corrected bad line breaks in macro definitions within code compiled
when BEOS_THREADS is defined.  This usually does not cause a problem when
BEOS_THREADS is not defined, but the bad line break in this case put
the "#name" text as the first non-white space in a line, causing the
IRIX C preprocessor to think that it was a preprocessor directive, and
that generated a distracting warning.  I also fixed a couple of other
line breaks that seemed wrong to me.
2001-11-30 22:11:45 +00:00
Karl Schultz
3ac348c17a Add darwin target 2001-11-30 19:41:19 +00:00
Karl Schultz
fcc0abe6cf malloc() prototype is in stdlib.h for darwin 2001-11-30 19:35:22 +00:00
Alan Hourihane
bce1689d5b Don't reset _tnl_CurrentInput when in DestroyContext. 2001-11-30 15:43:53 +00:00
Karl Schultz
7b2a146d3a main trunk is now 4.1 2001-11-29 23:13:12 +00:00
Karl Schultz
209e1348bd update to version 4.0 2001-11-29 22:54:33 +00:00
Karl Schultz
8ff271548a Update notes on si-glu NURBS. 2001-11-29 16:55:37 +00:00
Karl Schultz
9c8cbe6950 Fix compilation errors and warnings for NURBS support. (Robert Bergkvist) 2001-11-29 16:16:55 +00:00
Keith Whitwell
4e6c835210 use smaller buffer when decomposing large drawarrays, for cache goodness 2001-11-29 15:15:20 +00:00
Brian Paul
d8af040f5e updated comment about CHAN_BITS 2001-11-28 17:18:36 +00:00
Brian Paul
e4eba73060 use v2 color, not v0 in flat_ci_triangle() 2001-11-28 16:11:32 +00:00
Brian Paul
253270dfcc use glXGetProcAddressARB to avoid extension linkage problems 2001-11-27 02:55:58 +00:00
Brian Paul
2f3d620398 don't directly call glSecondaryColor*EXT() or glFogCoord*EXT() 2001-11-27 00:05:35 +00:00
Brian Paul
70c05e6781 don't use near and far for parameter names 2001-11-26 23:41:24 +00:00
Karl Schultz
20517ce040 avoid using near and far as variable names since they are reserved words
in the windows compiler.
2001-11-26 22:55:28 +00:00
Brian Paul
1b2976f79b fix some warnings 2001-11-26 17:21:46 +00:00
Keith Whitwell
f660ec6ff8 Possible fix for vtk tristrip bug 2001-11-26 12:56:07 +00:00
Brian Paul
358ed73e1d fix for bug 474479, remove Trace/* stuff 2001-11-23 20:44:12 +00:00
Brian Paul
3183af39d0 fixed bug 484142, missing backslash 2001-11-23 20:09:26 +00:00
Keith Whitwell
cbf9731119 Another locked drawarrys fix 2001-11-22 09:23:36 +00:00
Brian Paul
d4ece7b2f4 minor update 2001-11-21 17:21:41 +00:00
Keith Whitwell
d3be982783 3dnow normalize_normals broken, disable 2001-11-19 13:52:41 +00:00
Keith Whitwell
3f766b7a89 possible fix for cva ignore start index bug 2001-11-19 10:22:41 +00:00
Brian Paul
71340e861e More span rendering optimizations from Klaus Niederkrueger 2001-11-19 01:18:28 +00:00
Brian Paul
71515b9175 added test implementation of GL_ARB_window_pos 2001-11-19 00:41:32 +00:00
Brian Paul
6d9b899342 fixed a glitch 2001-11-19 00:40:33 +00:00
Brian Paul
50c31d6861 added test implementation of GL_ARB_window_pos 2001-11-19 00:13:45 +00:00
Brian Paul
5b7dab2e4c added test implementation of GL_ARB_window_pos 2001-11-18 23:52:37 +00:00
Brian Paul
17fe22d3bf test for glXGetProcAddress() 2001-11-18 23:16:56 +00:00
Brian Paul
a6fdefa322 remove -DMESA_TRACE from linux-debug config 2001-11-18 23:11:45 +00:00
Brian Paul
94dd6b8927 remove Glide and SVGA support from mesa-debug config 2001-11-18 23:03:53 +00:00
Brian Paul
a6a997c234 included by glapi.c 2001-11-18 22:52:22 +00:00
Brian Paul
b5fd886ee1 API dispath updates 2001-11-18 22:48:11 +00:00
Brian Paul
4fe0f9d2a9 new, simpler API specification file 2001-11-18 22:43:16 +00:00
Brian Paul
6c0d72f9c0 new Python API generator scripts 2001-11-18 22:42:57 +00:00
Brian Paul
199b931c07 added missing const to glXGetContextIDEXT() prototype 2001-11-18 22:16:07 +00:00
Brian Paul
0ee6a5604d improved AA subpixel sample positions (Ray Tice) 2001-11-13 00:26:39 +00:00
Brian Paul
1b37d6c305 BeOS thread support (Philippe Houdoin) 2001-11-12 23:50:12 +00:00
Brian Paul
cd060fc3b4 fix typedef problem found with MSDev 6.0 2001-11-09 22:04:24 +00:00
Brian Paul
c32fe22168 added GLX 1.4 function manglers 2001-11-09 22:01:02 +00:00
Brian Paul
853a4abab2 added 1.3 function manglers 2001-11-09 22:00:53 +00:00
Brian Paul
fe9b705a2c define GL_VERSION_1_3 (doh!) 2001-11-09 21:54:30 +00:00
Brian Paul
4b7ccad682 casts to silence warnings from gcc 2.96 2001-11-06 16:01:19 +00:00
Brian Paul
87c964d388 added missing GL_MAX_TEXTURE_LOD_BIAS_EXT query 2001-11-06 15:53:00 +00:00
Brian Paul
85e7d7c1d8 fix error in error checking conditional (bug 476846) 2001-11-03 04:11:26 +00:00
Brian Paul
dc31d67c0e init the hash table mutex in _mesa_NewHashTable (Won-Suk Chun) 2001-11-02 00:57:04 +00:00
Karl Schultz
acf0c0a1e1 Updates for improved DirectDraw support (Daniel Slater) 2001-11-01 22:44:47 +00:00
Brian Paul
52ef4cc59a added some (void *) casts to silence gcc 2.96 warnings 2001-11-01 00:39:24 +00:00
Karl Schultz
9baad8e1ff Change name of glut lib from glut32 to MesaGlut.
This helps avoid confusion with other gluts on the system that may be
lined with OpenGl32.dll and Glu32.dll.
2001-10-26 21:21:11 +00:00
Karl Schultz
b10f995edf Copy the readtex.[ch] files from ../util 2001-10-26 21:01:45 +00:00
Brian Paul
a4b42200e9 added a bunch of missing breaks for multisample gets 2001-10-25 23:21:28 +00:00
Brian Paul
0878456b46 template for 4.1 release notes 2001-10-22 22:57:23 +00:00
Brian Paul
3de5462ab1 version bumps, etc for 4.1 2001-10-22 22:45:18 +00:00
Brian Paul
a7f8117153 added latest bug fixes 2001-10-22 16:04:46 +00:00
Brian Paul
45d21ca587 applied Andrew Lewycky's patches 2001-10-22 01:21:16 +00:00
Keith Whitwell
52d4c6ebb5 forgotten diffuse alpha fix 2001-10-20 00:13:45 +00:00
Jouk Jansen
12e875ce4d Committing in .
Modified Files:
 	Mesa/src/context.c

 Initializing ctx->Driver.CurrentExecPrimitive to 0, just after the allocation
 of the context. I hope this solved a very rare crash of the molecule mode
 of xlockmore on my VMS-machine. (I have not seen any crash the last week.
 Normally it crashed at least once in the 3 days)

----------------------------------------------------------------------
2001-10-18 08:04:57 +00:00
Brian Paul
5d26219288 added a few comments 2001-10-17 23:03:56 +00:00
Brian Paul
40ba618a6f warning fixes (Karl Schultz) 2001-10-17 23:03:34 +00:00
Brian Paul
e8245c1409 added some missing Win32 files to tar file list 2001-10-17 20:44:26 +00:00
Brian Paul
ebc8b0aa5a minor updates 2001-10-17 14:59:21 +00:00
Brian Paul
7d63ac1e6b removed src/mms_depend from tar file list 2001-10-17 14:57:16 +00:00
Brian Paul
fca1ce3a26 added new entrypoints for 1.3 2001-10-17 14:33:05 +00:00
Brian Paul
e715c91000 updated for new glext.h 2001-10-17 13:34:08 +00:00
Brian Paul
e11f089f82 added GL_ARB_texture_mirrored_repeat 2001-10-17 13:31:07 +00:00
Brian Paul
470d3cd4a2 minor updates for new glext.h 2001-10-17 13:29:02 +00:00
Brian Paul
3d16c369d9 updated extensions 2001-10-17 13:28:14 +00:00
Karl Schultz
b5bfe2f6ae Updated for Mesa 4.0 2001-10-15 20:38:12 +00:00
Karl Schultz
439ded4e2a Fix comments. 2001-10-15 17:28:53 +00:00
Karl Schultz
b66103971c Fix the clear() function
- add checks for the ColorMask and IndexMask (like osmesa)
- correctly handle the DD_*_BIT flags so that we don't also ask the
  swrast to clear the color buffer after we cleared it ourselves. (doh!)
  This gives nearly a 2X improvement in the frame rate in a program like
  gears.
2001-10-05 15:47:28 +00:00
Karl Schultz
bffae58175 Allow to compile in Windows. 2001-10-04 19:14:26 +00:00
Karl Schultz
3978d026ea Build a few demos that now work with Windows. 2001-10-04 19:13:36 +00:00
Karl Schultz
8f47563559 Need to define MESA_DEBUG in debug builds. Otherwise, NDEBUG gets
defined, which is bad for things like assert().
2001-10-04 19:06:31 +00:00
Karl Schultz
47bcda78e2 Updated Windows driver for Mesa 4.0.
Needs optimization.
2001-10-04 19:04:56 +00:00
Karl Schultz
d3788b60ae remove extra CR chars 2001-10-04 19:03:11 +00:00
Keith Whitwell
31c40f0905 use correct vertex for flatshading 2001-09-25 17:38:11 +00:00
Karl Schultz
954f511473 Fix up Windows makefiles so that the debug build leaves debugger info
in the libraries.  Make with NODEBUG=1 builds optimized without debug
info (doc'ed in top level Makefile.win).
2001-09-25 16:25:41 +00:00
Karl Schultz
968e557dcd disable some more code so that it compiles quietly on Windows. 2001-09-25 16:22:40 +00:00
Brian Paul
b1ee387ab5 replaced x86_xform_raw4.S with x86_xform4.S 2001-09-24 19:18:03 +00:00
Karl Schultz
220e77a3f7 use OSMESA_* enums for OSMesaCreateContext instead of GL_*. 2001-09-24 15:29:27 +00:00
Brian Paul
0e94067d0d removed duplicate GLX_AUX_BUFFERS_BIT definition 2001-09-24 14:15:58 +00:00
Jouk Jansen
001f826f71 Committing in .
Modified Files:
 	Mesa/si-glu/libutil/glue.c

 added some type casts to silence compiler warnings.

----------------------------------------------------------------------
2001-09-24 09:40:40 +00:00
Brian Paul
2427575c21 [rgba]shift values weren't always correct, only effected blended lines 2001-09-23 21:17:03 +00:00
Brian Paul
7bb6fcc19d added missing tnl_dd files 2001-09-23 18:32:51 +00:00
Brian Paul
5734421078 4.0 updates 2001-09-23 18:19:30 +00:00
Brian Paul
97856fd98a updated version info 2001-09-23 16:53:28 +00:00
Brian Paul
5ac8282a22 fixed some configure;make build problems. cleaned-up copyright info. 2001-09-23 16:50:01 +00:00
Brian Paul
a573803ed3 updates for Mesa 4.0 2001-09-23 16:10:02 +00:00
Brian Paul
78a03d3c45 bump versions to 4.0 2001-09-23 16:06:13 +00:00
Keith Whitwell
497d6eab66 More of the same 2001-09-23 15:19:16 +00:00
Karl Schultz
05ba9becc3 Make osmesa a DLL instead of a static lib (Windows). This is more
consistent with the other modules and platforms.  It also makes the
API and linkage on Windows more consistent.
2001-09-21 21:32:14 +00:00
Karl Schultz
445e3cbd0d Add GLAPIENTRY to typedef for callback functions (used by tessellator).
This is important now that we're using __stdcall instead of the (default)
__cdecl on WIN32.  This gets apps using the tessellator working again
on Windows.
2001-09-21 20:39:03 +00:00
Brian Paul
38112f5b60 added __glCoreCreateContext and __glCoreNopDispatch 2001-09-21 17:23:30 +00:00
Karl Schultz
80d5855692 add the same conditional mangling stuff that gl.h has. 2001-09-20 22:19:41 +00:00
Karl Schultz
448b88bb80 add mangling for new entry points 2001-09-20 22:18:47 +00:00
Karl Schultz
cfe52d8ae0 Don't use "errno" as a parameter name - it is also a function and that
confused the Windows compiler.  Also make messages unsigned char for
consistency.
2001-09-20 21:50:53 +00:00
Karl Schultz
f2a50b141e compiler warnings 2001-09-20 21:47:52 +00:00
Karl Schultz
8674e709ee Change UnProject4 prototype to use nearVal and farVal instead of near
and far because Windows compiler can get confused over these old keywords.
2001-09-20 20:47:26 +00:00
Keith Whitwell
62eb2e5909 very brief overview of swrast 2001-09-20 19:25:31 +00:00
Keith Whitwell
fffc27015b (very) Brief overview of tnl module 2001-09-20 18:59:05 +00:00
Brian Paul
7152305e0a GL_ADD texture mode was incorrect, renamed some vars 2001-09-19 22:21:13 +00:00
Karl Schultz
7c4268176e silence compiler warnings (last batch for src) 2001-09-19 20:30:44 +00:00
Brian Paul
2fc06af470 set GR_STWHINT_ST_DIFF_TMU1 flag in the init() function (fixes multiarb demo) 2001-09-19 03:37:16 +00:00
Brian Paul
b6bcfc1f6a fix fallback for stippled polygons, removed a debug message 2001-09-19 02:55:45 +00:00
Brian Paul
37f2d5e696 compute dst->ooz, not dst->z in clip interpolation function 2001-09-19 02:54:56 +00:00
Karl Schultz
7b9fe820a3 more compiler warning fixes 2001-09-18 23:06:14 +00:00
Keith Whitwell
c98541f54b remove some debug 2001-09-18 22:07:54 +00:00
Keith Whitwell
e9479f24ab Fix FX driver to the point where gears & morph3d work.
Textures are broken (eg. isosurf).
2001-09-18 22:05:36 +00:00
Karl Schultz
573dd2206b clean up makefiles some more for Windows 2001-09-18 20:47:23 +00:00
Karl Schultz
4742735a5c compiler warnings 2001-09-18 16:51:45 +00:00
Karl Schultz
b14dcea418 remove carriage return chars 2001-09-18 16:39:38 +00:00
Karl Schultz
94a6ec8f0c compiler warnings 2001-09-18 16:16:21 +00:00
Karl Schultz
57c946096e compiler warnings 2001-09-18 15:27:18 +00:00
Brian Paul
fde5e2c5f1 more warning fixes (Karl Schultz) 2001-09-15 18:02:49 +00:00
Brian Paul
1f20952a92 removed carriage return chars 2001-09-15 18:00:28 +00:00
Brian Paul
04120f6cce Win32 updates (Karl Schultz) 2001-09-14 22:19:18 +00:00
Brian Paul
7c276329e8 more warning fixes (Karl Schultz) 2001-09-14 21:36:43 +00:00
Brian Paul
edf8c06270 more warning fixes (Karl Schultz) 2001-09-14 21:30:31 +00:00
Brian Paul
7cc49c2dc8 silence more warnings (Karl Schultz) 2001-09-14 17:23:39 +00:00
Brian Paul
5ce1f374da silence minor warnings 2001-09-14 17:00:42 +00:00
Brian Paul
675343c517 replaced gets() with fgets() 2001-09-14 02:59:08 +00:00
Brian Paul
94666c4b55 more GL 1.3 updates 2001-09-14 02:48:53 +00:00
Brian Paul
ba57e5297d more GL 1.3 and GLX 1.4 updates 2001-09-14 02:43:03 +00:00
Brian Paul
dcbe4d6d2f minor optimizations for flat shading (Klaus Niederkrueger) 2001-09-13 22:12:54 +00:00
Brian Paul
d22554d2ce replaced some tabs with spaces 2001-09-13 21:54:29 +00:00
Brian Paul
097d2a025e minor re-org 2001-09-12 03:32:29 +00:00
Brian Paul
e79f4b08d5 hook compressed texture functions into driver 2001-09-12 03:30:02 +00:00
Brian Paul
517903edcd add new WindML/Mesa man pages to tar file list 2001-09-10 19:28:22 +00:00
Brian Paul
306933046c WindML updates (Stephane Raimbault) 2001-09-10 19:21:13 +00:00
Brian Paul
30230a9cd1 fixed s/w alpha bug 458411 2001-09-10 18:53:45 +00:00
Jouk Jansen
9348cfc6e8 Committing in .
Modified Files:
 	Mesa/src/tnl/t_imm_alloc.c

 added initialization for Normals

----------------------------------------------------------------------
2001-09-07 06:55:59 +00:00
Brian Paul
190d34874c minor changes, prototype Pbuffer support 2001-09-01 20:27:31 +00:00
Brian Paul
62f75054cb update version to 3.5.1, minor OSMesa changes 2001-09-01 20:26:51 +00:00
Brian Paul
7d5656bee7 prototype work for Pbuffer support 2001-09-01 20:23:25 +00:00
Brian Paul
7e975ba3aa added GLX_RGBA_TYPE, fixed GLX_LARGEST_PBUFFER typo 2001-09-01 20:17:16 +00:00
Brian Paul
9bed64cbf1 fixed dangling pointer problem (Chris Burghart) 2001-08-31 04:30:14 +00:00
Brian Paul
04ec0fd71e changes to allow the driver to compile - still doesn't work though 2001-08-29 03:58:42 +00:00
Brian Paul
a0037ad8b3 added OSMESA_MAX_WIDTH/HEIGHT queries 2001-08-28 23:12:37 +00:00
Brian Paul
a07e02fd01 version 3.5.1 updates 2001-08-28 22:54:47 +00:00
Brian Paul
0d6fd15840 minor updates regarding OpenGL 1.3 2001-08-28 22:53:44 +00:00
Brian Paul
a8b07a539b added OpenGL 1.3 tokens and prototypes 2001-08-28 22:49:32 +00:00
Brian Paul
2a88946f9a OpenGL 1.3 support 2001-08-28 22:46:22 +00:00
Brian Paul
afe4f5e6c1 simple multi-window GLUT test prog 2001-08-21 14:25:31 +00:00
Gareth Hughes
e7df7cd6ad Get rid of unfinished demo. 2001-08-21 05:42:11 +00:00
Brian Paul
c123a9b2ed removed a semicolon in the USE() macro 2001-08-20 21:45:15 +00:00
Brian Paul
9babb73789 added textured line bug fix 2001-08-20 16:45:02 +00:00
Brian Paul
d9fc8e20e3 bumped version string to 3.5.1 2001-08-20 16:44:43 +00:00
Brian Paul
ac6daf97e1 better error messages 2001-08-20 16:43:02 +00:00
Brian Paul
df631a866d better error reporting 2001-08-20 16:42:40 +00:00
Brian Paul
233aafbb30 new debugging code 2001-08-20 16:41:47 +00:00
Brian Paul
fc1eadefeb added WindML driver 2001-08-20 16:16:36 +00:00
Brian Paul
976c26ca34 WindML driver (Stephane Raimbault) 2001-08-20 16:07:10 +00:00
Brian Paul
60174c1aef Fixes for 32-bit GLchans: smooth/flat/textured triangles seem to work now. 2001-08-14 14:08:44 +00:00
Keith Whitwell
76a52525c7 Reenable, but only in the size four case... 2001-08-14 00:59:08 +00:00
Keith Whitwell
bd9b4056d7 Undo last change - breaks other stuff. 2001-08-14 00:52:47 +00:00
Keith Whitwell
3d1df5554e Compute first partials before taking cross product to calculate normal.
Fixes diego santa cruz' nurbs lighting bug.
2001-08-14 00:50:44 +00:00
Brian Paul
9a90775010 replace PI with pi 2001-08-13 22:36:31 +00:00
Keith Whitwell
b1a2393bb7 Fix problem with colormaterial (bug #441859) 2001-08-13 22:17:19 +00:00
Keith Whitwell
c8a27838a0 Removed optimizations (this code is now seldom used) 2001-08-13 22:15:54 +00:00
Brian Paul
d922109eb3 added GL_EXT_texture_edge_clamp 2001-08-13 18:09:34 +00:00
Brian Paul
978a2a0a43 fixed Solaris compilation problems (Bug 441817) 2001-08-13 16:52:18 +00:00
Brian Paul
2e5a20ae21 rm .lo .la files for make clean 2001-08-13 16:51:08 +00:00
Brian Paul
b22fe91cdb removed ss_interp.c 2001-08-13 16:37:44 +00:00
Brian Paul
8b59b52297 added latest 3.5.1 bug fixes 2001-08-07 23:13:54 +00:00
Brian Paul
58cfa0fd90 fixed a glPush/PopAttrib bug related to texture binding (reported by Wes Bethel) 2001-08-07 23:10:55 +00:00
Brian Paul
c6182ab54c fixed bug in DEST_4F template function 2001-08-07 22:16:06 +00:00
Brian Paul
94f494e780 removed some now bogus assertions (due to Klaus's latest optimization) 2001-08-07 22:05:11 +00:00
Brian Paul
ebc9f221b2 fixed NewState update bugs in _mesa_PopClientAttrib() 2001-08-07 21:46:52 +00:00
Brian Paul
b5797a5085 Win32 fixes, etc. (Gerk Huisma) 2001-08-07 17:34:10 +00:00
Brian Paul
696cd3d2b6 optimization to sample_lambda_2d() (Klaus Niederkrueger) 2001-08-07 17:26:10 +00:00
Brian Paul
bb40d07830 added GLX context share bug fix 2001-08-07 16:02:48 +00:00
Brian Paul
5e1680ce1d fixed GLX context sharing bug (reported by Eric Plante) 2001-08-07 16:01:34 +00:00
davem69
636fb6cae7 Use #function instead of @function
in .type directive so it works with Solaris
assembler as well as GNU assembler.
2001-08-03 13:16:31 +00:00
Keith Whitwell
84170351db Fix VERT_RGBA special case. 2001-08-03 00:16:36 +00:00
Keith Whitwell
76ca0f5232 Fix SGL testLights.exe bugs (interaction of copying and fixup in display lists) 2001-08-02 22:39:51 +00:00
Keith Whitwell
554ceab8ec Fix SGL testGeoSets.exe polygon mode problem (wrong interpretation of
count parameter in DrawArrays)
2001-08-02 21:30:10 +00:00
Keith Whitwell
51184566fb Fix SGL monoindexed bug (glDrawRangeElements in dlist) 2001-08-02 19:58:07 +00:00
Keith Whitwell
c618005dcf Fix copying problem (light spots) on evaluated surfaces. 2001-08-01 05:10:42 +00:00
Keith Whitwell
3670e206a7 Fix core in fixup_normal_lengths 2001-07-28 21:04:21 +00:00
Keith Whitwell
46af1f87c8 Remove _BaseAlpha, fix reflect lighting bug. 2001-07-28 19:28:49 +00:00
Brian Paul
616f470629 more GLAPIENTRY fixes (Karl Schultz) 2001-07-27 19:09:58 +00:00
Brian Paul
2f65b316ff added latest 3.5.1 bug fixes 2001-07-27 14:49:08 +00:00
Brian Paul
8a8d474068 undo previous check-in (restore the @ symbols) 2001-07-27 14:38:17 +00:00
Brian Paul
dae1774e20 check if deleting _Current texobj in _mesa_DeleteTextures (Bart Barenbrug) 2001-07-27 14:30:50 +00:00
Brian Paul
086f1b8428 added four missing GLX 1.3 tokens 2001-07-27 14:26:27 +00:00
Brian Paul
24d9350897 replaced @ with ## or # to allow compilation on SunOS 5.6 (Bug 442742) 2001-07-27 14:06:35 +00:00
Brian Paul
73fc243420 wglUseFontBitmapsA() update (Frank Warmerdam) 2001-07-27 14:03:55 +00:00
Brian Paul
172281dad8 fixes for proxy cube map texture images 2001-07-26 20:02:10 +00:00
Brian Paul
e2df5de01c use GLAPIENTRY when declaring a couple function pointers (Gerk Huisma) 2001-07-26 16:04:10 +00:00
Brian Paul
d4cff4f2fa Applied Klaus Niederkrueger's latest flat-shading clean-ups and some of my own. 2001-07-26 15:57:49 +00:00
Brian Paul
bbf6a41d2f GLchan and GL_ADD clamping changes (Klaus Niederkrueger) 2001-07-23 16:47:53 +00:00
Brian Paul
62c734f499 don't make default teximage if glTexImage's pixels=NULL (Gerk Huisma) 2001-07-23 16:18:18 +00:00
Brian Paul
ae40b2281d rename ERROR macro to TE_ERROR (Gerk Huisma) 2001-07-23 16:10:03 +00:00
Brian Paul
3c03f3232d fix some Win32 warnings (Gerk Huisma) 2001-07-23 16:08:59 +00:00
Brian Paul
4fa5c1966a don't clamp colors if GLchan==GLfloat in add_colors() 2001-07-23 16:08:19 +00:00
Brian Paul
55180f4b92 GLubyte -> GLchan change 2001-07-23 16:07:39 +00:00
Brian Paul
f3b85c983f check for pixels=NULL in _mesa_store_teximage[123]d() 2001-07-23 16:07:12 +00:00
Brian Paul
89480f7382 added vms_x_fix.h to tar file list 2001-07-23 15:09:52 +00:00
Jouk Jansen
46e6c7ad54 Committing in .
Modified Files:
 	Mesa/si-glu/libtess/memalloc.h

 malloc.h is non-standard on OpenVMS. If it is present it only includes
 stdlib.h. therefore for VMS malloc.h is replaced by stdlib.h.
----------------------------------------------------------------------
2001-07-20 11:20:32 +00:00
Brian Paul
48f3bdaeb3 GLchan changes 2001-07-19 16:12:03 +00:00
Brian Paul
fd28445e10 Added Win32 memory debugging and fixed a few memory leaks (Gerk Huisma) 2001-07-19 15:54:34 +00:00
Brian Paul
2a9eca0ed4 do some 16-bit GLchan computations in floating point (Gerk Huisma) 2001-07-18 14:10:51 +00:00
Jouk Jansen
3b925120a6 Committing in .
Modified Files:
 	Mesa/si-glu/libnurbs/interface/glcurveval.cc

 Corrected declaration of putCallBack

----------------------------------------------------------------------
2001-07-18 11:17:35 +00:00
Keith Whitwell
277fd2e66e Fix Alan Barnett's 'try10' display list bug. 2001-07-17 21:44:37 +00:00
Keith Whitwell
5356031129 Lighting now emits colors as CHAN_TYPE, as it used to. This will require
minor adjustments in the dri drivers for twosided lighting to work again.
2001-07-17 19:39:32 +00:00
Brian Paul
4ae22b9721 include glu.h 2001-07-17 15:39:13 +00:00
Brian Paul
461b990508 disable MMX blend code until it gets fixed 2001-07-16 20:45:55 +00:00
Brian Paul
a1503b00f8 Various 16-bit GLchan fixes and Win32 fixes (Gerk Huisma) 2001-07-16 15:54:23 +00:00
Brian Paul
fba5e95468 assorted fixes for Win32 (Gerk Huisma) 2001-07-16 15:46:42 +00:00
Brian Paul
96385fa155 more work on float colors (still not finished) 2001-07-14 17:53:04 +00:00
Brian Paul
274fc30d31 added latest 3.5.1 bug fixes 2001-07-14 16:30:56 +00:00
Brian Paul
ac3958ea1b removed unused tiny triangle test code 2001-07-14 16:05:44 +00:00
Brian Paul
ee6cf4c6b0 undo previous check-in (unfinished code) 2001-07-13 20:12:44 +00:00
Brian Paul
601ce1d624 minor tweaks 2001-07-13 20:09:18 +00:00
Brian Paul
5b22aa1e33 added linux-osmesa32 config 2001-07-13 20:08:42 +00:00
Brian Paul
f431a3fb4d assorted changes for supporting GLfloat color channels (not done) 2001-07-13 20:07:37 +00:00
Brian Paul
bc07a99cc3 replaced __inline with INLINE 2001-07-13 17:26:39 +00:00
Brian Paul
cff1cfd90d silence an uninitialized var warning 2001-07-13 16:39:19 +00:00
Brian Paul
5c749d9e3c silence a warning 2001-07-13 16:38:44 +00:00
Brian Paul
b23f5b5a5c replace _NEW_PIXEL with _IMAGE_NEW_TRANSFER_STATE to catch color matrix changes 2001-07-13 15:44:21 +00:00
Brian Paul
77a4754d73 fixed two bad casts (Stephane Conversy) 2001-07-13 15:24:34 +00:00
Jouk Jansen
0cab1db776 Committing in .
Modified Files:
 	Mesa/src/descrip.mms Mesa/src/FX/fxtris.c Mesa/src/FX/fxvb.c

 -updated OpenVMS makefile
 -fixed compilation if FX is NOT defined.
----------------------------------------------------------------------
2001-07-13 11:28:07 +00:00
Keith Whitwell
1182ffeec3 Rename some of the tnl->Driver.* functions to tnl->Driver.Render.*, to make it
clear that these are owned by t_vb_render.c.

Make swrast_setup opaque - it now hooks itself directly into
tnl->Driver.Render.*.  Add a _swsetup_Wakeup() call that does this.

Update X11 (tested), osmesa and FX drivers for this change.

FX compiles but is probably broken as the changes there are large.  It was the
only remaining driver that used the internal _swsetup_ functions for
interp and copy_pv.  This usage has been replaced with code from the DRI
tdfx driver.
2001-07-12 22:09:21 +00:00
Brian Paul
fae7b778b8 fixed flat shading bug in affine_ and persp_textured_triangle() functions 2001-07-09 16:24:30 +00:00
Brian Paul
571c8ecc8f added missing \'s 2001-07-09 16:16:20 +00:00
Brian Paul
ac54173414 fixed segfault (NULL _ShineTable[0]) in shade_rastpos() 2001-07-05 15:31:21 +00:00
Brian Paul
5233ca8d30 fixed logic error in OSMesaMakeCurrent() for 565 pixel support (Lars Andersson) 2001-07-05 15:12:13 +00:00
pesco
8564f0536b More .cvsignore updates. 2001-07-02 11:41:02 +00:00
Keith Whitwell
47a28c0b4d restore normal length optimization in dlists 2001-06-28 17:34:14 +00:00
Brian Paul
206eda8b69 support for RGB_565 pixels (Lars Andersson), untested 2001-06-27 13:56:17 +00:00
Keith Whitwell
9c38ae35eb Add -f to rm in make clean to avoid error messages 2001-06-27 12:52:12 +00:00
Brian Paul
acc722d4b8 More raster fog coord fixes.
New truncate vs. floor comments in drawpixels.c
Added current raster secondary color state, not used yet.
2001-06-26 21:15:35 +00:00
Brian Paul
33170eeb18 optimized texture triangle updates (Klaus Niederkrueger) 2001-06-26 15:33:28 +00:00
Brian Paul
4f76d0e215 added initial 3.5.1 info 2001-06-26 01:33:15 +00:00
Brian Paul
8c2f6c5059 added GL_IBM_rasterpos_clip extension 2001-06-26 01:32:48 +00:00
Brian Paul
657323bf03 added missing GLX_PBUFFER_WIDTH/HEIGHT tokens 2001-06-25 15:29:11 +00:00
Jouk Jansen
5e7591f94c Modified Files:
Mesa/src/descrip.mms

 Removed obsolete .obj files.

----------------------------------------------------------------------
2001-06-21 12:19:43 +00:00
Brian Paul
9e5e5e35a0 bumped version numbers 2001-06-20 19:52:11 +00:00
Brian Paul
4d99e5b2e7 also print GL_MAX_TEXTURE_SIZE 2001-06-20 19:12:30 +00:00
Brian Paul
f6df34ecbe updates for the 3.5 release 2001-06-20 19:02:48 +00:00
Brian Paul
d491f7bc14 removed beta from version string 2001-06-20 18:54:43 +00:00
Brian Paul
1fb583c50d added a few missing si-glu files 2001-06-19 21:49:06 +00:00
Brian Paul
6738d2ac78 add m4/ directory to tar file list 2001-06-19 19:51:23 +00:00
Brian Paul
293b786cee more updates to tar file lists for 3.5 2001-06-19 18:06:41 +00:00
Brian Paul
af197f5f8f fix glDraw/CopyPixels w/ fog bug. minor fog code clean-ups. 2001-06-18 23:55:18 +00:00
Brian Paul
aba535e765 tar file list updates for 3.5 2001-06-18 23:39:38 +00:00
Brian Paul
76f8274daf replaced -g with -O3 under linux-x86 2001-06-18 22:45:16 +00:00
Brian Paul
1b25898946 Consolidated source files. Since the re-org a number of source files
only had one or two functions left in them.
2001-06-18 17:26:08 +00:00
Brian Paul
24ae7c4c1f Added fi_type union typedef to glheader.h.
Replace various float/int casts with the fi_type union cast.
Fixes -fstrict-aliasing problems.
2001-06-15 15:22:07 +00:00
Brian Paul
e4276667da Enable GL_ARB_texture_compression for XMesa/GLX driver. Texture
compression isn't really implmented.  Just updated glTexImageXD()
to accept compressed internal format tokens.
2001-06-15 14:18:46 +00:00
Brian Paul
65c6ca9179 replace 255 with CHAN_MAX 2001-06-15 13:41:12 +00:00
Brian Paul
03d6c4c2db define both GL_ALL_CLIENT_ATTRIB_BITS and GL_CLIENT_ALL_ATTRIB_BITS (spec and SI don't agree) 2001-06-14 21:37:43 +00:00
Brian Paul
2db44ffe9d fixed a comment 2001-06-14 18:30:14 +00:00
Brian Paul
e9ba8e9214 disabled an assertion that doesn't seem to be needed 2001-06-13 14:57:55 +00:00
Brian Paul
cd1cefae91 Allow different max texture sizes for 1/2D, 3D and cube maps. 2001-06-13 14:56:14 +00:00
Brian Paul
cc22179cd8 fixed an assertion 2001-06-13 14:55:25 +00:00
Brian Paul
1178ed817f fixed a +/- typo in the Y coord setup 2001-06-13 14:53:52 +00:00
Brian Paul
688601911c moved glTexEnvi calls to better logical locations 2001-06-13 14:33:16 +00:00
Brian Paul
ae47121fa3 removed old, redundant CurrentTransformUnit state var 2001-06-12 22:08:41 +00:00
Brian Paul
1676268eab always feedback unit 0 texcoords 2001-06-12 22:06:53 +00:00
Brian Paul
baace9ffca don't compile glClientActiveTextureARB() into display lists, per the spec 2001-06-12 22:06:10 +00:00
Brian Paul
5ed63e0895 disable pixel transfer ops for glGetTexImage(), per the spec 2001-06-12 22:05:34 +00:00
Brian Paul
d3778fc129 added latest line and triangle bug fixes 2001-06-12 14:32:15 +00:00
Brian Paul
a2162e4228 Snap triangle x,y vertices to 1/16 subpixel positions.
Disabled tiny triangle threshold test.
2001-06-12 14:18:58 +00:00
Brian Paul
57b46ee6ea check for PB overflow in general_flat_rgba_line() 2001-06-11 19:44:01 +00:00
Brian Paul
e67d632d99 fixed minor display list bugs (#431517) 2001-06-11 19:17:11 +00:00
Jouk Jansen
5891a5dd55 Committing in .
Modified Files:
 	Mesa/src/macros.h

 Added
  #define COPY_4UBV()
 for non i386 machines
----------------------------------------------------------------------
2001-06-11 07:52:51 +00:00
Brian Paul
0ce9f39d23 add check for NULL malloc (from Stanford metacompilation analysis) 2001-06-08 20:10:55 +00:00
Brian Paul
5fd13173a1 added COPY_4UBV bug fix 2001-06-08 15:47:48 +00:00
Brian Paul
fabc30cfdd only copy GLubyte[4] as a GLuint on x86 2001-06-08 15:46:30 +00:00
Brian Paul
36822c50ad use unoptimized COPY_4UBV code on SPARC to avoid memory alignment problems (bug 430689) 2001-06-08 12:49:38 +00:00
davem69
4a497e649b Remove dependency on MESA sources from gl* files
in SPARC glapi optimizations by moving the icache
flush into the glapi_sparc.S file.

Brian, how is this?
2001-06-06 22:55:28 +00:00
Brian Paul
a5455bb374 test for X86_FXSR_MAGIC to be sure we have the _fpstate.magic field, needed for SSE signal handler 2001-06-06 18:12:35 +00:00
davem69
6f365c21d7 SPARC normal tnl optimizations. 2001-06-06 11:46:04 +00:00
davem69
775355a88a Sparc optimized GLAPI dispatch table. 2001-06-05 23:54:00 +00:00
davem69
0fab0702b0 Generate this now that I know which
gl.spec file to use.
2001-06-05 22:25:07 +00:00
Brian Paul
470a7b4874 minor clean-ups 2001-06-05 21:41:05 +00:00
Brian Paul
a1164746e7 filled in a bunch of the function template strings 2001-06-05 19:29:41 +00:00
davem69
ae14499101 Python script for making glapi_sparc.S
Unused until Brian shows me what gl.spec file he is
actually using for glapi_x86.S as all the ones I can
find seem out of sync.
2001-06-05 04:30:03 +00:00
davem69
e4f84b4936 Add USE_SPARC_ASM diagnostics to print_info. 2001-06-05 03:58:20 +00:00
Brian Paul
b20cea3902 removed some code in XMesaDestroyContext() which could lead to a segfault 2001-06-04 22:33:02 +00:00
Keith Whitwell
51b36396ae Adaptor code that lets tnl convert compiled (display list) cassettes back
to glVertex() type calls.  Allows driver-supplied tnl modules to avoid
fallback on glCallList inside begin/end pairs.

Still a little buggy...
2001-06-04 16:09:28 +00:00
Keith Whitwell
abd5134965 fixed some GL_POINTS probs 2001-06-04 15:34:31 +00:00
Keith Whitwell
bd58a63fe8 New files to provide glEvalPoint, glEvalCoord implementations for
driver tnl modules.
2001-06-04 13:57:35 +00:00
Keith Whitwell
2c2a956a3a Add api_arrayelt.c 2001-06-01 22:22:41 +00:00
Keith Whitwell
4b7d6f216b Working implementation of glArrayElt that decomposes to regular
glVertex/glNormal/etc calls.
2001-06-01 22:22:10 +00:00
Brian Paul
a7de8b6776 added minor comments 2001-06-01 16:29:18 +00:00
Brian Paul
8a039ffe0a applied Klaus Niederkrueger's CHAN_BITS==32 patch 2001-06-01 13:23:27 +00:00
Keith Whitwell
741c2e6434 apply David Miller's quad/backcolor patch 2001-06-01 12:07:15 +00:00
Brian Paul
4097590bc6 replaced #ifdef 0 with #if 0 2001-05-31 23:06:01 +00:00
Brian Paul
21f80baa35 swapped in/out arguments to interp_func. Improved comments 2001-05-31 23:03:05 +00:00
Brian Paul
e715c4a62d fixed s/w alpha channel bug 2001-05-31 19:25:25 +00:00
Brian Paul
987caacbeb GLubyte -> GLchan fix 2001-05-30 17:44:14 +00:00
Brian Paul
b5d3f2c521 added current raster fog coord and related code 2001-05-30 15:22:04 +00:00
Brian Paul
529e48bb0f added test for EXT_fog_coord 2001-05-30 14:43:17 +00:00
Brian Paul
47a3c67fa6 forgot to check-in yesterday 2001-05-30 14:39:47 +00:00
Keith Whitwell
71f2c401c5 rerun vertex stage on _MESA_NEW_NEED_EYE_COORDS 2001-05-30 10:01:41 +00:00
Brian Paul
84cac8441f more DRI libGL-related changes 2001-05-29 23:15:07 +00:00
Brian Paul
e4a01fd7e1 added math/m_debug_clip.c 2001-05-29 22:06:13 +00:00
Brian Paul
655ba5d992 removed some old DRI-isms 2001-05-29 19:48:46 +00:00
Brian Paul
ffa10b1c3b added new functions to GLX_functions[] 2001-05-29 16:23:26 +00:00
Brian Paul
645c1cef13 s/void */GLvoid */ 2001-05-29 15:44:06 +00:00
Brian Paul
736fcbec47 infrastructure for GL_ARB_multisample 2001-05-29 15:23:48 +00:00
Brian Paul
5ff1c613ea removed unused var 2001-05-29 15:23:15 +00:00
Brian Paul
b0bb4f6226 more work on XMesa / libGL integration 2001-05-25 21:51:02 +00:00
Brian Paul
b95884c53d added void to __GLXextFuncPtr 2001-05-25 15:44:06 +00:00
Brian Paul
2a3cc7d907 added missing GLX_SGIS_multisample tokens 2001-05-25 15:41:29 +00:00
Brian Paul
c98da4d99a changed #if OLD_VMS to #ifdef OLD_VMS 2001-05-25 15:40:29 +00:00
Brian Paul
12c1bee87f added some casts so that older glx.h can be used 2001-05-24 20:05:32 +00:00
Brian Paul
e203c9cdd8 change GLXContext and GLXFBConfig typedefs 2001-05-24 19:07:14 +00:00
Brian Paul
7cf50e137d Initial changes to allow Mesa and its fake GLX to be built into XFree86 libGL. 2001-05-24 19:06:21 +00:00
Brian Paul
bcebfe647f added GL_SGIS_generate_mipmap 2001-05-24 14:49:14 +00:00
Brian Paul
9228e17bb5 Finished GL_SGIS_generate_mipmap. Should be trivial to enable in DRI drivers. 2001-05-24 14:47:56 +00:00
Brian Paul
55ed11bac5 prototyping some new stuff 2001-05-24 00:00:57 +00:00
Brian Paul
874ae72495 added color table clamp bugfix 2001-05-23 23:55:52 +00:00
Brian Paul
f6e0e92beb fix bug 426657: need to clamp RGBA before color table lookups 2001-05-23 23:55:01 +00:00
Brian Paul
6f0ab1d868 import from 3.4 branch 2001-05-23 14:45:01 +00:00
Brian Paul
e34d63f087 added 3.4.2 changes, SPARC assembly 2001-05-23 14:44:12 +00:00
Brian Paul
04a6c35819 updated copyright 2001-05-23 14:42:47 +00:00
Brian Paul
7943b349d6 SPARC assembly optimizations from David Miller. 2001-05-23 14:27:03 +00:00
Brian Paul
8bd0693101 a little more work on GL_SGIS_generate_mipmap 2001-05-22 21:49:03 +00:00
Brian Paul
6b1e4ea5a5 fixed a number of multi-texture line bugs 2001-05-21 18:13:43 +00:00
Brian Paul
300e1056f5 added multitexture support 2001-05-21 17:45:25 +00:00
Brian Paul
3893e638e6 initial support for GL_SGIS_generate_mipmap extension 2001-05-21 16:41:03 +00:00
Gareth Hughes
e7e38a47a8 Initial commit of cliptest work. More to come shortly.
- Add debug, benchmark code.
 - Change linux/x86 FAST_MATH code to GCC/x86, and clear FP exceptions
   before exiting the fast math block.
 - Remove divide-by-zero test in x86 cliptest, and set clipped vertices
   to [0,0,0,1] instead of leaving them uninitialized.
2001-05-21 16:33:41 +00:00
Brian Paul
e9482d004f s/Height/height/ (Jeff Potter) 2001-05-21 14:46:33 +00:00
Brian Paul
d577248b89 added missing #undefs at end of file 2001-05-18 23:58:26 +00:00
Brian Paul
ca78774fc7 fixed a bad error string in ClientActiveTexture() 2001-05-18 22:10:49 +00:00
Brian Paul
569b5f32b9 fixed two GL error calls 2001-05-17 21:33:14 +00:00
Brian Paul
758a21f104 fixed Width/Height typo (Jeff Hartmann) 2001-05-17 20:18:45 +00:00
Brian Paul
1341f40dfe removed (void) index; statement 2001-05-17 14:49:38 +00:00
Keith Whitwell
5439ab0683 Comment out __FUNCTION__ usage. 2001-05-17 11:33:33 +00:00
Keith Whitwell
89dae684aa Fix order of decomposition of quad.
Remove 'swrast->_MultiTexEnabled' derived value.
2001-05-17 09:32:17 +00:00
Brian Paul
47cf442c11 use DEFARRAY, etc macros to work around 32k data limit on Macs (Tom Goon) 2001-05-16 20:27:12 +00:00
Brian Paul
441a4af435 generate INVALID_OPERATION if active texture != 0 in glMap[12][fd] 2001-05-16 17:06:28 +00:00
Keith Whitwell
dbd0dad580 fix for Jouk's glplanet bug 2001-05-16 09:28:32 +00:00
Brian Paul
c47a5327d3 added latest 3.5 changes 2001-05-15 21:31:36 +00:00
Brian Paul
5071b0812f Apply antialiasing coverage factor to alpha after texture application,
not before.
2001-05-15 21:30:26 +00:00
Brian Paul
a51f07d5a1 _mesa_pack_index_span() was broken for non-GLubyte datatypes 2001-05-15 21:21:08 +00:00
Brian Paul
9e48553ccc increase FOG_MAX to 10.0 to fix CI conformace failure 2001-05-15 20:52:51 +00:00
Brian Paul
80532da3bf minor clean-ups and more comments 2001-05-15 16:18:13 +00:00
Brian Paul
d57bcbed46 moved some misplaced compiler flags from CC assigment to CFLAGS 2001-05-15 15:27:43 +00:00
Brian Paul
0ab16e0134 New IFLOOR, ICEIL macros from Josh Vanderhoof. Fixes problems with
IFLOOR(1.99999)==2, for example.  Moved some macros from config.h to glheader.h
2001-05-14 23:11:12 +00:00
Keith Whitwell
649971518c typo 2001-05-14 16:34:24 +00:00
Brian Paul
f89035b8c4 changed MAX_HEIGHT to 2048 2001-05-14 16:25:18 +00:00
Brian Paul
9bf68ad963 New triangle rasterization code. Store per-span initial/step values in the
new triangle_span struct.  Much cleaner code and possibilities for future
optimizations.
2001-05-14 16:23:04 +00:00
Keith Whitwell
9cf779e7ac Fix for glean texgen test. 2001-05-14 09:00:51 +00:00
Keith Whitwell
b8d091d350 increase blocksize, remove dead opcodes 2001-05-14 08:57:36 +00:00
Gareth Hughes
53e4ebd4e3 Fix long-standing FP exception bug in _mesa_x86_cliptest_points4(). 2001-05-13 18:55:15 +00:00
Brian Paul
d29e9dfe93 fixed scissor clear problem (Michael Saunders) 2001-05-11 18:58:32 +00:00
Keith Whitwell
c6083e1dc4 Clean up _tnl_Begin/begin/hard_begin.
Fix some problems with draw_arrays, draw_elements.
2001-05-11 15:53:06 +00:00
Keith Whitwell
b8f9980999 fix a couple of small bugs 2001-05-11 15:47:02 +00:00
Keith Whitwell
5759f53934 made render path selection more flexible 2001-05-11 12:08:15 +00:00
Keith Whitwell
6d1055c967 Clean up translation of array elements, copying of elts in pure-elt
cassettes.  Fixes problem with isosurf/compiled-array-elt/strips.
2001-05-11 08:11:31 +00:00
Brian Paul
1a3e034b12 redo previous change in a more defensive way 2001-05-10 18:01:19 +00:00
Brian Paul
a5cc6155d4 added check for zero-length spans, avoids potential problems later 2001-05-10 17:55:54 +00:00
Brian Paul
dbed202744 fixed some divide by zero problems found w/ conform 2001-05-10 17:41:41 +00:00
Brian Paul
bd3d9b9d04 RGBA mode GL_NAND was wrong, fixed 16-bit GLchan support 2001-05-10 16:54:12 +00:00
Keith Whitwell
8b6a91a93f Set 'prefer_float_colors' true, now that tnl uses them natively.
Apply Jeff Epler's optimization to ci spans as well, remove old code.
2001-05-10 15:42:42 +00:00
Brian Paul
e296d7f0e4 applied Jeff & Keith's optimization to write_span_mono_pixmap() 2001-05-10 14:21:17 +00:00
Brian Paul
ad51be1ad4 fixed bad texture border test (sometimes caused a segfault) 2001-05-10 12:57:12 +00:00
Brian Paul
72deb502d7 minor clean-up 2001-05-10 12:33:28 +00:00
Keith Whitwell
bc69de5f21 Driver interface changes 2001-05-10 12:22:32 +00:00
Keith Whitwell
7954a0cafd Replace PipelineStart, PipelineFinish with RunPipeline. Clean up
_tnl_run_pipeline() a little.
2001-05-10 12:18:38 +00:00
Brian Paul
f2bcadec7c removed linux-386-opt-V2-glide config since FX_V2 symbol has no significance anymore 2001-05-10 03:00:58 +00:00
Brian Paul
f50bbbf855 check hardware type and use SETUP_SNAP if needed 2001-05-10 02:59:04 +00:00
Brian Paul
8acb7e9ea2 fixed loop bug in _mesa_ConvolutionFilter2D() 2001-05-09 22:24:22 +00:00
Brian Paul
20dc7e6945 minor clean-ups 2001-05-09 21:58:19 +00:00
Brian Paul
b9f2494bfc fixed FP underflow problem in kfact computation 2001-05-09 21:36:52 +00:00
Brian Paul
91979127ec fixed font/bitmap x-offset bug (Frank Warmerdam) 2001-05-09 20:45:00 +00:00
Brian Paul
7884aa151f fixed Y flip problem in read_rgba_pixels() (Frank Warmerdam) 2001-05-09 20:42:37 +00:00
Brian Paul
a41edc31ce check for tiny values in dir[] vector in calcposobjs(), prevents FP underflows later 2001-05-09 20:02:28 +00:00
Brian Paul
61cb081a35 missed a GLfixed->GLfloat fog change 2001-05-09 17:31:46 +00:00
Brian Paul
78023e9808 don't call _mesa_win_fog_coords_from_z() if fog is disabled, fixes FP exception 2001-05-09 17:21:51 +00:00
Brian Paul
7b9ff48d02 make sure rotation plugged into sin/cos lookup tables is always positive, fixes FP exception 2001-05-09 17:14:19 +00:00
Brian Paul
f2bfc66c5d fixed minor logic error in _mesa_StencilOp() 2001-05-09 16:34:09 +00:00
Keith Whitwell
cd487af90b remove debug code 2001-05-09 15:34:08 +00:00
Keith Whitwell
5f2230c7bf add missing translate functions 2001-05-09 14:12:34 +00:00
Keith Whitwell
bcf749e83a fix possible segfault on destroy context 2001-05-09 13:53:36 +00:00
Keith Whitwell
335634b807 Add FLUSH_CURRENT() calls to fix ordering problems (incl. hierarchical
dlist calls).
2001-05-09 12:48:21 +00:00
Keith Whitwell
e809379caf Use correct PV when clipping. 2001-05-09 12:25:40 +00:00
Keith Whitwell
0a716cdff8 Don't scale basealpha by 255 now it's a float. 2001-05-09 12:24:51 +00:00
Keith Whitwell
0ff31445f2 fix eval/colormaterial interaction 2001-05-09 11:06:30 +00:00
Brian Paul
bc920f08f5 set MRD to 1.0, fixes new Glean polygon offset failure 2001-05-07 16:32:51 +00:00
Brian Paul
dae62174c5 sample plane equations at fragment centers, not lower-left corner 2001-05-07 16:01:59 +00:00
Gareth Hughes
c5e907e501 Add new tests. 2001-05-07 14:16:19 +00:00
Gareth Hughes
95d0fe9c11 More cleanups. 2001-05-07 14:06:15 +00:00
Gareth Hughes
c329f0824c Initial new Win32 build support. More to come. 2001-05-07 13:58:00 +00:00
Brian Paul
43caa5c09a added info about driver status in 3.5 2001-05-04 17:42:53 +00:00
Brian Paul
a2519c8aed do FLUSH_VERTICES() in glGet*() functions to make occlusion testing work, perhaps needed for other cases, like GL_CURRENT_COLOR 2001-05-03 23:55:38 +00:00
Brian Paul
1b3528fe63 interpolate fog valus as floats, not fixed - fixed the swrast fog problem 2001-05-03 22:13:32 +00:00
Keith Whitwell
652a14a215 fix for moebius infinite loop 2001-05-03 16:49:27 +00:00
Brian Paul
a03463303d added assertion to catch infinite loop in _tnl_fixup_compiled_cassette() - might help Keith 2001-05-03 16:11:16 +00:00
Brian Paul
9e351d52ae minor clean-ups and warning fixes 2001-05-03 14:11:18 +00:00
Keith Whitwell
5028216c81 add disabled test to turn on vertex snapping. 2001-05-03 09:11:03 +00:00
Brian Paul
531ac77263 fixed vertex color problems 2001-05-02 23:08:35 +00:00
Brian Paul
fe5cb830b1 teximage updates. seems to work fine. 2001-05-02 21:04:08 +00:00
Brian Paul
104c9fde4e changed parameters to _mesa_rescale_teximage2d() 2001-05-02 21:02:38 +00:00
Brian Paul
70bb907286 minor XFree86 change 2001-05-01 22:01:11 +00:00
Keith Whitwell
adcc2ce92b float color changes 2001-05-01 19:17:15 +00:00
Brian Paul
7448e33768 applied Diego Santa Cruz's patch to triangulateRectCenter() 2001-05-01 14:56:00 +00:00
Keith Whitwell
5b976943ee removed debug 2001-05-01 13:15:28 +00:00
Keith Whitwell
f4a003c3ca fix from Jouk 2001-05-01 07:25:41 +00:00
Keith Whitwell
0e14d6d68e Lots more eval fixes 2001-04-30 21:08:51 +00:00
Keith Whitwell
16837e4219 Restore optimization for cva glArrayElement operation. 2001-04-30 09:04:00 +00:00
Brian Paul
ac4a41d198 sync with XFree86/DRI glcore.h, now identical 2001-04-29 19:31:45 +00:00
Keith Whitwell
3d49061bfc typo 2001-04-29 08:48:43 +00:00
Keith Whitwell
d92f615fe5 More HW_DIVIDE checks. 2001-04-29 08:44:30 +00:00
Keith Whitwell
1018a16f39 Allow drivers to provide a dynamic CHECK_HW_DIVIDE, to turn the divide off
according to a runtime test.
2001-04-29 08:41:09 +00:00
Keith Whitwell
f358988f2e fix color copying in twosided quads 2001-04-28 15:47:48 +00:00
Keith Whitwell
04a374bd05 add specialized interp for backcolor, edgeflags 2001-04-28 15:26:43 +00:00
Keith Whitwell
51c0c71811 Support for floating point color representation in tnl module. 2001-04-28 08:39:17 +00:00
Brian Paul
27b0758a94 added -display option 2001-04-27 21:19:13 +00:00
Brian Paul
1832f1cc86 changed xmesa_visual and xmesa_buffer structs to directly include GLvisual and GLframebuffer structs instead of pointers 2001-04-27 21:18:25 +00:00
Brian Paul
75978bd85e added _mesa_free_framebuffer_data() 2001-04-27 21:17:20 +00:00
Brian Paul
4dbd625eaf added 16-bit/channel rendering info 2001-04-26 22:33:34 +00:00
Brian Paul
785c3469f4 Added Makefile support for building libOSMesa16.so which is Mesa compiled
for 16-bit color channels, using the OSMesa driver.
2001-04-26 22:27:09 +00:00
Brian Paul
f20ea88f88 fixed mem leak in XFreeFontInfo() call 2001-04-26 19:28:02 +00:00
Brian Paul
11785d441d flush pipeline in WMesaSwapBuffers (Frank Warmerdam) 2001-04-26 19:14:35 +00:00
Keith Whitwell
908be619fd first pass at eval fixes 2001-04-26 14:53:48 +00:00
Keith Whitwell
8bce6a217a no-copy drawarrays for remaining non-fan primitives 2001-04-26 14:51:06 +00:00
Brian Paul
5a2f32b102 fixed a potential tex obj reference count problem involving multi-texture 2001-04-25 18:21:05 +00:00
Brian Paul
830bf65275 added -Wundef to linux-debug compiler flags 2001-04-25 15:52:15 +00:00
Brian Paul
73ccfa0e9a added ShowAlphaBuffer feature - 'a' key 2001-04-25 15:51:32 +00:00
Brian Paul
3bfd0e6f9f minor simplification in glGetTexLevelParameter 2001-04-25 15:41:22 +00:00
Brian Paul
31acab88f2 fixed typo in GL_ARB_transpose_matrix 2001-04-24 21:52:36 +00:00
Brian Paul
08b3ff10d3 added -i and -h options 2001-04-24 20:57:36 +00:00
Brian Paul
df4fd765d5 reordered a few blend enums 2001-04-24 16:12:48 +00:00
Brian Paul
8753bd8900 fixed problems with texel component size queries in glGetTexLevelParameter() 2001-04-24 16:11:35 +00:00
Brian Paul
691f58930b texture image code updates (not finished) 2001-04-24 03:02:23 +00:00
Brian Paul
29acfe5bd4 assign texImage->FetchTexel only if NULL 2001-04-24 03:00:17 +00:00
Brian Paul
ad608fe44d fixed two mistakes in texture combine code 2001-04-23 18:06:09 +00:00
Brian Paul
cb6ae7b16b compilation fixes - texturing isn't working at this time 2001-04-20 22:51:55 +00:00
Brian Paul
b570a180da Minor fixes for Win32 (Karl Schultz). 2001-04-20 19:21:41 +00:00
Brian Paul
0a31a67269 improved a glBindTexture error message 2001-04-20 17:16:52 +00:00
Brian Paul
1c85aa3332 Fixed a texture conversion problem: sometimes need to produce an intermediate
texture image in the base internal format between user->Mesa format
conversion.  See comments in texstore.c
2001-04-20 16:46:04 +00:00
Brian Paul
3518a7950f check-in of old updates 2001-04-20 02:34:12 +00:00
Brian Paul
e3a7cc1f9e removed glext.h hacks 2001-04-19 22:40:45 +00:00
Brian Paul
5ff4075a69 bug fixes, added missing state query cases 2001-04-19 22:39:50 +00:00
Brian Paul
4c00e30ef0 added GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_border_clamp (temporary until SGI updates this file) 2001-04-19 22:34:05 +00:00
Brian Paul
54207dfde6 added SecondaryColor functions 2001-04-19 22:33:03 +00:00
Keith Whitwell
18acf6e6f1 Add more options, including '-10','-100' and '-1000' to limit nr of vertices. 2001-04-19 13:12:40 +00:00
Keith Whitwell
3004bf8fd7 Remove values from VB->importable_data as those arrays are removed
from the VB.
2001-04-19 12:23:07 +00:00
Keith Whitwell
2b7c042525 Fix striding of color material inputs. (Fixes glean colorLitPerf) 2001-04-19 12:22:09 +00:00
Brian Paul
72fc93302c minor optimization to dot3 computation 2001-04-17 22:08:28 +00:00
Brian Paul
bcfe3936a8 Fixed a number of minor GL_ARB_texture_env_combine/dot3 issues. 2001-04-17 21:25:53 +00:00
Brian Paul
15eddf38fb another fix in import_texcoord() 2001-04-17 21:08:32 +00:00
Brian Paul
a6c6fce7e8 replaced ac->count with ac->count - ac->start in import_texcoord(), as in the other import functions 2001-04-17 20:37:44 +00:00
Brian Paul
0d47d26a68 fixed mis-ordered args to _math_trans_4f() in _tnl_fill_immediate_drawarrays() 2001-04-17 17:01:33 +00:00
Brian Paul
62c24f315b return hex string for unknown tokens in _mesa_lookup_enum_by_nr() 2001-04-16 21:07:33 +00:00
Brian Paul
a2ade36eb1 added missing 'break' in _mesa_TexEnvfv(), better error messages 2001-04-16 21:06:54 +00:00
Brian Paul
bf478280eb added a work-around in _swrast_copy_texsubimage[123]d() to fix alpha channel problem in some DRI drivers (see comments) 2001-04-13 00:13:51 +00:00
Brian Paul
77ff5e038a b-key toggles between textures w/ and w/out border 2001-04-12 20:50:26 +00:00
Brian Paul
608889d18f Moved FRAC macro out of mmath.h into s_texture.c since it's only used there
and doesn't do what one might expect for negative values.
Reimplemented FRAC in terms of floor() to fix glitches seen in tests/texwrap.c.
Minor fix for problem with GL_CLAMP_TO_BORDER_ARB with GL_NEAREST sampling.
2001-04-12 15:18:07 +00:00
Brian Paul
93de8d3d86 Reimplemented glPopAttrib code for GL_TEXTURE_BIT. It now calls the
various texture API functions to restore state.  Before, the device
drivers weren't getting notified of important texture state changes.
2001-04-11 23:22:20 +00:00
Brian Paul
6ac852d45b fixed some divide by zero conformance problems 2001-04-10 15:46:51 +00:00
Brian Paul
33143303fe Added IROUND_POS() macro to mmath.h and use where appropriate. (Klaus Niederkrueger) 2001-04-10 15:25:45 +00:00
Alan Hourihane
148bd34079 remove a HAVE_ELTS that I'd stuck before. 2001-04-09 15:41:11 +00:00
Keith Whitwell
8a09c3a34b Perform fixup on material values 2001-04-09 14:47:34 +00:00
Alan Hourihane
c818d6cce5 fix use of projected vertices with notex vertices when DO_PTEX isn't set. 2001-04-09 10:16:01 +00:00
Alan Hourihane
30c75badd1 Add quad and quad_strip 2001-04-07 16:16:58 +00:00
Alan Hourihane
d3abe14a3a add FINISH function at end of each render_* function
fix typo.
2001-04-06 16:26:41 +00:00
Brian Paul
2aacac9a5d replaced IntFormat GL_BGRA with GL_RGBA, fixes problems calling _mesa_base_texture_format() 2001-04-04 23:56:33 +00:00
Brian Paul
01429fa46a GL_INTENSITY case was incorrect in extract_float_rgba() 2001-04-04 23:22:38 +00:00
Brian Paul
36f3712e85 fixed tmpTexelSize computation bug 2001-04-04 22:41:23 +00:00
Brian Paul
7d58f44f73 More texture image changes.
1. Added ctx->Driver.ChooseTextureFormat() function.  Examines user's
   internalFormat, format, type params and returns a gl_texture_format.
2. _mesa_store_teximage[123]d() calls ctx->Driver.ChooseTextureFormat(),
   allocates storage and transfers the image into the desired format.
3. _mesa_transfer_teximage() now takes a gl_texture_format to describe
   the destination format.  Any combination of input format/type and
   output gl_texture_format is accepted.  Uses optimized _mesa_convert_-
   texsubimage[123]d() functions when possible.
3. DRI driver's TexImage[123]D functions should be a lot simpler now.
2001-04-04 21:54:20 +00:00
Brian Paul
bb0830da9e Updated bug report info in _mesa_problem() 2001-04-04 13:38:51 +00:00
Jouk Jansen
bb95cf8934 Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 Removed glapinoop

----------------------------------------------------------------------
2001-04-04 12:02:12 +00:00
Brian Paul
bc80faa7d9 another fix to clear_32bit_ximage() 2001-04-03 17:35:54 +00:00
Brian Paul
a9e2abdcfb include fxdrv.h before other headers (Ivan Kalvatchev) 2001-04-03 16:32:29 +00:00
Brian Paul
2e1ed6447a fixed wglUseFontBitmapsA() bugs (Frank Warmerdam) 2001-04-03 16:25:54 +00:00
Brian Paul
9d205e3542 clear pixel value wasn't byteswapped for scissored clears in clear_32bit_ximage() 2001-04-03 16:19:54 +00:00
Brian Paul
373aea11c8 applied David's patch for parsing display's server:screen string 2001-04-02 22:45:07 +00:00
Brian Paul
67f7554232 querying proxy texture image info was segfaulting because of NULL TexFormat pointer 2001-03-30 21:14:30 +00:00
Brian Paul
347b3f0daf add texture border width to x/y/zoffset in gl[Copy]TexSubImage*D() functions to accomodate negative offsets correctly 2001-03-30 21:12:15 +00:00
Brian Paul
e116d3b3e5 texImage->FetchTexel wasn't getting initialized in _mesa_CopyTexImage1/2D() 2001-03-30 15:31:44 +00:00
Brian Paul
7b0b2ec73a fixed compilation problems related to ctx->_Enabled removal 2001-03-30 15:16:12 +00:00
Gareth Hughes
5e23af22f7 Remove all traces of CULL_MASK_ACTIVE. 2001-03-30 14:44:43 +00:00
Keith Whitwell
afc5699b08 Fix calculation of fog coordinate in translate_vertex(). 2001-03-30 00:39:02 +00:00
Keith Whitwell
ed39a43b8c Remove ENABLE_* flags, ctx->_Enabled.
Replace with ctx->Texture._TexMatEnabled, ctx->Texture._TexGenEnabled.
2001-03-29 21:16:25 +00:00
Brian Paul
2780ed4b97 silence a compiler warning 2001-03-29 17:15:21 +00:00
Keith Whitwell
3d5815f463 Removed DD_STENCIL, DD_FEEDBACK, DD_SELECT.
Added some switchable debug to s_context.c
2001-03-29 17:08:26 +00:00
Brian Paul
ee403ff0ba Removed DD_Z_NEVER.
Replaced SEPERATE with SEPARATE.
Renumbered _NEW_ flags.
Removed _NEW_COLORTABLE.
2001-03-29 16:50:31 +00:00
Gareth Hughes
1b2fef5c28 Consolidation of asm code in 3.5 2001-03-29 06:46:15 +00:00
Gareth Hughes
8e48a232fe Make generation of matypes.h more transparent. 2001-03-29 03:41:39 +00:00
Gareth Hughes
c41edfb7c4 Add missing GEN_SOURCES definitions. 2001-03-29 03:14:48 +00:00
Brian Paul
3d9168025c compilation updates 2001-03-28 21:39:49 +00:00
Brian Paul
f1f288182e adjustment to coverage sample positions 2001-03-28 21:37:24 +00:00
Gareth Hughes
16a8e986ce - Restore texImage->IntFormat.
- Fix FX driver texture image conversions.
2001-03-28 21:36:31 +00:00
Brian Paul
d082417dae check for startX off the right edge of the window 2001-03-28 21:36:31 +00:00
Brian Paul
5bfaa2f12e use Image[i]->TexFormat to check for mipmap consistency 2001-03-28 21:31:54 +00:00
Brian Paul
38e3675d7d simplify test for specific texture formats 2001-03-28 21:31:24 +00:00
Gareth Hughes
0a59ca6cae New type system for assembly code. Asm files should now include
matypes.h, which includes assyntax.h and is generated from the core Mesa
header files.
2001-03-28 20:44:43 +00:00
Gareth Hughes
38f28665bf More texture format updates. Drivers now need only plug an appropriate
format into texImage->TexFormat, the rest is handled by core Mesa.
2001-03-28 20:40:51 +00:00
Gareth Hughes
53933fe9db More informative display of texture parameters. 2001-03-28 20:25:14 +00:00
Gareth Hughes
29cded2654 Delete libGLU.so* from ../lib before installing it. 2001-03-28 20:17:55 +00:00
Brian Paul
c7aeb8bf1f removed a debug message 2001-03-28 17:39:12 +00:00
Brian Paul
46560b94ae remove TEST_L and JZ instructions; always jump through the _glapi_Dispatch pointer 2001-03-28 17:22:11 +00:00
Brian Paul
3c257e187b New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.
Folded glapinoop.c code into glapi.c.
Added code to glapitemp.h to fill in dispatch tables.
Updated Makefiles.
2001-03-28 17:19:58 +00:00
Brian Paul
fb8af6fc97 pass dst and src to CONVERT_TEXEL() macros to fix non-ANSI problems 2001-03-27 20:32:24 +00:00
Brian Paul
81e3955acf fixed RGBA/RGB typo 2001-03-27 20:26:37 +00:00
Brian Paul
197c526d63 texFormat was a random value in _mesa_store_teximage3d(), fix by undoing last changes 2001-03-27 20:26:10 +00:00
Gareth Hughes
19d1e43261 Updates required for DRI drivers on mesa-3-5-branch. 2001-03-27 19:18:02 +00:00
Brian Paul
a767bff929 added rules for readtex.c and readtex.h 2001-03-27 17:44:35 +00:00
Brian Paul
5479e93031 double buffer by default. if drawSmooth, use 50% alpha at top of polygon 2001-03-27 17:38:28 +00:00
Brian Paul
8afa9e593b set initial window pos 2001-03-27 17:35:26 +00:00
Brian Paul
0a355dc010 clean-up of tunnel demos 2001-03-27 17:30:51 +00:00
Brian Paul
25a5dc2ea7 moved shadow code into teapot.c 2001-03-27 17:08:20 +00:00
Brian Paul
06ed3f0a0a silence compiler warnings 2001-03-27 16:42:37 +00:00
Brian Paul
6dbb39025c removed DO_GEOMETRY 2001-03-26 23:36:51 +00:00
Brian Paul
5535aca5df change glTexImage3D() internalFormat to GLenum to match other OpenGLs 2001-03-26 20:02:38 +00:00
Brian Paul
0bc933a460 test texture wrap modes 2001-03-26 19:45:57 +00:00
Brian Paul
2bb04cad14 added GL_ARB_texture_border_clamp 2001-03-26 19:42:40 +00:00
Gareth Hughes
425fea1c34 - Minor cleanups of ctx->Driver.Current*Primitive usage.
- Remove unused gl_reduce_prim array.
2001-03-24 06:01:27 +00:00
Gareth Hughes
577f318e0e Fix ASSERT_OUTSIDE_SAVE_BEGIN_END() macro as well. 2001-03-24 05:23:46 +00:00
Brian Paul
63fae71713 added glxgears 2001-03-23 22:48:35 +00:00
Brian Paul
355da23785 gears using GLX instead of GLUT 2001-03-23 22:46:26 +00:00
Brian Paul
39557c3921 added silly mesa_hack() function and -b option 2001-03-23 21:41:44 +00:00
Brian Paul
6d62d7f321 minor tweak to visual setup for accum buffers 2001-03-23 21:37:05 +00:00
Brian Paul
4672b2d88c fixed Min/Max lod clamp bug 2001-03-23 18:53:26 +00:00
Gareth Hughes
b3678f1080 Some more minor cleanups of macros. 2001-03-23 06:07:31 +00:00
Gareth Hughes
8b7dfa8526 Remove compiler warnings about ASSERT_OUTSIDE_BEGIN_END() macro. 2001-03-23 06:01:03 +00:00
Gareth Hughes
7387394e59 Initial demo of GL_EXT_texture_filter_anisotropic extension. 2001-03-22 15:24:15 +00:00
Brian Paul
19bf744556 enable GL_ARB_texture_env_combine and GL_ARB_texture_env_dot3 in _mesa_enable_sw_extensions() 2001-03-22 14:42:24 +00:00
Jouk Jansen
3427e3547e Modified Files:
Mesa/si-glu/libnurbs/nurbtess/monoTriangulation.cc
 	Mesa/si-glu/libnurbs/nurbtess/sampleCompRight.cc

 gluos.h included in order to bypass compiler warnings on unreachable code on
 VMS systems.
----------------------------------------------------------------------
2001-03-22 11:41:40 +00:00
Jouk Jansen
df1e73af7a Modified Files:
Mesa/descrip.mms Mesa/mms-config Mesa/demos/descrip.mms
 	Mesa/si-glu/include/gluos.h
 	Mesa/si-glu/libnurbs/internals/bufpool.h
 	Mesa/si-glu/libnurbs/internals/mysetjmp.h
 	Mesa/src-glut/descrip.mms
 Added Files:
 	Mesa/si-glu/descrip.mms Mesa/si-glu/mesaglu.opt

 changes needed to compile SI-GLU on VMS.

----------------------------------------------------------------------
2001-03-22 11:38:36 +00:00
Gareth Hughes
ea1bfcc80a Remove formats that no longer exist. 2001-03-22 06:26:18 +00:00
Gareth Hughes
2f177e2906 Minor updates. 2001-03-22 06:25:23 +00:00
Gareth Hughes
7acad72a1a Fix texture format enum values (Brian Paul). 2001-03-22 06:23:56 +00:00
Brian Paul
8806915c3a added GL_ARB_texture_env_dot3 enums 2001-03-22 04:57:09 +00:00
Brian Paul
a13df148df minor comment update 2001-03-22 04:56:50 +00:00
Brian Paul
1a59875367 added GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3 2001-03-22 04:54:58 +00:00
Brian Paul
e9313a64c1 clean-up in _swrast_choose_triangle() 2001-03-22 04:54:08 +00:00
Gareth Hughes
d2733fa196 Add PolygonOffset driver callback. 2001-03-22 00:36:27 +00:00
Brian Paul
8ac1f97e9e added teximage rescaling code. untested at this point 2001-03-21 18:23:39 +00:00
pesco
6f3178a3be * src/swrast_setup/ss_tritmp.h (quad): Changed name of this function to
quadfunc.
* common_rules.make: Use tabs for command indentation.
2001-03-21 17:11:32 +00:00
Brian Paul
1639518b64 minor updates for 3.5 2001-03-21 16:47:33 +00:00
Brian Paul
935d5e5daa use new texture conversion code, still have to do image rescaling 2001-03-21 16:47:19 +00:00
Brian Paul
0299ad7532 renamed some vars, added a bunch of comments 2001-03-21 16:44:08 +00:00
Brian Paul
c8cfbf7c19 minor re-org in sample_depth_texture() 2001-03-21 16:04:49 +00:00
Brian Paul
2743def830 sync'd with the latest changes in XFree86 (cygwin stuff) 2001-03-21 16:00:17 +00:00
Gareth Hughes
fa6be6e77a Fix compilation with GLU 1.1 2001-03-21 02:47:32 +00:00
Gareth Hughes
f5328c534d Make ESC quit. 2001-03-21 02:44:36 +00:00
Gareth Hughes
16cdc6ab12 Revert back to new tessellator, check version string to be sure we're
running with a valid GLU library.
2001-03-21 02:43:14 +00:00
Brian Paul
56671022f9 depth images were broken by latest teximage changes, this fixes the problem 2001-03-21 01:08:37 +00:00
Gareth Hughes
b5f0de18b9 Make COPY_FLOAT available to a wider audience. 2001-03-20 18:35:23 +00:00
Gareth Hughes
23f48064b8 More updates. Radeon tnl module still disabled by default. 2001-03-20 18:33:41 +00:00
Brian Paul
815ad714b4 fixes to make old GLU code compile with new GLU 1.3 header 2001-03-20 17:56:10 +00:00
Jouk Jansen
f3e3178751 Committing in .
Modified Files:
 	Mesa/src/descrip.mms Mesa/src/texutil_tmp.h

 -Updated VMS makefile
 -__FUNCTION__ is not a defined on VMS (and maybe other systems) For VMS
  __FUNCTION__ is defined to  in texutil_tmp.h



----------------------------------------------------------------------
2001-03-20 10:18:13 +00:00
pesco
68af9a0773 * common_rules.make: Created to hold the conditional build rule
override. All Makefile.am's updated.
2001-03-20 00:33:18 +00:00
Brian Paul
4e856077b7 fix for gl_ztrick bug (Ove Kaaven) 2001-03-19 22:45:52 +00:00
pesco
6507d9249d * si-glu/libnurbs/: Undid move of glimports.h, mystdio.h, mystdlib.h. 2001-03-19 17:52:02 +00:00
Alan Hourihane
e18599a6c3 fix glxinfo to query current display. 2001-03-19 13:58:45 +00:00
Alan Hourihane
92eac1c765 fix cast 2001-03-19 13:27:15 +00:00
Keith Whitwell
b048d8e084 New files 2001-03-19 02:28:59 +00:00
Keith Whitwell
7098924599 Split driver struct into swrast/tnl/core components. 2001-03-19 02:25:35 +00:00
pesco
d9bf6ccce9 * gen_srclists.sh: Use getopt to parse the command line. Added command
line option -n (dry run) and -h. Directory list can be specified on the
command line.
Added command line options -p and -l. Some other tweaks.

* si-glu/libnurbs/glimports.h, si-glu/libnurbs/mystdio.h,
si-glu/libnurbs/mystdlib.h: Pulled these out of
si-glu/libnurbs/interface and si-glu/libnurbs/internals. All include
paths updated.
2001-03-18 15:40:45 +00:00
Gareth Hughes
371ef9c058 Add missing header file include. 2001-03-18 14:06:25 +00:00
Gareth Hughes
ad7ce73609 Remove #endif. 2001-03-18 14:05:32 +00:00
Gareth Hughes
264c6fd177 Make assertions take new GLchan formats into account. 2001-03-18 13:40:58 +00:00
Gareth Hughes
3fa4bd008c Fix error message. 2001-03-18 13:37:18 +00:00
Gareth Hughes
7ea33579e7 Fix header info. 2001-03-18 13:34:24 +00:00
Gareth Hughes
6b406bf09d Remove old code, fix a few comments. 2001-03-18 13:31:52 +00:00
pesco
2f9757f344 Forgot to add newly created files. 2001-03-18 13:06:19 +00:00
Gareth Hughes
2c3d34c905 - Port 3.4 texture utils, texture format work to 3.5 (including new
FetchTexel routines).
- Initial hooks for GL_EXT_texture_filter_anisotropic.
2001-03-18 08:53:49 +00:00
Keith Whitwell
6e550baa0a Fix lineloops. 2001-03-18 00:46:04 +00:00
Keith Whitwell
bcc513ebf5 Fix cut&paste bug exposed by clipbug.c demo. 2001-03-17 18:04:54 +00:00
Keith Whitwell
47489c0721 Remove dead #define.
Add case for triangles culled front and back -- not handled by the
culling code inside swrast triangle routines.
2001-03-17 17:43:04 +00:00
Keith Whitwell
c6e2d29cde Revert earlier changes protecting against null VB->TexCoordPtr[x]. Do
this a better way via check_tex_sizes().
2001-03-17 17:31:42 +00:00
Brian Paul
eb11fa73ec added SI GLU info 2001-03-17 00:47:19 +00:00
Brian Paul
47cbbcc1b6 updated for SGI SI GLU 2001-03-17 00:45:01 +00:00
Brian Paul
1bb327ebdb SGI SI GLU 1.3 header 2001-03-17 00:29:47 +00:00
Brian Paul
84c8964116 added CCFLAGS and CPLUSPLUS definitions 2001-03-17 00:27:04 +00:00
Brian Paul
77cc447b96 SGI SI GLU library 2001-03-17 00:25:40 +00:00
Brian Paul
24fab8e250 removed ARB_texture_env_add bool flag, use EXT_texture_env_add flag 2001-03-15 18:21:01 +00:00
Brian Paul
b082abc28f use IROUND() instead of (int) cast (Klaus Niederkrueger) 2001-03-15 16:45:30 +00:00
Gareth Hughes
c6742cedee Fix typo. 2001-03-14 08:51:09 +00:00
Gareth Hughes
3709db0e17 Initial templates for immediate mode fastpaths, or custom tnl modules.
Completely untested and incomplete.  More to follow.
2001-03-13 17:39:56 +00:00
Gareth Hughes
3df1e04b10 Nope, -ansi spoils that... 2001-03-12 02:24:53 +00:00
Gareth Hughes
2a938d3ab7 Undo -D_POSIX_SOURCE change, fix the way the katmai support test is
done.
2001-03-12 02:13:39 +00:00
Gareth Hughes
79b2d13ae2 - Add -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L to linux builds, we've
been using it with the DRI for long enough without any issues and we
  need it to include the katmai functions.
- Make katmai assembly work with the debug tests.
- A few general cleanups.
2001-03-12 02:02:36 +00:00
Gareth Hughes
d4eb665c60 Add missing header file. 2001-03-12 01:32:20 +00:00
Gareth Hughes
467037de22 Add missing header file include. 2001-03-12 01:06:44 +00:00
Gareth Hughes
22144ab755 Consistent copyright info (version number, date) across all files. 2001-03-12 00:48:37 +00:00
Gareth Hughes
57ffddba98 Minor cleanups. 2001-03-11 23:55:19 +00:00
Gareth Hughes
de6a2e0d19 Clean up install, restore for exec vtxfmts. 2001-03-11 23:49:20 +00:00
Gareth Hughes
d8aa0269cd Support for swappable tnl modules.
Core Mesa provides a neutral tnl module that verifies the currently
module before installing the tnl function pointers in a lazy fashion.
It also records which tnl functions have been swapped out, and only
restores these when tnl modules themselves are swapped.

Fallback strategies:

Drivers set a bitmask of dangerous stage changes.  When such a state
change occurs, the driver should restore the neutral tnl module via
_mesa_restore_exec_vtxfmt().  The neutral tnl module will call
_mesa_update_state(), followed by ctx->Driver.ValidateTnlModule() if the
validation bitmask matches the new state bitmask.  The driver should
call _tnl_wakeup_exec() if it can no longer handle the current state,
which will revert to the default tnl module.  In this case, previous
vertices should be replayed as required (depending on the current
primitive) after the new tnl module is installed.

If the driver uses chooser functions for any part of the tnl module,
these should generally be reinstalled as part of the fallback to the
neutral tnl module.  For example, if the lighting state changes, a
driver might fall back to the neutral tnl module, verify that the
current lighting state can be handled, and use the chooser function to
pick the most efficient implementation of the current lighting state.

It is up to the drivers to detect and handle fallback cases caused by
tnl function calls themselves (such as glTexCoord4f* if the current tnl
module can't handle projected textures, for example).
2001-03-11 18:49:11 +00:00
Gareth Hughes
b1b4036656 Add a couple of missing functions. 2001-03-10 02:50:42 +00:00
Gareth Hughes
53e4bf9afd More generic vtxfmt template, useful for creating neutral tnl module as
well as fallback functions for driver tnl modules.
2001-03-09 16:08:13 +00:00
Brian Paul
ca8c6a0337 fixed RBGA ifdef typo 2001-03-08 22:27:41 +00:00
Brian Paul
95e02a210e do fog interpolation if INTERP_FOG is defined, not when INTERP_Z is defined 2001-03-08 17:33:33 +00:00
Brian Paul
896e8bd2d7 processed by indent to improve readability 2001-03-08 17:17:28 +00:00
Brian Paul
417ed16a88 changed bincoeff var to GLfloat, fixes bug introduced in previous check-in 2001-03-08 17:15:01 +00:00
Brian Paul
a28fa45ab7 test 16-bit/channel rendering 2001-03-08 15:24:18 +00:00
Brian Paul
01915e90e6 More g++ warning fixes. Fixes for CHAN_BITS==16, it seems to work. 2001-03-08 15:23:46 +00:00
Brian Paul
eac57f009e added an assertion in the init code, just to be safe 2001-03-07 23:22:08 +00:00
Jon Taylor
9cb9401e87 Misc build fixes 2001-03-07 20:42:14 +00:00
Gareth Hughes
4da75f6d91 Add missing copy in _mesa_noop_Color4fv(). 2001-03-07 18:16:40 +00:00
Brian Paul
b51b0a847d fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots of potential problems 2001-03-07 05:06:11 +00:00
Brian Paul
249aebdd35 _MinMagThresh[] should be GLfloat 2001-03-07 04:50:49 +00:00
Brian Paul
90ea526114 added some casts in the 16-bit GLchan macros, just to be safe 2001-03-07 03:20:38 +00:00
Brian Paul
be3d539dac added Driver.BlendColor() function, for completeness 2001-03-07 00:21:32 +00:00
Brian Paul
ac859a4cbd fixed segfaults when tex unit 1 enabled, but not unit 0 (conform) 2001-03-05 22:40:10 +00:00
Brian Paul
75280a2c74 added missing ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH() macros 2001-03-05 22:18:23 +00:00
Keith Whitwell
89700a4abd DO_POINT renamed DO_POINTS 2001-03-05 19:54:03 +00:00
Keith Whitwell
0ceb82b838 Changes for ffb 2001-03-05 18:52:18 +00:00
Keith Whitwell
3db5374e66 Fix typo 2001-03-05 18:04:38 +00:00
Brian Paul
d395251b35 GL_EXT_secondary_color test 2001-03-05 17:50:35 +00:00
Brian Paul
d49081302a GL_EXT_fog_coord test 2001-03-05 17:31:57 +00:00
Keith Whitwell
3c646597cf Add missing cases for viewport transform. Remove INVALIDATE_STORED_VERTICS
macro
2001-03-05 16:41:47 +00:00
Brian Paul
a11c0bcf97 replaced gl_test_os_katmai*() with _mesa_test_os_katmai*() 2001-03-05 15:57:59 +00:00
Brian Paul
865322f931 more clean-ups 2001-03-03 21:11:32 +00:00
Brian Paul
d62269757b used indent to clean-up the code 2001-03-03 20:59:06 +00:00
Brian Paul
188f2949ea more namespace clean-ups 2001-03-03 20:56:59 +00:00
Brian Paul
0883634178 lots of gl_*() to _mesa_*() namespace clean-up 2001-03-03 20:33:27 +00:00
Brian Paul
19bbfc6263 optimized lambda calculation (Klaus Niederkrueger) 2001-03-03 00:37:27 +00:00
Brian Paul
85312e6db1 changed AlphaFunc() ref from GLclampf to GLchan 2001-03-03 00:12:47 +00:00
Brian Paul
eb2b63877a fixed _mesa_getenv() weirdness 2001-03-02 16:01:22 +00:00
Brian Paul
6a2d72ecff fixed mistake in alpha buffer clear test 2001-03-01 18:30:47 +00:00
Keith Whitwell
6da33b1249 Uncomment some defaults. 2001-03-01 18:18:05 +00:00
Keith Whitwell
0fe593a71e Bugfixes for vertex format, templates 2001-03-01 17:40:14 +00:00
Brian Paul
d89c87ac40 added s/w alpha buffer clearing 2001-03-01 00:05:05 +00:00
Brian Paul
b4203c1c49 removed some bogus error checks 2001-02-28 19:31:39 +00:00
Brian Paul
0221e4d6c8 Now there's four possible display modes:
1. normal, shadowed rendering
2. display depth texture image
3. display depth texture mapped onto scene
4. render grayscale scene where gray level = distance from light source
2001-02-28 18:41:50 +00:00
Keith Whitwell
feb555af03 Templates are in working order. 2001-02-28 18:19:27 +00:00
Brian Paul
be3602da41 GLvisual inside GLframebuffer is no longer a pointer, copy the struct instead.
Added context/drawbuffer visual config sanity checking in _mesa_make_current2().
Added some 'const' keywords.
2001-02-28 00:27:48 +00:00
Brian Paul
6a9851d72d fixed glitches in error checking of imaging extensions 2001-02-27 22:33:59 +00:00
Brian Paul
bf8b5f99a1 signal _NEW_TEXTURE in all teximage functions 2001-02-27 22:16:27 +00:00
Brian Paul
2eb801cda2 added fog coord clamping 2001-02-27 21:58:59 +00:00
Brian Paul
8753b1c397 colortable w/ size=0 wasn't handled correctly 2001-02-27 16:42:01 +00:00
Keith Whitwell
bed4c5bf58 Initialize Line._Width 2001-02-27 16:14:35 +00:00
Brian Paul
18c516655f more tweaks 2001-02-27 00:13:25 +00:00
Brian Paul
01a5dd879b minor extension tweaks 2001-02-27 00:05:27 +00:00
Brian Paul
6975540db2 Disable most extensions by default. Drivers should enable them as needed.
Renamed gl_*() functions as _mesa_*().
2001-02-26 23:58:12 +00:00
Brian Paul
806e20f463 fixed extension checking in _mesa_BlendEquation() 2001-02-26 22:07:03 +00:00
Brian Paul
511378b05d added filtering option, compute shadow tex size from window size 2001-02-26 18:26:32 +00:00
Brian Paul
eb198d2702 tiny change to a gl_problem() call 2001-02-26 18:25:25 +00:00
Brian Paul
1f57563b9d added a cube map error check 2001-02-26 18:24:55 +00:00
Brian Paul
30038ecaa2 bilinear sampling of depth textures 2001-02-26 18:24:37 +00:00
Keith Whitwell
feca368c29 Template work 2001-02-24 18:25:52 +00:00
Brian Paul
0d04827f6d another fix in _mesa_stencil_and_ztest_pixels() for hardware fallbacks 2001-02-23 23:14:11 +00:00
Brian Paul
74b775e14d fixed bug in _mesa_stencil_and_ztest_pixels() found w/ DRI mga driver 2001-02-23 20:08:29 +00:00
Brian Paul
dab76b4dc5 improvements to regions_overlap() function 2001-02-22 17:59:24 +00:00
Brian Paul
ea83bacf9c removed some bogus code 2001-02-22 17:50:13 +00:00
Jouk Jansen
69c283e061 Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 old files removed/ new files included in VMS makefile
----------------------------------------------------------------------
2001-02-22 08:52:30 +00:00
Brian Paul
abe094e4a1 fixed GL_LUMINANCE_ALPHA bug in fetch_2d_texel() 2001-02-21 16:02:27 +00:00
Keith Whitwell
4eebc90a17 Added GLvector4chan type, removed lots of CHAN_TYPE ifdefs. 2001-02-20 18:28:52 +00:00
Brian Paul
8bbc71f2eb more 3.5 updates 2001-02-20 17:08:55 +00:00
Brian Paul
0a0595f2d3 added extension #ifdef/#endifs 2001-02-20 17:06:35 +00:00
Brian Paul
03ca5eb58f added shadow extensions 2001-02-20 17:05:04 +00:00
Brian Paul
d6c3f73fb4 added shadowtex 2001-02-20 17:04:52 +00:00
Brian Paul
1399d7650d demo of GL_SGIX_shadow 2001-02-20 16:43:50 +00:00
Brian Paul
c499ce31ba Implemented GL_SGIX_shadow and GL_SGIX_shadow_texture.
Added some const keywords in the s/w texturing code.
2001-02-20 16:42:25 +00:00
Brian Paul
0c75c4c417 plug in fallback teximage DD functions 2001-02-19 20:14:57 +00:00
Brian Paul
2aadbf41df Updated Driver.CopyTexImage[12]D and Driver.CopyTexSubImage[123]D functions
so they work like the other teximage functions.  Added fallback routines to
texstore.c for drivers to use.
2001-02-19 20:01:41 +00:00
Brian Paul
aaf5a9bb08 added a bunch of extensions (Ray Tice) 2001-02-19 18:28:59 +00:00
Brian Paul
e75d2424e5 Changed FetchTexel() function pointer arguments.
Implemented glGetTexImage(format=GL_COLOR_INDEX).
Changed _mesa_unpack_depth_span() args.
Minor changes/clean-ups in mtypes.h.
Histogram counter component sizes were wrong.
2001-02-17 18:41:01 +00:00
Brian Paul
8f9a594ac8 added MESA_GLX_FORCE_CI env var (useful for conformance testing) 2001-02-17 00:17:31 +00:00
Brian Paul
f7e1dfeaef Work in glGetTexImage() to return GL_COLOR_INDEX images.
Prototype code for GL_SGIX_depth_texture / more flexible teximage code.
2001-02-17 00:15:39 +00:00
Brian Paul
23e8d46e07 moved depth/index/stencil span packing into image.c 2001-02-16 23:29:14 +00:00
Brian Paul
8a42f6b359 added n-key to toggle nice fog, other minor clean-ups 2001-02-16 21:48:16 +00:00
Keith Whitwell
4539e9195d Fix state bitmasks for invalidating line,tri,point functions. (won't fix
the fog problem, I don't think)
2001-02-16 18:56:46 +00:00
Keith Whitwell
46b0988c67 Allow swrast to cope (fairly) cleanly with GL_SEPERATE_SPECULAR when
texturing is not enabled, and without requiring the two colors be
added externally.

As a part of this, collapsed the decomposition of quads into triangles
inside swrast to be hardwired into _swrast_Quad; removed s_quads.[ch].

Removed checks on texture state from t_vb_light.c, which was previously
required by swrast.

Moved the t_dd_ templates to a new directory.
2001-02-16 18:14:41 +00:00
Keith Whitwell
2448fc7dee Fixed conform problems with recent material tracking change.
Remove redundant 'update_materials' stage.
Fix conform segfault with seperate specular colors in mustpass.c.  These
tests still fail, however.
2001-02-16 00:35:34 +00:00
Brian Paul
86ca15ece7 minor scissor optimizations (Klaus Niederkrueger) 2001-02-15 22:59:01 +00:00
Keith Whitwell
c6b2a92613 Fix propogation of material values in VB's that don't reach the lighting
stage.  (Materials now treated more like colors, etc.).

Continue whipping the dd templates into shape.

Remove old NormalLength code; may come back as a driver helper, but not
useful for, eg. hardware t&l drivers.
2001-02-15 01:33:52 +00:00
Brian Paul
4e52e192b2 fixed a CI-mode spot light conformance failure, but still not clear why 2001-02-14 23:00:42 +00:00
Brian Paul
4de3ded28a updated with 3.4 and 3.4.1 entries 2001-02-14 22:59:50 +00:00
Brian Paul
4e492363f0 removed a misplaced _mesa_logicop_ci_span() call 2001-02-14 22:40:21 +00:00
Brian Paul
b5fb4fd55b fixed a CI mode segfault, minor clean-ups 2001-02-13 23:59:34 +00:00
Brian Paul
88c5ceb650 fixed an assertion 2001-02-13 23:58:38 +00:00
Brian Paul
c3a4dbfbd6 fixed a few CI mode span bugs and a dither bug 2001-02-13 23:57:48 +00:00
Brian Paul
45323646bd fixed bug in gl_validate_all_lighting_tables() found with CI mode conformance tests 2001-02-13 23:55:30 +00:00
Brian Paul
10686f42c9 removed bogus assertions 2001-02-13 23:54:12 +00:00
Brian Paul
dc866313af gl_error clean-ups 2001-02-13 23:51:34 +00:00
Brian Paul
8f28f4850b fixed GL_SET bug 2001-02-13 23:50:25 +00:00
Brian Paul
479fa1db1d added debug assertions to be sure drivers initialize all required function pointers 2001-02-12 19:04:30 +00:00
Brian Paul
a81b3532f7 added ctx->Driver.ResetLineStipple, misc clean-up 2001-02-12 18:32:26 +00:00
Brian Paul
3c84ab90f2 fixed RGB over/underflow bug for tiny triangles (bug 128969) 2001-02-12 17:02:00 +00:00
Brian Paul
15bf1cd129 minor updates to sync w/ XFree86 changes 2001-02-09 23:39:02 +00:00
Brian Paul
ccc8b9239c minor changes from XFree86 (dawes) 2001-02-09 23:23:43 +00:00
Jouk Jansen
18ce0f1254 Committing in .
Modified Files:
 	Mesa/src-glut/glut_event.c Mesa/src-glut/glut_get.c
 	Mesa/src-glut/glut_init.c Mesa/src-glut/glutint.h

 Patch for compilation on very old VMS (version 6.2 and earlier)

----------------------------------------------------------------------
2001-02-09 12:19:17 +00:00
Brian Paul
9db3f95ace fixed bytesPerValue bug in OSMesaGetDepthBuffer() 2001-02-08 23:52:29 +00:00
Brian Paul
1f12a07380 fixed bugs in _mesa_clear_depth_buffer(), bug #131366 2001-02-08 15:57:01 +00:00
Brian Paul
1ceda0f84f GLchan fixes 2001-02-07 19:02:23 +00:00
Brian Paul
9a0b12ab00 fixed texel indexing bug in _mesa_GetTexImage() 2001-02-07 18:59:45 +00:00
Brian Paul
b4736f5e17 added divide by zero checks 2001-02-07 18:44:55 +00:00
Brian Paul
5c55aa4e61 fixed divide by zero problem 2001-02-07 18:36:52 +00:00
Brian Paul
a1f1586bcb added some code for proxy texture tests 2001-02-07 16:27:41 +00:00
Keith Whitwell
b8e1c70ec1 Correctly calculate size for disabled texcoord arrays. 2001-02-07 16:00:58 +00:00
Jouk Jansen
fb1565bcdd VMS compile update 2001-02-07 09:15:41 +00:00
Brian Paul
6830123a4c check texture texel type before using optimized sampling functions 2001-02-07 03:55:31 +00:00
Brian Paul
43bc364af4 remove unused functions 2001-02-07 03:53:07 +00:00
Brian Paul
03d967abb5 new texture image routines work now 2001-02-07 03:30:07 +00:00
Brian Paul
6628bc9cff made some changes to the initialization of gl_texture_image fields 2001-02-07 03:27:41 +00:00
Gareth Hughes
dde2da64b5 Force texture download every time to handle lazy texture downloads. 2001-02-07 03:04:58 +00:00
Brian Paul
78ad878b66 updated texture image handling - STILL UNTESTED 2001-02-06 23:35:49 +00:00
Brian Paul
f378ab825c added a number of debugging tests to be sure drivers handle texture images correctly 2001-02-06 23:35:26 +00:00
Brian Paul
8e39ad2cd6 Overhaul of texture image handling.
1. gl_texture_image struct's Data pointer points to images in driver's format.
2. Added FetchTexel() function pointer to struct gl_texture_image.
3. Changed Driver Tex[Sub]Image functions, return void now.
4. Texture storage/fetch code in new texstore.c file.
5. Removed texture.[ch] - functions moved to state.c

Note: FX driver updates not finished yet.
2001-02-06 21:42:48 +00:00
Brian Paul
16461f7c53 added _mesa_adjust_image_for_convolution() 2001-02-06 17:22:16 +00:00
Keith Whitwell
d1baa05439 Use a lookup table to compute exponents in tnl fogging code. Slightly
clean up the shine table lookup macro.
2001-02-06 04:06:34 +00:00
Brian Paul
8fd9f1748d misc updates to match latest device driver changes 2001-02-06 00:03:47 +00:00
Brian Paul
228748bc49 added mesa_profile extern decl 2001-02-05 19:17:31 +00:00
Brian Paul
d8bc5a9eba replaced frustrum with frustum 2001-02-05 18:48:52 +00:00
Jouk Jansen
db7a3318aa Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 Updated VMS make-files

----------------------------------------------------------------------
2001-02-05 08:56:12 +00:00
Keith Whitwell
71270195d5 rework to correctly respect _ac_import_range() 2001-02-04 00:47:28 +00:00
Keith Whitwell
6e9f8b7cdb Fast no-copy drawarrays for large tristrips 2001-02-04 00:44:36 +00:00
Gareth Hughes
fe69cb4b9b Some more work on interal debugging, timing routines for things that
will have implementations in assembly code.  To come: texture image
conversions, more of internal T&L pipeline and so on.
2001-02-03 08:41:03 +00:00
Jouk Jansen
6d689e8a69 Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 Updates VMS compile-support
----------------------------------------------------------------------
2001-01-31 14:10:16 +00:00
Brian Paul
eeb861df0b make gluPerspective() call glMultMatrix() instead of glFrustum() to get correct error semantics 2001-01-30 18:08:51 +00:00
Brian Paul
d68b699291 added packed types to glGetMinMax and glGetHistogram error checks 2001-01-30 17:46:34 +00:00
Brian Paul
e56cc3970f fixed half pixel offset bug in aa point code 2001-01-30 16:38:20 +00:00
Gareth Hughes
f2515fa83e Upgrade to (patched) version 7 of glext.h 2001-01-30 15:02:34 +00:00
Brian Paul
426628c374 last segment of AA stippled lines wasn't drawn 2001-01-29 23:38:41 +00:00
Brian Paul
326f9ddd8a fixed inverted Y coord for dithering in write_span_DITHER_5R6G5B_ximage() 2001-01-29 22:40:23 +00:00
Brian Paul
ba70e59e82 GL_SHADE_MODEL wasn't popped correctly 2001-01-29 22:15:44 +00:00
Brian Paul
961b7cad05 removed unused vars 2001-01-29 22:10:37 +00:00
Brian Paul
184a575a00 only compute separate specular if texturing really enabled 2001-01-29 22:10:24 +00:00
Brian Paul
407b487017 fixed computation of _MultiTextureEnabled (again) 2001-01-29 21:47:13 +00:00
Keith Whitwell
d98fdad3bf Update implementations of Driver.Clear(). 2001-01-29 20:56:32 +00:00
Keith Whitwell
5c1e7fa6ee Removed knowledge of swrast Clear/Bitmap/Accum/Draw/Read/CopyPixels
functions from core mesa -- if drivers need these fallbacks they
must now call them themselves.

Introduced hooks for clip-vertex-interpolation and the rendering
of clipped lines and polygons.  Allows drivers to interpolate
their hardware-format vertices directly.  Used in dri drivers to
replace fastpath code.

Slight optimizations to pipeline build/run routines.
2001-01-29 20:47:39 +00:00
Brian Paul
4b90e68ac6 optimized lambda computation (Klaus Niederkrueger) 2001-01-29 18:51:25 +00:00
Brian Paul
e5dfe384ad updates to the trace extension 2001-01-29 16:18:37 +00:00
Brian Paul
d6dd0fceb1 updated spec 2001-01-29 16:10:18 +00:00
Brian Paul
f3da389ae0 redo _mesa_PopAttrib() to call Mesa state functions so derived state is updated 2001-01-24 15:27:10 +00:00
Brian Paul
ab36c9aa1c removed the unused/broken GL_PGI_misc_hints extension 2001-01-24 04:56:19 +00:00
Brian Paul
9533fd1842 minor tweaks 2001-01-24 00:07:01 +00:00
Brian Paul
74b493a5e6 Lots of GLchan datatype changes.
Added GLvector4us datatype in math/m_vector.[ch]
Added _math_trans_4us() in math/m_translate.[ch]
Choose GLvector4ub, GLvector4us, GLvector4f at compile time based on CHAN_BITS.
Made Driver.ClearColor() and Driver.ClearIndex() optional driver functions.
Changed args to Driver.ClearColor(), updated drivers.
Reordered files in Makefile.X11
2001-01-24 00:04:58 +00:00
Brian Paul
125fddc31d added DestroyHeads() to test clean-up code 2001-01-23 23:45:05 +00:00
Brian Paul
6140a8c65f minor tweaks 2001-01-23 23:44:39 +00:00
Brian Paul
4e3e9ac8fb added support for 4 texture units 2001-01-23 23:44:15 +00:00
Brian Paul
2b2e62154d space-bar = pause animation 2001-01-23 23:43:53 +00:00
Brian Paul
b6bcae5698 Replaced struct gl_visual with struct __GLcontextModesRec from glcore.h.
Replace "RGBAMode" with "rgbMode", etc.
Other minor clean-ups.
2001-01-23 23:39:36 +00:00
Brian Paul
ab0c886a6c added dispatch override mechanism, used by trace extension 2001-01-23 23:35:47 +00:00
Brian Paul
f2718b0966 fixed glTexSubImage error check bug #128775 2001-01-23 23:35:23 +00:00
Brian Paul
39927e60ea test check-in 2001-01-23 23:29:15 +00:00
Keith Whitwell
c0bcd2ca99 Fixes for performance bug on compiled array element paths. 2001-01-17 02:49:38 +00:00
Brian Paul
547bbcabff updated ctx->Driver functions for s/w setup 2001-01-16 21:16:56 +00:00
Brian Paul
d292b83d1a fixed a small error in import_color(), include m_translate.h 2001-01-16 15:25:11 +00:00
Keith Whitwell
d43a5943d8 Fix several conformance problems. Hack solution to line stipple problem. 2001-01-16 05:29:42 +00:00
Brian Paul
230928ad5f removed unneeded TXTR_COORD macros (Stephen Tse) 2001-01-15 20:04:28 +00:00
Keith Whitwell
3fd01320f1 Fixed conform feedback and drawelements tests.
Use correct pv when rasterizing unfilled polys.
2001-01-14 06:14:21 +00:00
Keith Whitwell
ab8b047ae5 fix conform dlist test 2001-01-13 18:28:19 +00:00
Keith Whitwell
8415686ea2 Use correct pv in swrast lines routines 2001-01-13 07:13:28 +00:00
Keith Whitwell
321f67c472 Fix crash in book/stencil.
Allow drivers to perform the perspective divide themselves.  Assembly
to do cliptesting without perspective divide for size-4 vectors.
2001-01-13 05:48:25 +00:00
Keith Whitwell
a087c7421b Resync with new XFree version of this file 2001-01-13 05:47:06 +00:00
Brian Paul
3f9ee180a8 initialize Driver.RenderPrimitive to _swsetup_RenderPrimNoop 2001-01-12 22:34:27 +00:00
Brian Paul
e448d6cf0c Added PointSize and PointParametersfv to dd interface, for completeness.
Clean-up and updated comments in dd.h file.
2001-01-09 00:02:55 +00:00
Keith Whitwell
ce656b6a0a Fixed 'IRound' to 'IROUND' in mmath.h
Fixed fallback path for drawarrays/_tnl_hard_begin.

Removed disabled debug code.
2001-01-08 21:55:59 +00:00
Keith Whitwell
bfa023921c Still need 'DD_TRI_CULL_FRONT_BACK' 2001-01-08 17:42:13 +00:00
Keith Whitwell
d7fc376de8 Add call to Driver.RenderPrimitive() 2001-01-08 17:41:15 +00:00
Keith Whitwell
7a1f3a37a1 revert XMesaCreateContext changes 2001-01-08 04:55:22 +00:00
Keith Whitwell
b980b2eeb6 Add a 'RenderPrimitive' callback to t_vb_render.c. Helps out drivers
that used to require a 'ReducedPrimitiveChange' callback.

Various compilation fixes for XFree86.

Reverted to the older version of glcore.h used internally in XFree86, and
moved it to 'Mesa/include/GL/internal/glcore.h', for compatibility with
XFree86.
2001-01-08 04:09:41 +00:00
Keith Whitwell
44d8de433e Bring the FX driver into line with core mesa changes. 2001-01-08 04:06:56 +00:00
Keith Whitwell
e9bf776711 Modify X11 driver and fake glx to store a GLcontext
(ie a 'struct __GLcontextRec *') instead of an 'XMesaContext'.

This is to fix conflicts in XFree86 where both the indirect XMesaContext
and the GLcontext were calling themselves __GLcontextRec's.
2001-01-08 04:06:20 +00:00
Keith Whitwell
78477947de Moved glcore.h to a location prefixed by 'GL/internal', for compatibility
with XFree86 and the SI code there.
2001-01-08 03:56:53 +00:00
Gareth Hughes
ba8f6172bd Implementation of GL_EXT_texture_env_dot3. 2001-01-06 22:46:13 +00:00
Gareth Hughes
c851646050 Add GL_POINTS as a primitive, including with CVA DrawElements. Useful
for testing non-triangle primitives on hardware driver fastpaths.
2001-01-06 20:38:03 +00:00
Brian Paul
8cbc573eae Fixed bug in MinMagThresh computation.
Renamed gl_texture_pixels() to _swrast_texture_fragments()
2001-01-05 21:28:31 +00:00
Jouk Jansen
2d7e25c9ff Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 VMS makefile update
----------------------------------------------------------------------
2001-01-05 08:09:46 +00:00
Keith Whitwell
f4b02d1a26 various compilation/warning fixes 2001-01-05 05:31:42 +00:00
Keith Whitwell
58e9917053 Remove 'pv' parameter from Line/Tri/Point funcs. The provoking vertex
is always the last vertex parameter.
Modify clipping to preserve pv colors.
Modify swrast and X11 driver to expect the pv in the last vertex
(was looking in the first vertex previously).
Remove all handling of flatshading from swrast_setup.

Allow drivers to override the unclipped render tabs in tnl_render_stage
directly.  (Like in 3.4).  Removed fxsimplerender stage.

Modified t_vb_rendertmp.h to remove the need for 'parity' arguments
in RENDER_TRI macros.
2001-01-05 02:26:48 +00:00
Brian Paul
f22c04cdae added underflow check in validate_shine_table() 2001-01-04 16:22:18 +00:00
Brian Paul
6517211e12 added divide by zero check 2001-01-04 15:32:32 +00:00
Brian Paul
2fd9c8690f changed some point functions, new picking code 2001-01-04 15:32:10 +00:00
Brian Paul
63cca75e63 minor bug fixes 2001-01-04 15:31:38 +00:00
Brian Paul
1c768645c5 added divide by zero check 2001-01-03 22:56:23 +00:00
Brian Paul
d14fce03f0 added divide by zero checks 2001-01-03 22:55:26 +00:00
Brian Paul
08dfacd425 New point rasterization functions based on template code that
handles CI/RGB, texture, antialiasing, attenuation, etc.
2001-01-03 22:17:16 +00:00
Brian Paul
6532db9868 More color macro clean-ups.
FLOAT_TO_CHAN() macro removed.
2001-01-03 15:59:30 +00:00
Brian Paul
3b399df638 minor clean-up 2001-01-03 15:56:41 +00:00
Jon Taylor
c1d89d4391 Added missing #include "mmath.h" 2001-01-03 02:43:46 +00:00
Brian Paul
a580e1adb7 missed a few color macro changes 2001-01-02 22:05:55 +00:00
Brian Paul
3041d05bbc Removed fixed.h (GLfixed now in mtypes.h, fixed-pt macros in mmath.h)
Clean-up of color conversion macros.
New mmath.h macros (IROUND, IFLOOR, ICEIL, FRAC) used in various places.
2001-01-02 22:02:51 +00:00
Brian Paul
8446d1bab1 include state.h 2001-01-02 21:40:57 +00:00
Brian Paul
6f89984fed minor GLchan-related changes 2001-01-02 21:09:50 +00:00
Jouk Jansen
ef68e7bf71 Committing in .
Modified Files:
 	Mesa/demos/descrip.mms Mesa/src/descrip.mms
 	Mesa/src/dispatch.c

 -Updated VMS compile suppport
 -Included glthread.h in dispatch.c to make sure that THREADS is defined if
   i.e. PTHREADS is defined in the makefile.

----------------------------------------------------------------------
2001-01-02 10:07:33 +00:00
Keith Whitwell
88f3b89a2c Add render stage for unclipped vb's to fx driver.
Bump MAX_TEXTURE_UNITS to 8
Fix mem. leak in destroy_lists
Fix crash in q3 (cva generally)
2000-12-28 22:11:04 +00:00
Keith Whitwell
e5d6fb20a5 try and force a log message 2000-12-28 16:42:37 +00:00
Keith Whitwell
123ff6549b try and force a log message 2000-12-28 16:35:42 +00:00
Keith Whitwell
bc28306f4a try and force a log message 2000-12-28 16:32:22 +00:00
Jon Taylor
4e96ac080a Fixed GGIMesa build problems.
Swrast triangle drawing fixes.
2000-12-28 02:00:27 +00:00
Keith Whitwell
a884b4b811 try and force a log message 2000-12-27 23:01:25 +00:00
Keith Whitwell
4292e9c06b try and force a log message 2000-12-27 22:59:46 +00:00
Keith Whitwell
20911cb17c try and force a log message 2000-12-27 22:57:13 +00:00
Keith Whitwell
1b686cedf4 try and force a log message 2000-12-27 22:55:09 +00:00
Keith Whitwell
376d022e4a fix demos/fire, enable lazy vertex flushing 2000-12-27 22:52:45 +00:00
Keith Whitwell
ae8ec0b30d Fix evalpoints bug (samples/nurb) 2000-12-27 22:30:29 +00:00
Keith Whitwell
93259cdfa1 fix sproingies bug 2000-12-27 21:49:40 +00:00
Keith Whitwell
719344b23e Fixes for compiling assembly (disable unused 'masked' versions)
Fixes for compiling without debug.
Fix line clipping
Fix unfilled polygon clipping (should be correct now).
2000-12-27 19:57:37 +00:00
Keith Whitwell
770169f230 The array cache. 2000-12-26 15:14:04 +00:00
Keith Whitwell
9ef50d5826 fix xscreensaver cores 2000-12-26 07:41:32 +00:00
Keith Whitwell
cab974cf6c Major rework of tnl module
New array_cache module
Support 8 texture units in core mesa (now support 8 everywhere)
Rework core mesa statechange operations to avoid flushing on many
noop statechanges.
2000-12-26 05:09:27 +00:00
pesco
d1ff1f6798 * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
* demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
Essentially the same.
Program files updated to include "readtex.c", not "../util/readtex.c".
* demos/reflect.c: Likewise for "showbuffer.c".


* Makefile.am (EXTRA_DIST): Added top-level regular files.

* include/GL/Makefile.am (INC_X11): Added glxext.h.


* src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
Mesa GGI headers in dist even if HAVE_GGI is not given.

* configure.in: Look for GLUT and demo source dirs in $srcdir.

* src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
More source list updates in various Makefile.am's.

* Makefile.am (dist-hook): Remove CVS directory from distribution.
(DIST_SUBDIRS): List all possible subdirs here.
(SUBDIRS): Only list subdirs selected for build again.
The above two applied to all subdir Makefile.am's also.
2000-12-24 22:53:54 +00:00
pesco
05ecec6f49 * include/GL/Makefile.am: ENABLE_GLUT_BUILD -> NEED_GLUT
* bootstrap: Fixed stupid mistakes.
* configure.in (LIBGL_VERSION): Include Mesa version as tiny number.
(LIBGLU_VERSION): Likewise.
2000-12-21 20:04:14 +00:00
Brian Paul
9da422c639 set visual->MRD to 2.0 2000-12-16 00:21:28 +00:00
Brian Paul
f1d6b38441 Polygon._OffsetAny wasn't being computed 2000-12-16 00:19:12 +00:00
Brian Paul
74e2dd38ed minor fog clean-ups (Klaus Niederkrueger) 2000-12-15 16:42:30 +00:00
Brian Paul
783d7dfcbf added more GLX extension function stubs 2000-12-15 04:02:50 +00:00
Brian Paul
083e466f88 Renamed texture object _P to _MaxLevel and _M to _MaxLambda.
Now add BaseLevel in _MaxLevel computation.
2000-12-14 20:25:56 +00:00
Brian Paul
daabce72db updated glXSet3DfxModeMESA() prototype types 2000-12-14 17:44:42 +00:00
Brian Paul
4536021a62 added some more GLX extension entrypoints (fix GLUT link problems when using glxext.h) 2000-12-14 17:44:08 +00:00
Brian Paul
a2003c2895 fixed conformance problems in min/max and histogram result packing 2000-12-13 23:13:45 +00:00
Brian Paul
b0dbd3ed13 replaced GLfixed with GLfloat in _mesa_fog_ci_pixels() (Klaus Niederkrueger) 2000-12-13 17:35:43 +00:00
Brian Paul
ac522d4756 use inverted Y coordinate for choosing dither value (conformance fixes) 2000-12-13 16:24:39 +00:00
Brian Paul
813882526d added glReadPixels item 2000-12-13 00:48:02 +00:00
Brian Paul
3cbbef53bc tweaked truecolor dither kernel setup code 2000-12-13 00:47:10 +00:00
Brian Paul
062bc07bde improved precision of glReadPixels for colorbuffers < 24bpp 2000-12-13 00:46:21 +00:00
Brian Paul
75639547e7 disabled two optimized textured triangle functions because of texcoord interpolation errors 2000-12-12 00:31:45 +00:00
Brian Paul
b38ad54c41 clipping, fog, texture optimizations (Klaus Niederkrueger) 2000-12-12 00:27:51 +00:00
Brian Paul
3afb7a0f70 disabled GLX_SGIS_multisample (temporarily) since its tokens aren't defined 2000-12-11 15:42:53 +00:00
Brian Paul
b04bcd14ee minor changes to fix compile problems/warnings 2000-12-11 15:41:47 +00:00
Jon Taylor
14586916b9 Added a new configure.in flag, --enable-glut-build.
This defaults to "off", so GLUT is not built by default.
2000-12-11 05:22:11 +00:00
Brian Paul
90f042ae8d generate GL_INVALID_OPERATION error for bad image format/type combinations 2000-12-10 19:23:19 +00:00
Brian Paul
8aa019d2ef _MultiTextureEnabled was being computed incorrectly 2000-12-09 22:09:50 +00:00
Brian Paul
ab6e78f3a0 adjust texture size for convolution in glCopyTex[Sub]Image[123]D() 2000-12-09 21:30:43 +00:00
Brian Paul
89c9a4cbf2 set default table size to 0, minor error check fix 2000-12-09 20:51:12 +00:00
Brian Paul
2f911cdf17 define GL_ARB_imaging 2000-12-09 20:36:18 +00:00
Brian Paul
67adba15a2 initialize convolution filters to zero 2000-12-09 20:35:54 +00:00
Brian Paul
90f8ebfd8f added queries for convolution enables 2000-12-09 20:35:32 +00:00
Brian Paul
2e5819270b added GL_RESCALE_NORMAL cases 2000-12-09 19:55:18 +00:00
Brian Paul
ec15398681 more detailed texture error messages 2000-12-08 18:09:33 +00:00
Brian Paul
23b1503d79 include glxext.h unless GLX_GLXEXT_LEGACY is defined 2000-12-08 18:08:15 +00:00
Brian Paul
fed386cdc0 standardized GLX extensions header 2000-12-08 18:06:35 +00:00
Brian Paul
536ede7e00 fixed bug 123918: glXCopySubBuffer() y position off by one 2000-12-08 17:37:00 +00:00
Brian Paul
1c6701e1e1 added LL_MESA_sprite_point extension 2000-12-08 00:28:59 +00:00
Brian Paul
cba2ca94f1 initial draft 2000-12-08 00:21:02 +00:00
Brian Paul
06d05afdd6 Initial work on GL_MESA_sprite_point extension.
Still need to resolve clipping issues, finalize the spec.
2000-12-08 00:20:15 +00:00
Brian Paul
fb7899bfec Compute attenuated point size in a new pipeline stage.
Store computed point size in the SWvertex struct.
2000-12-08 00:18:39 +00:00
Brian Paul
c1b97d91c7 minor comments, clean-up 2000-12-08 00:09:24 +00:00
Brian Paul
83886a5a7f call glFinish() before getting t1 time 2000-12-07 21:50:39 +00:00
Gareth Hughes
ab9e273c75 Allow operating system SSE support test to be overridden with an
environment variable.
2000-12-07 02:36:38 +00:00
Gareth Hughes
2ac44e2509 Merge Mesa 3.4 test for operating system support for SSE. 2000-12-06 14:41:47 +00:00
Brian Paul
fac5fd258c added -s option to control when glXSwapBuffers() is called 2000-12-02 20:33:05 +00:00
Gareth Hughes
7853901372 Enable double-buffering, count not even multiple of three. 2000-11-30 03:06:56 +00:00
Gareth Hughes
28861b192f Add basic timing information. 2000-11-30 01:44:24 +00:00
Brian Paul
7f55eb2b14 changed error tests for depth and stencil buffers 2000-11-28 22:34:46 +00:00
Brian Paul
86ca491ade fixed parameter mis-ordering bug in Driver.StencilSpan calls 2000-11-28 21:34:04 +00:00
Jouk Jansen
bfea97321c Committing in .
Modified Files:
 	Mesa/src/swrast/s_copypix.c

 changed one occurence of rgba to rgbaFloat
----------------------------------------------------------------------
2000-11-28 08:03:22 +00:00
Brian Paul
45015e4d79 Pass scale and bias values to _mesa_scale_and_bias_rgba().
Implemented post-convolution scale and bias operation.
2000-11-28 00:07:51 +00:00
Brian Paul
4304790e3e fixed a convolution pixel store bug 2000-11-28 00:04:39 +00:00
Brian Paul
6a35de3cc3 added new source directories to LIB_FILES 2000-11-27 19:13:16 +00:00
Brian Paul
72ef753d5c Set ENABLE_LIGHT according to ctx->Light.Enabled whether or not
individual light sources are enabled.
2000-11-27 18:59:09 +00:00
Brian Paul
297dfa0fbf minor changes to fix compiler warnings 2000-11-27 18:53:59 +00:00
Brian Paul
a864432fb4 Added MaxClipPlanes and MaxLights to gl_constants struct so T&L
drivers can report non-default numbers of lights and clip planes.
2000-11-27 18:22:13 +00:00
Brian Paul
50478ded80 map glIndex* functions to glIndexi() (glIndexub was looping back to glIndexub) 2000-11-27 18:17:09 +00:00
Jouk Jansen
33b2dcf0da Modified Files:
Mesa/src/tnl/t_context.c Mesa/src/tnl/t_debug.c
 	Mesa/src/tnl/t_pipeline.c

 Some updates to silence warnings on my VMS-machine

----------------------------------------------------------------------
2000-11-27 09:05:52 +00:00
Brian Paul
68656667b2 fixed GLX_PBUFFER value 2000-11-25 18:52:58 +00:00
Keith Whitwell
9aff6cfdc3 Fixed a couple of bugs that crept into last commit
- Eval not compiled correctly
	- Material colors computed incorrectly

Reworked the VERT_TEX flags, now support upto 12 texture units in tnl.
2000-11-24 15:21:59 +00:00
Jouk Jansen
65dcc30599 Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 Updated VMS-compile support
----------------------------------------------------------------------
2000-11-24 13:55:59 +00:00
Keith Whitwell
b014986fdb New files... 2000-11-24 10:30:04 +00:00
Keith Whitwell
ad2ac216fa Support for swappable t&l modules, including an example one in the FX
driver (enable with FX_ALLOW_VTXFMT=t).
2000-11-24 10:25:05 +00:00
Brian Paul
00608a79dc minor updates for widgets-mesa/ 2000-11-23 16:36:36 +00:00
Jon Taylor
cdfba5d375 More auto* build system updates 2000-11-23 02:50:56 +00:00
Jouk Jansen
30e5ef86a0 Modified Files:
Mesa/macos/src-gli/MDD.h Mesa/macos/src-gli/mgliContext.c
 	Mesa/macos/src-gli/mgliContext.h
 	Mesa/macos/src-gli/mgliError.c Mesa/src/D3D/D3DMESA.H
 	Mesa/src/D3D/D3Dvbrender.c Mesa/src/D3D/NullProcs.c
 	Mesa/src/S3/S3mesa.c

Some more files with capitals.

----------------------------------------------------------------------
2000-11-22 09:01:04 +00:00
Jouk Jansen
dbd1e2b599 Modified Files:
Mesa/src/Allegro/amesa.c Mesa/src/DOS/dosmesa.c
 	Mesa/src/FX/fxdd.c Mesa/src/FX/fxdrv.h
 	Mesa/src/FX/fxfastpath.c
 	Mesa/src/GGI/include/ggi/mesa/ggimesa.h
 	Mesa/src/OSmesa/osmesa.c Mesa/src/SVGA/svgamesa.c
 	Mesa/src/Trace/tr_control.c Mesa/src/Windows/wgl.c
 	Mesa/src/X/xmesaP.h Mesa/src/X86/3dnow.c Mesa/src/X86/katmai.c
 	Mesa/src/X86/x86.c
 Removed Files:
 	Mesa/src/mms_depend

 Oops,... all files containing Caps in directory name or file name were
 missing in my types->mtypes commit.

----------------------------------------------------------------------
2000-11-22 08:55:51 +00:00
Jouk Jansen
22f5dc74c7 Modified Files:
Mesa/src/descrip.mms Mesa/src/swrast/s_lines.c

 VMS compile support
 Added some Type casts to avoid warnings
----------------------------------------------------------------------
2000-11-22 08:42:14 +00:00
Jouk Jansen
5e3bc0c2a2 Committing in .
Modified Files:
 	Mesa/macos/gli_api/gliapi1.h Mesa/macos/gli_api/gliapi2.h
 	Mesa/macos/gli_api/gliapiext.h Mesa/macos/src-gli/fxgli.c
 	Mesa/macos/src-gli/fxgli.h Mesa/macos/src-gli/fxgli2.c
 	Mesa/macos/src-gli/fxgli_tridebug.c Mesa/src/accum.c
 	Mesa/src/accum.h Mesa/src/all.h Mesa/src/alpha.c
 	Mesa/src/alpha.h Mesa/src/attrib.c Mesa/src/attrib.h
 	Mesa/src/bitmap.c Mesa/src/bitmap.h Mesa/src/blend.c
 	Mesa/src/blend.h Mesa/src/buffers.c Mesa/src/buffers.h
 	Mesa/src/clip.c Mesa/src/clip.h Mesa/src/colortab.h
 	Mesa/src/config.c Mesa/src/context.c Mesa/src/context.h
 	Mesa/src/convolve.c Mesa/src/convolve.h Mesa/src/copypix.c
 	Mesa/src/copypix.h Mesa/src/debug.c Mesa/src/depth.c
 	Mesa/src/depth.h Mesa/src/dlist.c Mesa/src/dlist.h
 	Mesa/src/drawpix.c Mesa/src/drawpix.h Mesa/src/enable.c
 	Mesa/src/enable.h Mesa/src/eval.c Mesa/src/eval.h
 	Mesa/src/extensions.c Mesa/src/extensions.h
 	Mesa/src/feedback.c Mesa/src/feedback.h Mesa/src/fog.c
 	Mesa/src/fog.h Mesa/src/get.c Mesa/src/get.h Mesa/src/glapi.c
 	Mesa/src/glthread.h Mesa/src/highpc.c Mesa/src/hint.h
 	Mesa/src/histogram.h Mesa/src/image.c Mesa/src/image.h
 	Mesa/src/imports.c Mesa/src/light.c Mesa/src/light.h
 	Mesa/src/lines.c Mesa/src/lines.h Mesa/src/logic.c
 	Mesa/src/logic.h Mesa/src/masking.c Mesa/src/masking.h
 	Mesa/src/matrix.c Mesa/src/matrix.h Mesa/src/pixel.c
 	Mesa/src/pixel.h Mesa/src/points.c Mesa/src/points.h
 	Mesa/src/polygon.c Mesa/src/polygon.h Mesa/src/rastpos.c
 	Mesa/src/readpix.c Mesa/src/scissor.c Mesa/src/scissor.h
 	Mesa/src/state.c Mesa/src/state.h Mesa/src/stencil.c
 	Mesa/src/stencil.h Mesa/src/teximage.c Mesa/src/teximage.h
 	Mesa/src/texobj.c Mesa/src/texobj.h Mesa/src/texstate.c
 	Mesa/src/texstate.h Mesa/src/texture.c Mesa/src/texture.h
 	Mesa/src/texutil.c Mesa/src/texutil.h Mesa/src/varray.c
 	Mesa/src/varray.h Mesa/src/X/fakeglx.c Mesa/src/X/xm_api.c
 	Mesa/src/X/xm_dd.c Mesa/src/X/xm_line.c Mesa/src/X/xm_span.c
 	Mesa/src/X/xm_tri.c Mesa/src/swrast/s_aaline.c
 	Mesa/src/swrast/s_aaline.h Mesa/src/swrast/s_aatriangle.h
 	Mesa/src/swrast/s_accum.h Mesa/src/swrast/s_alpha.h
 	Mesa/src/swrast/s_alphabuf.h Mesa/src/swrast/s_blend.h
 	Mesa/src/swrast/s_context.c Mesa/src/swrast/s_context.h
 	Mesa/src/swrast/s_depth.h Mesa/src/swrast/s_drawpix.h
 	Mesa/src/swrast/s_feedback.h Mesa/src/swrast/s_fog.h
 	Mesa/src/swrast/s_histogram.h Mesa/src/swrast/s_lines.h
 	Mesa/src/swrast/s_logic.h Mesa/src/swrast/s_masking.h
 	Mesa/src/swrast/s_pb.h Mesa/src/swrast/s_pixeltex.h
 	Mesa/src/swrast/s_points.h Mesa/src/swrast/s_quads.c
 	Mesa/src/swrast/s_quads.h Mesa/src/swrast/s_scissor.h
 	Mesa/src/swrast/s_span.h Mesa/src/swrast/s_stencil.h
 	Mesa/src/swrast/s_texture.h Mesa/src/swrast/s_triangle.h
 	Mesa/src/swrast/s_zoom.h Mesa/src/swrast/swrast.h
 	Mesa/src/swrast_setup/ss_context.h
 	Mesa/src/swrast_setup/ss_triangle.c
 	Mesa/src/swrast_setup/ss_triangle.h
 	Mesa/src/swrast_setup/ss_vb.h Mesa/src/tnl/t_clip.c
 	Mesa/src/tnl/t_clip.h Mesa/src/tnl/t_context.c
 	Mesa/src/tnl/t_context.h Mesa/src/tnl/t_cva.c
 	Mesa/src/tnl/t_cva.h Mesa/src/tnl/t_debug.c
 	Mesa/src/tnl/t_debug.h Mesa/src/tnl/t_dlist.h
 	Mesa/src/tnl/t_eval.c Mesa/src/tnl/t_eval.h
 	Mesa/src/tnl/t_fog.c Mesa/src/tnl/t_fog.h
 	Mesa/src/tnl/t_light.c Mesa/src/tnl/t_light.h
 	Mesa/src/tnl/t_pipeline.c Mesa/src/tnl/t_pipeline.h
 	Mesa/src/tnl/t_shade.c Mesa/src/tnl/t_shade.h
 	Mesa/src/tnl/t_stages.c Mesa/src/tnl/t_stages.h
 	Mesa/src/tnl/t_texture.c Mesa/src/tnl/t_texture.h
 	Mesa/src/tnl/t_trans_elt.c Mesa/src/tnl/t_trans_elt.h
 	Mesa/src/tnl/t_varray.c Mesa/src/tnl/t_varray.h
 	Mesa/src/tnl/t_vb.c Mesa/src/tnl/t_vb.h
 	Mesa/src/tnl/t_vbcull.c Mesa/src/tnl/t_vbcull.h
 	Mesa/src/tnl/t_vbfill.c Mesa/src/tnl/t_vbfill.h
 	Mesa/src/tnl/t_vbindirect.c Mesa/src/tnl/t_vbindirect.h
 	Mesa/src/tnl/t_vbrender.c Mesa/src/tnl/t_vbrender.h
 	Mesa/src/tnl/t_vbxform.c Mesa/src/tnl/t_vbxform.h
 	Mesa/src/tnl/tnl.h
 Added Files:
 	Mesa/src/mtypes.h
 Removed Files:
 	Mesa/src/types.h

 Changed Mesa/src/types to Mesa/src/mtypes.h to avoid conflicts while
compiling on a VMS system.

----------------------------------------------------------------------
2000-11-22 07:32:16 +00:00
Jon Taylor
fbe3726050 More auto* build system fixes 2000-11-22 06:49:43 +00:00
Jon Taylor
e3048be8ba swrast setup fixes 2000-11-22 06:45:38 +00:00
Brian Paul
0c000ec90c call gl_update_state() if needed in glGetColorTable, glGetConvolutionFilter 2000-11-21 23:26:13 +00:00
Brian Paul
c34cea7de5 call RENDER_START/FINISH in read_color_image() 2000-11-21 23:25:40 +00:00
Brian Paul
26d729581f minor clean-ups (Klaus Niederkrueger) 2000-11-21 23:17:36 +00:00
Brian Paul
5c0dccc896 minor clean-ups 2000-11-21 23:09:18 +00:00
Brian Paul
baf3e77ee2 added some RENDER_START/RENDER_FINISH macros. Minor GLchan changes 2000-11-21 23:01:22 +00:00
Jon Taylor
3c2e1022ed More auto* build fixes
Removed spurious trace/Makefile from repository
2000-11-21 05:17:13 +00:00
Brian Paul
189476f265 minor multi-tex changes, changed MAX_TEXTURE_UNITS to 4 2000-11-20 18:06:11 +00:00
Brian Paul
ce2733b7cc removed #include <tgmath.h> 2000-11-20 15:16:33 +00:00
Keith Whitwell
2ac294e67f fix lvalue cast on ctx->swtnl_im 2000-11-20 13:39:36 +00:00
Jon Taylor
1487b3ea3e * More work on the auto* build system
* Added missing #includes all over the place
* Added GGI-style debugging harness to GGIMesa
2000-11-19 23:42:32 +00:00
Brian Paul
a852378a62 Replaced Texture.CurrentD[] with separate Texture.Current1/2/3D vars.
Completely removed the dirty texture object list.  Set texObj->Complete
to GL_FALSE to indicate dirty.
Made point/line/triangle/quad SWvertex parameters const.
Minor code clean-ups.
2000-11-19 23:10:25 +00:00
Jon Taylor
b12d8e3b0d Added GGI-style debugging harness to GGIGLUT. 2000-11-19 07:41:26 +00:00
Gareth Hughes
54d7a74532 - Fix tnl/t_context.h inclusion.
- Some SSE asm updates, more to come.
2000-11-19 02:18:33 +00:00
Brian Paul
a13fab59ae added more programs 2000-11-18 17:13:04 +00:00
Brian Paul
ede37839ae test texture palettes with multitexture 2000-11-18 17:12:33 +00:00
Brian Paul
9b5bb5939b Mark Kilgard's reflection/shadow dino demo 2000-11-18 17:10:07 +00:00
Brian Paul
6b2eab1869 hacked demo to test multi-texture projective textures 2000-11-18 17:07:39 +00:00
Jon Taylor
912d3a04c1 * Auto* build fixes
* Added missing includes to math/*
2000-11-18 08:10:21 +00:00
Brian Paul
5a9026c65d Minor header file changes to silence warnings.
Added _mesa_enable_sw_extensions(), called by software-only drivers
to enable all s/w-supported GL extensions.
2000-11-17 21:01:25 +00:00
Jouk Jansen
9e83e8c790 Committing in .
Patches to compile Mesa on VMS.
   -Updated for new directory tree
   -Now compile with PTHREADS on


 The patch in glthread.h is temporarily. The include file src/types.h
 conflicts with the system defined types.h. In future the mesa supplied one
 should be renamed.

 Modified Files:
 	Mesa/include/GL/vms_x_fix.h Mesa/src/descrip.mms
 	Mesa/src/glthread.h Mesa/src/mms_depend
 ----------------------------------------------------------------------
2000-11-17 11:00:55 +00:00
Keith Whitwell
23caf20169 Move the transform and lighting code to two new directories
math:  Provides basic matrix and vector functionality that
               might be useful to multiple software t&l
	       implementations, and is used by core mesa to
	       manage the Model, Project, etc matrices.

	tnl:   The real transform & lighting code from core mesa,
	       including everything from glVertex3f through vertex
	       buffer handling, transformation, clipping, lighting
	       and handoff to a driver for rasterization.

The interfaces of these can be further tightened up, but the basic
splitting up of state and code move is done.
2000-11-16 21:05:34 +00:00
Jon Taylor
1795166732 Small compile fix 2000-11-16 10:38:39 +00:00
Brian Paul
0a82c75eab added includes to silence warnings 2000-11-15 16:38:59 +00:00
Brian Paul
24a32627d9 Replaced ctx->Point.Size with ctx->Point._Size
Replaced ctx->Point.UserSize with ctx->Point.Size
2000-11-15 16:38:40 +00:00
Brian Paul
30971cd098 rewrite of _mesa_win_fog_coords_from_z() so that both perspective and orthographic projection are handled correctly 2000-11-15 00:26:01 +00:00
Brian Paul
4fae0260a6 more Driver.Color, Driver.Index updates 2000-11-14 17:51:15 +00:00
Brian Paul
f930330d5f removed unused set_color() and set_index() functions 2000-11-14 17:50:07 +00:00
Brian Paul
c19d783e07 Removed Driver.Color() and Driver.Index() functions.
Pass color or color index directly to WriteMono*() span functions.
Updated current s/w drivers accordingly.
Clean-up of X gc handling in XMesa driver.
2000-11-14 17:40:13 +00:00
Keith Whitwell
1e1aac034c Cleanup of derived state calculation prior to seperating software T&L
into a new directory.  Specifically the handling of changes to lighting
lighting space (light in model vs. light in eye) have been revamped.

Moved several derived values used only by swrast into that directory.

Removed direct calls to swrast_flush() from vbrender.c -- pushed into
ctx->Driver.RenderFinish.

Optimized flat-shading case in swrast_setup.
2000-11-13 20:02:56 +00:00
Brian Paul
6b8ae62d6b removed unused var 2000-11-13 15:33:56 +00:00
Brian Paul
a2c4c98023 bumped version to 3.5 2000-11-13 15:33:17 +00:00
Brian Paul
d45fdeae35 fixed another texImage mistake in _mesa_GetTexImage() 2000-11-13 15:25:26 +00:00
Jon Taylor
dd11e7664d * Updated the autoconf/automake/libtool build system
* GGIMesa's stubs targets now uses swrast
2000-11-13 04:15:44 +00:00
Brian Paul
7351049dba init WrapR to GL_REPEAT mode 2000-11-11 20:23:47 +00:00
Brian Paul
e7f55e76db removed tr_attrib.c 2000-11-11 19:09:29 +00:00
Brian Paul
bc58b7b409 latest sources from Loki 2000-11-11 01:43:03 +00:00
Brian Paul
b5012e1ee1 replaced _NEW_IMAGING with _NEW_PIXEL 2000-11-10 18:31:04 +00:00
Brian Paul
df37d5f2db replaced s_imaging.h with s_histogram.h 2000-11-10 18:29:18 +00:00
Brian Paul
8a9507442a renamed imaging files to histogram since that's what's inside 2000-11-10 18:06:14 +00:00
Brian Paul
78bb78d1c3 renamed to histogram 2000-11-10 18:05:13 +00:00
Brian Paul
ba41b8afb1 minor changes to silence compiler warnings 2000-11-10 17:45:15 +00:00
Brian Paul
6c4268204b removed old TexImage() and TexSubImage() functions 2000-11-10 17:36:42 +00:00
Brian Paul
db6aa58267 patched to silence compiler warnings (Martin Lindhe) 2000-11-10 17:23:02 +00:00
Brian Paul
8e3366fda7 restored call to _mesa_select_tex_image() in _mesa_GetTexImage() 2000-11-10 15:32:07 +00:00
Brian Paul
3d960a0d84 GL_BGR case was misplaced in _mesa_is_legal_format_and_type() (Jeff Hartmann) 2000-11-09 23:25:06 +00:00
Brian Paul
71be653edc updated with bug fix from 3.4 branch 2000-11-09 22:41:25 +00:00
Brian Paul
5605385194 fixed mipmap setup bug 2000-11-09 16:53:26 +00:00
Keith Whitwell
14425aeca1 fixed very obvious fog bug 2000-11-07 19:17:23 +00:00
Brian Paul
7298e71360 adjust x/y/zoffset parameters to fill_texture_image() by texture border width 2000-11-07 16:40:37 +00:00
Brian Paul
2d595d7020 test ctx->RenderMode in chooser functions 2000-11-06 17:28:51 +00:00
Brian Paul
8d915cb6fb test ctx->RenderMode in chooser functions, removed dead code 2000-11-06 17:28:20 +00:00
Brian Paul
4f3e7cd3cf added a setup function for selection/feedback 2000-11-06 17:08:02 +00:00
Brian Paul
8fa6b363db added buffer test to xmesa_choose_point(), fixes X protocol error 2000-11-06 15:52:48 +00:00
Jouk Jansen
790ea3dc7f Committing in .
Modified Files:
 	Mesa/src/descrip.mms Mesa/src/mms_depend

 Updating VMS compile support

----------------------------------------------------------------------
2000-11-06 13:04:05 +00:00
Brian Paul
861ca519ab removed obsolete VB vars 2000-11-05 23:21:12 +00:00
Brian Paul
b2ad0754b0 added swrast/s_aaline.c 2000-11-05 23:19:23 +00:00
Brian Paul
0070d398d1 hooked in new AA line code, minor clean-up 2000-11-05 23:18:36 +00:00
Brian Paul
7798374e47 New implementation of antialiased lines. Mesa should now pass the remaining
GL conformance tests for AA lines (but not tried yet).
TODO: improve code sharing with the AA triangle code.
2000-11-05 23:15:16 +00:00
Keith Whitwell
14940c4ffe - Changes for new software rasterizer modules
- Remove support for choosing software fallbacks from core code
- Remove partial fallback code from vbrender.c -- drivers are now
  expected to be able to find a triangle/quad function for every state,
  even if they have to use _swsetup_Triangle or _swsetup_Quad.
- Marked derived variables in the GLcontext struct with a leading
  underscore '_'.
2000-11-05 18:40:57 +00:00
Keith Whitwell
1e885f6e6c Reworked to use the new software rasterizer. Optimized line/tri functions
are hooked into the software rasterizer.
2000-11-05 18:28:01 +00:00
Keith Whitwell
ec0585883a Use the new software rasterizer. Reworked optimized line,tri,point
functions to fit into the framework provided for extending the
software rasterizer.
2000-11-05 18:26:12 +00:00
Keith Whitwell
cd03ed4f54 Reorganized software rasterizer as a module which manages its own state,
with tighter interfaces with the rest of the world.

Proper documentation to come.
2000-11-05 18:24:40 +00:00
Keith Whitwell
7c20642b10 A new module to provide RasterSetup and advanced triangle/line/point
functionality layered on top of the software rasterizer.

An example entrypoint:
	void _swsetup_Triangle( GLcontext, GLuint, GLuint, GLuint, GLuint )

will coerce the software rasterizer to draw flat, twoside-lit,
unfilled and offset triangles (including decomposition to points or lines).
2000-11-05 18:20:18 +00:00
Keith Whitwell
c6f348cbc9 Lots of changes:
- use the new interface to the software rasterizer.
	- manage all fallbacks internally, hooking in swrast or
	  swrast_setup if necessary.
	- removed lots of marginal code no longer appropriate in a
	  maturing driver.
	- reworked the vertex-setup and triangle routines, including
	  drawing unfilled triangles from within the driver.
2000-11-05 18:16:51 +00:00
Brian Paul
a190221f70 update to GL_MESA_trace extension enums 2000-11-03 15:14:18 +00:00
Brian Paul
8e4fa8c3e6 MESA_trace extension (Loki) 2000-11-03 15:10:04 +00:00
Brian Paul
44bd53f259 added GL_MESA_packed_depth_stencil extension 2000-11-03 15:01:38 +00:00
Brian Paul
fcb23bbd6e GL_MESA_packed_depth_stencil extension spec 2000-11-03 14:58:45 +00:00
Brian Paul
75d7425061 added some missing backslashes 2000-11-03 01:37:10 +00:00
Gareth Hughes
5f5632c424 Change transformation from ortho to perspective so we get the MGA elt
path by default.
2000-11-03 00:09:31 +00:00
Brian Paul
861eb8eb16 update for separate libOSMesa.so lib 2000-11-01 16:02:52 +00:00
Brian Paul
563d26b247 print number of texture units 2000-11-01 16:02:01 +00:00
Jouk Jansen
b35ec1ca05 Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 Updated Makefiles for VMS
----------------------------------------------------------------------
2000-11-01 15:53:02 +00:00
Gareth Hughes
9f568e512f Added trivial CVA test for testing HW driver fastpaths, good for testing
indexed vertex buffer implementations for instance.

Cleaned up Makefile to make building and adding more tests easier.
2000-11-01 03:14:12 +00:00
Brian Paul
acdb6db846 Always call Driver.SetReadBuffer() in copy pixels functions, just to be safe 2000-10-31 23:11:06 +00:00
Brian Paul
fda3b1a4b1 added comment explaining why the demo is flawed 2000-10-31 20:41:06 +00:00
Keith Whitwell
724abeb058 Moved the software rasterizer to a new directory. 2000-10-31 18:09:44 +00:00
Keith Whitwell
e3a051e053 Moved software rasterizer functionality to new directory. 2000-10-31 18:00:04 +00:00
Keith Whitwell
6e0f0f51e0 Remove dead code in FX driver. 2000-10-31 12:40:57 +00:00
Brian Paul
039bf534aa removed debug printf 2000-10-31 01:20:06 +00:00
Brian Paul
efeddebe81 big overhaul of the demo, works better now 2000-10-30 22:38:55 +00:00
Keith Whitwell
365dc68c39 Rearrange VERT_* flags to support 4 texture units. 2000-10-30 18:50:42 +00:00
Brian Paul
9499e017b7 Removed UPDATE_IMAGE_TRANSFER_STATE, use _NEW_PIXEL flag instead.
More minor GLchan changes.
Silence some compiler warnings in cva.[ch]
2000-10-30 16:32:42 +00:00
Keith Whitwell
caef4a35d6 Removed references to gcc's __FUNCTION__ macro.
Removed dead file fog_tmp.h
2000-10-30 16:30:56 +00:00
Brian Paul
6ad2c5b59a set *t->flag = enabled in gl_extensions_add(), otherwise, extension booleans weren't set 2000-10-30 16:27:21 +00:00
Keith Whitwell
69676ac379 test cvs commit logging 2000-10-30 16:00:42 +00:00
Keith Whitwell
a96308c37d Replace the flags Mesa was using for ctx->NewState with a new set
based on the GL attribute groups.

Introduced constants describing the circumstances under which some
key derived values can change:
	_SWRAST_NEW_RASTERMASK -- ctx->RasterMask
	_SWRAST_NEW_TRIANGLE   -- The software rasterizer's triangle
	                          function
	_DD_NEW_FEEDBACK -- the 'DD_FEEDBACK' bit in ctx->TriangleCaps

These are helpful in deciding whether you need to recalculate state if your
recalculation involves reference to a derived value.
2000-10-30 13:31:59 +00:00
Jouk Jansen
a457549967 Committing in .
Modified Files:
 	Mesa/src/X/xm_api.c

 included macros.h

----------------------------------------------------------------------
2000-10-30 08:39:38 +00:00
Brian Paul
193005393d renamed Current.ByteColor Current.Color 2000-10-29 19:02:23 +00:00
Brian Paul
ebb248aa5c more minor header file re-org (moved CONST, ASSERT, INLINE to config.h) 2000-10-29 18:23:16 +00:00
Brian Paul
699bc7b73d More GLchan color channel changes.
Some header file re-org:
   Move matrix, vertex buffer structs to types.h to fix #include mess.
   Remove typedef, extern declarations from config.h
2000-10-29 18:12:14 +00:00
Brian Paul
c893a015d8 New colormac.h file for color-related macros.
Lot's of clean-up in macros.h and mmath.h
2000-10-28 20:41:13 +00:00
Brian Paul
ba643a2094 Basic work to support deep color channels:
Replace GLubyte with GLchan
  Replace 255 with CHAN_MAX
2000-10-28 18:34:48 +00:00
Keith Whitwell
a897b335be Do per-pixel fog when GL_FOG_HINT is GL_NICEST.
Fix scaling bug in per-pixel fog calculations.
2000-10-28 11:42:12 +00:00
Jon Taylor
1aa958bc9c Lots of misc. bugfixes to bring GGIMesa in sync with the latest Mesa sources. 2000-10-28 10:02:44 +00:00
Brian Paul
1c4b3f4dfb restored test for __alpha in _mesa_win_fog_coords_from_z() 2000-10-27 18:38:35 +00:00
Brian Paul
7dd57a48e1 added info about GL_EXT_secondary_color and GL_EXT_fog_coord 2000-10-27 18:32:55 +00:00
Brian Paul
a14cbff8e5 Enabled GL_EXT_secondary_color. Fixed a bunch of typos in the dlist.c
and state.c file for plugging those functions into the dispatch table.
Don't use Mesa 3.5 for DRI until SGI approves the new dispatch offsets.
Commented-out references to ctx->FogMode and VB->Specular in FX driver.
Minor clean-up in extensions.c
Removed unused prototype in fog.h
2000-10-27 18:31:21 +00:00
Keith Whitwell
fe5d67d95f Implement EXT_fog_coord and EXT_secondary_color.
EXT_secondary_color is disabled until we get some dispatch offsets from SGI.
2000-10-27 16:44:40 +00:00
Gareth Hughes
ba58a6665f Change animated apps to double-buffered visuals by default. 2000-10-27 02:49:17 +00:00
Brian Paul
b4df56fcd9 added GL_BGR case to bytes_per_pixel() 2000-10-26 21:48:18 +00:00
Brian Paul
7460cfabbc removed X86/*.m4 files from tar archive 2000-10-26 19:36:14 +00:00
Brian Paul
66202b75d5 clarified meaning of DEFAULT_SOFTWARE_DEPTH_BITS value 2000-10-26 19:26:18 +00:00
Brian Paul
7ceffd0e0d fixed value for GLU_NURBS_MODE 2000-10-26 15:32:54 +00:00
Brian Paul
27a26bfc4b added a glFinish() call 2000-10-26 15:26:14 +00:00
Brian Paul
21d073d55a added incomplete() debug function/macro 2000-10-24 02:53:18 +00:00
Brian Paul
9a4a958a5c signal NEW_TEXTURING if there's a Driver.BindTexture() function 2000-10-24 01:13:58 +00:00
Brian Paul
6cdf09749c Put a white texel in each corner of each texture.
Draw polygons using the texture's aspect ratio.
The tdfx-3-0-0 texcoord bug is obvious with the -randomsize option.
2000-10-23 23:32:22 +00:00
Brian Paul
0448488e11 added idle() func, enable fog by default 2000-10-23 20:06:36 +00:00
Brian Paul
5a501fbd09 added libOSMesa.so info 2000-10-23 19:46:11 +00:00
Brian Paul
5bb27edac0 generate separate libOSMesa library ala XFree86/DRI 2000-10-23 19:43:36 +00:00
Brian Paul
edda9ae9fb fixed 386/x86 mismatches, reordered a few configs 2000-10-23 19:33:55 +00:00
Gareth Hughes
ac018f5494 Major audit of all Mesa's x86 assembly code. This round is basically
general cleanups - more to come.

Added P6 architecture timing to debug_xform routines.  Still need to add
test_all_vertex_functions test for the v16 asm.  Dynamic reconfiguration
of counter overhead for more accurate benchmarking.

Removed redundant x86 assembly build options, replace with linux-x86 and
so on.  This will build all x86, MMX, 3DNow!, SSE etc assembly into
libGL - preferred over many different options to include some but not
all assembly code.  Note that linux-3dnow and linux-katmai options have
thus been removed.
2000-10-23 00:20:50 +00:00
Gareth Hughes
fc2427e81b Major audit of all Mesa's x86 assembly code. This round is basically
general cleanups - more to come.

Added P6 architecture timing to debug_xform routines.  Still need to add
test_all_vertex_functions test for the v16 asm.  Dynamic reconfiguration
of counter overhead for more accurate benchmarking.
2000-10-23 00:16:28 +00:00
Brian Paul
e188b6e1f1 added a proper idle() function 2000-10-21 04:29:02 +00:00
Brian Paul
eb326f5f01 fixed a texture enable bug 2000-10-21 01:29:12 +00:00
Brian Paul
d0d7d62120 polygon offset changes; added Visual->MRD field 2000-10-21 00:02:47 +00:00
Brian Paul
d475730357 Changes for multitexture > 3, code clean-ups.
Added GLboolean ctx->Texture.MultiTextureEnabled to determine when
multitexture is enabled.  Eventually ctx->Texture.ReallyEnabled may
become a boolean.
2000-10-20 19:54:49 +00:00
Brian Paul
a2d2aed64a use 1.1 glPolygonOffset instead of glPolygonOffsetEXT 2000-10-20 17:26:57 +00:00
Brian Paul
9c7ca850fd Rewrote get_static_proc_address(). It made mistakes in some situations 2000-10-19 20:13:12 +00:00
Brian Paul
a5b66333fb glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly 2000-10-19 20:09:47 +00:00
Brian Paul
9f0bb59c53 call Driver.SetReadBuffer() in clear_color_buffers() to fix colormasked clear bug 2000-10-19 18:17:19 +00:00
Brian Paul
cc50ed60b3 improved blending accuracy to fix Glean test failures 2000-10-19 18:08:05 +00:00
Brian Paul
6aafd2491c GL_MAX_TEXTURE_UNITS_ARB is now 3 2000-10-18 15:14:48 +00:00
Brian Paul
ce938b307e More fixes for MAX_TEXTURE_UNITS > 2. Seems to work now.
Misc code clean-ups, minor bug fixes.
MAX_TEXTURE_UNITS now defaults to 3.
2000-10-18 15:02:59 +00:00
Brian Paul
d367216678 ported render begin/end calls from Mesa 3.4 2000-10-17 00:42:02 +00:00
Brian Paul
1873b567b2 added _mesa_get_teximages_from_driver() 2000-10-16 23:43:12 +00:00
Brian Paul
1100b4daa3 use gray background, memset TempImage to white to help with debugging 2000-10-16 21:24:39 +00:00
Brian Paul
35324a6c60 if depthBits == 0, set DepthMask = 2^16 to fix per-fragment fog problems 2000-10-09 22:42:40 +00:00
Brian Paul
1791901468 update TriangleCaps in GL_POINT/POLYGON_SMOOTH cases 2000-10-05 23:10:42 +00:00
Brian Paul
fdf2033bda brighter colors 2000-10-05 21:57:00 +00:00
Brian Paul
2c7e6334ec better handling of GLX_DEPTH_SIZE in glXChooseVisual() 2000-10-05 17:38:21 +00:00
Brian Paul
fa849a0e16 drawing color-index image to RGB window was broken 2000-10-05 16:22:22 +00:00
Jouk Jansen
55590ee810 Committing in .
Modified Files:
 	Mesa/demos/paltex.c

 Silenced compiler warnings

----------------------------------------------------------------------
2000-10-05 07:17:43 +00:00
Brian Paul
476609c539 improved to test alpha blending with texture palette 2000-10-04 18:15:39 +00:00
Brian Paul
16eb23a0cb more work to support N texture units 2000-10-02 15:45:12 +00:00
Brian Paul
22f1ca0131 textured line test 2000-09-30 18:48:33 +00:00
Brian Paul
9c05c0494d support for N texture units 2000-09-30 18:42:29 +00:00
Brian Paul
4f66498304 added fps output 2000-09-29 23:09:39 +00:00
Brian Paul
e92dd16605 generalized support for N texure units 2000-09-29 16:58:44 +00:00
Brian Paul
eb6c6439ae removed ctx->Texture.Enabled, use ctx->Texture.ReallyEnabled instead 2000-09-28 22:44:30 +00:00
Brian Paul
37a6211795 new params for SpecificCompressedTexFormat() (Bill White) 2000-09-28 18:30:39 +00:00
Jouk Jansen
574c456a5a Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 inserted imports.c
----------------------------------------------------------------------
2000-09-27 10:59:15 +00:00
Brian Paul
f142a0830a include types.h 2000-09-27 03:30:49 +00:00
Brian Paul
643be95416 renamed gl_copy_context to _mesa_copy_context 2000-09-26 21:28:39 +00:00
Brian Paul
6542324cb0 added imports.c 2000-09-26 21:22:20 +00:00
Brian Paul
b1394fa92a First batch of OpenGL SI related changes:
Renamed struct gl_context to struct __GLcontextRec.
Include glcore.h, setup GL imports/exports.
Replaced gl_ prefix with _mesa_ prefix in context.[ch] functions.
GLcontext's Visual field is no longer a pointer.
2000-09-26 20:53:53 +00:00
Brian Paul
3b18a36f21 Replaced preprocessor symbol GL_MESA_TRACE with MESA_TRACE.
Changed src/Makefile.X11 to compile Trace sources like other drivers.
2000-09-26 15:27:20 +00:00
Brian Paul
63c113a31b use GL_NEAREST texture filter 2000-09-26 15:25:01 +00:00
Brian Paul
423f2b2884 added GL_ARB_texture_env_add 2000-09-25 16:03:59 +00:00
Brian Paul
b9b329d1e5 removed unused display_list struct 2000-09-24 16:11:55 +00:00
Gareth Hughes
5e0bb98abd Added SSE streaming store instructions, external symbol directives. 2000-09-18 22:49:04 +00:00
Gareth Hughes
5aa1c1cd5f Added SSE prefetching instructions. General cleanups. 2000-09-18 16:57:16 +00:00
Brian Paul
1c56fdc707 new comments, misc clean-up 2000-09-17 21:56:07 +00:00
Gareth Hughes
f3c399ec11 General cleanups. Disable gl_katmai_project_vertices and
gl_katmai_project_clipped_vertices for now as they are broken.
2000-09-17 21:12:40 +00:00
Brian Paul
345a71a9cb set default window pos, changed 4 to GL_RGBA 2000-09-15 23:59:46 +00:00
Brian Paul
4ed1d0b2c0 added some missing const keywords in GetString 2000-09-15 19:57:51 +00:00
Brian Paul
1ff933b452 added GL_MESA_trace support 2000-09-15 19:45:40 +00:00
Brian Paul
98b3dd40f7 Added GL_MESA_trace extension (Loki) 2000-09-15 19:45:00 +00:00
Brian Paul
771b975528 added trace support (Loki) 2000-09-15 19:44:39 +00:00
Brian Paul
4360bd7c76 removed unused struct display_list_compilation 2000-09-15 17:04:35 +00:00
Brian Paul
cefc42f1ba added FPS calculation 2000-09-15 16:43:57 +00:00
Brian Paul
008e4e7e39 added more warning options to linux-elf-debug config 2000-09-15 15:55:24 +00:00
Brian Paul
0e52184c48 moved DECLARE_XFORM_GROUP macros outside of gl_init_3dnow_asm_transforms() to silence compiler warnings 2000-09-15 15:54:25 +00:00
Brian Paul
f7a4bcaf79 use cpml.h on Alpha (AlanH) 2000-09-15 15:42:45 +00:00
Brian Paul
64a23a0f9c updated comments 2000-09-14 23:13:51 +00:00
Brian Paul
23316033db explicitly init some texture vars 2000-09-14 23:13:23 +00:00
Brian Paul
ae18872bc7 added cursor key info to instructions 2000-09-13 23:01:52 +00:00
Brian Paul
a94ee16534 replaced GL_RGBA with GL_BGRA for GL_UNSIGNED_SHORT_1_5_5_5_REV datatype 2000-09-13 22:07:20 +00:00
Brian Paul
881ec9ee67 packing of GLushort packed types was broken 2000-09-12 21:10:25 +00:00
Brian Paul
8d4bd87c1a added format/type error check to draw_rgba_pixels() 2000-09-12 21:09:24 +00:00
Brian Paul
e4b684ce49 init mutex 2000-09-12 21:07:40 +00:00
Brian Paul
d49b34a233 better FPS calculation 2000-09-12 18:44:45 +00:00
Brian Paul
b8cc150836 terrain demo data 2000-09-12 17:58:27 +00:00
Brian Paul
4df1f7c7ba better fps computation 2000-09-12 17:38:22 +00:00
Brian Paul
82cfcfa63a added some casts (Takaaki Nomura) 2000-09-12 17:03:59 +00:00
Brian Paul
b9466fca3e Win32 updates (Chris Morley) 2000-09-12 15:46:43 +00:00
Brian Paul
8f39dd1e62 Win32 update (Chris Morley) 2000-09-12 15:41:46 +00:00
Brian Paul
038573aae7 Removed immediate struct's maybe_transform_vb pointer.
Call _mesa_maybe_transform_vb() directly.
2000-09-11 18:49:06 +00:00
Jouk Jansen
b506d8753d Committing in .
Modified Files:
 	Mesa/src/descrip.mms

 Corrected a typo
----------------------------------------------------------------------
2000-09-09 07:05:32 +00:00
Brian Paul
9a2da667f3 added Dither, NEW_DRVSTATE info 2000-09-08 22:39:09 +00:00
Brian Paul
399ae35ac6 removed unused NEW_DRVSTATE flags 2000-09-08 22:07:29 +00:00
Brian Paul
9d3e5db9fc added dither key option 2000-09-08 21:45:21 +00:00
Brian Paul
7f7b205259 removed ctx->Driver.Dither function 2000-09-08 21:44:55 +00:00
Brian Paul
48c6a6ecd2 changed gl_frame_buffer Xmax and Ymax to be exclusive boundary values 2000-09-08 21:28:04 +00:00
Brian Paul
e18e0e98fe added OSMesaCreateContextExt item 2000-09-08 16:42:44 +00:00
Brian Paul
46dbaec56a Use OSMesaCreateContextExt() if using Mesa 3.5 or later 2000-09-08 16:42:06 +00:00
Brian Paul
2bf5d9470d added OSMesaCreateContextExt() 2000-09-08 16:41:38 +00:00
Brian Paul
8ad306baf6 added device driver changes 2000-09-07 15:46:05 +00:00
Brian Paul
c4c639c9a4 Removed ctx->Driver.LogicOp().
ctx->Driver.Index/ColorMask() now return void.
Removed SWmasking and SWLogicOpEnabled variables.
LogicOps and color/index masking are no longer special-case device
driver functions.  The Xlib driver was the only driver that used
them.  Things are more uniform now.
2000-09-07 15:45:26 +00:00
Brian Paul
18f73b622f added xmesa_update_span_funcs() 2000-09-07 15:42:38 +00:00
Brian Paul
16c3ea9459 renamed Xlib driver files 2000-09-07 15:42:13 +00:00
Brian Paul
693f81be4c newly organized Xlib driver files 2000-09-07 15:40:30 +00:00
Brian Paul
38d3f3d660 added device driver function for texture proxy testing 2000-09-07 15:38:49 +00:00
Brian Paul
724f2939f4 silence compiler warning (zoomY0) 2000-09-06 17:44:52 +00:00
Brian Paul
afa61173a8 test for __bsdi__ for XFree86 2000-09-06 17:34:41 +00:00
Brian Paul
37cfb3b5c2 replaced ## with CONCAT macro 2000-09-06 17:33:40 +00:00
Brian Paul
f96ce6a707 oops- forgot convolution for glGetTexImage. Done now. 2000-09-06 15:15:43 +00:00
Brian Paul
c52fc9b49c passing proxy targets to glGetTexImage() should generate GL_INVALID_ENUM 2000-09-05 22:11:38 +00:00
Brian Paul
9c27278acf use clear_proxy_teximage() instead of MEMSET() 2000-09-05 22:04:30 +00:00
Brian Paul
f75d697c03 GetConvolution/SeparableFilter() now finished 2000-09-05 20:28:56 +00:00
Brian Paul
45f3634ce3 added tracing facility from Loki 2000-09-05 20:28:06 +00:00
Brian Paul
3a71d05e53 added tracing facility from Loki 2000-09-05 20:17:37 +00:00
Brian Paul
dca39e8911 added const to _mesa_select_tex_object() 2000-09-05 15:41:25 +00:00
Brian Paul
01e54753ff Fixed bug in fill_texture_image(). Clean-up in _mesaGetTexImage() 2000-09-05 15:40:34 +00:00
Brian Paul
bc6f07856f added convolution, ARB_imaging items 2000-09-02 17:54:28 +00:00
Brian Paul
513d486e75 enabled GL_EXT_convolution and GL_ARB_imaging 2000-09-02 17:52:53 +00:00
Brian Paul
a805bb9691 finished convolution 2000-09-02 17:52:21 +00:00
Brian Paul
bfc6ee1b13 destBytesPerRow was uninitialized in make_texture_image() 2000-09-01 22:01:12 +00:00
Brian Paul
e8a84a93aa initial check-in 2000-09-01 21:01:18 +00:00
Brian Paul
bed573586e added new extensions 2000-08-31 23:04:17 +00:00
Brian Paul
328cb0b512 added Glide3 bug fix info 2000-08-31 23:04:03 +00:00
Brian Paul
b3fdfa1246 fbiRev and tmuRev weren't getting initialized when using Glide3 2000-08-31 22:32:45 +00:00
Brian Paul
15915b03d0 added more resolutions (Andy Sloane) 2000-08-31 22:08:04 +00:00
Brian Paul
5a0d3dc7b3 convolution for glTexImage[123]D now works 2000-08-31 15:24:39 +00:00
Brian Paul
b92d64e150 renamed some variables 2000-08-31 15:24:07 +00:00
Brian Paul
f93b3dd69e more convolution work 2000-08-30 18:22:28 +00:00
Brian Paul
116970154d added _mesa_pack_float_rgba_span() 2000-08-30 18:21:37 +00:00
Brian Paul
8e053916c8 added more extensions testing code 2000-08-30 18:21:06 +00:00
Brian Paul
289d47eee5 finished compressed texture support (Bill White) 2000-08-29 23:31:23 +00:00
Brian Paul
148fb313c5 added MESA_FF_R8_G8_B8 (alpha filled to 0xff) format 2000-08-29 23:30:53 +00:00
Brian Paul
e8e20ae598 changed default Shininess to 6 2000-08-29 21:17:38 +00:00
Brian Paul
8aee2a3326 don't free ctx inside _mesa_initialize_context() if error, caller does that. 2000-08-29 18:57:58 +00:00
Brian Paul
ef9025a641 updated some comments 2000-08-29 14:25:30 +00:00
Jouk Jansen
5d3a95714c Committing in .
Modified Files:
 	Mesa/demos/descrip.mms

 One forgotten file for VMS to support /name=(as_is,short)

----------------------------------------------------------------------
2000-08-24 08:48:27 +00:00
Brian Paul
cf8eebee07 added convolve.h header 2000-08-23 14:33:04 +00:00
Brian Paul
732dd6f417 enabling 1D convolution caused a problem 2000-08-23 14:32:06 +00:00
Brian Paul
147b08328a moved convolution API functions to convolve.c 2000-08-23 14:31:25 +00:00
Brian Paul
7e70874420 finished separable filter functions 2000-08-22 18:54:25 +00:00
Jouk Jansen
b5b5c52034 Committing in .
Modified Files:
 	Mesa/include/GL/glx.h Mesa/include/GL/xmesa.h
 	Mesa/src/descrip.mms Mesa/src/X/glxheader.h
 	Mesa/src/X/xfonts.c Mesa/src/X/xfonts.h
 	Mesa/src-glu/descrip.mms Mesa/src-glut/capturexfont.c
 	Mesa/src-glut/descrip.mms Mesa/src-glut/glut_cmap.c
 	Mesa/src-glut/glut_event.c Mesa/src-glut/glut_fullscrn.c
 	Mesa/src-glut/glut_gamemode.c Mesa/src-glut/glut_init.c
 	Mesa/src-glut/glut_input.c Mesa/src-glut/glut_menu.c
 	Mesa/src-glut/glut_menu2.c Mesa/src-glut/glut_overlay.c
 	Mesa/src-glut/glut_win.c Mesa/src-glut/glut_winmisc.c
 	Mesa/src-glut/glutint.h Mesa/src-glut/layerutil.h
 	Mesa/vms/analyze_map.com
 Added Files:
 	Mesa/include/GL/vms_x_fix.h

 Patches effective on VMS only. This allows for compiling with
 /name=(as_is,short). This breaks the binary compatibility with previous
 versions for VMS, but is the only way to combine Mesa with GTK for VMS.


                      Jouk
----------------------------------------------------------------------
2000-08-22 13:31:00 +00:00
Brian Paul
f4f4dab25a changed quad vertex colors to be tessellation invariant 2000-08-21 21:05:39 +00:00
Brian Paul
043654bbfb print UNDEFINED MODE over samples that are undefined in the GL spec 2000-08-21 20:04:55 +00:00
Brian Paul
9b61162d43 use ImageTransferState 2000-08-21 14:26:01 +00:00
Brian Paul
3f8a70e5dd added convolve.c to file list 2000-08-21 14:25:25 +00:00
Brian Paul
a6d46f6b99 increased max convolution filter size 2000-08-21 14:24:53 +00:00
Brian Paul
d4b799b60c more convolution work, not done 2000-08-21 14:24:30 +00:00
Brian Paul
46e8a51383 basic glDrawPixels convolution implemented 2000-08-21 14:24:10 +00:00
Brian Paul
6339e621f5 fixed image transfer errors 2000-08-21 14:23:09 +00:00
Brian Paul
fa4525e289 implemented new ImageTransferState bitmask 2000-08-21 14:22:24 +00:00
Brian Paul
b1097f24a8 optimized glDrawPixels for glPixelZoom(1,-1) (Andrew Gee) 2000-08-16 20:51:53 +00:00
Brian Paul
e716184cae added missing radius multiplication factor to sphere code 2000-08-16 20:36:34 +00:00
Brian Paul
6f0294ca47 fixed typo which disabled simple_DrawPixels 2000-08-16 17:32:42 +00:00
Brian Paul
e98276c859 fixed some warnings (Alan H.) 2000-08-16 17:26:06 +00:00
Brian Paul
dff7924e25 removed all dependencies on XMesa 2000-08-13 03:57:21 +00:00
Brian Paul
094e2f1a67 fixed segfault problem when using MESA_GLX_FX 2000-08-13 03:44:08 +00:00
Brian Paul
7aac6d6b8e fixed depth mask bug in fxddClear(DD_DEPTH_BIT) 2000-08-09 17:56:27 +00:00
Jouk Jansen
8deec7bf5f Committing in .
Modified Files:
 	Mesa/src-glu/descrip.mms

 Update VMS-makefile for "old" GLU
----------------------------------------------------------------------
2000-08-09 06:24:55 +00:00
Brian Paul
963946d3d7 updated version to 3.5 2000-08-08 16:20:32 +00:00
Brian Paul
d4f6695a3e bumped MESA_MINOR to 5 2000-08-08 16:16:22 +00:00
Brian Paul
042066887b added GetInteger/Float/Double/Boolean/Pointer device driver functions 2000-08-08 16:15:14 +00:00
Brian Paul
507d83e4cc added NULL parameter checking to API functions 2000-08-03 14:03:17 +00:00
Brian Paul
ddf69f247f updated Phil's email address 2000-08-02 20:35:09 +00:00
Brian Paul
585d191ae7 updates from mesa3d@billbaxter.com 2000-08-02 20:29:03 +00:00
Brian Paul
bd0f7f42d6 fixed return val bug in glAreTexturesResident() 2000-08-02 20:16:03 +00:00
Brian Paul
6f173cafbd added include/GL/mesa_wgl.h to tar file list 2000-08-02 20:14:23 +00:00
Brian Paul
b8d907a9bb updated by Alessandro Pisani 2000-08-02 20:09:09 +00:00
Brian Paul
ee2ef90b7f test handling of lots of textures 2000-08-02 17:57:56 +00:00
Brian Paul
769439a23d removed GLU 1.2 symbols 2000-08-02 14:08:48 +00:00
Brian Paul
00277e836d define GL_GLEXT_PROTOTYPES before including mesa_wgl.h 2000-08-02 00:41:21 +00:00
Brian Paul
6d04725282 initialize texture priorities to 1.0, clean-up of _mesa_PrioritizeTextures() 2000-08-02 00:38:25 +00:00
Brian Paul
390488d12e glGetTexParameter(GL_TEXTURE_RESIDENT) didn't query device driver 2000-08-01 17:33:53 +00:00
Brian Paul
85dc4e7a77 test against an epsilon magnitude in gl_rotation_matrix() 2000-07-31 15:31:29 +00:00
Brian Paul
974e468e6d install glext.h too 2000-07-31 15:27:11 +00:00
Brian Paul
6998c71458 added missing widgets-mesa/src/*.c files, updated version numbers to 3.5 2000-07-31 13:59:22 +00:00
Brian Paul
5c8de84f5f 3.5 release notes 2000-07-31 13:58:04 +00:00
Brian Paul
1357249aa9 added placeholders for 3.4 and 3.5 info 2000-07-31 13:57:40 +00:00
Brian Paul
5d5b09cf79 fixed glitches in zip file rules 2000-07-21 16:36:35 +00:00
Brian Paul
14adbf467d imported from 3.2.1 release 2000-07-21 16:32:33 +00:00
Brian Paul
ebc22c032a lots of updates for 3.3 2000-07-21 16:26:41 +00:00
Brian Paul
d9772291ee removed beta occurances 2000-07-21 16:26:28 +00:00
Brian Paul
8b4738ca47 added 3.2.1 info and final 3.3 info 2000-07-21 15:41:59 +00:00
Brian Paul
f7d503376f removed beta from version string 2000-07-21 15:41:08 +00:00
Brian Paul
c7d1444f9c added GLX multi-thread demo 2000-07-20 20:12:17 +00:00
Keith Whitwell
cc70e78d65 fix for eval regression 2000-07-20 15:53:17 +00:00
Brian Paul
cf89b89be8 call glutInit() 2000-07-19 23:57:24 +00:00
Brian Paul
206bd46e2b a bunch of thread-safety changes 2000-07-19 23:26:35 +00:00
Brian Paul
26f3b05fe5 initialize GenBit[STRQ] in init_texture_unit() 2000-07-19 20:58:59 +00:00
Brian Paul
d283df605e restore driver depth test enable/disable state in PopAttrib() 2000-07-19 18:34:00 +00:00
Brian Paul
912ed380fe removed two bugs 2000-07-19 15:08:55 +00:00
Brian Paul
a0faa7f0ec Fixed off-by-one error in compute_shine_table(). Minor code clean-up 2000-07-18 16:55:56 +00:00
Brian Paul
33e13e78e9 added: touch widgets-sgi/depend 2000-07-18 14:31:59 +00:00
Brian Paul
936d240718 removed more redundant files from tar archive 2000-07-18 01:30:36 +00:00
Brian Paul
1e8b5f539e removed redundant configure file from tar list 2000-07-18 01:14:38 +00:00
Brian Paul
fb0c3fccc0 changed version string to 3.2.1 2000-07-18 01:13:28 +00:00
Keith Whitwell
a62875d20e Fix for gloss and sgl eval bugs. 2000-07-17 12:53:33 +00:00
Brian Paul
d126c7f8d8 another tweak to optimized GL_RETURN code 2000-07-15 03:14:25 +00:00
Brian Paul
6fae9eb4b4 fixed AA sampling problem, misc clean-up 2000-07-15 03:13:43 +00:00
Brian Paul
3284b5ddba removed references to fx_regoff.h and fx_gen_regoff.c 2000-07-14 14:55:04 +00:00
Brian Paul
f19cba049d Fixed pixel color problem in general_flat_rgba_line(). Added debug code 2000-07-14 14:04:07 +00:00
Brian Paul
f8246e2fda added extra check to optimized GL_RETURN case 2000-07-14 04:15:37 +00:00
Brian Paul
7eb0603574 test for MESA_DEBUG = silent in gl_error(), misc clean-up 2000-07-14 04:13:40 +00:00
Brian Paul
4bb651306c replaced GL_CLIENT_ALL_ATTRIB_BITS with GL_ALL_CLIENT_ATTRIB_BITS 2000-07-13 17:45:13 +00:00
Brian Paul
cc8e37ffb3 first bits of convolution code 2000-07-12 13:00:09 +00:00
Brian Paul
96943544ba allocate 1-larger knot array in explode_knot() (Mesa bug 104881) 2000-07-11 20:39:00 +00:00
Brian Paul
fb88eeee9f use indirect context, added error checking 2000-07-11 16:05:29 +00:00
Brian Paul
c4266ac71e reverted to old tessellator 2000-07-11 14:11:58 +00:00
Brian Paul
f88602394d reverted to old tessellator (GLU 1.1) 2000-07-11 14:11:04 +00:00
Keith Whitwell
f545e2aedd Fix for miscolored rects in display lists.
Forward-port stipple bugfix.
2000-07-10 13:22:01 +00:00
Keith Whitwell
bdce2d3a19 test 2000-07-07 15:10:35 +00:00
Keith Whitwell
a6ec029247 test 2000-07-07 15:02:18 +00:00
Keith Whitwell
ad2ef3347f test 2000-07-07 14:59:32 +00:00
Keith Whitwell
56c760668a test 2000-07-07 14:57:47 +00:00
Keith Whitwell
baf8bbe918 test 2000-07-07 14:56:22 +00:00
Keith Whitwell
9fbedc8773 test 2000-07-07 14:54:17 +00:00
Keith Whitwell
1de8f11705 test 2000-07-07 14:50:20 +00:00
Keith Whitwell
a9c909df5b test 2000-07-07 14:46:31 +00:00
Keith Whitwell
dd0b2b7f71 test 2000-07-07 14:44:38 +00:00
Keith Whitwell
7c7de76f82 test 2000-07-07 14:43:01 +00:00
Brian Paul
a38e117fe6 changed MAX_WIDTH to 2048 to handle 2K textures 2000-07-05 22:40:30 +00:00
Brian Paul
6479a175e4 added texture cube map state save/restore 2000-07-05 22:26:43 +00:00
Brian Paul
08b082ae1a Holger's fixes for GL_EXT_texture_env_combine 2000-07-05 16:14:24 +00:00
Brian Paul
ae01d0837d added GL_ARB_texture_cube_mapping and GL_EXT_texture_env_combine 2000-07-05 16:05:44 +00:00
Brian Paul
595fce04f6 added histogram sink test 2000-06-30 22:19:41 +00:00
Brian Paul
6c50e16b3d initialize some color table scale/bias factors 2000-06-30 22:11:04 +00:00
Brian Paul
c29714dccb enabled GL_POST_CONVOLUTION_COLOR_TABLE 2000-06-30 22:09:47 +00:00
Brian Paul
20df8f5f92 NeedEyeCoords if non-uniform scale transform 2000-06-30 14:14:37 +00:00
Brian Paul
fd9f740045 fixed GL_ONE_MINUS_CONSTANT_ALPHA bug (geza) 2000-06-29 22:06:22 +00:00
Brian Paul
86586aa6f9 added GL_TABLE_TOO_LARGE to gl_error() 2000-06-29 18:55:52 +00:00
Brian Paul
0dc5edf3ae several colortable fixes 2000-06-29 18:54:29 +00:00
Brian Paul
f174cda80c minor update 2000-06-29 14:31:31 +00:00
Brian Paul
c535ba5a10 don't add light's ambient color to BaseColor in gl_update_lighting() 2000-06-29 04:56:30 +00:00
Brian Paul
ae41a955fb add separate specular color support in multitextured_rgba_points() 2000-06-28 23:11:10 +00:00
Brian Paul
36b303f15d added flat_multitextured_line() 2000-06-28 23:09:36 +00:00
Brian Paul
73b5e3766f fixed two proxy texture typos 2000-06-28 15:48:32 +00:00
Brian Paul
c079d690da added GL_EXT_texture_env_combine 2000-06-28 14:34:30 +00:00
Brian Paul
3c6ffb53f7 minor updates 2000-06-28 04:43:50 +00:00
Brian Paul
77d61af876 added code to initialize shininess tables 2000-06-28 04:20:21 +00:00
Brian Paul
904ecb2355 initialize TextureStack matrices 2000-06-27 23:38:45 +00:00
Brian Paul
2d8db39301 added aligned memory allocations (Gareth Hughes) 2000-06-27 22:10:00 +00:00
Brian Paul
24507ff6ab added GL_EXT_texture_env_combine (Holger Waechtler) 2000-06-27 21:42:13 +00:00
Brian Paul
92009554ce added LoadRGBMipmaps2() 2000-06-27 17:54:44 +00:00
Brian Paul
dbd52e50ff updated demos/ info 2000-06-27 17:53:21 +00:00
Brian Paul
08df6e0a83 removed 3Dfx directory 2000-06-27 17:37:17 +00:00
Brian Paul
f7688171c4 minor tweaks 2000-06-27 17:12:10 +00:00
Brian Paul
d88f8e9cac initial check-in 2000-06-27 17:11:24 +00:00
Brian Paul
02e8a03593 fixed compiler warnings 2000-06-27 17:04:43 +00:00
Brian Paul
9e7f9b3e99 initial check-in 2000-06-27 17:04:21 +00:00
Brian Paul
0674c22e01 added 3dfx demos 2000-06-27 16:54:18 +00:00
Brian Paul
5b0a7f3971 initial check-in 2000-06-27 16:52:38 +00:00
Brian Paul
e4b40b0211 added texenv demo 2000-06-27 15:56:46 +00:00
Brian Paul
f13a330e44 initial check-in 2000-06-27 15:55:47 +00:00
Brian Paul
2a1f50aee4 fixed GL_INTENSITY error checking bug 2000-06-27 15:47:59 +00:00
Brian Paul
498c09040e print GL_RENDERER upon startup 2000-06-27 15:34:35 +00:00
Brian Paul
6a06707f59 draw a solid cube too 2000-06-27 15:33:44 +00:00
Brian Paul
37283bb248 another patch for win32 joysticks 2000-06-27 13:39:55 +00:00
Brian Paul
86a2de4f1f removed bad DrawDestMask assignments 2000-06-27 04:33:59 +00:00
Brian Paul
308a7152b2 fixed type checking error 2000-06-27 04:32:16 +00:00
Brian Paul
5f1eb35ee2 fixed an assertion and minor bug 2000-06-27 04:31:29 +00:00
Brian Paul
a25f7e1d90 init Point.UserSize 2000-06-27 04:29:22 +00:00
Brian Paul
fd3df4b0f7 disabled some ctx->NeedEyeCoords shortcuts 2000-06-26 23:38:18 +00:00
Brian Paul
de82d063d4 updating mat ambient/emissive was broke. always compute ctx->EyeZDir 2000-06-26 23:37:46 +00:00
Keith Whitwell
daf3778e86 Performance fix for unfilled triangles on mga and i810 hardware. 2000-06-24 11:57:35 +00:00
Brian Paul
39103d2e20 fixed ColorMask test in update_rasterflags() 2000-06-23 20:28:30 +00:00
Brian Paul
401fc936f1 added extension numbers for Mesa extensions 2000-06-23 17:39:18 +00:00
Brian Paul
dd18a4f335 updated with version numbers, edits from Jon Leech 2000-06-23 17:34:47 +00:00
Brian Paul
4ec13a48b1 applied joystick patch from Michael Champigny 2000-06-23 16:21:55 +00:00
Brian Paul
3c8299c779 Added FREE(depth) in error clause before return 2000-06-22 21:26:51 +00:00
Keith Whitwell
2af2c2b556 fix GL_BACK color material bug 2000-06-19 14:35:17 +00:00
Brian Paul
e4b65b6e59 check for special cases of value = 0 or 1 in glAccum 2000-06-19 00:42:24 +00:00
Brian Paul
b92471b74c replaced fxTMReloadSubMipMapLevel() call w/ fxTMReloadMipMapLevel() to work-around subtex bug 2000-06-16 03:55:37 +00:00
Brian Paul
7dac13272a revamped glCopyTexSubImage1/2/3D() to be more like glCopyTexImage1/2/3D() 2000-06-15 19:57:14 +00:00
Brian Paul
4cc11a4fb3 added Motif info message 2000-06-15 18:46:09 +00:00
Brian Paul
9f60fd2154 removed non-windows exit() prototype 2000-06-15 15:11:40 +00:00
Brian Paul
479fab6a34 call glutInit() in main() 2000-06-15 14:25:48 +00:00
Jouk Jansen
55336ae09d ----------------------------------------------------------------------
Committing in .

  VMS : >31 character-external problem

 Modified Files:
 	Mesa/include/GL/glext.h
 ----------------------------------------------------------------------
2000-06-15 07:33:48 +00:00
Keith Whitwell
a179cbf0dd Re-enable the keyboard functionality.
Add a -db option for doublebuffering.
Add a 'benchmark' keystroke like isosurf.
2000-06-14 23:24:50 +00:00
Brian Paul
5b2a619fb2 moved #define of LLBL into assyntax.h file
removed spaces from all uses of LLBL macro, for FreeBSD
2000-06-14 23:11:11 +00:00
Brian Paul
c3501b01d1 added dummy function to silence compiler warning 2000-06-14 21:55:11 +00:00
Brian Paul
9b08f27000 added glxheads, manywin 2000-06-13 19:42:05 +00:00
Brian Paul
0852d0b95e initial check-in 2000-06-13 19:41:30 +00:00
Brian Paul
d27e256f49 use GL_CLAMP_TO_EDGE 2000-06-13 18:45:54 +00:00
Brian Paul
e7268d8341 now using SGI's glext.h instead of original Mesa file 2000-06-13 00:36:58 +00:00
Brian Paul
63ec423823 GL_TEXTURE_BASE_LEVEL wasn't working correctly 2000-06-12 16:09:49 +00:00
Brian Paul
9fb1279b71 define GL_GLEXT_PROTOTYPES for glext.h 2000-06-12 15:40:47 +00:00
Brian Paul
b3a58bbf1d changed dispatch of GL_EXT_vertex_array functions 2000-06-12 15:38:43 +00:00
Brian Paul
614ff87923 added EXT version of vertex array functions 2000-06-12 15:37:18 +00:00
Brian Paul
1f0e213bf8 added EXT version of vertex array functions 2000-06-12 15:30:51 +00:00
Jon Taylor
ffd561e4b5 Lots of small updates to GGIMesa, tracking LibGGI internals changes 2000-06-11 20:11:55 +00:00
Brian Paul
7b2c0f9148 initial check-in 2000-06-09 00:22:02 +00:00
Brian Paul
4c07bd5709 variety of updates to better conform to real GLX 2000-06-08 22:50:28 +00:00
Brian Paul
07b220ad46 clean-up in anticipation of glxext.h 2000-06-08 22:50:24 +00:00
Brian Paul
77ee5aad27 added GL_EXT_packed_pixels extension, subset of GL 1.2 2000-06-08 22:47:24 +00:00
Brian Paul
0c03647f08 updated OSF/1 CFLAGS (Jeremie Petit) 2000-06-08 15:19:12 +00:00
Brian Paul
9540a1dbcf more work on GL_ARB_texture_compression 2000-06-06 17:03:38 +00:00
Brian Paul
c470d86633 fixed bugs in fxSetupDepthTest() 2000-06-05 23:53:06 +00:00
Brian Paul
97529e8e1a updated 3.2 section, added 3.2.1 section 2000-06-05 16:33:09 +00:00
Brian Paul
aa19f80f40 added missing GL_BGRA case 2000-06-05 16:27:41 +00:00
Brian Paul
c45e83e787 added VMS files to Makefiles 2000-06-05 14:40:11 +00:00
Brian Paul
bf996dace4 added ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH() in _mesa_Fogfv() 2000-06-05 14:33:06 +00:00
Jouk Jansen
7d84f5dc5b Committing in .
VMS max 31 character external problem.

 Modified Files:
 	Mesa/src/teximage.h
 ----------------------------------------------------------------------
2000-06-05 07:28:49 +00:00
Brian Paul
ad68f17a06 initial work for GL_NV_blend_square extension 2000-05-30 02:28:03 +00:00
Brian Paul
aea03c424d added cubemap demo 2000-05-30 01:19:49 +00:00
Brian Paul
d04d20974e initial check-in 2000-05-30 01:18:29 +00:00
Brian Paul
ad817704fa more work on GL_ARB_texture_cube_map 2000-05-30 00:27:24 +00:00
Brian Paul
eed6f69199 include glheader.h instead of system headers 2000-05-26 16:17:00 +00:00
Brian Paul
1e0163272b applied Eero Pajarre's patch for Windows 2000-05-26 15:52:06 +00:00
Brian Paul
16541de30e Added GL_ARB_texture_cube_map 2000-05-26 14:45:25 +00:00
Brian Paul
413d6a21f8 more work on GL_ARB_texture_cube_map 2000-05-26 14:44:59 +00:00
Brian Paul
2c3a620133 replaced assertion with a conditional in _glapi_add_entrypoint() 2000-05-24 17:53:30 +00:00
Brian Paul
5fb84d263b changed allocation/initialization of API dispatch tables 2000-05-24 15:04:45 +00:00
Brian Paul
f658ab0e2e always define GL_ARB_multitexture (OpenGL 1.2.1 feature) 2000-05-24 15:04:01 +00:00
Brian Paul
aea66b135e more work on GL_ARB_texture_compression 2000-05-24 14:04:06 +00:00
Brian Paul
98b88b3e70 replaced _mesa_base_tex_format() with base_colortab_format() 2000-05-24 14:03:04 +00:00
Brian Paul
478beace47 enable and clean-up of paletted texture code 2000-05-23 23:26:30 +00:00
Brian Paul
f59afc9aad register recent GL extensions for libGL compatibility 2000-05-23 23:23:00 +00:00
Brian Paul
4d5984444e set default window pos 2000-05-23 23:21:00 +00:00
Brian Paul
90fbef490e changed glext.h include 2000-05-23 22:41:51 +00:00
Brian Paul
1207bf057a initial work for GL_ARB_texture_compression 2000-05-23 20:10:49 +00:00
Brian Paul
35d5301a54 more texture cube work, misc code clean-up 2000-05-23 17:14:49 +00:00
Brian Paul
fc4b44399a more work on GL_ARB_texture_cube_map 2000-05-23 15:17:12 +00:00
Brian Paul
df54463363 replaced __CYGWIN32__ with __CYGWIN__, misc clean-up 2000-05-22 19:41:34 +00:00
Brian Paul
8da58f3184 replaced __CYGWIN32__ with __CYGWIN__ 2000-05-22 19:40:43 +00:00
Brian Paul
f2fc19d785 added GL_EXT_blend_func_separate 2000-05-22 18:46:52 +00:00
Brian Paul
86fc370d39 initial code for GL_ARB_texture_cube_map 2000-05-22 16:33:20 +00:00
Brian Paul
87a7897d38 added Window-isms previously in gl.h 2000-05-22 16:30:47 +00:00
Brian Paul
4951c0e0a8 defined APIENTRY if undefined 2000-05-22 16:26:52 +00:00
Brian Paul
57a055c82f added some Window-isms formerly in gl.h 2000-05-22 16:25:37 +00:00
Brian Paul
af7ad8dded update for Glide3 2000-05-22 16:25:03 +00:00
Brian Paul
0890ed3148 include glext.h if GL_GLEXT_LEGACY not defined 2000-05-22 16:22:47 +00:00
Brian Paul
08f0374bfa moved a lot of Window-isms out of gl.h into other files 2000-05-22 16:21:27 +00:00
Brian Paul
dec7e16cc0 minor tweaks for GLU and GLUT tar files 2000-05-20 23:16:14 +00:00
Brian Paul
fbbac25ad3 fixed alignment bug in _mesa_image_row_stride() 2000-05-19 22:35:44 +00:00
Brian Paul
cc2b08ddf0 changed internalFormat to GLenum in TexImage4DSGI and all compressed textimage calls 2000-05-19 16:08:11 +00:00
Brian Paul
b1bc367ab3 protect PFNGLCOLORSUBTABLEEXTPROC from multi-defined 2000-05-19 15:41:09 +00:00
Brian Paul
58f71ace50 added a bunch of imaging functions 2000-05-19 13:12:29 +00:00
Brian Paul
2765e6848a added const to compressed tex image functions 2000-05-19 13:11:38 +00:00
Brian Paul
43ddff4549 Pass pixel format to xmesa_color_to_pixel(). Compute clearpixel without dither 2000-05-19 13:08:01 +00:00
Brian Paul
e160138d13 added glTbufferMask3DFX(), enabled texture compression functions 2000-05-18 22:02:24 +00:00
Brian Paul
f77064e9e2 DeleteTexturesEXT was missing 2000-05-18 22:01:13 +00:00
Brian Paul
70a9328de3 changed ATTRIBLIST_SIZE to 32 2000-05-18 18:34:23 +00:00
Brian Paul
65300223fb now generated from bin/glx86asm.py script 2000-05-18 18:15:16 +00:00
Brian Paul
4420246955 bunch of updates to static_functions[] 2000-05-18 18:14:22 +00:00
Brian Paul
21301cdc06 added tbuffer and compressed teximage extension functions 2000-05-18 18:13:15 +00:00
Brian Paul
3a94f5c0ac added Kevin's 32bpp Z buffer fix 2000-05-18 18:12:36 +00:00
Brian Paul
0c74657fe0 replaced components with internalFormat 2000-05-18 18:11:35 +00:00
Brian Paul
0914fbaec1 updated to version 10 2000-05-18 18:10:42 +00:00
Brian Paul
e2f66e40df added glPointParameterf[v]SGIS() 2000-05-18 18:09:38 +00:00
Brian Paul
5a8a6d9ac5 generate X86 dispatch code 2000-05-11 23:14:57 +00:00
Brian Paul
ecfdd8814e recover from offset=? condition, code clean-up 2000-05-11 17:45:20 +00:00
Brian Paul
3ee628f83a recover from offset=? condition 2000-05-11 17:44:42 +00:00
Brian Paul
da99cded26 fixed PB bugs, removed MutablePixels, MonoPixels from GLcontext 2000-05-10 22:36:05 +00:00
Brian Paul
7a39d2f833 more GL_EXT_convolution work 2000-05-10 14:39:53 +00:00
Brian Paul
102860a459 removed printf 2000-05-09 23:54:09 +00:00
Brian Paul
0fc001210d a few Alpha tweaks (Michael Champigny) 2000-05-08 18:20:13 +00:00
Brian Paul
e691ee2753 fixed bug in loop over screens 2000-05-08 14:53:57 +00:00
Brian Paul
0665d482d2 Added point UserSize, cleaned up point drawing code 2000-05-07 23:18:54 +00:00
Brian Paul
6698b2294f Err, initial code for GL_EXT_convolution, not histogram 2000-05-07 20:41:30 +00:00
Brian Paul
82b02f0ef2 initial code for GL_EXT_histogram extension 2000-05-07 20:37:40 +00:00
Brian Paul
9cff558064 more error reporting 2000-05-07 18:07:23 +00:00
Brian Paul
293cee7669 fixed glDrawBuffer(GL_NONE) bug 2000-05-05 23:54:08 +00:00
Brian Paul
cf576500dc replaced buggy fxDDReadRGBAPixels() with read_R5G6B5_pixels() 2000-05-05 23:42:23 +00:00
Brian Paul
1afd946ce8 toggle DD_LINE_SMOOTH in GL_LINE_SMOOTH case 2000-05-05 23:41:52 +00:00
Brian Paul
cafc3b35c7 added check for tmuRam==4 for Voodoo2 (Bernd) 2000-05-05 22:38:37 +00:00
Brian Paul
9635376e44 fixed the nested extern warning 2000-05-05 17:02:33 +00:00
Brian Paul
9f0289dfac EnvMode GL_BLEND and tex invalidate changes from Daryll 2000-05-04 16:15:33 +00:00
Brian Paul
a14d28c2bd removed GL_HAS_GLEXT 2000-05-04 14:12:28 +00:00
Brian Paul
474e2f4dbb added a bunch of missing token values 2000-05-04 14:12:02 +00:00
Brian Paul
d78acfa365 removed software alpha flag from GLvisual struct 2000-05-04 14:09:41 +00:00
Brian Paul
065607e884 conditionally include some fields in the context struct for DRI / non-DRI 2000-05-04 13:55:52 +00:00
Brian Paul
0b5566a9d6 made fxMesaCurrentCtx static 2000-05-04 13:55:24 +00:00
Brian Paul
e70c623cf0 removed software alpha flag from GLvisual struct 2000-05-04 13:53:55 +00:00
Brian Paul
ad08108616 added GL_EXT_histogram 2000-05-04 13:50:33 +00:00
Brian Paul
1a1cf7ed75 implemented GL_EXT_histogram extension 2000-05-04 13:48:49 +00:00
Brian Paul
f882577812 fixed backslash typo in sunos configs 2000-05-03 15:03:27 +00:00
Brian Paul
b0ef7454f4 fixed tar file list of widget files 2000-05-03 15:01:08 +00:00
Brian Paul
07ec12f745 removed glxdpyinfo 2000-05-03 14:18:25 +00:00
Brian Paul
f3b3ab924f Removed. Use glxinfo instead. 2000-05-03 14:17:50 +00:00
Brian Paul
ede979fcb5 removed all DRI-isms 2000-05-02 02:30:01 +00:00
Brian Paul
8c7889d99f removed extra / 2000-04-24 15:29:11 +00:00
Brian Paul
34fb5db643 more error checking. Query GLX client vendor string 2000-04-22 20:31:23 +00:00
Brian Paul
df81387dfa call _mesa_initialize_context() 2000-04-22 01:05:40 +00:00
Brian Paul
178a1c5a25 added _mesa_initialize_buffer/visual() 2000-04-22 01:05:00 +00:00
Brian Paul
9ad2ce070e removed old profiling code 2000-04-22 01:03:22 +00:00
Brian Paul
96461a25c3 updated RENDERER version 2000-04-20 01:56:09 +00:00
Brian Paul
ca4a891bb3 minor clean-up 2000-04-20 01:54:52 +00:00
Keith Whitwell
0f32948dab Use smooth shaded triangles always. Fix SoF bug. 2000-04-19 23:58:31 +00:00
Brian Paul
71dea349d2 minor clean-up 2000-04-19 01:44:01 +00:00
Brian Paul
353479fa8a added GLX_EXT_import_context, 1.3 misc clean-up 2000-04-19 01:40:00 +00:00
Brian Paul
c397a6b283 more color table and imaging work 2000-04-18 14:32:10 +00:00
Keith Whitwell
7b5f09c7de New clipping to avoid division by zero bug. 2000-04-17 18:18:00 +00:00
Brian Paul
4bdcfe50f8 dynamically allocate color table data, uses less memory 2000-04-17 17:57:04 +00:00
Brian Paul
0bb0c7cc85 GL_SGI_color_table info 2000-04-17 15:14:33 +00:00
Brian Paul
a5f4cae20a work on GL_SGI_color_table 2000-04-17 15:13:53 +00:00
Brian Paul
0c12733fb7 added a comment about FP overflows 2000-04-15 23:19:05 +00:00
Brian Paul
83aeeb0967 cleaned up whitespace 2000-04-15 23:05:39 +00:00
Brian Paul
0501b25d69 minor updates 2000-04-15 23:04:54 +00:00
Brian Paul
bc95b628fe wrapper for grTexLodBiasValue() 2000-04-15 23:04:11 +00:00
Brian Paul
825fb31e58 added GL_NV_texgen_emboss 2000-04-15 19:50:44 +00:00
Brian Paul
e9cd76e239 added some missing NV token values 2000-04-15 19:44:47 +00:00
Brian Paul
eae28ca68c more clean-up 2000-04-15 19:24:18 +00:00
Brian Paul
76713fb0b0 version 8, added GL_EXT_texture_cube_map 2000-04-15 19:18:06 +00:00
Brian Paul
2511ba7c92 applied Bernd's changes to useBGR code 2000-04-14 21:40:56 +00:00
Jouk Jansen
ddf9b3aa48 Committing in .
VMS support for pixeltex.c

 Modified Files:
 	Mesa/src/descrip.mms Mesa/src/pixeltex.h
 ----------------------------------------------------------------------
2000-04-14 07:42:46 +00:00
Brian Paul
ad2f32155f applied Keith's fix for the Loki ice bug 2000-04-13 14:53:25 +00:00
Brian Paul
179870a5b8 more work on GL_SGI_color_table, pixel transfer code clean-up 2000-04-12 18:54:48 +00:00
Brian Paul
7a6bb1bb82 lots of clean-up, added d/s keys 2000-04-12 01:08:30 +00:00
Brian Paul
13811376c9 more GL_SGI_color_table extension work 2000-04-12 00:27:37 +00:00
Brian Paul
5223c4d33f renamed alpha buffer functions 2000-04-11 21:36:29 +00:00
Brian Paul
716be93686 renamed stencil functions 2000-04-11 21:26:57 +00:00
Brian Paul
67c01f5f67 fixed duplicate variable problem 2000-04-11 20:54:49 +00:00
Brian Paul
ce8e1a4f13 silenced warnings in FX_grSstPerfStats() 2000-04-11 20:43:58 +00:00
Brian Paul
b5410da76e fixed bug in XF86 writeRegionClipped() 2000-04-11 20:43:12 +00:00
Brian Paul
d0130a989a clip depth/stencil spans to window bounds 2000-04-11 20:42:22 +00:00
Brian Paul
4fe34b27f6 initial work on GL_SGI_color_table extension 2000-04-11 15:07:48 +00:00
Brian Paul
ff3e00320e fixed stride problem in read_R5G6B5_span 2000-04-11 03:06:07 +00:00
Brian Paul
43d8e2123f added some more functions 2000-04-10 23:13:51 +00:00
Brian Paul
5605798e56 added glXGetFBConfigs(), fixed glXChooseFBConfig() 2000-04-10 21:13:19 +00:00
Brian Paul
a28a4f7820 removed bogus GL_ALLOW_DRAW_SPN_HINT_PGI token 2000-04-10 21:12:37 +00:00
Brian Paul
47e719fa44 added missing 1.3 token values, added glXGetFBConfigs(), fixed glXChooseFBConfig() 2000-04-10 21:12:20 +00:00
Brian Paul
a8ede6b076 fixed visual selection and reporting results 2000-04-10 16:25:15 +00:00
Brian Paul
8cce314c32 fixed GL_PGI_misc_hints identifiers 2000-04-10 15:52:25 +00:00
Brian Paul
ada5f1cd06 removed a printf 2000-04-09 17:08:09 +00:00
Brian Paul
39350966ad added GL_EXT_color_matrix extension 2000-04-08 18:58:05 +00:00
Brian Paul
250069dbb4 added GL_SGI_color_matrix extension 2000-04-08 18:57:45 +00:00
Brian Paul
a518b47e5b initial check-in 2000-04-07 17:07:32 +00:00
Brian Paul
767e2cf251 added GL_SGIX/SGIS_pixel_texture 2000-04-07 16:45:26 +00:00
Brian Paul
853fb984de added pixel texture extension info 2000-04-07 16:32:21 +00:00
Brian Paul
d697289746 added pixeltex demo 2000-04-07 16:30:46 +00:00
Brian Paul
5cedb32f6b initial check-in 2000-04-07 16:29:08 +00:00
Brian Paul
b0362de32b added pixeltex.c 2000-04-07 16:28:37 +00:00
Brian Paul
2b2e925ea4 added GL_SGIX/SGIS_pixel_texture extension 2000-04-07 16:27:26 +00:00
Brian Paul
ede4887b16 fixed a typo 2000-04-07 16:22:37 +00:00
Brian Paul
985d6b2987 version 7 check-in 2000-04-07 16:21:16 +00:00
Brian Paul
4e0445550d silenced a warning 2000-04-07 00:30:02 +00:00
Brian Paul
15724afd62 new read_R5G5B5_span() function 2000-04-07 00:29:01 +00:00
Brian Paul
0771d159d5 initial histogram and min/max work 2000-04-07 00:19:41 +00:00
Holger Waechtler
3eae261da9 added CONCAT(x,y) macro in NASM/MASM section 2000-04-06 11:51:24 +00:00
Brian Paul
3cd7738c9b silenced warnings 2000-04-06 02:22:59 +00:00
Brian Paul
32afff3fe3 silenced a bunch of warnings 2000-04-06 02:22:23 +00:00
Brian Paul
c8735e8f82 new arguments to XMesaCreateVisual() 2000-04-05 22:09:58 +00:00
Brian Paul
d4a736d52c added some casts 2000-04-05 22:09:10 +00:00
Brian Paul
d708c74ed5 added extern for gl_fog_coord_stage 2000-04-05 22:08:54 +00:00
Brian Paul
c69208451e removed unused vars 2000-04-05 21:36:31 +00:00
Brian Paul
9d0bc1d633 fixed compiler warnigns 2000-04-05 21:36:03 +00:00
Brian Paul
8fbd189d81 added missing braces in initializers 2000-04-05 21:35:46 +00:00
Brian Paul
db5c274851 updated to version 6 2000-04-05 15:33:44 +00:00
Brian Paul
9c4f016d21 minor clean-ups, renaming 2000-04-05 14:40:04 +00:00
Brian Paul
2f8b4c9d2f added version number 2000-04-04 23:29:32 +00:00
Brian Paul
ed388938a1 changed a comment 2000-04-04 15:20:20 +00:00
Brian Paul
a74394c3a8 added copyright info 2000-04-04 15:20:17 +00:00
Brian Paul
87a6230d59 updated for Mesa 3.3 2000-04-04 15:14:48 +00:00
Brian Paul
7e67fb41fb more GL_HP_occlusion_test work 2000-04-04 15:14:10 +00:00
Brian Paul
941dcc797e use BCOPY macro on FreeBSD 2000-04-04 00:54:23 +00:00
Brian Paul
a9c53fa9ee minor clean-ups 2000-04-03 15:45:34 +00:00
Brian Paul
98a8662f65 added GL_HP_occlusion_test items 2000-04-01 06:01:17 +00:00
Brian Paul
bb128de744 added occlude demo 2000-04-01 05:57:41 +00:00
Brian Paul
16b647d8b2 initial check-in 2000-04-01 05:53:31 +00:00
Brian Paul
199d039bc3 changes for GL_HP_occlusion_test 2000-04-01 05:42:06 +00:00
Brian Paul
25673f0cba added support for GLX_EXT_visual_rating 2000-03-31 18:17:51 +00:00
Brian Paul
962f426915 fixed mistake in glXGetConfig(GLX_VISUAL_CAVEAT_EXT) 2000-03-31 18:17:01 +00:00
Brian Paul
aa51bb083b mask/disable stencil/accum clears in fxDDClear() 2000-03-31 17:07:10 +00:00
Brian Paul
3da3b9e84c added glu_tar and glut_tar targets, misc clean-up 2000-03-31 16:20:47 +00:00
Brian Paul
37d34bc12f fixed typo in GLX_SLOW_VISUAL_EXT 2000-03-31 14:48:28 +00:00
Brian Paul
c140020182 clean-up of info messages 2000-03-31 05:49:45 +00:00
Brian Paul
7909019a3e fixed Voodoo1/2/ stride problem in fxDDReadPixels() 2000-03-31 05:49:08 +00:00
Brian Paul
3bbbfbf202 misc clean-up 2000-03-31 05:48:14 +00:00
Brian Paul
4a3ccfee80 added more debugging code 2000-03-31 05:09:55 +00:00
Brian Paul
59bcfe3b3b added GLX_EXT_visual_rating 2000-03-31 01:18:54 +00:00
Brian Paul
e1210b1769 added rest of GLX_EXT_visual_rating extension 2000-03-31 01:17:52 +00:00
Brian Paul
fc68be6b11 minor tweak to GLX_VISUAL_CAVEAT_EXT query 2000-03-31 01:12:40 +00:00
Brian Paul
b2e4600183 updates for separate R/G/B/A accum buffer sizes 2000-03-31 01:07:13 +00:00
Brian Paul
b371e0da2b added _mesa_create/destroy_visual() 2000-03-31 01:05:51 +00:00
Brian Paul
f2123080b5 separate R/G/B/A accum buffer size fields 2000-03-31 01:04:52 +00:00
Brian Paul
a5724069f1 added XMesaCreateVisual2() 2000-03-31 01:04:07 +00:00
Brian Paul
bd2055cf7e added GLX_EXT_visual_rating 2000-03-31 01:03:41 +00:00
Brian Paul
d3d72804b0 tweaks to allow different read formats/types 2000-03-31 01:01:31 +00:00
Brian Paul
047fdf06cc optimized glReadPixels() 2000-03-30 18:39:18 +00:00
Brian Paul
e5d68a2b7d improved PrintTexture debug function 2000-03-30 18:37:51 +00:00
Brian Paul
aed8a96ef2 fixed typos in generate_lookup_tables() 2000-03-30 18:37:32 +00:00
Keith Whitwell
03b7aee438 Added stipple mode 2000-03-30 17:58:56 +00:00
Brian Paul
5ca0d13823 fixed subtexture address calculation bug 2000-03-30 17:24:02 +00:00
Brian Paul
1e35590f14 removed GL_HP_occlustion_test code, added -exit option 2000-03-29 23:57:20 +00:00
Brian Paul
fffb809777 renamed mesaStrDup() to str_dup() 2000-03-29 18:46:11 +00:00
Brian Paul
57e7108b75 new texture image download code 2000-03-29 18:14:32 +00:00
Brian Paul
845bf3c2b1 lots of new work 2000-03-29 18:14:08 +00:00
Brian Paul
4827179cc0 changes for single-copy textures 2000-03-29 18:13:59 +00:00
Brian Paul
8fd9fcbc2d hit space bar to rerun benchmark 2000-03-29 18:02:52 +00:00
Brian Paul
5a564056f5 added error checking on file open 2000-03-29 17:56:02 +00:00
Brian Paul
070b2644c6 added missing GL_INTENSITY case in _mesa_components_in_format() 2000-03-29 15:56:53 +00:00
Brian Paul
a14ee6b081 fixed some buffer clear bugs 2000-03-29 15:48:43 +00:00
Brian Paul
7d69e9e93f lots of changes 2000-03-29 15:47:48 +00:00
Brian Paul
a1cfd0f7a1 version 5: added texture compression extension 2000-03-29 15:46:53 +00:00
Randy Frank
23ee049401 Implemented support for the HP occlusion test extension (osmesa and X) 2000-03-28 16:59:39 +00:00
Brian Paul
9d4d855208 added optimized read/drawpixels for 16bpp TrueColor 2000-03-28 16:10:43 +00:00
Randy Frank
d7361e1717 Updated to compile under Irix 6.5 2000-03-27 21:13:58 +00:00
Brian Paul
ba3d9d0ce9 removed tfxMipMapLevel's used and translate fields, initial teximage clean-up 2000-03-27 19:08:40 +00:00
Brian Paul
de5c19d139 added _mesa_unconvert_teximage() 2000-03-27 18:56:26 +00:00
Brian Paul
021a525616 put _mesa prefix on some functions 2000-03-27 17:54:17 +00:00
Brian Paul
d25df35154 added missing glEnd() call (Tim Beckmann) 2000-03-27 15:46:12 +00:00
Jon Taylor
56edca9f62 Minor fixups 2000-03-27 04:31:15 +00:00
Brian Paul
9fd2b0a698 fixed a Driver.TexImage call typo, misc clean-up 2000-03-24 23:59:06 +00:00
Brian Paul
d03dc25477 added texutil.c source 2000-03-24 20:56:50 +00:00
Brian Paul
7553e3027c initial check-in 2000-03-24 20:54:21 +00:00
Brian Paul
afb8c93470 version 4, all extensions up to 197, added some missing enum values 2000-03-24 19:16:19 +00:00
Brian Paul
4f6d60e9cf added benchmarking 2000-03-23 19:47:25 +00:00
Brian Paul
9891bf086d changed some Linux -O2 flags to -O3 2000-03-23 17:00:35 +00:00
Brian Paul
d6998a714c added new texture image functions, minor clean-up 2000-03-23 16:58:24 +00:00
Brian Paul
45c7e2abe7 added some comments and new texture image functions 2000-03-23 16:57:56 +00:00
Brian Paul
0d24f7b50e replaced HaveTexObj with UseTexObj 2000-03-23 16:57:14 +00:00
Brian Paul
bed91a3fcd added 3.3 To Do items 2000-03-23 16:55:13 +00:00
Brian Paul
0862721958 removed some unpopular extensions (now in glext.h) 2000-03-23 16:54:50 +00:00
Brian Paul
b132e8da5e replaced decode_internal_format() with _mesa_base_tex_format() 2000-03-23 16:23:14 +00:00
Brian Paul
f87c5e229f more clean-up and rearranging 2000-03-23 16:22:36 +00:00
Brian Paul
bd3355bbcd added instructions to build widgets-sgi 2000-03-22 23:48:16 +00:00
Brian Paul
9dd2747e5f minor tweaks 2000-03-22 23:43:53 +00:00
Brian Paul
ca1f44b401 added Daryll's patches for texture alignment 2000-03-22 23:21:27 +00:00
Brian Paul
780c4e057b added code to die on FP exceptions if DEBEG env var set to FP 2000-03-22 23:20:12 +00:00
Brian Paul
3769b3fed4 changed TDA to [4] for glMaterialfv() calls 2000-03-22 23:14:54 +00:00
Brian Paul
49dcae8c80 converted from GL_EXT_texture3D to GL 1.2 2000-03-22 19:48:57 +00:00
Brian Paul
d21cdb6d84 tweaked the animation rate 2000-03-22 18:38:47 +00:00
Brian Paul
29d39d52a0 updated renderer string version to 20000322 2000-03-22 17:39:15 +00:00
Brian Paul
0293878846 lots of changes for single-copy texture image DD interface 2000-03-22 17:38:11 +00:00
Brian Paul
42ad53f67e fixed Cygwin patch typos 2000-03-22 16:01:21 +00:00
Brian Paul
9b8094a663 removed a few const keywords because of mutex calls 2000-03-21 22:20:42 +00:00
Brian Paul
832179c50e added more locking 2000-03-21 17:42:27 +00:00
Brian Paul
fd2e6dbbc8 removed retainInternalCopy from TexSubImage functions 2000-03-21 16:10:22 +00:00
Brian Paul
279d9e3ea7 made _mesa_native_packing const 2000-03-21 16:09:37 +00:00
Brian Paul
b7d076fc96 changed imaging functions to _mesa_ prefix 2000-03-21 01:03:40 +00:00
Brian Paul
43911c8ef0 clean-up of texture image construction 2000-03-21 00:49:33 +00:00
Brian Paul
ae40595b69 added _mesa_image_row_stride() 2000-03-21 00:48:53 +00:00
Brian Paul
8a4014c6fb more reorganization and clean-up 2000-03-20 23:54:54 +00:00
Brian Paul
633e1dcb2b rearranged order of some functions 2000-03-20 23:45:59 +00:00
Brian Paul
2090b97998 added new TexImage and TexSubImage functions 2000-03-20 23:40:57 +00:00
Brian Paul
77ce6da028 added new_texture_image() 2000-03-20 23:40:12 +00:00
Brian Paul
a937128030 added lodbias demo 2000-03-20 22:02:11 +00:00
Brian Paul
aa80e29386 initial check-in 2000-03-20 22:00:22 +00:00
Brian Paul
d7c4f043fe added more extensions, now at version 3 2000-03-20 21:31:29 +00:00
Brian Paul
d94aa337bf removed test for MESA symbol 2000-03-20 21:31:15 +00:00
Brian Paul
1ea2d444fa Cygwin changes, removed two ARB extensions, now in glext.h 2000-03-20 19:26:51 +00:00
Brian Paul
66ae25078e patched for Cygwin (Sven Panne) 2000-03-20 19:26:01 +00:00
Brian Paul
f7b5707d66 added device driver functions for CopyTexImage, CopyTexSubImage, GetTexImage 2000-03-20 14:37:52 +00:00
Brian Paul
8a90cabf81 added aa triangles 2000-03-20 00:29:24 +00:00
Brian Paul
0555a98926 removed GL_FXMESA_global_texture_lod_bias extension 2000-03-19 23:44:24 +00:00
Brian Paul
e7eb459d27 removed debug printf 2000-03-19 23:35:42 +00:00
Brian Paul
4ce2d87cf6 updated for Mesa 3.3 2000-03-19 01:13:13 +00:00
Brian Paul
959f802dab fixed compiler warnings on BeOS R4 2000-03-19 01:10:11 +00:00
Brian Paul
a742e9bccd added glext.h to tar file list 2000-03-19 00:16:41 +00:00
Brian Paul
7621c4d66b removed MGL files 2000-03-18 23:40:37 +00:00
Brian Paul
586b4f66a8 colors were computed incorrectly (Hans Nelles) 2000-03-18 01:13:29 +00:00
Brian Paul
e7b16b74bf silence some warnings 2000-03-17 15:33:09 +00:00
Brian Paul
39c8977802 added missing error checks 2000-03-17 15:32:04 +00:00
Brian Paul
650cb74bcb removed old Depth buffer pointer var 2000-03-17 15:31:52 +00:00
Keith Whitwell
46f717f949 fix for tristrip bug and unfilled quad/polygon bug 2000-03-16 07:36:33 +00:00
Brian Paul
27b2e83805 removed old comment 2000-03-13 18:32:37 +00:00
Brian Paul
7c652d7722 fixed polygon stipple packing/unpacking 2000-03-13 18:31:51 +00:00
Brian Paul
3cb1121299 added final GL_HP_occlusion_test values 2000-03-13 15:48:51 +00:00
Jouk Jansen
ab07ef4093 Committing in .
VMS compile support-update (AATRIANGLE.C)

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2000-03-13 10:31:57 +00:00
Brian Paul
9aafc4fd5d gave temp values to GL_HP_occlusion_test tokens 2000-03-11 23:24:01 +00:00
Brian Paul
1b2ff69f46 initial implementation of GL_HP_occlusion_test extension 2000-03-11 23:23:26 +00:00
Brian Paul
516b8363bb glPopAttrib() now calls Driver's ClearColor, ClearIndex and ColorMask functions 2000-03-10 22:12:22 +00:00
Brian Paul
fca17350b6 removed Driver.UseGlobalTexturePalette() 2000-03-07 18:24:49 +00:00
Brian Paul
7a7ca3f345 minor clean-up 2000-03-07 18:24:14 +00:00
Brian Paul
56b99de2fa implemented FX_grSstPerfStats() 2000-03-07 18:23:20 +00:00
Brian Paul
9360a4450d added GL_EXT_texture_lod_bias 2000-03-07 17:59:54 +00:00
Brian Paul
64eef48741 added GL_HP_occlusion_test, GL_EXT_texture_lod_bias 2000-03-07 17:55:40 +00:00
Brian Paul
aabf086a03 added GL_EXT_texture_lod_bias extension (Michael Vance) 2000-03-07 17:54:58 +00:00
Brian Paul
4f92969899 made gl_make_fog_coords() static 2000-03-07 17:40:34 +00:00
Brian Paul
b3f16c4350 added target parameter to Driver.TexEnv() 2000-03-07 17:11:29 +00:00
Brian Paul
e02ffc1226 now save Targa image. misc clean-up 2000-03-06 23:56:21 +00:00
Brian Paul
463d15add9 added demos/geartrain 2000-03-06 23:35:51 +00:00
Brian Paul
b50d03e5bc added geartrain 2000-03-06 23:35:06 +00:00
Brian Paul
392a7008d1 initial check-in 2000-03-06 23:34:42 +00:00
Brian Paul
7fc29c5fa7 fixed off-by-one errors in matrix stack setup/cleanup 2000-03-06 17:03:03 +00:00
Jouk Jansen
3f600e47cf Committing in .
VMS : C++ & Xlib.h problems.

 Modified Files:
 	Mesa/include/GL/glx.h
 ----------------------------------------------------------------------
2000-03-06 12:59:24 +00:00
Brian Paul
0223baaf57 removed obsolete logicop function 2000-03-03 23:21:57 +00:00
Brian Paul
1b6592aae7 added LineWidth device driver function 2000-03-03 18:55:45 +00:00
Brian Paul
4f980f4ebb depth buffer change, BGR/RGB setup change 2000-03-03 17:53:26 +00:00
Brian Paul
b440dfeee6 clean-up warnings 2000-03-03 17:51:35 +00:00
Brian Paul
ed30dfa126 runtime selectable depth buffer depth 2000-03-03 17:47:39 +00:00
Brian Paul
8df3d8ae6c save ColorTable and ColorSubTable commands 2000-03-03 17:45:21 +00:00
Brian Paul
4ee75bdab5 moved device driver DrawPixels call 2000-03-03 15:39:13 +00:00
Brian Paul
c232ecbfdf added device driver ReadPixels and CopyPixels functions 2000-03-03 15:38:57 +00:00
Brian Paul
54ec0cbfa9 removed GLX_VERSION_1_3 for now 2000-03-03 15:35:51 +00:00
Brian Paul
4c7e3c29f7 changes to _WIN32 test and APIENTRY test 2000-03-03 15:00:14 +00:00
Brian Paul
f9b9cd71d6 minor clean-up 2000-03-02 18:34:34 +00:00
Brian Paul
9d823a3513 simplification of GLNAME macro setup (David Dawes) 2000-03-01 23:34:03 +00:00
Brian Paul
65d54604c3 inserted static const in make_null_texture() 2000-03-01 23:28:20 +00:00
Brian Paul
3bc58af79d minor reformatting 2000-03-01 20:43:30 +00:00
Brian Paul
15da01e16b added readpix program 2000-03-01 16:24:29 +00:00
Brian Paul
eca1bc983d test glDraw/Read/CopyPixels() 2000-03-01 16:23:14 +00:00
Brian Paul
6b729d41f0 added GL_GLEXT_VERSION_EXT 2000-03-01 03:44:10 +00:00
Brian Paul
058a3ab4cb test for GL 1.2 2000-03-01 03:36:40 +00:00
Brian Paul
aae9db03e4 added proxy texture targets to GetColorTableParameter (Steven Fuller) 2000-02-28 20:38:37 +00:00
Brian Paul
26a89579e4 added GL_BGR and GL_BGRA support 2000-02-28 14:51:43 +00:00
Keith Whitwell
e5ed37fa4e add callbacks for stipple 2000-02-27 20:38:15 +00:00
Brian Paul
3994b77bab changed glXCopyContext() mask to unsigned long, per GLX spec 2000-02-27 18:26:54 +00:00
Brian Paul
0f21a5d36b added a bit of GLAPIENTRY, APIENTRY setup 2000-02-27 18:12:41 +00:00
Brian Paul
7f88ac198c patched for NetBSD support (Allen Briggs) 2000-02-27 18:04:59 +00:00
Brian Paul
4c5fb70380 added all the PFNGL...PROC typedefs 2000-02-26 00:48:02 +00:00
Brian Paul
4ceb5616e6 fixed bug when using display lists 2000-02-25 23:24:06 +00:00
Brian Paul
f5d36aefd1 added GL_HAS_GLEXT 2000-02-25 21:01:41 +00:00
Brian Paul
45cec8167d inserted a tab 2000-02-25 20:36:03 +00:00
Brian Paul
9f9de170f2 removed the GET_BITS_PER_PIXEL macro 2000-02-25 20:31:11 +00:00
Brian Paul
f9db0039b1 added XMesaUnbindContext (for DRI) 2000-02-25 20:30:23 +00:00
Brian Paul
c1aa1218ef changed glXCopyContext mask back to GLuint 2000-02-25 17:04:42 +00:00
Brian Paul
9ec28c03c0 changed glXCopyContext's mask to unsigned long 2000-02-25 16:46:01 +00:00
Brian Paul
bb7e2e846c fixed front/back buffer stride problem for XF86DRI 2000-02-25 14:59:46 +00:00
Jouk Jansen
eaba005f18 Committing in .
VMS & type-mismatch problems

 Modified Files:
 	Mesa/include/GL/glext.h Mesa/include/GL/glx.h
 ----------------------------------------------------------------------
2000-02-25 12:35:57 +00:00
Brian Paul
f183a0fc01 added note about double buffering for in-window rendering 2000-02-25 04:42:58 +00:00
Brian Paul
b11b0954a2 new fxDDClear(), fxDDDrawBitmp(), example extension registration code 2000-02-25 04:16:50 +00:00
Keith Whitwell
e828bc8f61 Fog coordinate stage which drivers may use to replace standard fogging
mechanism.

LogicOp state change callback
2000-02-25 03:55:39 +00:00
Brian Paul
8ceb5c34dd now using SGI-specified dispatch order 2000-02-24 22:14:04 +00:00
Brian Paul
7c2225373e now generated with Python script 2000-02-24 22:11:32 +00:00
Brian Paul
f1a03a3709 added more entrypoints 2000-02-24 22:08:02 +00:00
Brian Paul
ead285a926 bunch of dispatch and extension-related changes 2000-02-24 22:04:03 +00:00
Brian Paul
8814124f35 bunch of extension clean-up 2000-02-24 22:03:21 +00:00
Brian Paul
b5d049f15e added some error checking 2000-02-24 18:36:32 +00:00
Brian Paul
87ae69c45d use quotes for gl.h and glext.h includes 2000-02-24 15:12:05 +00:00
Brian Paul
97c33f3ede added missing backslash on line 483 2000-02-24 00:52:23 +00:00
Brian Paul
b629b0743c added more extension entrypoints 2000-02-24 00:23:32 +00:00
Brian Paul
f3232bcaf1 changed glXCopyContext()'s mask to unsigned long 2000-02-23 23:04:27 +00:00
Brian Paul
7ac435066a fixed problem in print_extension_list() when ext ended in a space 2000-02-23 22:50:35 +00:00
Brian Paul
feb06c8d9a GL_EXT_blend_color is now DEFAULT_ON 2000-02-23 22:31:35 +00:00
Brian Paul
bfa012d985 changed a GLuint to GLint 2000-02-23 16:01:40 +00:00
Brian Paul
ecfa382144 fixed a few glitches 2000-02-23 01:52:42 +00:00
Brian Paul
7d4d54cf94 fixed a typo in GL_MESA_resize_buffers 2000-02-23 01:38:29 +00:00
Brian Paul
50877fb096 include GL/glext.h 2000-02-23 01:36:44 +00:00
Brian Paul
4278ec184d added a bunch of extensions 2000-02-23 01:36:17 +00:00
Brian Paul
3b9a5e912f added glext.h header item 2000-02-23 01:14:11 +00:00
Brian Paul
67333973b6 added some missing tokens, fixed some errors 2000-02-23 01:13:33 +00:00
Brian Paul
cec5f6f00d initial revision 2000-02-23 00:55:38 +00:00
Brian Paul
a511609501 sort the offsets by number 2000-02-22 23:59:25 +00:00
Brian Paul
feaf04a27b initial check-in 2000-02-22 22:45:20 +00:00
Brian Paul
7c8cfc6977 fixed bug in 24bpp ximage pixel addressing 2000-02-22 17:14:02 +00:00
Brian Paul
02da4625b8 disabled an fprintf in FX_grSstQueryHardware() 2000-02-22 01:12:39 +00:00
Brian Paul
8b590c0ad3 added aatriangle.c source 2000-02-21 23:24:02 +00:00
Brian Paul
34c6d687ca fixed off by one error in matrix stack depths (Eero Pajarre) 2000-02-21 23:00:51 +00:00
Brian Paul
df6a28d105 fixed minor bug in copytexsubimage_error_check() 2000-02-21 16:34:21 +00:00
Brian Paul
a5f618a291 fixed bug in GL_UNSIGNED_INT_10_10_10_2 unpacking 2000-02-21 16:33:20 +00:00
Brian Paul
0e3342ea29 fixed GL_SRC_ALPHA_SATURATE bug, lots clean-up 2000-02-21 14:50:31 +00:00
Brian Paul
5df6816e2c added CHAN_MAX, CHAN_MAXF 2000-02-21 14:46:28 +00:00
Brian Paul
21ab258821 removed driver RendererString() and ExtensionString() funcs 2000-02-17 20:53:48 +00:00
Brian Paul
b6273023a2 replaced gl_ggiRendererString() with gl_ggiGetString() 2000-02-17 20:52:49 +00:00
Brian Paul
27b4b2f003 replaced renderer_string() with get_string() func 2000-02-17 20:52:02 +00:00
Brian Paul
5bd2987840 update fog near/far bug fix 2000-02-16 23:15:01 +00:00
Brian Paul
7a0f9dbb94 updated with changes from DRI project CVS 2000-02-16 23:06:12 +00:00
Brian Paul
27be87cdff new library dependency vars 2000-02-16 01:09:06 +00:00
Brian Paul
6610c2b084 initialize fxMesa->verbose with MESA_FX_INFO env var 2000-02-13 00:36:08 +00:00
Brian Paul
2c9bf83b90 always include thread.h 2000-02-12 21:08:00 +00:00
Brian Paul
85db3d7563 added more error checking to _glapi_add_entrypoint() 2000-02-12 17:31:40 +00:00
Brian Paul
3ab6bbe613 now using dynamically allocated api dispatch tables 2000-02-12 17:26:15 +00:00
Brian Paul
ef5d084d3c clean-up 2000-02-12 16:44:24 +00:00
Brian Paul
e39ed58116 always include <float.h> 2000-02-12 15:55:34 +00:00
Brian Paul
59d6da5365 fixed reference count but in DeleteTextures() 2000-02-12 01:59:19 +00:00
Brian Paul
bd986282f3 added MESA_FX_NO_SIGNALS env var (Michael Vance) 2000-02-12 01:36:40 +00:00
Brian Paul
15b40dfe75 updated with MESA_FX_NO_SIGNALS info 2000-02-12 01:35:24 +00:00
Brian Paul
fa937f611a fixed WIN32_THREADS error 2000-02-11 21:38:33 +00:00
Brian Paul
af763d5e43 added code for all GL_MESA_window_pos functions 2000-02-11 21:14:27 +00:00
Brian Paul
ae773f612c clean-up 2000-02-11 20:44:22 +00:00
Brian Paul
7527a1844d enable thread safety on Linux configs, removed -DTHREADS flag 2000-02-11 20:44:00 +00:00
Brian Paul
8df7c673ec added tess_clip.c 2000-02-11 16:15:28 +00:00
Jouk Jansen
ab656ba642 Committing in .
New compile support for FX on VMS

 Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2000-02-11 07:25:48 +00:00
Brian Paul
a360ab2a33 THREADS now defined by glthread.h, added more prototypes 2000-02-10 21:54:06 +00:00
Brian Paul
3c27be3738 changed thread TSD initialization 2000-02-10 21:27:48 +00:00
Brian Paul
a9601f1b4c added support for XFree86 threads. misc clean-up 2000-02-10 21:27:25 +00:00
Brian Paul
577c67e860 added GLCALLBACKPCAST for Cygnus (Sven Panne) 2000-02-10 17:45:52 +00:00
Brian Paul
46a5936f54 include readtex.h 2000-02-10 17:44:58 +00:00
Brian Paul
80ef05c9d5 initial checkin 2000-02-10 17:44:50 +00:00
Brian Paul
3d41d5ade7 added GLCALLBACKPCAST for Cygnus (Sven Panne) 2000-02-10 17:27:55 +00:00
Brian Paul
9f037fdc72 added OpenStep to LIB_FILES 2000-02-10 16:00:36 +00:00
Brian Paul
ee5baf2747 udpated version/copyright info 2000-02-09 19:13:07 +00:00
Brian Paul
aff45fde80 removed fxDDBufferSize proto 2000-02-09 19:12:25 +00:00
Brian Paul
e78dd0243c updated fxDDGetString() for DRI 2000-02-09 19:12:02 +00:00
Brian Paul
668ac873a0 updated version info 2000-02-09 19:03:28 +00:00
Brian Paul
bab8f790ae glDrawPixels w/ format=GL_COLOR_INDEX was broken 2000-02-08 23:42:14 +00:00
Jouk Jansen
99e89283d6 Committing in .
Modified Files:
 	Mesa/src/descrip.mms
 ----------------------------------------------------------------------
2000-02-08 07:29:12 +00:00
Brian Paul
73e6952ad7 added a few missing ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH() calls 2000-02-08 01:45:22 +00:00
Brian Paul
397c9dd375 in fxSelectSingleTMUSrc_NoLock(), added check for haveTwoTMUs (Neal Tringham) 2000-02-06 20:01:36 +00:00
Brian Paul
b79d289bde clearing depth buffer failed when clearing front color buffer 2000-02-06 19:29:48 +00:00
Brian Paul
d4ce76275d updated with new info 2000-02-06 17:04:56 +00:00
Brian Paul
0b6fec7a6f added missing glGet cases for GL_EXT_compiled_vertex_array 2000-02-06 03:03:02 +00:00
Brian Paul
df37c6bd65 disabled locked arrays in glDrawRangeElements() 2000-02-05 02:05:14 +00:00
Brian Paul
e69f1f54f9 GL_ARRAY_ELEMENT_LOCK_FIRST/COUNT_SGI changed to _EXT suffix 2000-02-05 01:51:54 +00:00
Brian Paul
38a683816b added support for GL_RGB5_A1 internal texture format (Eero Pajarre) 2000-02-04 16:23:47 +00:00
Brian Paul
b13fd0bc9e pass IntFormat, not Format to fxTexGetFormat 2000-02-04 16:22:58 +00:00
Brian Paul
65cd4d80c4 added SUB_PIXEL_BITS 2000-02-03 19:40:35 +00:00
Brian Paul
539cce5248 added point/line size limits to gl_constants struct 2000-02-03 19:40:07 +00:00
Brian Paul
1816ec4500 added Const.SubPixelBits 2000-02-03 15:33:29 +00:00
Jouk Jansen
cd8e492c55 Committing in .
Updates effective and needed for VMS only

 Modified Files:
 	Mesa/src/descrip.mms Mesa/src/glapitable.h
 ----------------------------------------------------------------------
2000-02-03 09:35:17 +00:00
Brian Paul
ab8de7b678 minor clean-ups 2000-02-02 22:22:59 +00:00
Brian Paul
5829f0c960 changed _gl prefix to _mesa_ on fog functions 2000-02-02 22:21:39 +00:00
Brian Paul
4bad6744d2 replaced gl_ prefix with _mesa_ prefix on depth funcs 2000-02-02 22:16:04 +00:00
Brian Paul
b34024bc62 replaced gl_ prefix with _mesa_ prefix on blend funcs 2000-02-02 22:08:26 +00:00
Brian Paul
42fcf03e3a replaced gl_ prefix with _mesa_ prefix 2000-02-02 22:03:31 +00:00
Brian Paul
bd409f4143 added check for IntegerAccumScaler > 0 in GL_RETURN case 2000-02-02 21:53:11 +00:00
Brian Paul
8427d93449 changed prefix to _mesa_ for a few accum functions 2000-02-02 21:52:26 +00:00
Brian Paul
8460cc9bf9 try both single and double-buffered visuals 2000-02-02 20:57:51 +00:00
Brian Paul
831f8ada7b don't include dispatch.h 2000-02-02 19:50:26 +00:00
Brian Paul
a02fb6afc8 added comments 2000-02-02 19:34:08 +00:00
Brian Paul
3face37ca4 include buffers.h 2000-02-02 19:28:27 +00:00
Brian Paul
fab9712714 updated source files 2000-02-02 19:19:30 +00:00
Brian Paul
784d76024c moved exec dispatch init to state.c 2000-02-02 19:18:19 +00:00
Brian Paul
ea39f042c3 updated includes for source file reorg 2000-02-02 19:17:57 +00:00
Brian Paul
fa9df40e8a moved state functions to state.c 2000-02-02 19:16:46 +00:00
Brian Paul
23903a2338 removed glmisc.c, added buffers.c, hint.c, state.c 2000-02-02 19:15:53 +00:00
Brian Paul
d0a3ea051a functions from context.c 2000-02-02 19:15:19 +00:00
Brian Paul
f2dce72167 functions from old glmisc.c file 2000-02-02 19:14:56 +00:00
Brian Paul
b086b95fed replace offset with functionOffset in generate_entrypoint() 2000-02-02 18:50:07 +00:00
Brian Paul
b45c71aeff changed > to >= 2000-02-02 17:31:45 +00:00
Brian Paul
d2702f0022 limit Drift to [0, 1] 2000-02-02 01:07:21 +00:00
Brian Paul
6b8cced81a patch for XFree86 building 2000-02-01 23:57:03 +00:00
Brian Paul
f224b12a5b added normal, vertex, viewport message strings 2000-02-01 01:19:07 +00:00
Brian Paul
59668e3eb3 added more message strings 2000-02-01 01:10:27 +00:00
Brian Paul
075398b879 defined FLT_MIN if undefined 2000-01-31 23:33:53 +00:00
Brian Paul
9560f05def added mutexes for thread safety 2000-01-31 23:11:39 +00:00
Brian Paul
bc794059d8 added Mutex macros 2000-01-31 23:10:47 +00:00
Brian Paul
663049a719 added _mesa_TexImage3DEXT() 2000-01-31 23:10:16 +00:00
Brian Paul
2b1c416e21 added save_TexImage3DEXT() 2000-01-31 23:09:51 +00:00
Brian Paul
e0a87f9087 removed unneeded \n chars 2000-01-31 23:06:07 +00:00
Brian Paul
3a6eeddb8a changed message format, added GL_EXT_texture3d 2000-01-31 22:54:41 +00:00
Brian Paul
976dba2965 added more function templates, changed message format 2000-01-31 22:54:06 +00:00
Brian Paul
8fddcf3343 fixed protos for glTexImage3DEXT and GetDetailTexFuncSGIS 2000-01-31 22:52:50 +00:00
Brian Paul
4428a3f359 added Josh's dynamic display assembly generator 2000-01-31 22:51:44 +00:00
tanner
4df415b190 include conf.h 2000-01-31 22:10:06 +00:00
Brian Paul
a749f75826 include glapioffset.h instead of ../glapioffsets.h 2000-01-28 22:18:48 +00:00
Brian Paul
bfd2bd2b3a added -I. to .S.o rule 2000-01-28 22:18:03 +00:00
Brian Paul
f9b97d95f9 renamed _glapi_CurrentContext to _glapi_Context 2000-01-28 20:17:42 +00:00
Brian Paul
9f94399cf3 removed actual GL entrypoints (glapitemp.h) 2000-01-28 19:03:33 +00:00
Brian Paul
01c071340d moved entrypoints here from glapi.c 2000-01-28 19:02:57 +00:00
Brian Paul
68ee4bc7ca enable/disable no-context warnings depending on MESA_DEBUG 2000-01-28 19:02:22 +00:00
Brian Paul
3228421f69 added default template macros 2000-01-28 19:01:45 +00:00
Brian Paul
8d365ab204 updated comments 2000-01-28 18:57:56 +00:00
Brian Paul
d73af1122a added texdown info 2000-01-28 16:28:51 +00:00
Brian Paul
062ebf45c5 added texdown program 2000-01-28 16:27:27 +00:00
Brian Paul
215ff22651 initial check-in 2000-01-28 16:25:44 +00:00
Brian Paul
998955f54f added improved glxinfo item 2000-01-27 21:20:59 +00:00
Holger Waechtler
83f1d317c2 added prefetchw 2000-01-27 20:01:57 +00:00
Brian Paul
e06c7f32cf minor changes regarding transparency and multisample 2000-01-27 16:53:55 +00:00
Brian Paul
262f9e52d6 updated version string to Mesa 3.3 2000-01-27 16:45:50 +00:00
Brian Paul
76bc4403fd all new version of glxinfo 2000-01-27 16:43:56 +00:00
Brian Paul
e9fa7908d1 include conf.h if HAVE_CONFIG_H defined 2000-01-27 00:26:03 +00:00
Brian Paul
b39e3bad1d added WIN32 and macos files to tar archive 2000-01-27 00:11:49 +00:00
Brian Paul
04f1248ef9 updated RGB2BGR function 2000-01-25 20:21:19 +00:00
Brian Paul
0fed6a1bde added info about assembly language optimizations 2000-01-25 17:18:52 +00:00
Brian Paul
d8aec9b55b only print info if MESA_DEBUG is set 2000-01-25 17:04:47 +00:00
Brian Paul
3781b7bfa5 fixed VB->IndexPtr==NULL bug (Richard Guenther) 2000-01-25 16:49:20 +00:00
Brian Paul
ebd5feab9a updated for Mesa 3.3 2000-01-25 00:03:01 +00:00
Gareth Hughes
2454429915 Removed '#if 0' from second pass. 2000-01-24 22:54:05 +00:00
Brian Paul
d13bfbf7c6 changed VB_MAX, no longer dependant on FX symbol 2000-01-24 20:54:18 +00:00
Brian Paul
c79fab4aa6 replaced HashLookup() with _mesa_HashLookup() 2000-01-24 20:53:32 +00:00
Brian Paul
bb79790662 prefixed hash functions with _mesa_ 2000-01-24 16:19:54 +00:00
Gareth Hughes
3b7a75a0ce Merged 3.2 updates, namely combine callback for intersecting
contours.
2000-01-23 21:25:39 +00:00
Brian Paul
35a2227547 added #ifdef SVGA, work-around asm code problem 2000-01-23 17:49:54 +00:00
Brian Paul
28cf3043b6 added new SVGA driver files 2000-01-23 17:48:16 +00:00
Josh Vanderhoof
fccc9298b8 prevent spaces in fp register names 2000-01-23 05:47:14 +00:00
Josh Vanderhoof
ade76cd4ab no brackets for nasm indirect jumps 2000-01-23 05:08:51 +00:00
Brian Paul
50a46abdd9 updated for Mesa 3.2 2000-01-22 20:09:30 +00:00
Brian Paul
069965f170 updated SVGA sources from Mesa 3.2 2000-01-22 20:08:36 +00:00
Gareth Hughes
99dd0d4092 Merged in fixes from 3.2 branch. Fixed clipping bug, segfault in
vertex sorting function.

Debug is now enabled with MESA_TESS_DBG_LEVEL environment variable.
2000-01-20 21:52:01 +00:00
Brian Paul
e257733d03 updated with latest DRI tree changes 2000-01-18 17:56:05 +00:00
Brian Paul
d15422a951 replaced some spaces with a tab 2000-01-18 17:40:05 +00:00
Brian Paul
ffebe69866 generic_noop() now returns 0 2000-01-18 17:38:40 +00:00
Brian Paul
5666c63693 renamed CURRENT_INPUT to _mesa_CurrentInput 2000-01-18 17:36:16 +00:00
Brian Paul
187bce0724 minor clean-up 2000-01-18 17:29:18 +00:00
Brian Paul
c902f7d05a added do /while to multi-line macros 2000-01-17 23:22:57 +00:00
Brian Paul
5428705eee added X86-optimized message for MESA_INFO 2000-01-17 20:00:15 +00:00
Brian Paul
003caf24bb disabled X86-optimized dispatch when using XF86DRI (temporary) 2000-01-17 19:45:37 +00:00
Brian Paul
328bb7f40f added _glapi_Dispatch 2000-01-17 19:28:43 +00:00
Brian Paul
c2319b4315 renamed _mesa_Dispatch to _glapi_Dispatch, misc clean-up 2000-01-17 19:28:31 +00:00
Brian Paul
3ae56c6cc4 removed X86 files from linux debug configs 2000-01-17 19:00:52 +00:00
Brian Paul
e23b16012f added copyright info 2000-01-17 18:09:11 +00:00
Brian Paul
3db088f7d7 added missing POINT/LINE RANGE/GRANULARITY tokens 2000-01-17 18:05:24 +00:00
Brian Paul
3be135f000 Z values were wrong in selection mode (Holger Waechtler), misc clean-up 2000-01-17 15:40:43 +00:00
Brian Paul
d0edf6ad30 use nplanes instead of bitsPerRGBValue in GET_BITS_PER_PIXEL macro 2000-01-16 18:35:25 +00:00
Josh Vanderhoof
efe03ae1af x86 assembly dispatch 2000-01-16 07:26:35 +00:00
Randy Frank
c26d81842a Added occlusion test code. Follows the HP proposed occlusion test extension. 2000-01-15 06:13:26 +00:00
Randy Frank
0deb3737c4 Added entry point and define for the occlusion test. 2000-01-15 06:12:18 +00:00
Randy Frank
ed236aa0d0 Added test for the occlusion test code. 2000-01-15 06:11:33 +00:00
Brian Paul
acb6297e14 minor change for DEBUG builds 2000-01-14 16:35:25 +00:00
Brian Paul
4f68a7f5c7 first check-in 2000-01-14 16:25:56 +00:00
Brian Paul
95ff9aaa0d updated for Mesa 3.3 2000-01-14 16:24:56 +00:00
Brian Paul
304357dcd4 GLcontext is now nested in OSMesaContext 2000-01-14 04:55:44 +00:00
Brian Paul
4d053ddae8 added gl_initialize_context_data(), gl_free_context_data(). code clean-up 2000-01-14 04:45:47 +00:00
Brian Paul
113edcc755 added fxMesaContext arg to fxInitPixelTables() 2000-01-13 17:58:41 +00:00
Brian Paul
4049cd35d8 applied Daryll's patches for GLX_DIRECT_RENDERING 2000-01-13 17:40:12 +00:00
Brian Paul
7c1f6e4110 added -Wmissing-prototypes and enabled pthreads for linux debug configs 2000-01-13 00:44:37 +00:00
Brian Paul
80c6243e8b added _mesa_ArrayElement() proto 2000-01-13 00:35:09 +00:00
Brian Paul
62c184258b added gl_register_config_var() proto 2000-01-13 00:34:45 +00:00
Brian Paul
a0020435f5 init a few vars to silence compiler warnings 2000-01-13 00:32:12 +00:00
Brian Paul
4fc91a1427 include dispatch.h 2000-01-13 00:31:10 +00:00
Brian Paul
c7a5dbe3b3 clean up of eval_coord1/2f() 2000-01-13 00:30:41 +00:00
Brian Paul
16a9efe3ab commented out gl_reinit_light_attrib() 2000-01-13 00:29:02 +00:00
Brian Paul
fd75e6d4e5 commented out unused function 2000-01-13 00:27:05 +00:00
Brian Paul
4463a24909 minor clean-up 2000-01-13 00:25:22 +00:00
Brian Paul
780806f4d4 made some functions static 2000-01-13 00:24:48 +00:00
Brian Paul
2037663200 another fix for gluPartialDisk() in GL_LINE mode 2000-01-11 22:01:08 +00:00
Brian Paul
5e5f462701 fixed missing slice problem in gluPartialDisk() 2000-01-11 17:21:14 +00:00
Brian Paul
0219d32505 added printf-message to dispatch templates 2000-01-10 04:29:09 +00:00
Brian Paul
45691208ff added amesa.h to tar file list 2000-01-08 11:14:01 +00:00
Brian Paul
b3674092f2 removed DISPATCH_SETUP, added RETURN_DISPATCH 2000-01-08 11:01:24 +00:00
Brian Paul
e8dad9dbe4 fixed prototype typo in glHintPGI ( ) 2000-01-08 10:51:20 +00:00
Brian Paul
6132833b51 minor updates 2000-01-07 08:47:15 +00:00
Jon Taylor
c6c06c92b2 * Fixups to the GGIMesa code to reflect the recent DD API changes
* Added a new GGIMesa debugging-print subsystem
2000-01-07 08:34:43 +00:00
Brian Paul
3c3533c5c8 added missing glHintPGI() function 2000-01-07 07:42:33 +00:00
Brian Paul
77aa8b9c86 improved robustness of extension handling in static_functions[] array 2000-01-07 07:30:13 +00:00
Brian Paul
1e4ded3bc3 added glHintPGI template 2000-01-07 07:28:22 +00:00
Brian Paul
c2bd8197e1 added BitsPerPixel to XMesaVisual struct 2000-01-07 07:24:50 +00:00
Brian Paul
0d7846fe15 updated version string 2000-01-07 07:22:48 +00:00
Brian Paul
0eb3b021ee removed cpp conditionals from _mesa_init_exec_table() 2000-01-07 07:16:34 +00:00
Brian Paul
b44c86d67c fixed GetString template, added GL_SGI_color_table templates 2000-01-07 06:09:05 +00:00
Brian Paul
0a654a5d5a assigned official GL_ARB_transpose_matrix enums 2000-01-07 05:35:37 +00:00
Jouk Jansen
a3bcbfaeb1 Committing in .
Work around for bug in VMS7.2

 Modified Files:
 	Mesa/src-glut/glut_event.c
 ----------------------------------------------------------------------
2000-01-07 01:42:06 +00:00
Brian Paul
075f184b74 return GL_FALSE in fxDDColorMask 2000-01-06 09:30:37 +00:00
Brian Paul
dd020f13a6 updated Clear function for new mask bits 2000-01-06 09:28:38 +00:00
Brian Paul
d3c145b98a new Clear function mask 2000-01-06 09:28:07 +00:00
Brian Paul
276988ec96 minor clean-up in _mesa_unpack_ubyte_color_span() 2000-01-05 09:21:32 +00:00
Brian Paul
316b75ecc2 misc updates 2000-01-05 07:02:15 +00:00
Brian Paul
0aa0e556a1 clean-up of Linux target configs 2000-01-05 06:33:17 +00:00
Brian Paul
26e14d2ea1 removed _glapi_ThreadSafe 2000-01-05 04:36:17 +00:00
Brian Paul
90d9e02f3a start search at 1 in HashFindFreeKeyBlock() 2000-01-04 08:14:36 +00:00
Brian Paul
2d2e9c0c0a added missing glColorTableParameter defines 2000-01-04 08:07:09 +00:00
Brian Paul
53a36fc0da optimized GET_IMMEDIATE for thread safety 1999-12-17 17:01:31 +00:00
Brian Paul
09cb14872e print thread safety info if MESA_INFO set 1999-12-17 17:00:32 +00:00
Brian Paul
26651d0519 updated for new thread support in Mesa 3.3 1999-12-17 15:25:14 +00:00
Brian Paul
a02b03afa4 updated with latest source files 1999-12-17 15:15:46 +00:00
Brian Paul
ef46f450ee replaced mthreads.c with glthread.c 1999-12-17 15:03:52 +00:00
Brian Paul
0003778847 further simplification of thread-related code, misc clean-up 1999-12-17 14:52:35 +00:00
Brian Paul
8f91fb630c added current context functions, made ThreadSafe public 1999-12-17 14:51:28 +00:00
Brian Paul
d3c070ca6a removed old thread code 1999-12-17 12:23:25 +00:00
Brian Paul
c633693a28 fixed thread problems 1999-12-17 12:21:38 +00:00
Brian Paul
590d34726d more tweaking of thread support 1999-12-17 12:20:23 +00:00
Brian Paul
e2b10e72a6 don't free thread data in pthread_key_create() 1999-12-17 11:13:54 +00:00
Brian Paul
6ef84acfec minor clean-up 1999-12-16 17:33:43 +00:00
Brian Paul
bb72d326a0 thread support now works 1999-12-16 17:31:59 +00:00
Brian Paul
c11371a4e5 initial rev 1999-12-16 17:31:06 +00:00
Brian Paul
3aecc51805 minor change 1999-12-16 12:38:54 +00:00
Brian Paul
0c239fc6c5 new threading, more functions added 1999-12-16 12:38:11 +00:00
Brian Paul
e3a49d0cef added more functions 1999-12-16 12:36:54 +00:00
Brian Paul
fd5d305a9f added more extension functions 1999-12-16 12:36:30 +00:00
Brian Paul
24e50d4dea initial rev 1999-12-16 12:35:18 +00:00
Brian Paul
c02db13e00 added a cast to malloc call 1999-12-16 08:54:22 +00:00
Brian Paul
acd181021d added _glapi_get_proc_name() 1999-12-15 15:03:16 +00:00
Brian Paul
0f710258c2 new thread code 1999-12-15 15:02:30 +00:00
Brian Paul
77e898629e initial rev 1999-12-15 13:14:54 +00:00
Brian Paul
95b305cc97 just include Makefile.X11 1999-12-15 13:14:22 +00:00
Brian Paul
381e5555a5 made a few globals static 1999-12-15 13:02:09 +00:00
Brian Paul
7e401c1546 moved #define to column 0 1999-12-15 13:00:45 +00:00
Brian Paul
6625fc53e0 replaced 0 with 0.0 in sin, cos calls 1999-12-15 12:59:52 +00:00
Brian Paul
73ee3ef749 removed _GLAPI_ extension testing 1999-12-15 12:55:54 +00:00
Brian Paul
67661b04f2 added many more extension entry points 1999-12-15 12:52:31 +00:00
Jouk Jansen
945d18a5e2 Committing in .
Update for VMS only

 Modified Files:
 	Mesa/src/stencil.h
 ----------------------------------------------------------------------
1999-12-13 04:08:27 +00:00
Brian Paul
19a2ebd02f removed unneeded code in gluBuild1DMipmaps() 1999-12-12 17:24:18 +00:00
Brian Paul
6fc61407a3 bitmaps were vertically shifted by one pixel 1999-12-12 17:04:50 +00:00
Brian Paul
ff06c837b5 added GLX_ARB_get_proc_address 1999-12-11 09:54:33 +00:00
Brian Paul
97febca0f3 added GLX_ARB_get_proc_address to extension list 1999-12-11 09:20:53 +00:00
Brian Paul
cd96388857 implemented GL_ARB_tranpose_matrix 1999-12-10 20:01:06 +00:00
Brian Paul
0056c5e40d added GL_ARB_transpose_matrix 1999-12-10 19:54:50 +00:00
Brian Paul
1478647932 new depth buffer functions 1999-12-10 19:13:42 +00:00
Brian Paul
4c7fd2cfce pass new args to gl_create_framebuffer 1999-12-10 19:13:14 +00:00
Brian Paul
d91fb9f592 applied Daryll's patches 1999-12-10 19:11:23 +00:00
Brian Paul
4c44d63f01 pass new args to gl_create_framebuffer() 1999-12-10 19:09:59 +00:00
Brian Paul
5c3bee5039 changes in hardware depth buffer support 1999-12-10 19:09:21 +00:00
Brian Paul
f5abeebf49 applied Daryll's patches 1999-12-10 18:56:48 +00:00
Brian Paul
5ee41bda2c updated for hardware stencil support 1999-12-10 16:15:04 +00:00
Brian Paul
86d518ec5b added stencil buffer functions 1999-12-10 16:14:40 +00:00
Brian Paul
ab9f21e68e code clean-up 1999-12-10 15:38:08 +00:00
Brian Paul
e7d9d97471 added glXGetProcAddressARB() 1999-12-10 15:16:49 +00:00
Brian Paul
aaeea91bd0 removed gl_get_proc_address() 1999-12-10 15:13:57 +00:00
Andre Werthmann
7c68acc32e added the katmai_transform_points4_* functions 1999-12-08 11:52:29 +00:00
Jouk Jansen
fce01a5a16 Committing in .
Make supportupdate for VMS

 Modified Files:
 	Mesa/src-glu/descrip.mms Mesa/src-glu/gluP.h
 ----------------------------------------------------------------------
1999-12-07 09:02:12 +00:00
Gareth Hughes
ff5ce773b2 Merging in work from 3.1/3.2 branch. Tessellator is essentially fully
functional now.
1999-12-06 09:39:34 +00:00
Brian Paul
a1216fe3a2 Clearing stencil buffer now observes the stencil write mask
Optimized gl_depth_stencil_span/pixels() functions
1999-12-04 21:23:55 +00:00
Brian Paul
c63a8693bb minor stencil-related changes 1999-12-04 21:23:17 +00:00
Brian Paul
b22ac10c1a added glCopyPixels bug fix 1999-12-03 18:50:48 +00:00
Brian Paul
32c3255e06 test for null newCtx before newCtx->FirstTimeCurrent 1999-12-02 20:33:06 +00:00
Brian Paul
7b0903557a added WM_SYSKEYDOWN case in __wglMonitor() (Eero Pajarre) 1999-12-02 15:21:26 +00:00
Brian Paul
420ef64f18 gl_BindTexture was broken when target==GL_TEXTURE_3D 1999-12-01 21:10:08 +00:00
Brian Paul
eb6e3d3613 fxInitPixelTables() change for Voodoo 1/2 vs 3 1999-12-01 01:22:20 +00:00
Brian Paul
b7a4304f70 print debug info in gl_make_current() if MESA_INFO env var set 1999-11-30 20:34:51 +00:00
Jouk Jansen
2ed15898c4 Committing in .
Update makefiles for VMS due to obsolete files

 Modified Files:
 	Mesa/src/descrip.mms Mesa/src/mms_depend
 ----------------------------------------------------------------------
1999-11-29 08:43:31 +00:00
Brian Paul
e93842b6aa added missing functions in GLX_functions[] array 1999-11-28 20:18:50 +00:00
Brian Paul
36cfa38760 updated comments, removed obsolete functions 1999-11-28 20:15:04 +00:00
Brian Paul
cac5cdd6f7 removed include fakeglx.h 1999-11-28 20:11:56 +00:00
Brian Paul
621a05d12f removed realglx.c 1999-11-28 20:10:24 +00:00
Brian Paul
71600f0ce6 obsolete 1999-11-28 20:09:46 +00:00
Brian Paul
426cb9f58f changes for new GLX dispatcher 1999-11-28 20:08:02 +00:00
Brian Paul
e17ba7120f all new dispatch system 1999-11-28 20:07:33 +00:00
Brian Paul
6f2311270c initial rev 1999-11-28 20:07:19 +00:00
Brian Paul
cdc62309b4 move dispatch table size check into _mesa_init_no_op_table() 1999-11-27 21:42:12 +00:00
Brian Paul
f25e1ac31f added call to _mesa_init_no_op_table() 1999-11-27 21:40:42 +00:00
Brian Paul
59577b577d added _mesa_init_no_op_table() 1999-11-27 21:40:28 +00:00
Brian Paul
91bcefaa49 lots of work on extension management 1999-11-27 21:30:40 +00:00
Brian Paul
4329fd5e47 added _GLAPI_EXTRA_SLOTS symbol 1999-11-27 21:30:10 +00:00
Brian Paul
d850fc3e54 removed Mesa-isms 1999-11-27 01:41:01 +00:00
Brian Paul
a89dccf8f8 updates for 3.1 and later 1999-11-27 01:40:40 +00:00
Brian Paul
7110c37d5e generate Z values when fog enabled (Andree Borrmann) 1999-11-26 16:27:05 +00:00
Brian Paul
88590fb342 include glapitable.h 1999-11-25 18:17:14 +00:00
Brian Paul
7e1161bd2d now using glapitemp.h to generate entrypoints 1999-11-25 18:17:04 +00:00
Brian Paul
1210b0d9f3 initial rev 1999-11-25 18:16:13 +00:00
Brian Paul
21217695d3 include glapi.h 1999-11-25 18:15:23 +00:00
Brian Paul
bd1db5d6b5 added wincopy demo 1999-11-25 17:42:01 +00:00
Brian Paul
b5e4a16e4a initial rev 1999-11-25 17:41:51 +00:00
Brian Paul
c42c33e2a1 bunch of changes for separate read buffer feature 1999-11-25 17:38:12 +00:00
Brian Paul
086a151f94 implemented glXMakeContextCurrent() and glXGetCurrentReadDrawable() 1999-11-25 17:37:49 +00:00
Brian Paul
cea0e8e670 replaced Driver.SetBuffer() with SetDrawBuffer() and SetReadBuffer() 1999-11-25 17:36:48 +00:00
Brian Paul
b6709c8472 updated for Mesa 3.3 1999-11-24 21:17:32 +00:00
Brian Paul
3901be83dd updated with Mesa 3.3 info 1999-11-24 21:13:18 +00:00
Brian Paul
3f02f90f94 added support for separate read/draw buffers per context 1999-11-24 18:48:30 +00:00
Brian Paul
5bf7f47083 removed version logging 1999-11-24 18:45:44 +00:00
Brian Paul
b16103c466 bumped version to 3.3 1999-11-24 18:43:19 +00:00
Brian Paul
2257a12013 added XMesaMakeCurrent2(), XMesaGetCurrentReadBuffer(), bumped version to 3.3 1999-11-24 18:36:14 +00:00
Brian Paul
b314d1d3af added a few more GLX 1.3 tokens 1999-11-24 17:04:46 +00:00
Brian Paul
5fff37ecd4 renamed near and far arguments to gluUnProject4() 1999-11-24 13:06:48 +00:00
Brian Paul
9331b6702c added GLU 1.3 functions 1999-11-23 22:41:10 +00:00
Keith Whitwell
04c43deb54 another typo 1999-11-23 21:15:37 +00:00
Brian Paul
664a1f88f2 added GLX 1.3 tokens and functions 1999-11-23 19:54:53 +00:00
Brian Paul
ad6fd8ed4d added GLX 1.3 functions 1999-11-23 19:54:27 +00:00
Brian Paul
4e176ff358 added _mesa_clip_pixelrect() 1999-11-22 22:21:38 +00:00
Brian Paul
78fc78e0f6 clean up of version handling, removed GLX_EXT_get_proc_address string 1999-11-22 22:17:06 +00:00
Brian Paul
4f145468f4 removed GLU_EXT_get_proc_address from ext strings 1999-11-22 22:15:50 +00:00
Brian Paul
bdbd2e04c8 changed comment for WriteRGBSpan() 1999-11-22 21:54:14 +00:00
Brian Paul
b82d993b03 added glXGetCurrentDisplay() for GLX 1.2 1999-11-22 21:52:23 +00:00
Brian Paul
bf3f9bdaae bumped GLX version to 1.2, added glXGetCurrentDisplay() 1999-11-22 21:51:53 +00:00
Brian Paul
8acb3a1238 fixed potential bug in _mesa_ShadeModel() 1999-11-22 18:58:53 +00:00
Brian Paul
414b6e7c00 added SET/CLEAR/TEST_BITS macros, misc clean-up 1999-11-22 18:57:56 +00:00
Brian Paul
f2db7ed71e fixed shade model bug (A.Borrmann) 1999-11-22 18:28:39 +00:00
Brian Paul
47cdadc626 added pragma 4615 (Eero), added copyright 1999-11-22 14:05:44 +00:00
Brian Paul
ca1ea0ac09 removed redundant fxCloseHardware() decl 1999-11-22 14:02:12 +00:00
Andre Werthmann
172d6c0d44 added more ASM_SRCS 1999-11-22 01:24:25 +00:00
Brian Paul
f0dee6578a renamed struct gl_palette as struct gl_color_table 1999-11-19 22:51:29 +00:00
Brian Paul
7fb54ae3b3 updates for thread safety 1999-11-19 22:33:50 +00:00
Brian Paul
0498682406 updates for Mesa 3.3 1999-11-19 22:26:52 +00:00
Brian Paul
9fd022a905 replace encounteed with encountered 1999-11-19 21:23:37 +00:00
Keith Whitwell
784657c379 fixes for andree's drawarrays problems 1999-11-19 00:03:27 +00:00
Brian Paul
653c83b9b4 two fixes in gl_DrawArrays (Andree Borrman) 1999-11-18 23:56:04 +00:00
Brian Paul
a65efe4b75 reordered the extensions and numbered them 1999-11-18 20:23:31 +00:00
Brian Paul
e160f9419c fixed FX_grSstControl(), now returns FxBool 1999-11-18 19:42:09 +00:00
Brian Paul
e95cc0dce3 removed unused fxTMNewTMFreeNode decl 1999-11-18 19:42:00 +00:00
Brian Paul
4b7526d001 silence an uninitialized var warning 1999-11-18 15:44:37 +00:00
Brian Paul
d0247f53ae test visinfo, not vishandle in save_glx_visual (Wolfram Gloger) 1999-11-18 15:17:01 +00:00
Andre Werthmann
6630e2be01 checked in the first new PIII vertex-transformation code 1999-11-18 09:20:50 +00:00
Brian Paul
36d8d7ae81 fixed some glitches (Eero Pajarre) 1999-11-17 21:19:48 +00:00
Brian Paul
80e872df2b make clean removes .lo .la and .libs/ 1999-11-16 15:49:12 +00:00
Brian Paul
ece75acd6b fixed several texture state bugs found with objbug.c program 1999-11-15 22:21:47 +00:00
Brian Paul
9779220286 texture palette update 1999-11-15 18:18:15 +00:00
Brian Paul
de3c9791b0 include mem.h 1999-11-15 18:17:55 +00:00
Brian Paul
9b006e00ab fixed mistake in merge regarding texture palettes 1999-11-15 18:08:15 +00:00
Brian Paul
5a95679e58 update/merge with Daryll's X server changes 1999-11-15 18:05:00 +00:00
Brian Paul
e23e2759fc changed multi-include guard symbol 1999-11-15 14:26:07 +00:00
Josh Vanderhoof
a2ee2fe360 fixed SSE bugs 1999-11-13 02:25:17 +00:00
Brian Paul
b4334b2b87 replaced EXT_color_table with EXT_paletted_texture 1999-11-12 23:38:42 +00:00
Brian Paul
4586d8769b replaced _GLAPI_EXT_color_table with _GLAPI_EXT_paletted_texture 1999-11-12 18:57:50 +00:00
Brian Paul
789cf43f18 reordered some functions 1999-11-12 18:27:27 +00:00
Brian Paul
2da507defd moved assembly-related macros from types.h to glheader.h 1999-11-12 18:23:47 +00:00
Brian Paul
93b76c048f restored the gl_Viewport function 1999-11-12 18:10:47 +00:00
Kendall Bennett
be599f845f . More Watcom C++ warnings fixed in Mesa. 1999-11-12 16:46:56 +00:00
Kendall Bennett
f945672623 . More fixed to 1999-11-12 16:38:23 +00:00
Brian Paul
8f8d152b2e added glxdpyinfo 1999-11-12 15:47:38 +00:00
Brian Paul
c3ef5952f5 initial check-in 1999-11-12 15:47:28 +00:00
Jouk Jansen
5b974ed6a1 Workaround for the VMS 32 character maximum limit. 1999-11-12 08:32:37 +00:00
Kendall Bennett
e312cf26ea . Updates to get X86, MXX and 3DNow assembler code working with Watcom
C++ and NASM. This includes lots of _ASMAPI macros to ensure that
   assembler functions are prototyped as __cdecl, as Watcom C++ uses
   register calling conventions by default.
 . Misc fixes to files to remove warnings generated by Watcom C++.
1999-11-12 04:56:54 +00:00
Brian Paul
b95d252c34 added GL_EXT_texture_env_add extension 1999-11-12 02:07:56 +00:00
Brian Paul
a087e348ab added gl_extension_is_enabled() 1999-11-12 02:05:46 +00:00
Brian Paul
ea895e6839 added some braces to silence gcc warnings 1999-11-12 00:14:06 +00:00
Brian Paul
d23f90726a minor clean-ups 1999-11-12 00:06:07 +00:00
Brian Paul
1d5971db24 changed a warning string 1999-11-11 17:53:14 +00:00
Brian Paul
845117bd05 ColorTableEXT clean-up 1999-11-11 17:50:04 +00:00
Brian Paul
9ad72cd9b1 removed redundant extension prototypes 1999-11-11 17:48:32 +00:00
Brian Paul
b99db9ea7b updated for new texture color palette struct 1999-11-11 17:11:49 +00:00
Brian Paul
eb1f282b73 don't include strings.h or stdio.h 1999-11-11 15:26:45 +00:00
Brian Paul
37ff9433c0 added missing braces in array initializations 1999-11-11 14:37:24 +00:00
sio
3d993b7dee Added missing GLAPIENTRY to glConvolution* and glCopy* 1999-11-11 14:11:16 +00:00
Jouk Jansen
d1aeac8d1d version 3.3 update 1999-11-11 09:57:57 +00:00
Jouk Jansen
86d36643de tess_macro.h included 1999-11-11 09:55:39 +00:00
Kendall Bennett
a73119234c . Updated GL/gl.h with GLCALLACKP and GLAPIENTRYP macros for compatibility
with the IBM VisualAge C++ compiler. Eventually some more code will be
   needed in the headers to enable the reversal of (__stdcall*) to (*__stdcall)
   for the IBM compilers, however we currently build using our own header files
   that already handle this.

 . Changed instances of (GLCALLBACK*) to GLCALLBACKP for compatibility
   with the IBM VisualAge C++ compiler in src-glu.

 . Misc cleanups for warnings generated with Watcom C++ in src-glu. Compiles
   with 0 warnings now.

 . tess_hash.c: line 244 - Why is this function stubbed out? I removed the
   code with a #if 0 to avoid a compiler warning, but it looks dangerous.
1999-11-11 03:21:43 +00:00
Brian Paul
cb5ecb883e initial changes for Mesa 3.3 1999-11-11 01:28:16 +00:00
Brian Paul
fbd8f212c3 first big check-in of new Mesa 3.3 code 1999-11-11 01:22:25 +00:00
Keith Whitwell
06ac59281b fix for colormaterial 1999-11-10 06:29:44 +00:00
Keith Whitwell
6adfc6bd9e use glClientActiveTexture in interleaved setup 1999-11-09 17:26:15 +00:00
Keith Whitwell
6a9f16edae more fixes for glDrawArrays 1999-11-09 17:00:25 +00:00
Keith Whitwell
20f6c10b41 second try at drawarrays fix 1999-11-09 10:12:34 +00:00
Keith Whitwell
e43a3aa293 fix for (some of?) the vertex array problems 1999-11-09 09:18:40 +00:00
Brian Paul
f6a79d045c fixed typo: replaced |= with != in conditional 1999-11-09 07:59:54 +00:00
Brian Paul
0822c1050e replace GLint with GLsizei in a gluScaleImage, gluBuild1/2DMipmaps() 1999-11-09 06:16:59 +00:00
Brian Paul
c00c0b323f header includes clean-up (Daryll) 1999-11-08 15:29:43 +00:00
Brian Paul
99f16d01dd changes to silence MSVC warnings 1999-11-08 15:28:08 +00:00
Brian Paul
19f90e35ff flush pb after each line segment - for conformance 1999-11-08 14:36:32 +00:00
Brian Paul
327c69127c clean-up of header includes (Daryll) 1999-11-08 07:36:43 +00:00
Gareth Hughes
787250cc01 Added filename, line number output for debugging messages. 1999-11-05 20:36:55 +00:00
Ted Jump
f7190d4b1f turned off 'conditional expression is constant' warning for win32 1999-11-05 18:20:31 +00:00
Brian Paul
94acb57278 removed printf's 1999-11-05 08:12:46 +00:00
Brian Paul
17407de73a added xfont demo 1999-11-05 08:01:17 +00:00
Brian Paul
f1b45ca254 new xfont demo 1999-11-05 08:00:49 +00:00
Brian Paul
5b37c32274 clean-up to reduce MSVC warnings 1999-11-05 06:43:10 +00:00
Keith Whitwell
30990a65f8 Fix for glerror on compilation of list containing gldrawelements calls 1999-11-04 19:42:28 +00:00
Gareth Hughes
486e1f982e Major winding rule updates, especially stacked contour support.
Improved debugging output that can be altered with an environment
variable instead of hard coded at compile time.  Fixed bug in vertex
sorting function, so vertices are now indexed correctly (left to right).
1999-11-04 04:07:57 +00:00
Gareth Hughes
eb459c6070 Updated demo for new GLU 1.3 tessellation. Added optimized rendering
by saving the output of the tessellation into display lists.
1999-11-04 04:00:42 +00:00
Gareth Hughes
64e10feb25 Changed ($MAKE) to $(MAKE) to allow real-clean to work correctly. 1999-11-04 03:57:28 +00:00
Miklos Fazekas
6bc96bfebe Added glColorTable, etc. 1999-11-04 00:43:09 +00:00
Brian Paul
5b6677da16 include assert.h with rest of system headers 1999-11-03 19:27:41 +00:00
Josh Vanderhoof
0dd75e2884 swap operand order for Intel style REGOFF 1999-11-03 18:50:44 +00:00
Brian Paul
b09a4cd913 added another fast-path in _mesa_unpack_ubyte_color_spa(), more comments 1999-11-03 18:24:05 +00:00
Brian Paul
c3f0a511a7 new texture image processing 1999-11-03 17:27:05 +00:00
Brian Paul
d51b2c99d5 new texture image, cleaned-up code 1999-11-02 15:09:04 +00:00
Brian Paul
306b3b02b7 added linux-glide-debug config 1999-11-02 10:11:44 +00:00
Brian Paul
03d96a0ce2 fixed a typo in a comment 1999-10-31 08:34:47 +00:00
Ted Jump
38136ec3dd Changed over to maximal warnings on Win32 builds. 1999-10-30 18:39:06 +00:00
Ted Jump
364b56a20e Added checking for FXMESA_USE_ARGB to disable pixel reformatting when not appropriate 1999-10-30 18:34:48 +00:00
Brian Paul
12cc2bfff7 pixel pack/unpack ImageHeight and SkipImages was not initialized 1999-10-30 08:22:45 +00:00
Brian Paul
3c14ec9b55 added a few more scale/bias/lookup functions (for future use) 1999-10-30 08:20:57 +00:00
Brian Paul
8de4a38777 minor changes to Usage() function 1999-10-28 18:23:29 +00:00
Brian Paul
0144a50f04 removed -lm from link command 1999-10-27 10:09:53 +00:00
Brian Paul
be12aecc59 added -lm to XLIBS for all configs 1999-10-27 10:09:27 +00:00
Brian Paul
4a867fcbf5 disabled glXGetProcAddress code 1999-10-27 09:50:10 +00:00
Brian Paul
38a811057d disabled gluGetProcAddressEXT 1999-10-27 09:47:41 +00:00
Brian Paul
d865227d21 removed cvs history logs and old comments 1999-10-27 09:46:07 +00:00
Brian Paul
782ca03d6d removed glXGetProcAddressEXT 1999-10-27 09:44:10 +00:00
Brian Paul
c7af1b0b94 removed gluGetProcAddressEXT() 1999-10-27 09:43:48 +00:00
Brian Paul
9a19ccb578 better texture matrix, better end-cap reflections on cylinder 1999-10-26 17:08:31 +00:00
Brian Paul
98b607b57d fixed stupid error in GL_RGA case in gl_pack_rgba_span() 1999-10-26 09:21:04 +00:00
Brian Paul
20cdbc068e more comments, removed unneeded glDepthFunc call 1999-10-23 08:12:23 +00:00
Brian Paul
83435611c8 added gloss demo 1999-10-22 20:35:17 +00:00
Brian Paul
bb1119fd44 initial rev 1999-10-22 20:34:57 +00:00
Brian Paul
64b7da799f fixed byteswapping bug in gl_pack_rgba_span() 1999-10-22 12:49:52 +00:00
Brian Paul
3428162e27 added optimized GL_RGB, GL_UNSIGNED_BYTE case to gl_pack_rgba_span) 1999-10-22 10:59:15 +00:00
Brian Paul
e261963104 removed revision history info 1999-10-22 10:47:58 +00:00
Brian Paul
a6f09fa880 define GLUAPI, GLAPIENTRY and GLCALLBACK to nothing if not using Mesa's gl.h 1999-10-22 10:47:01 +00:00
Brian Paul
a460e65028 minor clean-up of linux-elf-debug target 1999-10-22 10:46:06 +00:00
Brian Paul
64a79b2f3a applied Jonn Carmack's patch for faster glTexSubImage2D() in Quake 1999-10-22 10:43:35 +00:00
Brian Paul
d13c0a90c7 added f key to toggle front/back drawing 1999-10-21 22:13:58 +00:00
Brian Paul
ac12609099 added -info command line option 1999-10-21 16:39:06 +00:00
Brian Paul
bc937424f1 updated some comments/docs 1999-10-21 12:46:27 +00:00
Brian Paul
5393bb3830 silenced some uninitialized var warnings 1999-10-21 12:45:53 +00:00
Brian Paul
fc811e2bfd silenced ininitialized var warnings 1999-10-21 12:45:03 +00:00
Brian Paul
88737eeedc silenced uninitialized variable warnings 1999-10-21 12:26:21 +00:00
Ted Jump
b19ba7827c Added pragma to disable warning about unk pragmas for MSVC5 1999-10-21 06:04:20 +00:00
Brian Paul
2fb055d891 clean-up of optimized GL_RETURN code 1999-10-20 22:39:16 +00:00
Brian Paul
34c7c1838a fixed divTable precision problem in GL_RETURN case 1999-10-20 22:32:02 +00:00
Brian Paul
2c318aad9d enable lighting even if no light sources are turned on 1999-10-20 22:16:45 +00:00
Holger Waechtler
456935a65e added X86/vertex.S and X86/vertex_3dnow.S to ASM_SOURCES 1999-10-20 11:45:39 +00:00
Ted Jump
3f17dfb8ba Minor patches to cleanup some compiler warnings in MSVC 1999-10-20 06:56:40 +00:00
Brian Paul
d53573daf7 fixed a number of error-test bugs 1999-10-19 20:36:20 +00:00
Brian Paul
bc41b08073 more image type error checking in draw_stencil_pixels() 1999-10-19 20:33:57 +00:00
Brian Paul
f3f9b77324 clean-up in gl_LightModelfv() 1999-10-19 20:32:40 +00:00
Brian Paul
351752caff added more format/type error checking code 1999-10-19 20:31:08 +00:00
Keith Whitwell
d471473b58 Changes to reduce the memory footprint of display lists 1999-10-19 18:37:02 +00:00
Brian Paul
52880f85b5 GL_MAX_ELEMENTS_VERTICES/INDICES enums had wrong values 1999-10-17 23:24:49 +00:00
Brian Paul
91baaa3d5a negative offsets to TexSubImage w/ texture borders caused memory corruption 1999-10-17 23:24:16 +00:00
Brian Paul
1e083c8c17 added glGet cases for vertex array enable state 1999-10-17 22:36:35 +00:00
Brian Paul
c782c911e9 more ARB_imaging colortable functions 1999-10-17 21:42:32 +00:00
Brian Paul
053f2020ca added missing GL_ARB_imaging color table functions 1999-10-17 20:18:15 +00:00
Miklos Fazekas
b9d8c77ca6 Fixed a MacOS specific compile error. 1999-10-16 12:53:37 +00:00
Miklos Fazekas
bc95b2f07e Added glGetMinmax 1999-10-16 12:52:56 +00:00
Brian Paul
d95e2eb1a8 removed GL_EXT_get_proc_address 1999-10-16 11:32:15 +00:00
Brian Paul
b80429e49e removed GL_EXT_get_proc_address 1999-10-16 11:27:02 +00:00
Brian Paul
c6dddaa692 added sco5 config 1999-10-15 22:00:07 +00:00
Brian Paul
251ba69ffc replaced glGetMinMax() with glGetMinmax() 1999-10-15 21:59:23 +00:00
Brian Paul
42f252fc06 fixed an RGB vs CI bug in overlay visual selection 1999-10-14 18:47:37 +00:00
Gareth Hughes
3df50407a3 Added point_contour_test, taken from O'Rourke 1998. 1999-10-14 07:44:41 +00:00
Ted Jump
56a5f8820f Fixed parameter type for notify function pointer parameter to gl_extensions_add 1999-10-13 22:09:09 +00:00
Gareth Hughes
6450917496 Removed CVS logs from files, as they were getting rather large. 1999-10-13 19:12:25 +00:00
Gareth Hughes
206abd9039 Added edge flag callback support. 1999-10-13 19:01:56 +00:00
Brian Paul
80af3614d8 now using MALLOC, CALLOC, FREE, etc macros 1999-10-13 18:49:47 +00:00
Brian Paul
bd5cdaf444 removed GL_ prefix from memory macros 1999-10-13 18:42:49 +00:00
Brian Paul
1a3b8ffe01 use texture objects now 1999-10-13 12:02:13 +00:00
Gareth Hughes
f80d0b2f61 Fixed delete_all_contours memory deallocation. 1999-10-12 21:26:06 +00:00
Gareth Hughes
2e4fce138c Updated memory allocation to allow new macros to be used. 1999-10-12 18:49:28 +00:00
Gareth Hughes
21a257d25b Renamed GLUtesselator user data pointer to avoid confusion. 1999-10-11 17:53:09 +00:00
Gareth Hughes
dbecc01c6e Correctly initialized GLUtesselator user data pointer. 1999-10-11 17:48:53 +00:00
Gareth Hughes
4aaafa6265 Allow debugging output capture under Win32. This seems really
broken to me, but that's Windows for you...
1999-10-11 17:28:05 +00:00
Gareth Hughes
c30627a5af Updated debugging output. I'm going to change it all to something
much more like the GLX project.  This was a set of macros left over
from a research project I'd done, and I like the GLX logging more.
1999-10-11 17:26:48 +00:00
Jouk Jansen
cd555f456b Repaired definition of GL_CALLOC_STRUC 1999-10-11 04:22:57 +00:00
Jouk Jansen
0b6c775f1c #include <stdlib.h> 1999-10-11 04:20:55 +00:00
Jouk Jansen
4fbb2c6279 #include <assert.h> 1999-10-11 04:20:25 +00:00
Jouk Jansen
0279e2bc3a misc -> glmisc 1999-10-11 04:17:50 +00:00
Brian Paul
567a1de666 now using GL_MALLOC, GL_FREE 1999-10-10 13:04:17 +00:00
Brian Paul
60a249d009 now using GL_MALLOC, GL_FREE 1999-10-10 12:51:29 +00:00
Brian Paul
375853e867 fixed dumb typo 1999-10-10 12:49:36 +00:00
Brian Paul
826e66a21f now using GL_MALLOC, GL_FREE 1999-10-10 12:40:54 +00:00
Brian Paul
d77fa30761 added memory macros 1999-10-10 12:39:04 +00:00
Josh Vanderhoof
73d03344f4 no underscore prefix for freebsd >= 3 (Simon Walton) 1999-10-09 23:20:23 +00:00
Brian Paul
6e6d4c66bd texture units now share default texture objects 1999-10-09 20:17:07 +00:00
Brian Paul
7ec8d588ab fixed reference count bug in save_TexImage3DEXT() 1999-10-09 10:01:46 +00:00
Keith Whitwell
f8b3fc5454 fixed voodoo initialization 1999-10-08 11:07:54 +00:00
Keith Whitwell
485f040741 Fixed includes & added a few hooks for the DRI. 1999-10-08 09:27:09 +00:00
Miklos Fazekas
a7313e045d Added PARB support. 1999-10-05 19:51:15 +00:00
Miklos Fazekas
3af541c541 Added gl_ext_multitexture_ADD suport. 1999-10-05 19:50:45 +00:00
Miklos Fazekas
37290c844c Added packed ARGB support. 1999-10-05 19:49:41 +00:00
Miklos Fazekas
1076e7cd21 Packed RGBA support. 1999-10-05 19:26:54 +00:00
Miklos Fazekas
6a659315cd Packed RGB support. 1999-10-05 19:00:11 +00:00
Miklos Fazekas
2ed47d29c6 Added support for GL_ext_texture_add 1999-10-05 18:48:49 +00:00
Miklos Fazekas
d598ca05e1 Minor cleanup. 1999-10-05 18:40:17 +00:00
Jouk Jansen
08a454c7af Added tess_winding.c for compilation 1999-10-04 05:26:46 +00:00
Gareth Hughes
dcf11bdb93 Fixed overflow bug in combineCallback. 1999-10-03 01:00:33 +00:00
Gareth Hughes
63fee8b3be Added tessellation winding rule support. Misc bug fixes. 1999-10-03 00:56:07 +00:00
Gareth Hughes
45b95f048d Added tessellation winding rule files. 1999-10-03 00:53:38 +00:00
Keith Whitwell
69cfdb2fcb more hooks for mga driver, including an immediate fastpath 1999-09-30 11:18:21 +00:00
1546 changed files with 542143 additions and 67705 deletions

File diff suppressed because it is too large Load Diff

108
Makefile.DJ Normal file
View File

@@ -0,0 +1,108 @@
# Mesa 3-D graphics library
# Version: 4.0
#
# Copyright (C) 1999 Brian Paul All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# DOS/DJGPP makefile v1.4 for Mesa
#
# Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net
# Web : http://www.geocities.com/dborca
#
# Available options:
#
# Environment variables:
# CPU optimize for the given processor.
# default = pentium
# GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
# or `mesa'.
# default = mesa
# GLIDE path to Glide3 SDK; used with FX.
# default = $(TOP)/glide3
# FX=1 build for 3dfx Glide3. Note that this disables
# compilation of most DMesa code and requires fxMesa.
# As a consequence, you'll need the DJGPP Glide3
# library to build any application.
# default = no
# MATROX=1 build for Matrox Millennium I (MGA2064W) cards.
# This is experimental and not intensively tested.
# default = no
# HAVE_X86=1 optimize for i386.
# default = no
# HAVE_MMX=1 allow MMX specializations, provided your assembler
# supports MMX instruction set. However, the true CPU
# capabilities are checked at run-time to avoid crashes.
# default = no
# HAVE_SSE=1 (see HAVE_MMX)
# default = no
# HAVE_3DNOW=1 (see HAVE_MMX)
# default = no
#
# Targets:
# all: build everything
# libgl: build GL
# libglu: build GLU
# libglut: build GLUT
# clean: remove object files
# realclean: remove all generated files
#
.PHONY : all libgl libglu libglut clean realclean
CPU ?= pentium
GLU ?= mesa
CFLAGS = -Wall -W -pedantic
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
export CFLAGS
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
UNLINK = del $(subst /,\,$(1))
else
UNLINK = $(RM) $(1)
endif
all: libgl libglu libglut
libgl: lib
$(MAKE) -f Makefile.DJ -C src/mesa
libglu: lib
$(MAKE) -f Makefile.DJ -C src/glu/$(GLU)
libglut: lib
$(MAKE) -f Makefile.DJ -C src/glut/dos
lib:
mkdir lib
clean:
$(MAKE) -f Makefile.DJ clean -C src/mesa
$(MAKE) -f Makefile.DJ clean -C src/glu/mesa
$(MAKE) -f Makefile.DJ clean -C src/glu/sgi
$(MAKE) -f Makefile.DJ clean -C src/glut/dos
realclean: clean
-$(call UNLINK,lib/*.a)
-$(call UNLINK,lib/*.dxe)

File diff suppressed because it is too large Load Diff

91
Makefile.mgw Normal file
View File

@@ -0,0 +1,91 @@
# Mesa 3-D graphics library
# Version: 4.0
#
# Copyright (C) 1999 Brian Paul All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# MinGW makefile v1.0 for Mesa
#
# Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net
# Web : http://www.geocities.com/dborca
#
# Available options:
#
# Environment variables:
# CPU optimize for the given processor.
# default = pentium
# GLIDE path to Glide3 SDK; used with FX.
# default = $(TOP)/glide3
# FX=1 build for 3dfx Glide3. Note that this disables
# compilation of most WMesa code and requires fxMesa.
# As a consequence, you'll need the Win32 Glide3
# library to build any application.
# default = no
# HAVE_X86=1 optimize for i386.
# default = no
# HAVE_MMX=1 allow MMX specializations, provided your assembler
# supports MMX instruction set. However, the true CPU
# capabilities are checked at run-time to avoid crashes.
# default = no
# HAVE_SSE=1 (see HAVE_MMX)
# default = no
# HAVE_3DNOW=1 (see HAVE_MMX)
# default = no
#
# Targets:
# all: build everything
# libgl: build GL
# clean: remove object files
# realclean: remove all generated files
#
.PHONY : all libgl clean realclean
CPU ?= pentium
CFLAGS = -Wall -W -pedantic
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
export CFLAGS
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
UNLINK = del $(subst /,\,$(1))
else
UNLINK = $(RM) $(1)
endif
all: libgl
libgl: lib
$(MAKE) -f Makefile.mgw -C src/mesa
lib:
mkdir lib
clean:
$(MAKE) -f Makefile.mgw clean -C src/mesa
realclean: clean
-$(call UNLINK,lib/*.a)
-$(call UNLINK,lib/*.dll)

179
Mesa.dsw Normal file
View File

@@ -0,0 +1,179 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "array_cache"=".\SRC\MESA\array_cache\array_cache.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "gdi"=".\src\mesa\drivers\windows\gdi\gdi.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name array_cache
End Project Dependency
Begin Project Dependency
Project_Dep_Name main
End Project Dependency
Begin Project Dependency
Project_Dep_Name math
End Project Dependency
Begin Project Dependency
Project_Dep_Name swrast_setup
End Project Dependency
Begin Project Dependency
Project_Dep_Name swrast
End Project Dependency
Begin Project Dependency
Project_Dep_Name tnl
End Project Dependency
Begin Project Dependency
Project_Dep_Name glapi
End Project Dependency
}}}
###############################################################################
Project: "glapi"=".\SRC\MESA\glapi\glapi.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "glu"=".\src\glu\sgi\glu.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name gdi
End Project Dependency
}}}
###############################################################################
Project: "glut"=".\src\glut\glx\glut.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name glu
End Project Dependency
}}}
###############################################################################
Project: "main"=".\SRC\MESA\main\main.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "math"=".\SRC\MESA\math\math.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "osmesa"=".\SRC\MESA\DRIVERS\osmesa\osmesa.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name gdi
End Project Dependency
}}}
###############################################################################
Project: "swrast"=".\SRC\MESA\swrast\swrast.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "swrast_setup"=".\SRC\MESA\swrast_setup\swrast_setup.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "tnl"=".\SRC\MESA\tnl\tnl.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

331
bin/mklib Executable file
View File

@@ -0,0 +1,331 @@
#!/bin/sh
# Make a shared library.
# Basically do a switch/case depending on the OS and make a shared
# lib conforming to that OS.
# Usage:
# mklib [options] objects ...
# Options:
# -o LIBRARY specifies the name of resulting library ("GL" for example)
# -major N specifies major version number (default is 1)
# -minor N specifies minor version number (default is 0)
# -patch N specifies patch version number (default is 0)
# -lLIBRARY specifies a dependency on LIBRARY
# -LDIR search in DIR for library dependencies
# -cplusplus link with C++ runtime
# -static make a static library (default is dynamic/shared)
# -install DIR move resulting library files to DIR
# -arch ARCH override using `uname` to determine architecture
# -archopt OPT specify an extra achitecture-specific option OPT
#
# The library name should just be "GL" or "GLU", etc. The 'lib' prefix
# will be added here if needed, as well as the ".so" or ".a" suffix, etc.
#
# objects should be: foo.o bar.o etc.o
#
# Environment variables recognized:
# CC C compiler command
# CXX C++ compiler command
#
#
# Option defaults
#
LIBNAME=""
MAJOR=1
MINOR=0
PATCH=0
DEPS=""
CPLUSPLUS=0
STATIC=0
INSTALLDIR="."
ARCH="auto"
ARCHOPT=""
#
# Parse arguments
#
while true
do
case $1 in
'-o') shift 1; LIBNAME=$1;;
'-major') shift 1; MAJOR=$1;;
'-minor') shift 1; MINOR=$1;;
'-patch') shift 1; PATCH=$1;;
-l*) DEPS="$DEPS $1";;
-L*) DEPS="$DEPS $1";;
'-cplusplus') CPLUSPLUS=1;;
'-static') STATIC=1;;
'-install') shift 1; INSTALLDIR=$1;;
'-arch') shift 1; ARCH=$1;;
'-archopt') shift 1; ARCHOPT=$1;;
-*) echo "mklib: Unknown option: " $1 ; exit 1;;
*) break
esac
shift 1
done
OBJECTS=$@
if [ ${ARCH} = "auto" ] ; then
ARCH=`uname`
fi
#
# Error checking
#
if [ "x${LIBNAME}" = "x" ] ; then
echo "mklib: Error: no library name specified"
exit 1
fi
if [ "x${OBJECTS}" = "x" ] ; then
echo "mklib: Error: no object files specified"
exit 1
fi
#
# Debugging info
#
if [ ] ; then
echo "-----------------"
echo ARCH is $ARCH
echo LIBNAME is $LIBNAME
echo MAJOR is $MAJOR
echo MINOR is $MINOR
echo PATCH is $PATCH
echo DEPS are $DEPS
echo "-----------------"
fi
#
# OK, make the library now
#
case $ARCH in
'Linux')
LIBNAME="lib${LIBNAME}" # prefix with "lib"
OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
VERSION="${MAJOR}.${MINOR}.${PATCH}"
echo "mklib: Making Linux shared library: " ${LIBNAME}.so.${VERSION}
if [ $CPLUSPLUS = 1 ] ; then
LINK="g++"
else
LINK="gcc"
fi
# rm any old libs
rm -f ${LIBNAME}.so.${VERSION}
rm -f ${LIBNAME}.so.${MAJOR}
rm -f ${LIBNAME}.so
# make lib
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
# make usual symlinks
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
# finish up
FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so"
;;
'SunOS')
LIBNAME="lib${LIBNAME}.so"
echo "mklib: Making SunOS shared library: " ${LIBNAME}
OPTS="-G"
if [ $CPLUSPLUS = 1 ] ; then
# link for C++
if [ "x${CXX}" = "xg++" ] ; then
LINK="g++"
elif [ "x${CXX}" = "xCC" ] ; then
LINK="CC"
elif [ `which c++` ] ; then
LINK="c++"
elif [ `type g++` ] ; then
LINK="g++"
else
echo "mklib: warning: can't find C++ comiler, trying CC."
LINK="CC"
fi
elif [ "x${CC}" = "xgcc" ] ; then
# use gcc for linking
LINK="gcc"
else
# use native Sun linker
LINK="ld"
fi
echo "mklib: linker is " ${LINK}
rm -f ${LIBNAME}
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS=${LIBNAME}
;;
'FreeBSD')
SHLIB="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
STLIB="lib${LIBNAME}.a"
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
rm -f ${SHLIB} ${STLIB}
ar cq ${STLIB} ${OBJECTS}
ranlib ${STLIB}
ld -Bshareable -o ${SHLIB} ${OBJECTS}
# XXX make lib${LIBNAME}.so.${MAJOR} symlink?
FINAL_LIBS="${SHLIB} ${STLIB}"
;;
'OpenBSD')
LIBNAME="lib${LIBNAME}"
VERSION="${MAJOR}.${MINOR}"
echo "Building OpenBSD PIC library: " ${LIBNAME}
rm -f ${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION}
ar cq ${LIBNAME}_pic.a ${OBJECTS}
ranlib ${LIBNAME}_pic.a
ld -x -Bshareable -Bforcearchive -o ${LIBNAME}.so.${VERSION} ${LIBNAME}_pic.a
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so
FINAL_LIBS="${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION} ${LIBNAME}.so"
;;
'NetBSD')
LIBNAME="lib${LIBNAME}"
echo "mklib: Making NetBSD PIC shared library: " ${LIBNAME}
VERSION="${MAJOR}.${MINOR}"
rm -f ${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION}
ar cq ${LIBNAME}_pic.a ${OBJECTS}
ranlib ${LIBNAME}_pic.a
ld -x -Bshareable -Bforcearchive -o ${LIBNAME}.so.${VERSION} ${LIBNAME}_pic.a
FINAL_LIBS="${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION}"
;;
'IRIX')
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
if [ $ARCHOPTS = "64" ] ; then
# 64-bit ABI
OPTS="-64 -shared -all"
echo "mklib: Making IRIX 64-bit shared library: " ${LIBNAME}
elif [ $ARCHOPTS = "o32" ] ; then
# old 32-bit ABI
OPTS="-32 -shared -all"
echo "mklib: Making IRIX o32-bit shared library: " ${LIBNAME}
else
# new 32-bit ABI
OPTS="-n32 -shared -all"
echo "mklib: Making IRIX n32-bit shared library: " ${LIBNAME}
fi
ld ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS="${LIBNAME}"
;;
'IRIX64')
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
echo "mklib: Making IRIX64 library: " ${LIBNAME}
# 64-bit ABI
OPTS="-64 -shared -all"
ld ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS="${LIBNAME}"
;;
'linux-cygwin')
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making linux-cygwin library: " ${LIBNAME}
gnuwin32ar ruv ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
;;
'HPUX')
RUNLIB="lib${LIBNAME}.${MAJOR}"
DEVLIB="lib${LIBNAME}.sl"
echo "mklib: Making HPUX library: " ${RUNLIB} ${DEVLIB}
ld -b -o ${RUNLIB} +b ${RUNLIB} ${OBJECTS} ${DEPS}
ln -s ${RUNLIB} ${DEVLIB}
FINAL_LIBS="{RUNLIB} ${DEVLIB}"
;;
'OpenSTEP')
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making OpenSTEP static library: " ${LIBNAME}
libtool -static -o ${LIBNAME} - ${OBJECTS}
FINAL_LIBS=${LIBNAME}
;;
'OSF1')
VERSION="${MAJOR}.${MINOR}"
LIBNAME="lib${LIBNAME}.so"
ARNAME="lib${LIBNAME}.a"
echo "mklib: Making OSF/1 library: " ${LIBNAME}
rm -f ${LIBNAME}.${VERSION}
ld -o ${LIBNAME}.${VERSION} -shared -no_archive -set_version ${VERSION} -soname ${LIBNAME}.${VERSION} -expect_unresolved \* -all ${OBJECTS} ${DEPS}
ln -sf ${LIBNAME}.${VERSION} ${LIBNAME}
# also make static lib
rm -f ${ARNAME}
ar clqz ${ARNAME} ${OBJECTS}
FINAL_LIBS="${ARNAME} ${LIBNAME} ${LIBNAME}.${VERSION}"
;;
'Darwin')
VERSION="${MAJOR}.${MINOR}.${TINY}"
LIBNAME="lib${LIBNAME}.dylib"
ARNAME="lib${LIBNAME}.dylib.a"
echo "mklib: Making Darwin libraries: " ${LIBNAME} ${ARNAME}
FLAGS="-dynamiclib -multiply_defined suppress"
cc ${FLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
# also make regular .a files,
# provided by Danek Duvall (duvall@dhduvall.student.princeton.edu)
ar ruv ${ARNAME} ${OBJECTS}
ranlib ${ARNAME}
FINAL_LIBS="${ARNAME} ${LIBNAME}"
;;
'LynxOS')
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making LynxOS library: " ${LIBNAME}
ar ru ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
;;
'BeOS')
LIBNAME="lib${LIBNAME}.so"
echo "mklib: Making BeOS shared library: " ${LIBNAME}
gcc -nostart -Xlinker -soname=${LIBNAME} -L/Be/develop/lib/x86 ${OBJECTS} -lbe -o ${LIBNAME}
FINAL_LIBS=${LIBNAME}
;;
'QNX')
LIBNAME="lib${LIBNAME}.a"
echo "mklib: Making QNX library: " ${LIBNAME}
wlib ${LIBNAME} ${OBJECTS}
FINAL_LIBS=${LIBNAME}
;;
'example')
# If you're adding support for a new architecture, you can
# start with this:
LIBNAME="lib${LIBNAME}.so" # prefix with "lib"
echo "mklib: Making library for example arch: " ${LIBNAME}
ld -o ${LIBNAME} ${OBJECTS} ${DEPS}
FINAL_LIBS="${LIBNAME}"
;;
*)
echo "mklib: WARNING: making library for unknown platform!"
echo "mklib: WARNING: this may not work!"
echo "mklib: WARNING: please update the bin/mklib script!"
# XXX this is a total hack for Mesa - remove someday
# fall-back to an old mklib.* script
${MAKELIB} "lib${LIBNAME}.a" ${MAJOR} ${MINOR} ${PATCH} ${OBJECTS}
;;
esac
#
# Put library files into installation directory if specified.
#
if [ ${INSTALLDIR} != "." ] ; then
echo "mklib: Installing" ${FINAL_LIBS} "in" ${INSTALLDIR}
mv ${FINAL_LIBS} ${INSTALLDIR}/
fi

View File

@@ -1,52 +0,0 @@
#!/bin/sh
# Make a Solaris shared library
# contributed by Arno Hahma (arno@nitro.pp.utu.fi)
#--identification------------------------------------------------------
# $Id: mklib.solaris,v 1.2 1999/09/15 15:10:20 brianp Exp $
# $Log: mklib.solaris,v $
# Revision 1.2 1999/09/15 15:10:20 brianp
# added third, tiny version number to arguments
#
# Revision 1.1 1999/08/19 13:53:06 brianp
# initial check-in (post-crash)
#
#--common--------------------------------------------------------------
LIBRARY=$1
shift 1
MAJOR=$1
shift 1
MINOR=$1
shift 1
TINY=$1
shift 1
OBJECTS=$*
#--platform-------------------------------------------------------------
set -x
LIBRARY=`basename $LIBRARY .a`
VERSION=$MAJOR.$MINOR
echo "Building shared object $LIBRARY.so.$VERSION and the archive library $LIBRARY.a"
rm -f ${LIBRARY}.a ${LIBRARY}.so.${VERSION}
ar ruv ${LIBRARY}.a ${OBJECTS}
ld -G -o ${LIBRARY}.so.${VERSION} ${OBJECTS}
cp ${LIBRARY}.a ${LIBRARY}.so.${VERSION} ../lib
cd ../lib
ln -s ${LIBRARY}.so.${VERSION} ${LIBRARY}.so

21
descrip.mms Normal file
View File

@@ -0,0 +1,21 @@
# Makefile for Mesa for VMS
# contributed by Jouk Jansen joukj@hrem.stm.tudelft.nl
macro :
@ macro=""
.ifdef NOSHARE
.else
@ if f$getsyi("HW_MODEL") .ge. 1024 then macro= "/MACRO=(SHARE=1)"
.endif
$(MMS)$(MMSQUALIFIERS)'macro' all
all :
if f$search("lib.dir") .eqs. "" then create/directory [.lib]
set default [.src]
$(MMS)$(MMSQUALIFIERS)
set default [-.progs.demos]
$(MMS)$(MMSQUALIFIERS)
set default [-.xdemos]
$(MMS)$(MMSQUALIFIERS)
set default [-.tests]
$(MMS)$(MMSQUALIFIERS)

94
docs/MESA_agp_offset.spec Normal file
View File

@@ -0,0 +1,94 @@
Name
MESA_agp_offset
Name Strings
GLX_MESA_agp_offset
Contact
Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com)
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
Status
Shipping (Mesa 4.0.4 and later. Only implemented in particular
XFree86/DRI drivers.)
Version
1.0
Number
TBD
Dependencies
OpenGL 1.0 or later is required
GLX_NV_vertex_array_range is required.
This extensions is written against the OpenGL 1.4 Specification.
Overview
This extensions provides a way to convert pointers in an AGP memory
region into byte offsets into the AGP aperture.
Note, this extension depends on GLX_NV_vertex_array_range, for which
no real specification exists. See GL_NV_vertex_array_range for more
information.
IP Status
None
Issues
None
New Procedures and Functions
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
New Tokens
None
Additions to the OpenGL 1.4 Specification
None
Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors)
Add a new section, 3.6 as follows:
3.6 AGP Memory Access
On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV
and freed with glXFreeMemoryNV. Sometimes it's useful to know where a
block of AGP memory is located with respect to the start of the AGP
aperature. The function
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
Returns the offset of the given memory block from the start of AGP
memory in basic machine units (i.e. bytes). If pointer is invalid
the value ~0 will be returned.
GLX Protocol
None. This is a client side-only extension.
Errors
glXGetAGPOffsetMESA will return ~0 if the pointer does not point to
an AGP memory region.
New State
None
Revision History
20 September 2002 - Initial draft
2 October 2002 - finished GLX chapter 3 additions

View File

@@ -0,0 +1,88 @@
Name
MESA_copy_sub_buffer
Name Strings
GLX_MESA_copy_sub_buffer
Contact
Brian Paul (brian 'at' mesa3d.org)
Status
Shipping since Mesa 2.6 in February, 1998.
Version
Last Modified Date: 8 June 2000
Number
215
Dependencies
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
Overview
The glxCopySubBufferMESA() function copies a rectangular region
of the back color buffer to the front color buffer. This can be
used to quickly repaint 3D windows in response to expose events
when the back color buffer cannot be damaged by other windows.
IP Status
Open-source; freely implementable.
Issues
None.
New Procedures and Functions
void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
int x, int y, int width, int height );
New Tokens
None.
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
Add to section 3.3.10 Double Buffering:
The function
void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
int x, int y, int width, int height );
may be used to copy a rectangular region of the back color buffer to
the front color buffer. This can be used to quickly repaint 3D windows
in response to expose events when the back color buffer cannot be
damaged by other windows.
<x> and <y> indicates the lower-left corner of the region to copy and
<width> and <height> indicate the size in pixels. Coordinate (0,0)
corresponds to the lower-left pixel of the window, like glReadPixels.
GLX Protocol
None at this time. The extension is implemented in terms of ordinary
Xlib protocol inside of Mesa.
Errors
None.
New State
None.
Revision History
8 June 2000 - initial specification

138
docs/MESA_pack_invert.spec Normal file
View File

@@ -0,0 +1,138 @@
Name
MESA_pack_invert
Name Strings
GL_MESA_pack_invert
Contact
Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com)
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
Status
Shipping (Mesa 4.0.4 and later)
Version
1.0
Number
TBD
Dependencies
OpenGL 1.0 or later is required
This extensions is written against the OpenGL 1.4 Specification.
Overview
This extension adds a new pixel storage parameter to indicate that
images are to be packed in top-to-bottom order instead of OpenGL's
conventional bottom-to-top order. Only pixel packing can be
inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter,
etc).
Almost all known image file formats store images in top-to-bottom
order. As it is, OpenGL reads images from the frame buffer in
bottom-to-top order. Thus, images usually have to be inverted before
writing them to a file with image I/O libraries. This extension
allows images to be read such that inverting isn't needed.
IP Status
None
Issues
1. Should we also defined UNPACK_INVERT_MESA for glDrawPixels, etc?
Resolved: No, we're only concerned with pixel packing. There are other
solutions for inverting images when using glDrawPixels (negative Y pixel
zoom) or glTexImage (invert the vertex T coordinates). It would be easy
enough to define a complementary extension for pixel packing in the
future if needed.
New Procedures and Functions
None
New Tokens
Accepted by the <pname> parameter of PixelStorei and PixelStoref
and the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev
and GetBooleanv:
PACK_INVERT_MESA 0x8758
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
None
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
Add the following entry to table 4.4 (PixelStore parameters) on page 182:
Parameter Name Type Initial Value Valid Range
---------------------------------------------------------
PACK_INVERT_MESA boolean FALSE TRUE/FALSE
In the section labeled "Placement in Client Memory" on page 184
insert the following text into the paragraph before the sentence
that starts with "If the format is RED, GREEN, BLUE...":
"The parameter PACK_INVERT_MESA controls whether the image is packed
in bottom-to-top order (the default) or top-to-bottom order. Equation
3.8 is modified as follows:
... the first element of the Nth row is indicated by
p + Nk, if PACK_INVERT_MESA is false
p + k * (H - 1) - Nk, if PACK_INVERT_MESA is true, where H is the
image height
"
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
None
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
None
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
None
Additions to the AGL/GLX/WGL Specifications
None
GLX Protocol
None
Errors
None
New State
Add the following entry to table 6.20 (Pixels) on page 235:
Get Value Type Get Cmd Initial Value Description Sec Attribute
--------------------------------------------------------------------------------------------------
PACK_INVERT_MESA boolean GetBoolean FALSE Value of PACK_INVERT_MESA 4.3.2 pixel-store
Revision History
21 September 2002 - Initial draft

View File

@@ -0,0 +1,231 @@
Name
MESA_packed_depth_stencil
Name Strings
GL_MESA_packed_depth_stencil
Contact
Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
Status
Obsolete.
Version
$Id: MESA_packed_depth_stencil.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
Number
???
Dependencies
EXT_abgr affects the definition of this extension
SGIS_texture4D affects the definition of this extension
EXT_cmyka affects the definition of this extension
ARB_packed_pixels affects the definition of this extension
Overview
Provides a mechanism for DrawPixels and ReadPixels to efficiently
transfer depth and stencil image data. Specifically, we defined new
packed pixel formats and types which pack both stencil and depth
into one value.
Issues:
1. Is this the right way to distinguish between 24/8 and 8/24
pixel formats? Should we instead provide both:
GL_DEPTH_STENCIL_MESA
GL_STENCIL_DEPTH_MESA
And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
2. If not, is it correct to use _REV to indicate that stencil
preceeds depth in the 1_15 and 8_24 formats?
3. Do we really want the GL_UNSIGNED_SHORT formats?
New Procedures and Functions
None.
New Tokens
Accepted by the <format> parameter of ReadPixels and DrawPixels:
GL_DEPTH_STENCIL_MESA 0x8750
Accepted by the <type> parameter of ReadPixels and DrawPixels:
GL_UNSIGNED_INT_24_8_MESA 0x8751
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
The new table is:
Target
Format Name Buffer Element Meaning and Order
----------- ------ -------------------------
COLOR_INDEX Color Color index
STENCIL_INDEX Stencil Stencil index
DEPTH_COMPONENT Depth Depth component
RED Color R component
GREEN Color G component
BLUE Color B component
ALPHA Color A component
RGB Color R, G, B components
RGBA Color R, G, B, A components
BGRA Color B, G, R, A components
ABGR_EXT Color A, B, G, R components
CMYK_EXT Color Cyan, Magenta, Yellow, Black components
CMYKA_EXT Color Cyan, Magenta, Yellow, Black, A components
LUMINANCE Color Luminance component
LUMINANCE_ALPHA Color Luminance, A components
DEPTH_STENCIL Depth, Depth component, stencil index.
Stencil
Table 3.5: DrawPixels and ReadPixels formats. The third column
gives a description of and the number and order of elements in a
group.
Add to the description of packed pixel formats:
<type> Parameter Data of Matching
Token Name Type Elements Pixel Formats
---------------- ---- -------- -------------
UNSIGNED_BYTE_3_3_2 ubyte 3 RGB
UNSIGNED_BYTE_2_3_3_REV ubyte 3 RGB
UNSIGNED_SHORT_5_6_5 ushort 3 RGB
UNSIGNED_SHORT_5_6_5_REV ushort 3 RGB
UNSIGNED_SHORT_4_4_4_4 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_SHORT_4_4_4_4_REV ushort 4 RGBA,BGRA
UNSIGNED_SHORT_5_5_5_1 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_SHORT_1_5_5_5_REV ushort 4 RGBA,BGRA
UNSIGNED_INT_8_8_8_8 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_INT_8_8_8_8_REV uint 4 RGBA,BGRA
UNSIGNED_INT_10_10_10_2 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_INT_2_10_10_10_REV uint 4 RGBA,BGRA
UNSIGNED_SHORT_15_1_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_1_15_REV_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_24_8_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_8_24_REV_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_INT_8_24:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-----------------------+-----------------------------------------------------------------------+
| | |
+-----------------------+-----------------------------------------------------------------------+
first second
element element
UNSIGNED_INT_24_8:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+----------------------------------------------------------------------+------------------------+
| | |
+----------------------------------------------------------------------+------------------------+
first second
element element
UNSIGNED_SHORT_15_1:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-----------------------------------------------------------+---+
| | |
+-----------------------------------------------------------+---+
first second
element element
UNSIGNED_SHORT_1_15_REV:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+---+-----------------------------------------------------------+
| | |
+---+-----------------------------------------------------------+
second first
element element
The assignment of elements to fields in the packed pixel is as
described in the table below:
First Second Third Fourth
Format Element Element Element Element
------ ------- ------- ------- -------
RGB red green blue
RGBA red green blue alpha
BGRA blue green red alpha
ABGR_EXT alpha blue green red
CMYK_EXT cyan magenta yellow black
DEPTH_STENCIL_MESA depth stencil
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
and the Frame Buffer)
The new format is added to the discussion of Obtaining Pixels from the
Framebuffer. It should read " If the <format> is one of RED, GREEN,
BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and
the GL is in color index mode, then the color index is obtained."
The new format is added to the discussion of Index Lookup. It should
read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA,
ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to
reference 4 tables of color components: PIXEL_MAP_I_TO_R,
PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A."
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
None
Additions to the GLX Specification
None
GLX Protocol
TBD
Errors
None
New State
None
Revision History
Version 1.0 - 23 Sep 2000
Keith's original version.
Version 1.1 - 3 Nov 2000
Brian's edits, assigned values to new enums.

View File

@@ -0,0 +1,90 @@
Name
MESA_pixmap_colormap
Name Strings
GLX_MESA_pixmap_colormap
Contact
Brian Paul (brian 'at' mesa3d.org)
Status
Shipping since Mesa 1.2.8 in May, 1996.
Version
Last Modified Date: 8 June 2000
Number
216
Dependencies
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
Overview
Since Mesa allows RGB rendering into drawables with PseudoColor,
StaticColor, GrayScale and StaticGray visuals, Mesa needs a colormap
in order to compute pixel values during rendering.
The colormap associated with a window can be queried with normal
Xlib functions but there is no colormap associated with pixmaps.
The glXCreateGLXPixmapMESA function is an alternative to glXCreateGLXPixmap
which allows specification of a colormap.
IP Status
Open-source; freely implementable.
Issues
None.
New Procedures and Functions
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
Pixmap pixmap, Colormap cmap );
New Tokens
None.
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
Add to section 3.4.2 Off Screen Rendering
The Mesa implementation of GLX allows RGB rendering into X windows and
pixmaps of any visual class, not just TrueColor or DirectColor. In order
to compute pixel values from RGB values Mesa requires a colormap.
The function
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
Pixmap pixmap, Colormap cmap );
allows one to create a GLXPixmap with a specific colormap. The image
rendered into the pixmap may then be copied to a window (which uses the
same colormap and visual) with the expected results.
GLX Protocol
None since this is a client-side extension.
Errors
None.
New State
None.
Revision History
8 June 2000 - initial specification

View File

@@ -0,0 +1,357 @@
Name
MESA_program_debug
Name Strings
GL_MESA_program_debug
Contact
Brian Paul (brian @ tungstengraphics.com)
Status
XXX - Not complete yet!!!
Version
Last Modified Date: July 20, 2003
Author Revision: 1.0
$Date: 2003/09/23 14:46:11 $ $Revision: 1.3 $
Number
TBD
Dependencies
OpenGL 1.4 is required
The extension is written against the OpenGL 1.4 specification.
ARB_vertex_program or ARB_fragment_program or NV_vertex_program
or NV_fragment_program is required.
Overview
The extension provides facilities for implementing debuggers for
vertex and fragment programs.
The concept is that vertex and fragment program debuggers will be
implemented outside of the GL as a utility package. This extension
only provides the minimal hooks required to implement a debugger.
There are facilities to do the following:
1. Have the GL call a user-specified function prior to executing
each vertex or fragment instruction.
2. Query the current program string's execution position.
3. Query the current values of intermediate program values.
The main feature is the ProgramCallbackMESA function. It allows the
user to register a callback function with the GL. The callback will
be called prior to executing each vertex or fragment program instruction.
From within the callback, the user may issue Get* commands to
query current GL state. The GetProgramRegisterfvMESA function allows
current program values to be queried (such as temporaries, input
attributes, and result registers).
There are flags for enabling/disabling the program callbacks.
The current execution position (as an offset from the start of the
program string) can be queried with
GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or
GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos).
IP Status
None
Issues
1. Is this the right model for a debugger?
It seems prudent to minimize the scope of this extension and leave
it up to the developer (or developer community) to write debuggers
that layer on top of this extension.
If the debugger were fully implemented within the GL it's not
clear how terminal and GUI-based interfaces would work, for
example.
2. There aren't any other extensions that register callbacks with
the GL. Isn't there another solution?
If we want to be able to single-step through vertex/fragment
programs I don't see another way to do it.
3. How do we prevent the user from doing something crazy in the
callback function, like trying to call glBegin (leading to
recursion)?
The rule is that the callback function can only issue glGet*()
functions and no other GL commands. It could be difficult to
enforce this, however. Therefore, calling any non-get GL
command from within the callback will result in undefined
results.
4. Is this extension amenable to hardware implementation?
Hopefully, but if not, the GL implementation will have to fall
back to a software path when debugging. This may be acceptable
for debugging.
5. What's the <data> parameter to ProgramCallbackMESA for?
It's a common programming practice to associate a user-supplied
value with callback functions.
6. Debuggers often allow one to modify intermediate program values,
then continue. Does this extension support that?
No.
New Procedures and Functions (and datatypes)
typedef void (*programcallbackMESA)(enum target, void *data)
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
void *data)
void GetProgramRegisterfvMESA(enum target, sizei len,
const ubyte *registerName, float *v)
New Tokens
Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
VERTEX_PROGRAM_CALLBACK_MESA 0x8bb4
Accepted by the <pname> parameter GetBooleanv, GetDoublev,
GetFloatv and GetIntegerv:
FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
VERTEX_PROGRAM_POSITION_MESA 0x8bb4
Accepted by the <pname> parameter of GetPointerv:
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
None.
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
None.
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
None.
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
In section 5.4 "Display Lists", page 202, add the following command
to the list of those that are not compiled into display lists:
ProgramCallbackMESA.
Add a new section 5.7 "Callback Functions"
The function
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
void *data)
registers a user-defined callback function with the GL. <target>
may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. The enabled
callback functions registered with these targets will be called
prior to executing each instruction in the current fragment or
vertex program, respectively. The callbacks are enabled and
disabled by calling Enable or Disable with <cap>
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.
The callback function's signature must match the typedef
typedef void (*programcallbackMESA)(enum target, void *data)
When the callback function is called, <target> will either be
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which
program is currently executing and <data> will be the value
specified when ProgramCallbackMESA was called.
From within the callback function, only the following GL commands
may be called:
GetBooleanv
GetDoublev
GetFloatv
GetIntegerv
GetProgramLocalParameter
GetProgramEnvParameter
GetProgramRegisterfvMESA
GetProgramivARB
GetProgramStringARB
GetError
Calling any other command from within the callback results in
undefined behaviour.
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
Add a new section 6.1.3 "Program Value Queries":
The command
void GetProgramRegisterfvMESA(enum target, sizei len,
const ubyte *registerName,
float *v)
Is used to query the value of program variables and registers
during program execution. GetProgramRegisterfvMESA may only be
called from within a callback function registered with
ProgramCallbackMESA.
<registerName> and <len> specify the name a variable, input
attribute, temporary, or result register in the program string.
The current value of the named variable is returned as four
values in <v>. If <name> doesn't exist in the program string,
the error INVALID_OPERATION is generated.
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
None.
Additions to the AGL/GLX/WGL Specifications
None.
GLX Protocol
XXX TBD
Dependencies on NV_vertex_program and NV_fragment_program
If NV_vertex_program and/or NV_fragment_program are supported,
vertex and/or fragment programs defined by those extensions may
be debugged as well. Register queries will use the syntax used
by those extensions (i.e. "v[X]" to query vertex attributes,
"o[X]" for vertex outputs, etc.)
Errors
INVALID_OPERATION is generated if ProgramCallbackMESA is called
between Begin and End.
INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not
a supported vertex or fragment program type.
Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA,
GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between
Begin and End when a vertex or fragment program is currently executing.
INVALID_ENUM is generated by ProgramCallbackMESA,
GetProgramRegisterfvMESA if <target> is not a program target supported
by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or
NV_fragment_program).
INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName>
does not name a known program register or variable.
INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a
register query is attempted for a program target that's not currently
being executed.
New State
XXX finish
(table 6.N, p. ###)
Initial
Get Value Type Get Command Value Description Sec. Attribute
--------- ---- ----------- ----- ----------- ---- ---------
FRAGMENT_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
VERTEX_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
FRAGMENT_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
VERTEX_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
VERTEX_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
VERTEX_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
XXX more?
New Implementation Dependent State
None.
Revision History
8 July 2003
Initial draft. (Brian Paul)
11 July 2003
Second draft. (Brian Paul)
20 July 2003
Third draft. Lots of fundamental changes. (Brian Paul)
23 July 2003
Added chapter 5 and 6 spec language. (Brian Paul)
Example Usage
The following is a very simple example of how this extension may
be used to print the values of R0, R1, R2 and R3 while executing
vertex programs.
/* This is called by the GL when the vertex program is executing.
* We can only make glGet* calls from within this function!
*/
void DebugCallback(GLenum target, GLvoid *data)
{
GLint pos;
GLuint i;
/* Get PC and current instruction string */
glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos);
printf("Current position: %d\n", pos);
printf("Current temporary registers:\n");
for (i = 0; i < 4; i++) {
GLfloat v[4];
char s[10];
sprintf(s, "R%d", i);
glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v);
printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]);
}
}
/*
* elsewhere...
*/
/* Register our debugger callback function */
glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL);
glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
/* define/bind a vertex program */
glEnable(GL_VERTEX_PROGRAM);
/* render something */
glBegin(GL_POINTS);
glVertex2f(0, 0);
glEnd();

View File

@@ -0,0 +1,85 @@
Name
MESA_release_buffers
Name Strings
GLX_MESA_release_buffers
Contact
Brian Paul (brian 'at' mesa3d.org)
Status
Shipping since Mesa 2.0 in October, 1996.
Version
Last Modified Date: 8 June 2000
Number
217
Dependencies
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
Overview
Mesa's implementation of GLX is entirely implemented on the client side.
Therefore, Mesa cannot immediately detect when an X window or pixmap is
destroyed in order to free any ancilliary data associated with the window
or pixmap.
The glxMesaReleaseBuffers() function can be used to explicitly indicate
when the back color buffer, depth buffer, stencil buffer, and/or accum-
ulation buffer associated with a drawable can be freed.
IP Status
Open-source; freely implementable.
Issues
None.
New Procedures and Functions
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
New Tokens
None.
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
The function
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
causes all software ancilliary buffers (back buffer, depth, stencil,
accum, etc) associated with the named drawable to be immediately
deallocated. True is returned if <d> is a valid Mesa GLX drawable,
else False is returned. After calling glXReleaseBuffersMESA, the
drawable should no longer be used for GL rendering. Results of
attempting to do so are undefined.
GLX Protocol
None, since this is a client-side operation.
Errors
None.
New State
None.
Revision History
8 June 2000 - initial specification

View File

@@ -16,11 +16,11 @@ Status
Version
$Id: MESA_resize_buffers.spec,v 1.1 1999/07/20 00:30:41 brianp Exp $
$Id: MESA_resize_buffers.spec,v 1.2 2000/04/04 23:29:32 brianp Exp $
Number
XXX none assigned
196
Dependencies

View File

@@ -0,0 +1,85 @@
Name
MESA_set_3dfx_mode
Name Strings
GLX_MESA_set_3dfx_mode
Contact
Brian Paul (brian 'at' mesa3d.org)
Status
Shipping since Mesa 2.6 in February, 1998.
Version
Last Modified Date: 8 June 2000
Number
218
Dependencies
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
Overview
The Mesa Glide driver allows full-screen rendering or rendering into
an X window. The glXSet3DfxModeMESA() function allows an application
to switch between full-screen and windowed rendering.
IP Status
Open-source; freely implementable.
Issues
None.
New Procedures and Functions
GLboolean glXSet3DfxModeMESA( GLint mode );
New Tokens
GLX_3DFX_WINDOW_MODE_MESA 0x1
GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
The Mesa Glide device driver allows either rendering in full-screen
mode or rendering into an X window. An application can switch between
full-screen and window rendering with the command:
GLboolean glXSet3DfxModeMESA( GLint mode );
<mode> may either be GLX_3DFX_WINDOW_MODE_MESA to indicate window
rendering or GLX_3DFX_FULLSCREEN_MODE_MESA to indicate full-screen mode.
GL_TRUE is returned if <mode> is valid and the operation completed
normally. GL_FALSE is returned if <mode> is invalid or if the Glide
driver is not being used.
Note that only one drawable and context can be created at any given
time with the Mesa Glide driver.
GLX Protocol
None since this is a client-side extension.
Errors
None.
New State
None.
Revision History
8 June 2000 - initial specification

191
docs/MESA_sprite_point.spec Normal file
View File

@@ -0,0 +1,191 @@
Name
MESA_sprite_point
Name Strings
GL_MESA_sprite_point
Contact
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
Status
Obsolete - see GL_ARB_point_sprite.
Version
$Id: MESA_sprite_point.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
Number
???
Dependencies
GL_EXT_point_parameters effects the definition of this extension
GL_ARB_multitexture effects the definition of this extension
Overview
This extension modifies the way in which points are rendered,
specifically when they're textured. When SPRITE_POINT_MESA is enabled
a point is rendered as if it were a quadrilateral with unique texture
coordinates at each vertex. This extension effectively turns points
into sprites which may be rendered more easily and quickly than using
conventional textured quadrilaterals.
When using point size > 1 or attenuated points this extension is an
effective way to render many small sprite images for particle systems
or other effects.
Issues:
1. How are the texture coordinates computed?
The lower-left corner has texture coordinate (0,0,r,q).
The lower-right, (1,0,r,q). The upper-right, (1,1,r,q).
The upper-left, (0,1,r,q).
2. What about texgen and texture matrices?
Texgen and the texture matrix have no effect on the point's s and t
texture coordinates. The r and q coordinates may have been computed
by texgen or the texture matrix. Note that with a 3D texture and/or
texgen that the r coordinate could be used to select a slice in the
3D texture.
3. What about point smoothing?
When point smoothing is enabled, a triangle fan could be rendered
to approximate a circular point. This could be problematic to
define and implement so POINT_SMOOTH is ignored when drawing sprite
points.
Smoothed points can be approximated by using an appropriate texture
images, alpha testing and blending.
POLYGON_SMOOTH does effect the rendering of the quadrilateral, however.
4. What about sprite rotation?
There is none. Sprite points are always rendered as window-aligned
squares. One could define rotated texture images if desired. A 3D
texture and appropriate texture r coordinates could be used to
effectively specify image rotation per point.
5. What about POLYGON_MODE?
POLYGON_MODE does not effect the rasterization of the quadrilateral.
6. What about POLYGON_CULL?
TBD. Polygon culling is normally specified and implemented in the
transformation stage of OpenGL. However, some rasterization hardware
implements it later during triangle setup.
Polygon culling wouldn't be useful for sprite points since the
quadrilaterals are always defined in counter-clockwise order in
window space. For that reason, polygon culling should probably be
ignored.
7. Should sprite points be alpha-attenuated if their size is below the
point parameter's threshold size?
8. Should there be an advertisized maximum sprite point size?
No. Since we're rendering the point as a quadrilateral there's no
need to limit the size.
New Procedures and Functions
None.
New Tokens
Accepted by the <pname> parameter of Enable, Disable, IsEnabled,
GetIntegerv, GetBooleanv, GetFloatv and GetDoublev:
SPRITE_POINT_MESA 0x????
MAX_SPRITE_POINT_SIZE_MESA 0x???? (need this?)
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
Section ???.
When SPRITE_POINT_MESA is enabled points are rasterized as screen-
aligned quadrilaterals. If the four vertices of the quadrilateral
are labeled A, B, C, and D, starting at the lower-left corner and moving
counter-clockwise around the quadrilateral, then the vertex and
texture coordinates are computed as follows:
vertex window coordinate texture coordinate
A (x-r, y-r, z, w) (0, 0, r, q)
B (x+r, y-r, z, w) (1, 0, r, q)
C (x+r, y+r, z, w) (1, 1, r, q)
D (x-r, y+r, z, w) (0, 1, r, q)
where x, y, z, w are the point's window coordinates, r and q are the
point's 3rd and 4th texture coordinates and r is half the point's
size. The other vertex attributes (such as the color and fog coordinate)
are simply duplicated from the original point vertex.
Point size may either be specified with PointSize or computed
according to the EXT_point_parameters extension.
The new texture coordinates are not effected by texgen or the texture
matrix. Note, however, that the texture r and q coordinates are passed
unchanged and may have been computed with texgen and/or the texture
matrix.
If multiple texture units are present the same texture coordinate is
used for all texture units.
The point is then rendered as if it were a quadrilateral using the
normal point sampling rules. POLYGON_MODE does not effect the
rasterization of the quadrilateral but POLYGON_SMOOTH does.
POINT_SMOOTH has no effect when SPRITE_POINT_MESA is enabled.
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
and the Frame Buffer)
None.
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
None
Additions to the GLX Specification
None
GLX Protocol
TBD
Errors
None
New State
Add boolean variable SPRITE_POINT_MESA to the point attribute group.
Revision History
Version 1.0 - 4 Dec 2000
Original draft.

132
docs/MESA_swap_control.spec Normal file
View File

@@ -0,0 +1,132 @@
Name
MESA_swap_control
Name Strings
GLX_MESA_swap_control
Contact
Ian Romanick, IBM, idr at us.ibm.com
Status
Deployed in DRI drivers post-XFree86 4.3.
Version
Date: 5/1/2003 Revision: 1.1
Number
???
Dependencies
None
Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control
version 1.5.
Overview
This extension allows an application to specify a minimum periodicity
of color buffer swaps, measured in video frame periods.
Issues
* Should implementations that export GLX_MESA_swap_control also export
GL_EXT_swap_control for compatibility with WGL_EXT_swap_control?
UNRESOLVED.
New Procedures and Functions
int glXSwapIntervalMESA(int interval)
int glXGetSwapIntervalMESA(void)
New Tokens
None
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
None
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
and the Framebuffer)
None
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
None
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
None
Additions to the GLX 1.3 Specification
[Add the following to Section 3.3.10 of the GLX Specification (Double
Buffering)]
glXSwapIntervalMESA specifies the minimum number of video frame periods
per buffer swap. (e.g. a value of two means that the color buffers
will be swapped at most every other video frame.) A return value
of zero indicates success; otherwise an error occurred. The interval
takes effect when glXSwapBuffers is first called subsequent to the
glXSwapIntervalMESA call.
A video frame period is the time required by the monitor to display a
full frame of video data. In the case of an interlaced monitor,
this is typically the time required to display both the even and odd
fields of a frame of video data.
If <interval> is set to a value of 0, buffer swaps are not synchron-
ized to a video frame. The <interval> value is silently clamped to
the maximum implementation-dependent value supported before being
stored.
The swap interval is not part of the render context state. It cannot
be pushed or popped. The current swap interval for the window
associated with the current context can be obtained by calling
glXGetSwapIntervalMESA. The default swap interval is 0.
On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets
the swap interval to 1.
Errors
glXSwapIntervalMESA returns GLX_BAD_VALUE if parameter <interval> is
less than zero.
glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current
GLXContext.
GLX Protocol
None. This extension only extends to direct rendering contexts.
New State
Get Value Get Command Type Initial Value
--------- ----------- ---- -------------
[swap interval] GetSwapInterval Z+ 0
New Implementation Dependent State
None
Revision History
1.1, 5/1/03 Added the issues section and contact information.
Changed the default swap interval to 0.
1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and
WGL_EXT_swap_control.

View File

@@ -0,0 +1,201 @@
Name
MESA_swap_frame_usage
Name Strings
GLX_MESA_swap_frame_usage
Contact
Ian Romanick, IBM, idr at us.ibm.com
Status
Deployed in DRI drivers post-XFree86 4.3.
Version
Date: 5/1/2003 Revision: 1.1
Number
???
Dependencies
GLX_SGI_swap_control affects the definition of this extension.
GLX_MESA_swap_control affects the definition of this extension.
GLX_OML_sync_control affects the definition of this extension.
Based on WGL_I3D_swap_frame_usage version 1.3.
Overview
This extension allows an application to deterine what portion of the
swap period has elapsed since the last swap operation completed. The
"usage" value is a floating point value on the range [0,max] which is
calculated as follows:
td
percent = ----
tf
where td is the time measured from the last completed buffer swap (or
call to enable the statistic) to when the next buffer swap completes, tf
is the entire time for a frame which may be multiple screen refreshes
depending on the swap interval as set by the GLX_SGI_swap_control or
GLX_OML_sync_control extensions.
The value, percent, indicates the amount of time spent between the
completion of the two swaps. If the value is in the range [0,1], the
buffer swap occurred within the time period required to maintain a
constant frame rate. If the value is in the range (1,max], a constant
frame rate was not achieved. The value indicates the number of frames
required to draw.
This definition of "percent" differs slightly from
WGL_I3D_swap_frame_usage. In WGL_I3D_swap_frame_usage, the measurement
is taken from the completion of one swap to the issuance of the next.
This representation may not be as useful as measuring between
completions, as a significant amount of time may pass between the
issuance of a swap and the swap actually occuring.
There is also a mechanism to determine whether a frame swap was
missed.
New Procedures and Functions
int glXGetFrameUsageMESA(Display *dpy,
GLXDrawable drawable,
float *usage)
int glXBeginFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
int glXEndFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
int glXQueryFrameTrackingMESA(Display *dpy,
GLXDrawable drawable,
int64_t *swapCount,
int64_t *missedFrames,
float *lastMissedUsage)
New Tokens
None
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
None
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
and the Framebuffer)
None
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
None
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
None
Additions to the GLX 1.3 Specification
The frame usage is measured as the percentage of the swap period elapsed
between two buffer-swap operations being commited. In unextened GLX the
swap period is the vertical refresh time. If SGI_swap_control or
MESA_swap_control are supported, the swap period is the vertical refresh
time multiplied by the swap interval (or one if the swap interval is set
to zero).
If OML_sync_control is supported, the swap period is the vertical
refresh time multiplied by the divisor parameter to
glXSwapBuffersMscOML. The frame usage in this case is less than 1.0 if
the swap is commited before target_msc, and is greater than or equal to
1.0 otherwise. The actual usage value is based on the divisor and is
never less than 0.0.
int glXBeginFrameTrackingMESA(Display *dpy,
GLXDrawable drawable,
float *usage)
glXGetFrameUsageMESA returns a floating-point value in <usage>
that represents the current swap usage, as defined above.
Missed frame swaps can be tracked by calling the following function:
int glXBeginFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
glXBeginFrameTrackingMESA resets a "missed frame" count and
synchronizes with the next frame vertical sync before it returns.
If a swap is missed based in the rate control specified by the
<interval> set by glXSwapIntervalSGI or the default swap of once
per frame, the missed frame count is incremented.
The current missed frame count and total number of swaps since
the last call to glXBeginFrameTrackingMESA can be obtained by
callling the following function:
int glXQueryFrameTrackingMESA(Display *dpy,
GLXDrawable drawable,
int64_t *swapCount,
int64_t *missedFrames,
float *lastMissedUsage)
The location pointed to by <swapCount> will be updated with the
number of swaps that have been commited. This value may not match the
number of swaps that have been requested since swaps may be
queued by the implementation. This function can be called at any
time and does not synchronize to vertical blank.
The location pointed to by <missedFrames> will contain the number
swaps that missed the specified frame. The frame usage for the
last missed frame is returned in the location pointed to by
<lastMissedUsage>.
Frame tracking is disabled by calling the function
int glXEndFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
This function will not return until all swaps have occurred. The
application can call glXQueryFrameTrackingMESA for a final swap and
missed frame count.
If these functions are succesful, zero is returned. If the context
associated with dpy and drawable is not a direct context,
GLX_BAD_CONTEXT is returned.
Errors
If the function succeeds, zero is returned. If the function
fails, one of the following error codes is returned:
GLX_BAD_CONTEXT The current rendering context is not a direct
context.
GLX Protocol
None. This extension only extends to direct rendering contexts.
New State
None
New Implementation Dependent State
None
Revision History
1.1, 5/1/03 Added contact information.
1.0, 3/17/03 Initial version based on WGL_I3D_swap_frame_usage.

360
docs/MESA_trace.spec Normal file
View File

@@ -0,0 +1,360 @@
Name
MESA_trace
Name Strings
GL_MESA_TRACE
Contact
Bernd Kreimeier, Loki Entertainment, bk 'at' lokigames.com
Brian Paul, VA Linux Systems, Inc., brianp 'at' valinux.com
Status
Obsolete.
Version
$Id: MESA_trace.spec,v 1.3 2003/09/19 14:58:21 brianp Exp $
Number
none yet
Dependencies
OpenGL 1.2 is required.
The extension is written against the OpenGL 1.2 Specification
Overview
Provides the application with means to enable and disable logging
of GL calls including parameters as readable text. The verbosity
of the generated log can be controlled. The resulting logs are
valid (but possibly incomplete) C code and can be compiled and
linked for standalone test programs. The set of calls and the
amount of static data that is logged can be controlled at runtime.
The application can add comments and enable or disable tracing of GL
operations at any time. The data flow from the application to GL
and back is unaffected except for timing.
Application-side implementation of these features raises namespace
and linkage issues. In the driver dispatch table a simple
"chain of responsibility" pattern (aka "composable piepline")
can be added.
IP Status
The extension spec is in the public domain. The current implementation
in Mesa is covered by Mesa's XFree86-style copyright by the authors above.
This extension is partially inspired by the Quake2 QGL wrapper.
Issues
(1) Is this Extension obsolete because it can
be implemented as a wrapper DLL?
RESOLVED: No. While certain operating systems (Win32) provide linkers
that facilitate this kind of solution, other operating systems
(Linux) do not support hierarchical linking, so a wrapper solution
would result in symbol collisions.
Further, IHV's might have builtin support for tracing GL execution
that enjoys privileged access, or that they do not wish to separate
the tracing code from their driver code base.
(2) Should the Trace API explicitely support the notion of "frames?
This would require hooking into glXSwapBuffers calls as well.
RESOLVED: No. The application can use NewTraceMESA/EndTraceMESA
and TraceComment along with external parsing tools to split the
trace into frames, in whatever way considered adequate.
(2a) Should GLX calls be traced?
PBuffers and other render-to-texture solutions demonstrate that
context level commands beyond SwapBuffers might have to be
traced. The GL DLL exports the entry points, so this would not
be out of the question.
(3) Should the specification mandate the actual output format?
RESOLVED: No. It is sufficient to guarantee that all data and commands
will be traced as requested by Enable/DisableTraceMESA, in the order
encountered. Whether the resulting trace is available as a readable
text file, binary metafile, compilable source code, much less which
indentation and formatting has been used, is up to the implementation.
For the same reason this specification does not enforce or prohibit
additional information added to the trace (statistics, profiling/timing,
warnings on possible error conditions).
(4) Should the comment strings associated with names and pointer (ranges)
be considered persistent state?
RESOLVED: No. The implementation is not forced to use this information
on subsequent occurences of name/pointer, and is free to consider it
transient state.
(5) Should comment commands be prohibited between Begin/End?
RESOLVED: Yes, with the exception of TraceCommentMESA. TraceCommentMESA
is transient, the other commands might cause storage of persistent
data in the context. There is no need to have the ability mark names
or pointers between Begin and End.
New Procedures and Functions
void NewTraceMESA( bitfield mask, const ubyte * traceName )
void EndTraceMESA( void )
void EnableTraceMESA( bitfield mask )
void DisableTraceMESA( bitfield mask )
void TraceAssertAttribMESA( bitfield attribMask )
void TraceCommentMESA( const ubyte* comment )
void TraceTextureMESA( uint name, const ubyte* comment )
void TraceListMESA( uint name, const ubyte* comment )
void TracePointerMESA( void* pointer, const ubyte* comment )
void TracePointerRangeMESA( const void* first,
const void* last,
const ubyte* comment )
New Tokens
Accepted by the <mask> parameter of EnableTrace and DisableTrace:
TRACE_ALL_BITS_MESA 0xFFFF
TRACE_OPERATIONS_BIT_MESA 0x0001
TRACE_PRIMITIVES_BIT_MESA 0x0002
TRACE_ARRAYS_BIT_MESA 0x0004
TRACE_TEXTURES_BIT_MESA 0x0008
TRACE_PIXELS_BIT_MESA 0x0010
TRACE_ERRORS_BIT_MESA 0x0020
Accepted by the <pname> parameter of GetIntegerv, GetBooleanv,
GetFloatv, and GetDoublev:
TRACE_MASK_MESA 0x8755
Accepted by the <pname> parameter to GetString:
TRACE_NAME_MESA 0x8756
Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
None.
Additions to Chapter 3 of the OpenGL 1.2.1 Specification (OpenGL Operation)
None.
Additions to Chapter 4 of the OpenGL 1.2.1 Specification (OpenGL Operation)
None.
Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
Add a new section:
5.7 Tracing
The tracing facility is used to record the execution of a GL program
to a human-readable log. The log appears as a sequence of GL commands
using C syntax. The primary intention of tracing is to aid in program
debugging.
A trace is started with the command
void NewTraceMESA( bitfield mask, const GLubyte * traceName )
<mask> may be any value accepted by PushAttrib and specifies a set of
attribute groups. The state values included in those attribute groups
is written to the trace as a sequence of GL commands.
<traceName> specifies a name or label for the trace. It is expected
that <traceName> will be interpreted as a filename in most implementations.
A trace is ended by calling the command
void EndTraceMESA( void )
It is illegal to call NewTraceMESA or EndTraceMESA between Begin and End.
The commands
void EnableTraceMESA( bitfield mask )
void DisableTraceMESA( bitfield mask )
enable or disable tracing of different classes of GL commands.
<mask> may be the union of any of TRACE_OPERATIONS_BIT_MESA,
TRACE_PRIMITIVES_BIT_MESA, TRACE_ARRAYS_BIT_MESA, TRACE_TEXTURES_BIT_MESA,
and TRACE_PIXELS_BIT_MESA. The special token TRACE_ALL_BITS_MESA
indicates all classes of commands are to be logged.
TRACE_OPERATIONS_BIT_MESA controls logging of all commands outside of
Begin/End, including Begin/End.
TRACE_PRIMITIVES_BIT_MESA controls logging of all commands inside of
Begin/End, including Begin/End.
TRACE_ARRAYS_BIT_MESA controls logging of VertexPointer, NormalPointer,
ColorPointer, IndexPointer, TexCoordPointer and EdgeFlagPointer commands.
TRACE_TEXTURES_BIT_MESA controls logging of texture data dereferenced by
TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, and
TexSubImage3D commands.
TRACE_PIXELS_BIT_MESA controls logging of image data dereferenced by
Bitmap and DrawPixels commands.
TRACE_ERRORS_BIT_MESA controls logging of all errors. If this bit is
set, GetError will be executed whereever applicable, and the result will
be added to the trace as a comment. The error returns are cached and
returned to the application on its GetError calls. If the user does not
wish the additional GetError calls to be performed, this bit should not
be set.
The command
void TraceCommentMESA( const ubyte* comment )
immediately adds the <comment> string to the trace output, surrounded
by C-style comment delimiters.
The commands
void TraceTextureMESA( uint name, const ubyte* comment )
void TraceListMESA( uint name, const ubyte* comment )
associates <comment> with the texture object or display list specified
by <name>. Logged commands which reference the named texture object or
display list will be annotated with <comment>. If IsTexture(name) or
IsList(name) fail (respectively) the command is quietly ignored.
The commands
void TracePointerMESA( void* pointer, const ubyte* comment )
void TracePointerRangeMESA( const void* first,
const void* last,
const ubyte* comment )
associate <comment> with the address specified by <pointer> or with
a range of addresses specified by <first> through <last>.
Any logged commands which reference <pointer> or an address between
<first> and <last> will be annotated with <comment>.
The command
void TraceAssertAttribMESA( bitfield attribMask )
will add GL state queries and assertion statements to the log to
confirm that the current state at the time TraceAssertAttrib is
executed matches the current state when the trace log is executed
in the future.
<attribMask> is any value accepted by PushAttrib and specifies
the groups of state variables which are to be asserted.
The commands NewTraceMESA, EndTraceMESA, EnableTraceMESA, DisableTraceMESA,
TraceAssertAttribMESA, TraceCommentMESA, TraceTextureMESA, TraceListMESA,
TracePointerMESA and TracePointerRangeMESA are not compiled into display lists.
Examples:
The command NewTraceMESA(DEPTH_BUFFER_BIT, "log") will query the state
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
to get the values <test>, <func>, <mask>, and <clear> respectively.
Statements equivalent to the following will then be logged:
glEnable(GL_DEPTH_TEST); (if <test> is true)
glDisable(GL_DEPTH_TEST); (if <test> is false)
glDepthFunc(<func>);
glDepthMask(<mask>);
glClearDepth(<clear>);
The command TraceAssertAttribMESA(DEPTH_BUFFER_BIT) will query the state
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
to get the values <test>, <func>, <mask>, and <clear> respectively.
The resulting trace might then look will like this:
{
GLboolean b;
GLint i;
GLfloat f;
b = glIsEnabled(GL_DEPTH_TEST);
assert(b == <test>);
glGetIntegerv(GL_DEPTH_FUNC, &i);
assert(i == <func>);
glGetIntegerv(GL_DEPTH_MASK, &i);
assert(i == <mask>);
glGetFloatv(GL_DEPTH_CLEAR_VALUE, &f);
assert(f == <clear>);
}
Additions to Chapter 6 of the OpenGL 1.2.1 Specification
(State and State Requests)
Querying TRACE_MASK_MESA with GetIntegerv, GetFloatv, GetBooleanv or
GetDoublev returns the current command class trace mask.
Querying TRACE_NAME_MESA with GetString returns the current trace name.
Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
The MESA_trace extension can be used in a way that does not affect data
flow from application to OpenGL, as well as data flow from OpenGL to
application, except for timing, possible print I/O. TRACE_ERRORS_BIT_MESA
will add additional GetError queries. Setting a trace mask with NewTraceMESA
as well as use of TraceAssertAttribMESA might cause additional state queries.
With the possible exception of performance, OpenGL rendering should not be
affected at all by a properly chosen logging operation.
Additions to the AGL/GLX/WGL Specifications
None.
GLX Protocol
None. The logging operation is carried out client-side, by exporting
entry points to the wrapper functions that execute the logging operation.
Errors
INVALID_OPERATION is generated if any trace command except TraceCommentMESA
is called between Begin and End.
New State
The current trace name and current command class mask are stored
per-context.
New Implementation Dependent State
None.
Revision History
* Revision 0.1 - Initial draft from template (bk000415)
* Revision 0.2 - Draft (bk000906)
* Revision 0.3 - Draft (bk000913)
* Revision 0.4 - Reworked text, fixed typos (bp000914)
* Revision 0.5 - Assigned final GLenum values (bp001103)
* Revision 0.6 - TRACE_ERRORS_BIT_MESA (bk000916)
* Revision 0.7 - Added MESA postfix (bk010126)

View File

@@ -16,11 +16,11 @@ Status
Version
$Id: MESA_window_pos.spec,v 1.1 1999/07/20 00:30:41 brianp Exp $
$Id: MESA_window_pos.spec,v 1.3 2000/04/04 23:29:32 brianp Exp $
Number
XXX non assigned
197
Dependencies
@@ -33,7 +33,7 @@ Overview
coordinate with the RasterPos command, the modelview matrix, projection
matrix and viewport must be set very carefully. Furthermore, if the
desired window coordinate is outside of the window's bounds one must
rely a subtle side-effect of the Bitmap command in order to circumvent
rely on a subtle side-effect of the Bitmap command in order to circumvent
frustum clipping.
This extension provides a set of functions to directly set the
@@ -51,6 +51,26 @@ New Procedures and Functions
void WindowPos2fMESA(float x, float y)
void WindowPos2iMESA(int x, int y)
void WindowPos2sMESA(short x, short y)
void WindowPos2ivMESA(const int *p)
void WindowPos2svMESA(const short *p)
void WindowPos2fvMESA(const float *p)
void WindowPos2dvMESA(const double *p)
void WindowPos3iMESA(int x, int y, int z)
void WindowPos3sMESA(short x, short y, short z)
void WindowPos3fMESA(float x, float y, float z)
void WindowPos3dMESA(double x, double y, double z)
void WindowPos3ivMESA(const int *p)
void WindowPos3svMESA(const short *p)
void WindowPos3fvMESA(const float *p)
void WindowPos3dvMESA(const double *p)
void WindowPos4iMESA(int x, int y, int z, int w)
void WindowPos4sMESA(short x, short y, short z, short w)
void WindowPos4fMESA(float x, float y, float z, float w)
void WindowPos4dMESA(double x, double y, double z, double )
void WindowPos4ivMESA(const int *p)
void WindowPos4svMESA(const short *p)
void WindowPos4fvMESA(const float *p)
void WindowPos4dvMESA(const double *p)
New Tokens
@@ -64,7 +84,7 @@ Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation)
WindowPosMESA commands:
void WindowPos{234}{sidf}MESA( T coords );
void Window Pos{234}{sidf}vMESA( T coords );
void WindowPos{234}{sidf}vMESA( T coords );
WindosPos4MESA takes four values indicating x, y, z, and w.
WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only
@@ -78,14 +98,6 @@ Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation)
color, color index and texture coordinate update the current raster
position's associated data.
The current raster distance ??? XXX ???
Additions to the AGL/GLX/WGL Specifications
None
@@ -100,7 +112,6 @@ Errors
INVALID_OPERATION is generated if WindowPosMESA is called betweeen
Begin and End.
New State
None.
@@ -112,3 +123,5 @@ New Implementation Dependent State
Revision History
* Revision 1.0 - Initial specification
* Revision 1.1 - Minor clean-up (7 Jan 2000, Brian Paul)

View File

@@ -0,0 +1,203 @@
Name
MESA_ycbcr_texture
Name Strings
GL_MESA_ycbcr_texture
Contact
Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com)
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
Status
Shipping (Mesa 4.0.4 and later)
Version
1.0
Number
TBD
Dependencies
OpenGL 1.0 or later is required
This extensions is written against the OpenGL 1.4 Specification.
NV_texture_rectangle effects the definition of this extension.
Overview
This extension supports texture images stored in the YCbCr format.
There is no support for converting YCbCr images to RGB or vice versa
during pixel transfer. The texture's YCbCr colors are converted to
RGB during texture sampling, after-which, all the usual per-fragment
operations take place. Only 2D texture images are supported (not
glDrawPixels, glReadPixels, etc).
A YCbCr pixel (texel) is a 16-bit unsigned short with two components.
The first component is luminance (Y). For pixels in even-numbered
image columns, the second component is Cb. For pixels in odd-numbered
image columns, the second component is Cr. If one were to convert the
data to RGB one would need to examine two pixels from columns N and N+1
(where N is even) to deduce the RGB color.
IP Status
None
Issues
None
New Procedures and Functions
None
New Tokens
Accepted by the <internalFormat> and <format> parameters of
TexImage2D and TexSubImage2D:
YCBCR_MESA 0x8757
Accepted by the <type> parameter of TexImage2D and TexSubImage2D:
UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
add the following to Table 3.8 (Packed pixel formats):
type Parameter GL Data Number of Matching
Token Name Type Components Pixel Formats
-------------- ------- ---------- -------------
UNSIGNED_SHORT_8_8_MESA ushort 3 YCBCR_422_MESA
UNSIGNED_SHORT_8_8_REV_MESA ushort 3 YCBCR_422_MESA
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
add the following to Table 3.10 (UNSIGNED_SHORT formats):
UNSIGNED_SHORT_8_8_MESA:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-------------------------------+-------------------------------+
| 1st | 2nd |
+-------------------------------+-------------------------------+
UNSIGNED_SHORT_8_8_REV_MESA:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-------------------------------+-------------------------------+
| 2nd | 1st |
+-------------------------------+-------------------------------+
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
add the following to Table 3.12 (Packed pixel fiedl assignments):
First Second Third Fourth
Format Element Element Element Element
------ ------- ------- ------- -------
YCBCR_422_MESA luminance chroma
In section 3.8.1, Texture Image Specification, on page 125, add
another item to the list of TexImage2D and TexImage3D equivalence
exceptions:
* The value of internalformat and format may be YCBCR_MESA to
indicate that the image data is in YCbCr format. type must
be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA
as seen in tables 3.8 and 3.10. Table 3.12 describes the mapping
between Y and Cb/Cr to the components.
If NV_texture_rectangle is supported target may also be
TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV.
All pixel transfer operations are bypassed. The texture is stored as
YCbCr, not RGB. Queries of the texture's red, green and blue component
sizes will return zero. The YCbCr colors are converted to RGB during
texture sampling using an implementation dependent conversion.
In section 3.8.1, Texture Image Specification, on page 126, add
another item to the list of TexImage1D and TexImage2D equivalence
exceptions:
* The value of internalformat and format can not be YCBCR_MESA.
In section 3.8.2, Alternate Texture Image Specification Commands, on
page 129, insert this paragraph after the first full paragraph on the
page:
"If the internal storage format of the image being updated by
TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA.
The error INVALID_OPERATION will be generated otherwise."
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
None
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
None
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
None
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
None
Additions to the AGL/GLX/WGL Specifications
None
GLX Protocol
None
Errors
INVALID_ENUM is generated by TexImage2D if <internalFormat> is
MESA_YCBCR but <format> is not MESA_YCBCR.
INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but
<internalFormat> is not MESA_YCBCR.
INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and
<internalFormat> is MESA_YCBCR and <border> is not zero.
INVALID_OPERATION is generated by TexSubImage2D if the internal image
format is YCBCR_MESA and <format> is not YCBCR_MESA.
INVALID_OPERATION is generated by CopyTexSubImage2D if the internal
image is YCBCR_MESA.
New State
Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT
from n x Z42 to n x Z43 to indicate that internal format may also be
YCBCR_MESA.
Revision History
20 September 2002 - Initial draft
29 April 2003 - minor updates
3 September 2003 - further clarify when YCbCr->RGB conversion takes place
19 September 2003 - a few more updates prior to submitting to extension
registry.

547
docs/MiniGLX.html Normal file
View File

@@ -0,0 +1,547 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Mini GLX Specification</title>
</head>
<body>
<h1>
<center>Mini GLX Specification</center>
</h1>
<h2>
<center>Tungsten Graphics, Inc.<br>
<br>
January 20, 2003<br>
<br>
</center>
</h2>
<p> Copyright &copy; 2002-2003 by Tungsten Graphics, Inc., Cedar Park,
Texas. All Rights Reserved. <br>
<br>
Permission is granted to make and distribute verbatim copies of this
document provided the copyright notice and this permission notice are
preserved on all copies.<br>
<br>
</p>
<h1>1. Introduction</h1>
<p>The Mini GLX interface facilitates OpenGL rendering on embedded
devices. The interface is a subset of the GLX interface, plus a minimal
set of Xlib-like functions.</p>
<p>Programs written to the Mini GLX specification should run unchanged
on systems with the X Window System and the GLX extension. The intention
is to allow flexibility for prototyping and testing.</p>
<p>This document serves as both the reference guide and programming
guide for Mini GLX.<br>
<br>
</p>
<h1>2. Mini GLX Concepts</h1>
<p>The OpenGL specification does not describe how OpenGL rendering
contexts and drawing surfaces (i.e. the frame buffer) are created and
managed. Rather, this is handled by an OpenGL window system interface,
such as Mini GLX.</p>
<p>There are three main datatypes or resources managed by Mini GLX. The
resources and their corresponding GLX or Xlib data types are:</p>
<table cellspacing="10" align="center">
<tbody>
<tr>
<td><u>Resource</u></td>
<td><u>Data type</u></td>
</tr>
<tr>
<td>pixel formats</td>
<td>X Visual and XVisualInfo</td>
</tr>
<tr>
<td>drawing surfaces</td>
<td>X Window or GLXDrawable</td>
</tr>
<tr>
<td>rendering contexts</td>
<td>GLXContext</td>
</tr>
</tbody>
</table>
<p>Pixel formats or X Visuals describe the per-pixel attributes of the
frame buffer. For example, bits per color component, Z buffer size,
stencil size, TrueColor vs PseudoColor, etc.</p>
<p>Drawing surfaces or X Windows typically describe a spatial
allocation of the frame buffer (i.e. the position and size of a
rectangular region of pixels). Since MiniGLX doesn't really support a
window system, the window is effectively the entire frame buffer.</p>
<p>A rendering context represents the current OpenGL state such as
current drawing color, line width, blending mode, texture parameters,
etc. Several rendering contexts can be created but only one can be in
use at any given time.</p>
<p>The Mini GLX interface provides all the functions needed for
choosing pixel formats, create drawing surfaces, creating rendering
contexts and binding rendering contexts to drawing surfaces.<br>
<br>
</p>
<h1>3. Using Mini GLX</h1>
<p>To use the Mini GLX interface in your application, include the
GL/miniglx.h header file at compile time:</p>
<blockquote><code> #include &lt;GL/miniglx.h&gt;<br>
</code></blockquote>
<code></code>Applications should link with libGL.so (i.e. <code>gcc
myprogram.o -lGL -o myprogram</code>). &nbsp;libGL.so implements the
MiniGLX API functions and, in turn, loads a hardware-specific device
driver (such as <code>radeon_dri.so</code>) at runtime. &nbsp;The
environment variable <code>LIBGL_DRIVERS_PATH</code> should name the
directory where these modules are located.<br>
<br>
Prior to running a MiniGXL application, the following kernel modules
must be installed:<br>
<br>
<div style="margin-left: 40px;"> agpgart.o<br>
radeonfb.o &nbsp;(assuming Radeon hardware)<br>
radeon.o &nbsp;(assuming Radeon hardware)<br>
</div>
<code></code> <br>
Finally, MiniGLX reads a configuration file (by default,<code>
/etc/miniglx.conf</code>) to determine basic configuration information.
&nbsp;The configuration file may also be located in the directory
specified by the <code>MINIGLX_CONF</code> environment variable).<br>
<br>
The remainder of this section describes the MiniGLX API functions.<br>
<br>
<h2>3.1 Initialization</h2>
<p>The XOpenDisplay function is used to initialize the graphics system:</p>
<blockquote>
<pre>Display *XOpenDisplay(const char *displayname)<br></pre>
</blockquote>
<p>The <code>displayName</code> parameter is currently ignored in Mini
GLX. It is recommended that <code>NULL</code> be passed as the<code>displayName</code>
parameter.</p>
<p>If XOpenDisplay is able to initialize the graphics system a pointer
to a Display will be returned. Otherwise, NULL will be returned.</p>
<h2>3.2 Choosing a Visual</h2>
<p>A visual (i.e. pixel format) must be chosen before a drawing surface
or rendering context can be created. This is done with the
glXChooseVisual function:</p>
<blockquote>
<pre>XVisualInfo *glXChooseVisual(Display *dpy, int screen, const int *attribList)<br></pre>
</blockquote>
<p><code>dpy</code> is a pointer to the display returned by
XOpenDisplay. </p>
<p><code>screen</code> is currently ignored by Mini GLX and should be
zero. </p>
<p><code>attribList</code> is a list of GLX attributes which describe
the desired pixel format. It is terminated by the token <code>None</code>.
The attributes are as follows:</p>
<blockquote>
<dl>
<dt><code>GLX_USE_GL</code></dt>
<dd>This attribute should always be present in order to maintain
compatibility with GLX.</dd>
<dt><code>GLX_RGBA</code></dt>
<dd>If present, only RGBA pixel formats will be considered.
Otherwise, only color index formats are considered.</dd>
<dt><code>GLX_DOUBLEBUFFER</code></dt>
<dd>if present, only double-buffered pixel formats will be chosen.</dd>
<dt><code>GLX_RED_SIZE n</code></dt>
<dd>Must be followed by a non-negative integer indicating the
minimum number of bits per red pixel component that is acceptable.</dd>
<dt><code>GLX_GREEN_SIZE n</code></dt>
<dd>Must be followed by a non-negative integer indicating the
minimum number of bits per green pixel component that is acceptable.</dd>
<dt><code>GLX_BLUE_SIZE n</code></dt>
<dd>Must be followed by a non-negative integer indicating the
minimum number of bits per blue pixel component that is acceptable.</dd>
<dt><code>GLX_ALPHA_SIZE n</code></dt>
<dd>Must be followed by a non-negative integer indicating the
minimum number of bits per alpha pixel component that is acceptable.</dd>
<dt><code>GLX_STENCIL_SIZE n</code></dt>
<dd>Must be followed by a non-negative integer indicating the
minimum number of bits per stencil value that is acceptable.</dd>
<dt><code>None</code></dt>
<dd>This token is used to terminate the attribute list.</dd>
</dl>
</blockquote>
<p>glXChooseVisual will return a pointer to an XVisualInfo object which
most closely matches the requirements of the attribute list. If there
is no visual which matches the request, NULL will be returned.</p>
<p>Note that visuals with accumulation buffers and depth buffers are
not available.<br>
<br>
</p>
<h2>3.3 Creating a Drawing Surface</h2>
<p>Drawing surfaces are created as X windows. &nbsp;For Mini GLX,
windows are <i>full-screen</i>; they cover the entire frame buffer.
&nbsp;Also, Mini GLX imposes a limit of one window. A second window
cannot be created until the first one is destroyed.</p>
<h3>3.3.1 Window Creation</h3>
<p>The XCreateWindow function is used to create a drawing surface:</p>
<blockquote>
<pre>Window XCreateWindow( Display *display,<br> Window parent,<br> int x, int y,<br> unsigned int width, unsigned int height,<br> unsigned int borderWidth,<br> int depth,<br> unsigned int class,<br> Visual *visual,<br> unsigned long valuemask,<br> XSetWindowAttributes *attributes )<br></pre>
</blockquote>
<p>The parameters are as follows:</p>
<blockquote>
<dl>
<dt><code>display</code></dt>
<dd>A Display pointer, as returned by XOpenDisplay.</dd>
<dt><code>parent</code></dt>
<dd>The parent window for the new window. For Mini GLX, this
should be<code>RootWindow(dpy, 0)</code>.</dd>
<dt><code>x, y</code></dt>
<dd>The position of the window. For Mini GLX, both values should
be zero.</dd>
<dt><code>width, height</code></dt>
<dd>The size of the window. For Mini GLX, this specifies the
desired screen size such as 1024, 768 or 1280, 1024.</dd>
<dt><code>borderWidth</code></dt>
<dd>This parameter should be zero.</dd>
<dt><code>depth</code></dt>
<dd>The pixel depth for the window. For Mini GLX this should be
the depth found in the XVisualInfo object returned by <code>glxChooseVisual</code>.</dd>
<dt><code>class</code></dt>
<dd>The window class. For Mini GLX this value should be <code>InputOutput</code>.</dd>
<dt><code>visual</code></dt>
<dd>This parameter should be the <code>visual</code> field of the <code>XVisualInfo</code>
object returned by <code>glxChooseVisual</code>.</dd>
<dt><code>valuemask</code></dt>
<dd>This parameter indicates which fields of the <code>XSetWindowAttributes</code>
are to be used. For Mini GLX this is typically the bitmask<code>CWBackPixel
| CWBorderPixel | CWColormap</code>.</dd>
<dt><code>attributes</code></dt>
<dd>Initial window attributes. Of the fields in the <code>XSetWindowAttributes</code>
structure, the<code>background_pixel</code>, <code>border_pixel</code>
and <code>colormap</code> fields should be set. &nbsp;See the discussion
below regarding colormaps.</dd>
</dl>
</blockquote>
<p><code>XCreateWindow</code> will return a window handle if it succeeds
or zero if it fails.</p>
<h3>3.3.2 Window Mapping</h3>
<p>To display the window the XMapWindow function must be called:</p>
<blockquote>
<pre>void XMapWindow(Display *dpy, Window w)</pre>
</blockquote>
<p>This function does nothing in Mini GLX but is required for Xlib/GLX
compatibility</p>
<h3>3.3.3 Colormaps<br>
</h3>
<p>Xlib requires specification of a colormap when creating a window.
&nbsp;For purposes of interoperability, Mini GLX requires this as well,
though the colormap is not actually used. &nbsp;The XCreateColormap
function is used to create a colormap:</p>
<blockquote><code>Colormap XCreateColormap(Display *dpy, Window window,
Visual *visual, int alloc)</code><br>
<code></code></blockquote>
<p>The parameters are as follows:<br>
</p>
<blockquote>
<dl>
<dt><code>dpy</code></dt>
<dd>The display handle as returned by XOpenDisplay.</dd>
<dt><code>window</code></dt>
<dd> This parameter is ignored by Mini GLX but should be the value
returned by the <code>RootWindow(dpy, 0)</code> macro.<br>
</dd>
<dt><code>visual</code></dt>
<dd>This parameter is ignored by Mini GLX but should be the visual
field of the XVisualInfo object returned by glXChooseVisual. </dd>
<dt><code>alloc</code></dt>
<dd>This parameter is ignored by Mini GLX but should be set to <code>AllocNone</code>.</dd>
</dl>
</blockquote>
<br>
<h2>3.4 Creating a Rendering Context</h2>
<p>An OpenGL rendering context is created with the <code>glXCreateContext</code>
function:</p>
<blockquote>
<pre>GLXContext glXCreateContext(Display *dpy, XVisualInfo *visInfo, GLXContext shareList, Bool direct)<br></pre>
</blockquote>
<p>The parameters are as follows:</p>
<blockquote>
<dl>
<dt><code>dpy</code></dt>
<dd>The display handle as returned by XOpenDisplay.</dd>
<dt><code>visInfo</code></dt>
<dd>The visual as returned by glXChooseVisual.</dd>
<dt><code>shareList</code></dt>
<dd>If non-zero, texture objects and display lists are shared with
the named rendering context. If zero, texture objects and display lists
will (initially) be private to this context. They may be shared when a
subsequent context is created.</dd>
<dt><code>direct</code></dt>
<dd>Specifies whether direct or indirect rendering is desired. For
Mini GLX this value is ignored but it should be set to <code>True</code>.</dd>
</dl>
</blockquote>
<p><code>glXCreateContext</code> will return a GLXContext handle if it
succeeds or zero if it fails due to invalid parameter or insufficient
resources.<br>
<br>
</p>
<h2>3.5 Binding a Rendering Context</h2>
<p>The final step before beginning OpenGL rendering is to bind (i.e.
activate) a rendering context and drawing surface with the
glXMakeCurrent function:</p>
<blockquote>
<pre>Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)<br></pre>
</blockquote>
<p>The parameters are as follows:</p>
<blockquote>
<dl>
<dt><code>dpy</code></dt>
<dd>The display handle, as returned by XOpenDisplay.</dd>
<dt><code>drawable</code></dt>
<dd>The window or drawable to bind to the rendering context. This
should be the value returned by XCreateWindow.</dd>
<dt><code>ctx</code></dt>
<dd>The rendering context to bind, as returned by glXCreateContext.</dd>
</dl>
</blockquote>
<p>If glXMakeCurrent succeeds True is returned. Otherwise False is
returned to indicate an invalid display, window or context parameter.</p>
<p>After the rendering context has been bound to the drawing surface
OpenGL rendering can begin.</p>
<p>The current rendering context may be unbound by calling
glXMakeCurrent with the window and context parameters set to zero.</p>
<p>An application may create any number of rendering contexts and bind
them as needed. Note that binding a rendering context is generally not a
light-weight operation. &nbsp;Most simple OpenGL applications create
only one rendering context.<br>
<br>
</p>
<h2>3.6 Color Buffer Swapping</h2>
<p>A double buffered window has two color buffers: a front buffer and a
back buffer. Normally, rendering is directed to the back buffer while
the front buffer is displayed. When rendering of a frame is finished
the front and back buffers are swapped to provide the illusion of
instanteous screen updates.</p>
<p>The color buffers for a particular window (i.e. drawable) may be
swapped with the glXSwapBuffers command:</p>
<blockquote>
<pre>void glXSwapBuffers(Display *dpy, GLXDrawable drawable)<br></pre>
</blockquote>
Any pending rendering commands will be completed before the buffer swap
takes place.<br>
<br>
Calling glXSwapBuffers on a window which is single-buffered has no
effect.<br>
<br>
<h2>3.7 Releasing Resources</h2>
<h3>3.7.1 Releasing Rendering Contexts</h3>
<p>A rendering context may be destroyed by calling glXDestroyContext:</p>
<blockquote>
<pre>void glXDestroyContext(Display *dpy, GLXContext ctx)<br></pre>
</blockquote>
<h3>3.7.2 Releasing Windows</h3>
<p>A window may be destroyed by calling XDestroyWindow:</p>
<blockquote>
<pre>void XDestroyWindow(Display *dpy, Window window)<br></pre>
</blockquote>
<h3>3.7.3 Releasing Visuals</h3>
<p>An XVisualInfo object may be freed by calling XFree:</p>
<blockquote>
<pre>void XFree(void *data)<br></pre>
</blockquote>
<h3>3.7.4 Releasing Colormaps</h3>
<p>A colormap may be freed by calling XFreeColormap:</p>
<blockquote>
<pre>void XFreeColormap(Display *dpy, Colormap colormap)<br></pre>
</blockquote>
<h3>3.7.4 Releasing Display Resources</h3>
<p>When the application is about to exit, the resources associated with
the graphics system can be released by calling XCloseDisplay:</p>
<blockquote>
<pre>void XCloseDisplay(Display *dpy)<br></pre>
</blockquote>
<p>The display handle becomes invalid at this point.<br>
<br>
</p>
<h2>3.8 Query Functions</h2>
<h3>3.8.1 Querying Available Visuals</h3>
A list of all available visuals can be obtained with the XGetVisualInfo
function:<br>
<br>
<div style="margin-left: 40px;"><code>XVisualInfo
*XGetVisualInfo(Display *dpy, long vinfo_mask, XVisualInfo
*vinfo_template, int *nitems_return)<br>
</code></div>
<br>
The parameters are as follows:<br>
<blockquote>
<dl>
<dt><code>dpy</code></dt>
<dd>The display handle, as returned by XOpenDisplay.</dd>
<dt><code>vinfo_mask</code></dt>
<dd>A bitmask indicating which fields of the vinfo_template are to
be matched. &nbsp;The value must be VisualScreenMask.</dd>
<dt><code>vinfo_template</code></dt>
<dd>A template whose fields indicate which visual attributes must
be matched by the results. &nbsp;The screen field of this structure must
be zero.</dd>
<dt><code>nitems_return</code></dt>
<dd>Returns the number of visuals returned. </dd>
</dl>
</blockquote>
The return value is the address of an array of all available visuals.<br>
<br>
An example of using XGetVisualInfo to get all available visuals follows:<br>
<br>
<div style="margin-left: 40px;"><code>XVisualInfo visTemplate, *results;</code><br>
<code>int numVisuals;</code><br>
<code>Display *dpy = XOpenDisplay(NULL);</code><br>
<code>visTemplate.screen = 0;</code><br>
<code>results = XGetVisualInfo(dpy, VisualScreenMask, &amp;visTemplate,
&amp;numVisuals);</code><br>
<code></code></div>
<br>
<h3>3.8.2 Querying Visual Attributes</h3>
<p>The GLX attributes of an X visual may be queried with the
glXGetConfig function:</p>
<blockquote>
<pre>int glXGetConfig(Display *dpy, XVisualInfo *vis, int attribute, int *value)<br></pre>
</blockquote>
<p>The parameters are as follows:</p>
<blockquote>
<dl>
<dt><code>dpy</code></dt>
<dd>The display handle, as returned by XOpenDisplay.</dd>
<dt><code>vis</code></dt>
<dd>The visual, as returned by glXChooseVisual.</dd>
<dt><code>attribute</code></dt>
<dd>The attribute to query. The attributes are listed below.</dd>
<dt><code>value</code></dt>
<dd>Pointer to an integer in which the result of the query will be
stored. </dd>
</dl>
</blockquote>
<p>The return value will be zero if no error occurs.<code>
&nbsp;GLX_INVALID_ATTRIBUTE</code> will be returned if the attribute
parameter is invalid.<code> &nbsp;GLX_BAD_VISUAL</code> will be returned
if the XVisualInfo parameter is invalid.</p>
<p>The following attributes may be queried:</p>
<blockquote>
<dl>
<dt><code>GLX_USE_GL</code></dt>
<dd>The result will be <code>True</code> or <code>False</code> to
indicate if OpenGL rendering is supported with the visual. Mini GLX
always return <code>True</code>.</dd>
<dt><code>GLX_RGBA</code></dt>
<dd>The result will be <code>True</code> for RGBA visuals or <code>False</code>
for color index visuals.</dd>
<dt><code>GLX_DOUBLEBUFFER</code></dt>
<dd>The result will be <code>True</code> if the visual has two
color buffers or <code>False</code> if the visual has one color buffer.</dd>
<dt><code>GLX_RED_SIZE</code></dt>
<dd>The result will be the number of red bits per pixel.</dd>
<dt><code>GLX_GREEN_SIZE</code></dt>
<dd>The result will be the number of green bits per pixel.</dd>
<dt><code>GLX_BLUE_SIZE</code></dt>
<dd>The result will be the number of blue bits per pixel.</dd>
<dt><code>GLX_ALPHA_SIZE</code></dt>
<dd>The result will be the number of alpha bits per pixel.</dd>
<dt><code>GLX_DEPTH_SIZE</code></dt>
<dd>The result will be the number of bits per Z value.</dd>
<dt><code>GLX_STENCIL_SIZE</code></dt>
<dd>The result will be the number of bits per stencil value.<br>
<br>
</dd>
</dl>
</blockquote>
<h3>3.8.3 Querying the Current Rendering Context</h3>
<p>The current rendering context can be queried with
glXGetCurrentContext: </p>
<blockquote>
<pre>GLXContext glXGetCurrentContext(void)<br></pre>
</blockquote>
<p>Zero will be returned if no context is currently bound.<br>
<br>
</p>
<h3>3.8.4 Querying the Current Drawable</h3>
<p>The current drawable (i.e. window or drawing surface) can be queried
with glXGetCurrentDrawable:</p>
<blockquote>
<pre>GLXDrawable glXGetCurrentDrawable(void)<br></pre>
</blockquote>
<p>Zero will be returned if no drawable is currently bound.<br>
<br>
</p>
<h3>3.8.5 Function Address Queries</h3>
<p>The glXGetProcAddress function will return the address of any
available OpenGL or Mini GLX function:</p>
<blockquote>
<pre>void *glXGetProcAddress(const GLubyte *procName)<br></pre>
</blockquote>
<p>If <code>procName</code> is a valid function name, a pointer to that
function will be returned. &nbsp;Otherwise, NULL will be returned.</p>
<p>The purpose of glXGetProcAddress is to facilitate using future
extensions to OpenGL or Mini GLX. If a future version of the library
adds new extension functions they'll be accessible via
glXGetProcAddress. The alternative is to hard-code calls to the new
functions in the application but doing so will prevent linking the
application with older versions of the library.<br>
<br>
</p>
<h2>3.9 Versioning</h2>
The Mini GLX version can be queried at run time with glXQueryVersion:
<blockquote>
<pre>Bool glXQueryVersion(Display *dpy, int *major, int *minor)<br></pre>
</blockquote>
<p><code>major</code> will be set to the major version number and<code>minor</code>
will be set to the minor version number.<code>True</code> will be
returned if the function succeeds. <code>False</code> will be returned
if the function fails due to invalid parameters. The <code>dpy</code>
argument is currently ignored, but should be the value returned by
XOpenDisplay.</p>
<p>At compile time, the Mini GLX interface version can be tested with
the MINI_GLX_VERSION_1_<i>x</i> preprocessor tokens. For example, if
version 1.0 of Mini GLX is supported, then<code> MINI_GLX_VERSION_1_0</code>
will be defined. If version 1.1 of Mini GLX is supported, then<code>
MINI_GLX_VERSION_1_1</code> will be defined.</p>
<p>At the time of writing the current Mini GLX version is 1.0.<br>
<br>
</p>
<h1>4.0 Interoperability with GLX and Xlib</h1>
While Mini GLX strives to be compatible with GLX and Xlib there are
some unavoidable differences which must be taken into consideration.<br>
<h2>4.1 Public vs Private Structures</h2>
The structure of many X data types is public. &nbsp;For example, the <code>Display</code>
data type is defined as a structure in /usr/include/X11/Xlib.h and
programmers may access any fields of that structure at will. &nbsp;Mini
GLX also defines a Display data type but its fields are hidden and not
visiblein <code>miniglx.h</code>. &nbsp;Duplicating the Xlib
declaration for the <code>Display</code> data type in minigl.h would
require defining a large number of other superfluous Xlib datatypes.<br>
<br>
Mini GLX users are discouraged from directly accessing the fields of
Xlib data types to maximize portability - though this is unavoidable to
some extent. &nbsp;For example, the <code>XVisualInfo</code> and <code>XSetWindowAtttributes</code>
data types must be completely public.
<h2>4.2 Macros</h2>
In some cases, Xlib defines macros which are meant to be used instead
of direct structure accesses. &nbsp;For example, the <code>RootWindow(dpy,
screen)</code> macro returns the root window for a given screen on a
given display. &nbsp;Unfortunately, macros do nothing to aid in ABI
compatibility since they are resolved at compile time instead of at
link/run time.<br>
<br>
Mini GLX also defines a <code>RootWindow</code> macro since it's
essential for creating windows. &nbsp;But the implementation of this
macro by Xlib and Mini GLX is completely different.<br>
<h2>4.3 Summary</h2>
Because Xlib and Mini GLX define data types and macros differently,
Mini GLX applications must be recompiled when retargeting Mini GLX or
native Xlib/GLX. &nbsp;That is, applications can't simply be re-linked
because of ABI incompatibilities.<br>
<br>
Nevertheless, the fact that Mini GLX programs can be recompiled for
Xlib and GLX increases portability and flexibility for testing and
prototyping.<br>
<br>
<h1>5.0 Example Program</h1>
<p>This section shows an example program which uses the Mini GLX
interface. The program simply draws several frames of a rotating square.<br>
</p>
<p>The program may be compiled for use with Xlib/GLX or Mini GLX by
setting the <code>USE_MINIGLX</code> token to 0 or 1, respectively.
&nbsp;Note that the only difference is the header files which are
included.<br>
</p>
<p> </p>
<pre><code><br></code>#define USE_MINIGLX 1 /* 1 = use Mini GLX, 0 = use Xlib/GLX */<br><br>#include &lt;stdio.h&gt;<br>#include &lt;stdlib.h&gt;<br>#include &lt;GL/gl.h&gt;<br><br>#if USE_MINIGLX<br>#include &lt;GL/miniglx.h&gt;<br>#else<br>#include &lt;GL/glx.h&gt;<br>#include &lt;X11/Xlib.h&gt;<br>#endif<br><br><code>/*<br> * Create a simple double-buffered RGBA window.<br> */<br>static Window<br>MakeWindow(Display * dpy, unsigned int width, unsigned int height)<br>{<br> int visAttributes[] = {<br> GLX_RGBA,<br> GLX_RED_SIZE, 1,<br> GLX_GREEN_SIZE, 1,<br> GLX_BLUE_SIZE, 1,<br> GLX_DOUBLEBUFFER,<br> None<br> };<br> XSetWindowAttributes attr;<br> unsigned long attrMask;<br> Window root;<br> Window win;<br> GLXContext ctx;<br> XVisualInfo *visinfo;<br><br> root = RootWindow(dpy, 0);<br><br> /* Choose GLX visual / pixel format */<br> visinfo = glXChooseVisual(dpy, 0, visAttributes);<br> if (!visinfo) {<br> printf("Error: couldn't get an RGB, Double-buffered visual\n");<br> exit(1);<br> }<br><br> /* Create the window */<br> attr.background_pixel = 0;<br> attr.border_pixel = 0;<br> attr.colormap = XCreateColormap(dpy, root, visinfo-&gt;visual, AllocNone);<br> attrMask = CWBackPixel | CWBorderPixel | CWColormap;<br> win = XCreateWindow(dpy, root, 0, 0, width, height,<br> 0, visinfo-&gt;depth, InputOutput,<br> visinfo-&gt;visual, attrMask, &amp;attr);<br> if (!win) {<br> printf("Error: XCreateWindow failed\n");<br> exit(1);<br> }<br><br> /* Display the window */<br> XMapWindow(dpy, win);<br><br> /* Create GLX rendering context */<br> ctx = glXCreateContext(dpy, visinfo, NULL, True);<br> if (!ctx) {<br> printf("Error: glXCreateContext failed\n");<br> exit(1);<br> }<br><br> /* Bind the rendering context and window */<br> glXMakeCurrent(dpy, win, ctx);<br><br> return win;<br>}<br><br><br>/*<br> * Draw a few frames of a rotating square.<br> */<br>static void<br>DrawFrames(Display * dpy, Window win)<br>{<br> int angle;<br> glShadeModel(GL_FLAT);<br> glClearColor(0.5, 0.5, 0.5, 1.0);<br> for (angle = 0; angle &lt; 360; angle += 10) {<br> glClear(GL_COLOR_BUFFER_BIT);<br> glColor3f(1.0, 1.0, 0.0);<br> glPushMatrix();<br> glRotatef(angle, 0, 0, 1);<br> glRectf(-0.8, -0.8, 0.8, 0.8);<br> glPopMatrix();<br> glXSwapBuffers(dpy, win);<br> }<br>}<br><br><br>int<br>main(int argc, char *argv[])<br>{<br> Display *dpy;<br> Window win;<br><br> dpy = XOpenDisplay(NULL);<br> if (!dpy) {<br> printf("Error: XOpenDisplay failed\n");<br> return 1;<br> }<br><br> win = MakeWindow(dpy, 300, 300);<br><br> DrawFrames(dpy, win);<br><br> return 0;<br>}<br></code></pre>
<br>
</body>
</html>

View File

@@ -1,10 +1,25 @@
3Dfx Glide device driver for Mesa 3.1
(see below for FAQ)
3Dfx Glide device driver
This software is distributed under the terms of the GNU Library
General Public License, see the LICENSE file for details.
Info for Mesa 4.1
-----------------
The 3dfx Glide driver in Mesa is disabled by default. Not too many people
use this driver anymore and at some point down the road it will be dropped.
To use/enable the Glide driver either do this:
'./configure --with-glide=DIR' Where DIR is the location of Glide, like
/usr/ or /usr/local
OR
'make linux-x86-glide' If using the old-style Makefile system.
The rest of this file hasn't changed since Mesa 3.3. Some of it's out of
date, but some is still valid.
@@ -17,8 +32,6 @@ What do you need ?
under Linux (more information in the "Useful Glide Environment
Variables");
- Mesa 3.1;
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not
compatible with the Glide 2.x so it doesn't work with the current
@@ -27,8 +40,6 @@ What do you need ?
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
Watcom (tested), GCC for Linux (tested), etc.);
- A lot of patience, this is an alpha release.
- It's nice to have two monitors - one for your normal graphics
card and one for your 3Dfx card. If something goes wrong with
an application using the 3Dfx hardware you can still see your
@@ -189,9 +200,9 @@ Doing more with Mesa & Linux Glide:
quality. However you can use any visual depth supported by X.
2. Set the following environment variables:
export MESA_GLX_FX="window" // to enable window rendering
export SST_VGA_PASS=1 // to stop video signal switching
export SST_NOSHUTDOWN=1 // to stop video signal switching
export MESA_GLX_FX="window" # to enable window rendering
export SST_VGA_PASS=1 # to stop video signal switching
export SST_NOSHUTDOWN=1 # to stop video signal switching
OR
setenv MESA_GLX_FX window
setenv SST_VGA_PASS 1
@@ -209,6 +220,9 @@ Doing more with Mesa & Linux Glide:
visual depth doesn't match the Voodoo framebufffer bit per pixel, it
is required also a pixel format translation).
NOTE: the in-window rendering feature only works with double-buffering.
On the fly switching between in window rendering and full screen rendering
--------------------------------------------------------------------------
@@ -327,6 +341,11 @@ The Mesa/Voodoo Environment Variables:
export MESA_FX_INFO=1
you will get some useful statistic.
- If you define the env. var. MESA_FX_NO_SIGNALS:
export MESA_FX_NO_SIGNALS=1
Mesa/FX will not install atexit() or signal() handlers.
Know BUGS and Problems:
-----------------------
@@ -541,9 +560,7 @@ No because the Linux Glide doesn't (yet) support the Voodoo Rush.
a binary copy of the Mesa in order to make the software
working out of the box ?
Yes, you have simply to include some informations about authors
and where the library sources are available (check the LICENSE
file for more informations about the GNU GPL).
Yes.
11. Which is the best make target for compiling the Mesa for

View File

@@ -3,61 +3,71 @@
Introduction
* Introduction
Mesa 3.1 features a new driver for the BeOS. The new driver implements
Mesa 4.1 features a driver for the BeOS. The driver implements
a clone of the BGLView class. This class, derived from BView, allows
OpenGL rendering into a BeOS window.
The 4.1 BeOS driver is an update of Brian Paul's BeOS driver released in Mesa 3.1.
Any application which uses the BGLView should be able to use Mesa
instead of Be's OpenGL without changing any code.
Since Be's OpenGL implementation (as of R4) is basically just the
Since Be's OpenGL implementation (as of R5) is basically just the
SGI sample implementation, it's pretty slow. You'll see that Mesa
is considerably faster.
Source Code
* Source Code
The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
The source code for the driver is in Mesa-4.1/src/BeOS/ directory.
It's not 100% finished at this time but many GLUT-based demos are
working. No optimizations have been made at this time.
Compiling
* Compiling
Simply cd to the Mesa-3.x directory and type "make beos-r4".
When it finishes the libMesaGL.so and libMesaGLU.so libraries for
BeOS will be in the Mesa-3.x/lib/ directory.
Requirements:
- gcc version 2.95.3 for BeOS
You can find it here: http://www.bebits.com/app/2157
Move to the Mesa-4.x src sub-directory and then type "make -f Makefile.BeOS-R5".
When it finishes the Mesa based libGL.so library for
BeOS will be in the Mesa-4.x/src/obj.{x86|ppc}/ directory.
To install it as Be's default libGL.so replacement, put it in your
/boot/home/config/lib/ directory. All your GL/GLUTapps will use
the Mesa based then.
By default, it build a non-debug version library.
The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
Sorry, Mesa don't have ppc (Altivec) optimizations yet.
* Example Programs
Example Programs
Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
Look in the Mesa-4.x/BeOS/ directory for one or two BGLView demo
programs. They should have been compiled along with the Mesa
library.
* GLUT
GLUT
A version of GLUT 2.5 for BeOS can be found in src-glut.beos/.
A beta version of GLUT 3.7 port for BeOS can be found at
http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
There's is a 2.5 version in src-glut.beos/, too.
The original distribution can be obtained from
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
This is a special version of GLUT adapted for the BeOS. I don't
They are special version of GLUT adapted for the BeOS. I don't
believe Mark Kilgard's normal GLUT distribution includes BeOS
support.
It seems that you have to recompile GLUT with libMesaGL.so instead
of libGL.so in order for everything to work. I'm not sure why.
Special Features
* Special Features
Mesa's implementation of the BGLView class has an extra member
function: CopySubBufferMESA(). It basically works like SwapBuffers()
@@ -69,7 +79,9 @@ cause a fatal error when running with Be's OpenGL.
Work Left To Do
* Work Left To Do
BDirectWindow single buffering support is not implemented yet.
Color index mode is not implemented yet.
@@ -80,7 +92,7 @@ rendering. This should also be implemented for Mesa.
Old BeOS Driver
* Old BeOS Driver
Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
rendering interface, not BGLView. If you're interested in the older
@@ -88,7 +100,7 @@ driver you should get Mesa 2.6.
BeOS and Glide
* BeOS and Glide
Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
if interested. Ideally, the 3Dfx/Glide support should be updated to
@@ -99,4 +111,4 @@ of February, 1999.
----------------------------------------------------------------------
$Id: README.BEOS,v 1.5 1999/03/03 02:34:04 brianp Exp $
$Id: README.BEOS,v 1.7 2002/09/19 16:19:44 brianp Exp $

226
docs/README.DJ Normal file
View File

@@ -0,0 +1,226 @@
Mesa 5.1 DOS/DJGPP Port v1.4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Description:
~~~~~~~~~~~~
Well, guess what... this is the DOS port of Mesa 5.1, for DJGPP fans... Whoa!
The driver has its origins in ddsample.c, written by Brian Paul and found by me
in Mesa 3.4.2.
Legal:
~~~~~~
Mesa copyright applies, provided this package is used within Mesa. For anything
else, see GPL.
Installation:
~~~~~~~~~~~~~
Unzip and type:
make -f Makefile.DJ [OPTIONS...]
Available options:
Environment variables:
CPU optimize for the given processor.
default = pentium
GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
or `mesa'.
default = mesa
GLIDE path to Glide3 SDK; used with FX.
default = $(TOP)/glide3
FX=1 build for 3dfx Glide3. Note that this disables
compilation of most DMesa code and requires fxMesa.
As a consequence, you'll need the DJGPP Glide3
library to build any application.
default = no
MATROX=1 build for Matrox Millennium I (MGA2064W) cards.
This is experimental and not intensively tested.
default = no
HAVE_X86=1 optimize for i386.
default = no
HAVE_MMX=1 allow MMX specializations, provided your assembler
supports MMX instruction set. However, the true CPU
capabilities are checked at run-time to avoid lockups.
default = no
HAVE_SSE=1 (see HAVE_MMX)
default = no
HAVE_3DNOW=1 (see HAVE_MMX)
default = no
Targets:
all: build everything
libgl: build GL
libglu: build GLU
libglut: build GLUT
clean: remove object files
realclean: remove all generated files
Tested on:
CPU: AMD Athlon XP 1800+
Mainboard: EP-8KTA3 w/ 128 MB SDRAM
Video card: Voodoo5 5500 AGP w/ 64 MB SDRAM
DJGPP: djdev 2.04 + gcc v3.2.2 + make v3.80
OS: DOS and Win98SE
FAQ:
~~~~
1. Compilation
Q) `make' barfs and exits because it cannot find some stupid file.
A) You need LFN support.
A) When compiling for Glide (FX=1), pay attention to Glide path.
Q) Libraries built OK, but linker complains about `vsnprintf' every time I
compile some demo.
A) Upgrade to DJGPP 2.04.
A) Add `vsnprintf.c' to the CORE_SOURCES in `src/Makefile.DJ' (untested!).
A) Patch `src/mesa/main/imports.c' with the following line:
#define vsnprintf(buf, max, fmt, arg) vsprintf(buf, fmt, arg)
This hack should be safe in 90% of the cases, but if anything goes wrong,
don't come back to me crying.
Q) `make' complains about DXE3 or something, yet it builds the libraries.
A) DXE3 refers to the DJGPP dynamic modules. You'll need either the latest
DJGPP distro, or download the separate package from my web page. Read the
DXE3 documentation on how to use them.
A) When compiling for Glide (FX=1), make sure `glide3x.dxe' can be found in
LD_LIBRARY_PATH (or top `lib' directory).
2. Using Mesa for DJGPP
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
A) Is that a question? If you have a 3dfx Voodoo Banshee or higher card,
you're lucky (check http://sourceforge.net/projects/glide for the DJGPP
port). If you have a Matrox Millennium I card, you just MIGHT be lucky...
If you haven't, sorry; everything is done in software. Suggestions?
Q) I tried to set refresh rate w/ DMesa, but without success.
A) Refresh rate control works only for VESA 3.0. If you were compiling for
Glide, see Glide info. If not, sorry!
Q) I made a simple application and it does nothing. It exits right away. Not
even a blank screen.
A) The pure software drivers (VESA/VGA) support only double-buffered modes.
A) Another weird "feature" is that buffer width must be multiple of 8 (I'm a
lazy programmer and I found that the easiest way to keep buffer handling
at peak performance ;-).
Q) The GLUT is incomplete.
A) See below.
libGLUT (the toolkit):
~~~~~~~~~~~~~~~~~~~~~~
Well, this "skeletal" GLUT implementation was taken from AllegGL project and
heavily changed. Thanks should go to Bernhard Tschirren, Mark Kilgard, Brian
Paul and probably others (or probably not ;-). GLUT functionality will be
extended only on an "as needed" basis.
GLUT talks to hardware via PC_HW package which was put together from various
pieces I wrote long time ago. It consists from the keyboard, mouse and timer
drivers.
My keyboard driver used only scancodes; as GLUT requires ASCII values for keys,
I borrowed the translation tables (and maybe more) from Allegro -- many thanks
to Shawn Hargreaves et co. Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users)
will shut down the GLUT engine unconditionally: it will raise SIGINT, which in
turn will (hopefully) call the destructors, thus cleaning up your/my mess ;-)
NB: since the DJGPP guys ensured signal handlers won't go beyond program's
space (and since dynamic modules shall) the SIGINT can't be hooked (well, it
can, but it is useless), therefore you must live with the 'Exiting due to
signal SIGINT' message...
The mouse driver is far from complete (lack of drawing, etc), but is enough to
make almost all the demos work. Supports the CuteMouse WheelAPI.
The timer is pretty versatile for it supports multiple timers with different
frequencies. While not being the most accurate timer in the known universe, I
think it's OK. Take this example: you have timer A with a very high rate, and
then you have timer B with very low rate compared to A; now, A ticks OK, but
timer B will probably loose precision!
As an addition, stdout and stderr are redirected and dumped upon exit. This
means that `printf' can be safely called during graphics. A bit of a hack, I
know, because all messages come in bulk, but I think it's better than nothing.
"Borrowed" from LIBRHUTI (Robert Hoehne).
Window creating defaults: (0, 0, 300, 300), 16bpp. However, the video mode is
chosen in such a way that first window will fit. If you need high resolution
with small windows, set initial position far to the right (or way down); then
you can move them back to any position right before the main loop.
The following environment variables can customize GLUT behaviour:
GLUT_FPS - print frames/second statistics to stderr
DMESA_GLUT_REFRESH - set vertical screen refresh rate (VESA3)
DMESA_GLUT_BPP - set default bits per pixel (VGA needs 8)
DMESA_GLUT_ALPHA - set default alpha bits (8)
DMESA_GLUT_DEPTH - set default depth bits (16)
DMESA_GLUT_STENCIL - set default stencil bits (8)
DMESA_GLUT_ACCUM - set default accum bits (16)
History:
~~~~~~~~
v1.0 (mar-2002)
initial release
v1.1 (sep-2002)
+ added 3dfx Glide3 support
+ added refresh rate control
+ added fonts in GLUT
* lots of minor changes
v1.2 (nov-2002)
* synced w/ Mesa-4.1
- removed dmesadxe.h
v1.3 (mar-2003)
+ enabled OpenGL 1.4 support
+ added MMX clear/blit routines
+ enabled SGI's GLU compilation
+ added samples makefile
+ added new GLUT functions
+ added color-index modes
+ added Matrox Millennium MGA2064W driver
+ added 8bit FakeColor (thanks to Neil Funk)
+ added VGA support (to keep Ben Decker happy)
! fixed some compilation errors (reported by Chan Kar Heng)
* optimized driver for faster callback access... yeah, right :)
* overhauled virtual buffer and internal video drivers
* better fxMesa integration
* revamped GLUT
* switched to DXE3
v1.4 (oct-2003)
+ enabled GLUT fonts with DXE
+ truly added multi-window support in GLUT (for Adrian Woodward)
* accomodated makefiles with the new sourcetree
* fixed some ALPHA issues
x hacked and slashed the 3dfx driver (w/ help from Hiroshi Morii)
Contact:
~~~~~~~~
Name: Borca Daniel
E-mail: dborca@users.sourceforge.net
WWW: http://www.geocities.com/dborca/

View File

@@ -1,120 +1,50 @@
August 30, 1998 -- Paul Garceau (pgarceau@teleport.com)
August 30, 1998 -- Paul Garceau
Updated January 13, 2000 -- Paul Garceau (pgarceau@teleport.com)
DISCLAIMER: I make this extension to the Mesa 3-D Graphics Library as a service
DISCLAIMER: I make this port of the Mesa 3-D Graphics Library as a service
to the general public. I can, in no way support or make any guarantee that the
EGCS-Mingw32 build or any Gnu-Win32 build will work for your system. The
associated packages and batch files I have included as part of the EGCS-Mingw32
extension are provided "As-is" with out any guarantee of support or functionality
from the author of this EGCS-Mingw32 native windows port of the Mesa 3-D Graphics
Library.
build will work for your system.
The associated packages and batch files I have included as part of the GCC-2.95.2/Mingw32 extension are provided "As-is" with out any guarantee of support or functionality from this author.
Feel free to modify or change things as you see fit, just remember that
I can't support any modifications you might want to make to the files which I
have included OR the lgpl protected Mesa 3-D Graphics Library.
I recommend using GCC-2.95.2/Mingw32 which is available at Mumit Khans' ftp site:
EGCS-Mingw32 Beta 3.08 Archive Manifest:
mingw32.bat
src/makefile.nt4
src/wmesa.c
src-glu/makefile.nt4
(ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/)
###############
This build has been tested under WinNT4/SP6. Win9x and WinNT5 remain untested by me. I have not tested any of the demos included with Mesa3d.
Greetings,
I recommend using the GCC-2.95.2/Mingw32.
In order to build the Mingw32 set of Mesa 3-D Graphics Library for Beta3.08
it will be necessary for you to use the Dos or Command Prompt that is available
on most of the i86 based MS Windows machines. Also, I believe that this build
will run on Win95, Win98, WinNT4 and WinNT5.
I haven't tested Win95/98 or WinNT5. This build was generated under
WinNT4 with SP3 installed.
This has not been tested under any systems outside of
a WinNT4 Workstation with EGCS-Mingw32 toolchain, v.1.0.2 installed.
EGCS-Mingw32 uses a variation of gcc to handle its build. The Mesa 3-D
Graphics Library build that I have generated is based, in small part, on the
Cygwin32 build and associated makefiles that Stephane Rehel (rehel@worldnet.fr)
defined back in 1997. The EGCS-Mingw32 toolchain is capable of generating
native windows code and, as of the date of this readme, can be obtained from:
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs-mingw32-102.html
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95.2
Much thanks to the combined efforts of Mumit Khan, Jan-Jaap Vanderhagen
and Colin Peters for making it possible for the EGCS-Mingw32 toolchain to exist.
and Colin Peters for making it possible for the Mingw32 toolchain to exist. Also, thanks go out to Stephane Rehel for the work that was completed on the Cygwin build.
Installing EGCS-Mingw32 Build Revisions:
Installing GCC-2.95.2/Mingw32 Build:
To install the makefile and source revisions incorporated with this build
of the Mesa 3-D Graphics Library, you'll have to use a version of winzip. I am
in the process of finding a suitable Win32 compatible tar executable so that if
you don't have winzip, you can still decompress the files into their respective
folders/directories.
a) Open the file archive (either tar.gz or .zip extensions)
a) Move the mingw32.zip file to the top level of the hard drive on your
system.
b) Decide the directory you want to move the archived files to.
b) Copy all of the Beta 3.08 src/windows files to the src/ directory.
d) Extract the files from the archive.
e) Edit the mingw32.bat file to accomodate your choice of directory structure.
b) Open the Winzip file
c) Verify that the files will be properly extracted.
d) Extract the files with the Winzip "Overwrite" and "Use Folder Names"
options enabled.
The zip file directory structure extraction defaults to the top level of
the hard drive where the mingw32.zip file exists unless otherwise instructed by
you.
The version of wmesa.c included with the mingw32 archive needs to replace
the current version of the Beta 3.08 wmesa.c file in order for the egcs-mingw32
build to work. This is because the original Win32 stuff assumes that the glut
utilities are to be installed. The Glut utilities are not part of the
egcs-mingw32 build for Beta 3.08.
Build Considerations:
In order to get the build to work, I needed to create a special makefile
for each library which the Mesa 3-D Graphics Library requires since there is no
comparable make-config/config on a native windows platform.
Since I was only creating a few of the possible libraries for
Mesa (gl, glu), I only created the new make files in their respective libraries
src, src-glu). For libMesaaux.a. you will find a makefile for it in the
src-aux directory. libMesatk.a and libglut.a were not ported.
The build itself is a .bat based build and uses Gnu Make,Version 3.76.1 to
process the makefiles noted above. The build must be run from the directory
where the mingw32.bat file is. You can get the binary version of Make 3.76.1
from Jan-Jaap van der Heijden's site in Germany:
http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/download.html
It was necessary to modify some source code, specifically the source code
in the src-glu directory. I needed to modify nurbs.c, quadric.c and tess.c in
order to get them to work using the EGCS-Mingw32 toolchain.
The original EGCS-Mingw32 Toolchain, is available from:
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs-mingw32-102.html
%mesaroot%: This is your root directory (Mesa-3.3)
%mesasrc%: This is the Mesa-3.3 src directory (Mesa-3.3\src)
%mesalib%: This is where the build will put libGL.a and libGLU.a
Running the Build:
Ok, now that we've got the basics out of the way, follows is all you need
to do in order to build the EGCS-Mingw32 version of libMesaGL.a and libMesaGLU.a:
Open your Command Prompt/Dos prompt.
Go to your Mesa-3.0 beta 'root' directory.
This is the same directory that the Mesa mingw32.zip file was
originally stored in if you've installed the Mesa-3.0 beta 3-D
Graphics Library source as outlined in the "readme" file included
with the Mesa-3.0 beta distribution.
Open your Command Prompt or MS-DOS prompt.
Go to your Mesa-3.3 'root' directory
At the command line type: mingw32
mingw32 is the .bat file that actually does the build.
That's all there is to it.
Enjoy!

View File

@@ -1,45 +1,33 @@
NOTE: this information is obsolete for Mesa 3.1. Due to the big
changes in the Mesa code, the threads support is out of date.
Someone will have to review/update it.
Mesa Threads README
-------------------
Mesa 2.6 is the starting point for an effort to make Mesa
safe in multithreaded applications. The files src/mthreads.c and
src/mthreads.h provide a platform independent threads API which Mesa
uses internally to provide thread-safe operation. At present the mthreads
code supports three thread APIS:
Thread safety was introduced in Mesa 2.6 by John Stone and
Christoph Poliwoda.
It was redesigned in Mesa 3.3 so that thread safety is
supported by default (on systems which support threads,
that is). There is no measurable penalty on single
threaded applications.
NOTE that the only _driver_ which is thread safe at this time
is the OS/Mesa driver!
At present the mthreads code supports three thread APIS:
1) POSIX threads (aka pthreads).
2) Solaris / Unix International threads.
3) Win32 threads (Win 95/NT).
Here's the current list of targets which enable multithreaded handling
in Mesa:
Support for other thread libraries can be added src/glthread.[ch]
linux-386-pthread for Linux w/ Intel assembly and linuxthreads
sunos5-thread for Suns with SunOS 5.x, using Solaris threads
sunos5-pthread for Suns with SunOS 5.[56] using POSIX threads
sunos5-gcc-thread for Suns with SunOS 5.x and GCC, using Solaris threads
sunos5-gcc-pthread for Suns with SunOS 5.[56] and GCC, using POSIX threads
In order to use Mesa with a multithreaded application, Mesa must be compiled
using one of the thread-enabled configurations. In cases where a platform
supports multiple APIs which are acceptable to Mesa, Mesa must be built
with the same threads API as the application in order for things to work
properly. For example, Solaris >= 2.5 support both POSIX threads and
Sun's own threads API. In order to guarantee proper operation, it is
In order to guarantee proper operation, it is
necessary for both Mesa and application code to use the same threads API.
So, if your application uses Sun's thread API, then you should build Mesa
using one of the targets for Sun threads.
Since this effort is still very much a work in progress, not all
aspects of Mesa are thread safe. As of this release (Mesa 2.6) only the
osmesa drivers have been made MT-safe. As work continues, other drivers
such as the X11 drivers will also incorporate MT-safe features.
The mtdemos directory contains some example programs which use
multiple threads to render to osmesa rendering context(s).
@@ -50,17 +38,15 @@ only one that really supports multiprocessor machines (AFAIK). See
http://pauillac.inria.fr/~xleroy/linuxthreads/README for further
information about the usage of linuxthreads.
If you are interested in helping develop MT-safe Mesa, please send email
to j.stone@acm.org and poliwoda@volumegraphics.com who are the two most
directly involved in this effort currently. Similarly, if you have problems
using the MT-safe builds of Mesa, please send us comments/bugs etc.
If you are interested in helping with thread safety work in Mesa
join the Mesa developers mailing list and post your proposal.
Future versions of Mesa will include more extensive documentation related
to multithreading. This is the first release of our work, so please bear
with us.
Regards,
John Stone -- j.stone@acm.org johns@cs.umr.edu
Christoph Poliwoda -- poliwoda@volumegraphics.com
Version info:
Mesa 2.6 - initial thread support.
Mesa 3.3 - thread support mostly rewritten (Brian Paul)

View File

@@ -1,623 +1,85 @@
Mesa/Readme.win32
Last Updated: Sunday, September 19th, 1999 - tjump@tertius.com
*** What's New
- Updated for Mesa 3.1beta3/CVS. Debug and Release command-line builds of
Mesa, fxMesa, GLU, GLUT and all sample programs DLL-based. Manual
executions tests with minimum requisite results (aka: things looked like
I expected them to).
What did you expect, complete regression testing maybe?
- NASM build support. Any file in the project coded as a .S file will
automatically be recognized and built as a NASM-source assember file.
To enable building using NASM, set the environment variable NASM to
indicate that command to execute to run nasm on a file. If NASM is in
your command search path then all this needs be set to is 'nasmw' -
otherwise you will need to include the complete drive and directory path.
NASM may be retrieved here: http://www.web-sites.co.uk/nasm/
- DevStudio projects suspended for compatability reasons: projects modified
by DevStudio 6 are not compatible with DevStudio 5.
These will slowly be rebuilt and put into CVS as I can.
- Build environment change: The Glide SDK is no longer assumed to be in
the global INCLUDE/LIB environment vars, it is required that you set the
value 'GLIDE2X' as either an environment variable pointing to your Glide
SDK install directory or that you configure that as a build option to
nmake.exe when building fxmesagl32. Examples:
nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x fxmesagl32
<or>
nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x allfx
<or>
nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x progs.3dfx.demos
The DevStudio workspace files for 3Dfx OpenGL require the definition of
GLIDE2SDK as an environment variable pointing to where your copy of the
Glide SDK has been installed. Adding this to your AUTOEXEC.BAT would do
so (change the directories to match):
SET GLIDE2SDK=G:\SDK\GLIDE2X
*** Legalese
These build files are provided as-is and are submitted to be included with
the "Mesa 3-D Graphics Library" package as (currently) maintained by Brian
Paul. These project build files are free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public License
as published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
These project files are distributed in the hope that they will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*** Maintenance Responsiblity and Technical Support
While these files are now part of the Mesa core distribution please do NOT
contact Mr. Paul for help with them if you encounter problems as he can't
help you (currently). I will, however, attempt my straightforward best in
assisting anyone with using these files on their system. I can NOT
guarantee instant responses owing to other responsiblities, but I do try
dang hard to answer any mail w/in 24 hours. I may be contacted at the
above email address for the forseeable future.
-Ted
mailto://tjump@tertius.com
http://www.tertius.com/tjump
*** General Information
These build files facilitate convenient building of many variants of Mesa,
both as static link libraries (including mesaglu) and as dynamic link
libraries that in some cases may be used as "drop-in" replacements for
OpenGL32.DLL on both Windows95 and Windows NT.
The construction of the Win32 command-line build files and projects has
been something of a pet project of mine, and is based upon my own
"standard" Win32 build environment as supplied by the "nmake.mif" file.
They have been tested under Windows95 OSR2, Windows NT 4.0SP3, and Windows
NT 5.0 beta 1. The libraries that they generated have been tested (via the
demo programs) in a *limited* fashion on the above three systems, including
the 3Dfx versions.
The reason I went with command-line build environment instead of the more
convenient IDE-based project files is for two reasons: 1. These appear to
have some amount of portability between versions (the nmake syntax hasn't
changed much since Microsoft C 7.0) while the IDE project files seem to
change drastically each version. and 2. These are readable with any ascii
editor and such are better self-documentation of the file relationships for
more people such that it will facilitate supporting other Win32 compilers.
While these files only deal with building for x86 targeted code it *should*
be possible to add the necessary logic to them to build for the other MSVC
supported CPU targets, I simply have no hardware to test them on nor the
alternative compilers to build with.
*** Prerequisites for use
1. You must have a 32-bit Microsoft compiler installed. I have tested
this with Visual C 5.0 (SP3) and Visual C 4.2, but with minor
(possibly no) modification to the nmake.mak and nmake.mif files this
sequence should work on Visual C 2.0 also. The workspace files
(mesalib.dsw and mesademos-*.dsw) and their included project files
(*.dsp) are specific to the DevStudio IDE - I have made no attempt at
building a VC4 IDE project set as I do not use that any more. Note
that the VC workspace files NO LONGER use NORE are dependant upon the
nmake.mak and nmake.mif files for construction of definition (*.DEF)
and resource (*.RC) files.
*** Visual C 4.x Users Warning ****
Note that early editions of VC4 do NOT have header files current enough
for use building this code base. If you are using VC4 you will either need
to get an update to version 4.2 *or* you may download the Platform SDK
directly from Microsoft's web site (www.microsoft.com) and update your
build environment that way.
*** Visual C 4.x Users Warning ****
2. You must have the PATH, INCLUDE, and LIB environment variables set
properly. With VC5 you can easily get this by executing the VCVARS32.BAT
file that was created for you upon installation. It is found in the
DevStudio\VC\BIN directory, wherever you installed DevStudio. VC4 provides
a similar batch file in it's BIN directory also.
3. (optional) If you're going to build for 3Dfx/Voodoo you will need to
have previously installed the Glide SDK version 2.3 or later, if I
recall. This may be retrieved from www.3dfx.com for no money and some
download time. ;-) These build files assume that you have the Glide SDK
added to the respective environment variables (LIB and INCLUDE).
4. (optional) If you're going to build for S3/Virge you will need the S3
Developers Toolkit which may be downloaded from www.s3.com for the price of
registering on-line and some time. NOTE: I can build the s3mesa.dll file to
completion, however the compilation of s3mesa.c currently generates a large
amount of compiler warnings and between that and the fact that I can not at
all test it I can make no claims to it's ability to execute. Again, like
the 3Dfx version before this, these build files assume you have the S3Dtk H
and LIB files in the path of their respective environment variables.
Note 2: As of Mesa3.0beta6 I have build files, both command-line and IDE,
which should be able to build the s3mesa code base if it weren't for updates
being required in the S3 DD code support (Mesa-3.0/src/s3 directory).
I advise putting any include and lib files for secondary toolkits (Glide,
S3Tk, whatever) in their respective environment variables *before* the
Microsoft-assigned default values.
*** FAQ: Frequenty Asked Questions and Other Important Information ***
- When running the 3Dfx demos under Windows NT, they crash on exit, what's
up?
This is apparently a problem in Glide itself. The workaround is to go to
your C:\WINNT\SYSTEM32 directory and rename the file FXOEM2X.DLL to
FXOEM2X.DL_ to prevent Glide from loading and initializing it upon
startup. This is known to be an issue with cards that do not have "TV
out" and is known to cause crashes on Diamond Monster II 8M and 3Dfx
Reference boards, all using 3Dfx Reference Drivers version 2.53. Other
hardware/driver combinations will also likely exhibit this behavior.
- I'm having a problem building Mesa for static library linking.
This was caused by some incomplete testing on my part, and a fix is now
available in the form of an add-on to the base Mesa 3.0 release. The
file to get is:
via FTP download from: iris.ssec.wisc.edu
you want to go here: /pub/Mesa/patches_to_3.0/
you want to get file: Mesa-3.0-w32-static-fixes.tar.gz
This required a minor addition to INCLUDE/GL for a clean solution, the
file "include/gl/mesa_wgl.h" is automatically included by
"include/gl/gl.h" when a Win32 non-DLL build is in progress to provide
prototypes for the various wgl functions.
The only remaining hitch in this setup is that the 3Dfx build is not yet
running as a static build, because of problems with conflicts in
existance of the various GDI functions like ChoosePixelFormat,
etc. *sigh*
Anyway, the "allstatic" target now works as expected and builds all
book/sample/demos programs to boot. ;^)
- How do I get fxMesa to render in a window on the desktop instead of only
full-screen?
Use the Microsoft Windows fxMesa-in-a-window hack!
Seriously, if you want fxMesaGL to render using the 3Dfx Voodoo1 or
Voodoo2 hardware into a window on the desktop then all you need to do is
set the MESA_WGL_FX environment variable to anything other than
"fullscreen" and it will render into a window. If you wish to go
fullscreen then you only need to NOT have the environment variable, or
have it set to "fullscreen". You may also switch at runtime between
fullscreen-mode and windowed by pressing ALT-ENTER on the keyboard
(unless the application using Mesa does something with those keystrokes,
of course).
As of 8/13/98 this should be running a LOT better for more people as a
low-compatability item was cleaned up which prevented it from working on
many (most?) display drivers under Windows 9x.
- I have my 3Dfx card hooked to it's own monitor and I want the output to
stay on even if I switch to another program, is this possible?
If the Glide environment variable SST_DUALHEAD is set to '1' then fxMesa
will never disable the Voodoo output on a Voodoo1 or Voodoo2 display
regardless of whether the fxMesa application is "current" or not. This
works regardless of whether it's rendering using the window hack
mentioned above or not.
- I want to run the Mesa demos on my Intel740 card using it's own OpenGL
acceleration, how do I do this?
Build GLUT standalone for use with system OpenGL and GLU drivers!
The Command-line project supports building all test/demo programs against
these drivers also! This allows you full use of GLUT on Windows using
hardware accelerated OpenGL. Wheee! This includes the "3dfx/demos"
directory of which only two programs will not run on "standard"
opengl. Note that there are a few of the sample programs which will NOT
work without Mesa as they directly call into Mesa instead of using the
extension mechanism.
*** Included programs that exhibit unfortunate or bad behavior
- demos/bounce - doesn't run on high-colors screens? It's requesting an
INDEX display from GLUT and that fails on my true-color desktop. Changing
this to _RGB let's the program work, but it doesn't display
properly. This is probably just an idiosyncracy of my machine though, as
if I test the program using GLUT for System OpenGL on my Intel740 OpenGL
accelerated machine it's just hunky-dory.
- demos/glutfx - runs, but crashes on exit (but not on my Intel740 machine)
- demos/texobj - runs, but crashes on exit if ESC is pressed. Exits cleanly
if the Close box on the window frame is pressed with the mouse. Go figure.
- book/aaindex - doesn't run, can't get pixel format, because it wants an
INDEX display maybe (but is okay on my Intel740 machine)?
- most of the book/* demos don't respond to ESC being pressed.
- 3dfx/demos/* - all demos run, however they all crash on exit. I've traced
this so far as to determine the call it's happening with. The crash comes
from within Glide during the processing of the grGlideShutdown() call, as
in invalid memory reference exception. I'm wondering if this is because
of some state or processing not being completed before the call. Dunno,
but putting grSstIdle() in just before grGlideShutdown() does NOT fix the
problem.
- 3dfx/demos/tunnel2 - does not run on my system even with SLI mode
disabled. Hmmmm, maybe I need to disconnect my Voodoo2 cards?
*** Important Notes and Changing Default values
- The optimizer settings have been manually reworked in both command line
and DevStudio IDE files to hopefully prevent possible irrational code on
the part of the code generator. Formerly, it was configured for "/Ox",
now it is configured for safer handling at a slight potential performance
cost. This may not be required for Visual Studio 6 but I can't test that
(yet).
- These files build with the code targeted for Pentium processors and
8-byte structure padding.
- The IDE-built programs seem to be "happier" in that the command line
build of the 3Dfx demo "fire" will grenade on exit (?). Otherwise pretty
much everything may be built with either interface.
- The currently configured Mesa version is 3.1, and MesaDemos version is
the same. To change this permanently you will need to edit NMAKE.MAK and
change the lines that look like this (they start o/a line 116):
# Currently, Mesa is at rev 3.1 ...
#
!IF "$(MESAVER)" == ""
MESAVER=3.1
!ENDIF
# used in building all of the resource files for the Mesa DLLs
#
!IF "$(MESAFILEVER)" == ""
MESAFILEVER=3,1,0,0
!ENDIF
- Currently the build files are configured to be used from a Win32
directory that is included inside the main Mesa-3.1 heirarchy.
- The build files are smart enough to find the files for the core lib, glu,
glut, and the various demo programs if they are unpacked in the current
Mesa-3.1 heirarchy, like this:
\Mesa-3.1
\Mesa-3.1\src
\Mesa-3.1\src-glu
\Mesa-3.1\src-glut
\Mesa-3.1\Win32
\Mesa-3.1\samples
\Mesa-3.1\demos
\Mesa-3.1\book
\Mesa-3.1\3Dfx\demos
... should work. This arose because my initial build tests for the
demo files were done before MesaDemos 2.6 had been released.
- With the exception of the static link libraries generated by this file
set (mesagl.lib, mesaglu.lib, mesaglut.lib) all DLLs and executables are
built against the "Multithreaded DLL" runtime - this means that they
require MSVCRT.DLL or MSVCRTD.DLL in the path to execute.
** CHANGED 8/11/98 ***
Note also that the demos are all built aginst the "OpenGL32, GLU32, and
GLUT32" and as such they are fairly agnostic wrt: building against Mesa
for CPU-rendering, Mesa-for-3Dfx, Mesa-for-S3, or System OpenGL.
If you want to build them for use on your system and your display card
provides full OpenGL acceleration (Permedia, Intel740, Intergraph,
whatever) then you only need to build GLUT prior to building any of the
demo programs. For convenience, the GLUT project is included in each of
the demo projects Workspace files for the DevStudio IDE builds BUT it is
not automatically built - you still need to build it first manually.
Note that if you have GLUT already installed on your system (gl/glut.h in
yoru INCLUDE path, glut32.lib/glut32d.lib in your LIB path, and the DLL
in your PATH) then you do NOT need to build GLUT prior to the test
programs.
- The 3Dfx build of Mesa has primarily been tested with Quake 2 and it runs
(mostly) fine on my PC (take that for what you want it)...
** CHANGED 8/11/98 ***
There is still something going on that causes Glide to crash on shutdown,
when I run fxMesa under Windows NT, however it does not appear to occur
under Windows 9x on either Voodoo1 or Voodoo2 cards. *sigh*
- I can not test the S3 build as I have no machines available with Virge
based display cards.
- The multithreaded test code is *not* built as it requires pthreads and I
have as of yet spent not time trying to get that running. The latest word
that I saw WRT threading support on win32 was that they are intending to
support it natively within Win32 - so I'm waiting it out until they get
it done.
- Similarly, the 'xdemos' are not currently built because I haven't gotten
around to building the client libs for native win32 and getting it all
setup for use.
*** Output Files
All final output files (DLL/LIB) are placed in the Mesa-3.1/lib directory,
with the exception of the fxMesaGL32 build which is placed in
Mesa-3./lib/FX and the executable images which are placed in their source
directories.
To be able to execute the various test programs, you will need to copy the
requisite DLL files into the same directory as the EXE files. Note that
most of the 3Dfx/demos/* programs WILL run with the non-FX build of Mesa -
just very slowly. The two programs which are hard-linked with the FX build
and will not run without it are "glbpaltx" which uses "gl3DfxSetPaletteEXT"
directly instead of via the extensions mechanism and "tunnel2" which uses
"fxMesaSelectCurrentBoard" API for selecting between multiple 3Dfx cards
installed in one system. Likewise, "paltex" directly uses the
"glColorTableEXT" extension and thus may not run on anything except
Mesa. If these applications used the proper extension mechanism they could
then be used on more than "just" fxMesa to good effect (for example, the
rest of the "3Dfx/demos" run just peachy on the Intel740 card in my test
machine) under WinNT.
Because I'm anal about my computer and it's organization, and I like to
prevent collision between builds, each of the subprojects has their own
intermediate file directory inside .\win32\release (for example, when
building mesagl.lib all of it's intermediate files will be found in
.\win32\release\lib.mesagl). This makes it very easy to cleanup as you
only need to remove .\win32\release.
*** Okay, Enough, how do I build with this stuff already Ted!
Okay, no major calamity here. The basic way to use the project file is to
call it via NMAKE from the command line. The format is:
nmake[.exe] /f nmake.mak [options] [target]
The most likely [options] values you will use may be any combination of the
following:
DEBUG=1 or DEBUG=0
USE_CRTDLL=1 or USE_CRTDLL=0
Note that all three of these options are OFF by default.
The [target] includes but is not limited to the following (for full details
please peruse the NMAKE.MAK and NMAKE.MIF files - but be warned that
NMAKE.MIF is rather large and sometimes hard to follow):
--- convenience targets ---
all - builds everything
libfiles - builds all linking library files
progs - builds all executable images
--- library files, static and dynamic ---
mesagl - static lib build of Mesa core.
mesaglu - static lib build of MesaGLU core.
mesaglut - static lib build of Mesa GLUT core.
mesagl32 - dynamic lib build of Mesa core.
mesaglu32 - dynamic lib build of GLU core, generates
GLU32.DLL and/or GLU32d.DLL.
mesaglut32 - dynamic lib build of GLUT core, generates
GLUT32.DLL and/or GLUT32d.dll.
--- hardware accelerated mesa builds ---
fxmesagl32 - builds Mesa for use on top of the 3Dfx
Glide runtime libs
s3mesagl32 - builds mesa for use on top of the S3
'S3Tk' runtime libs.
--- executable images ---
progs.book - builds all programs in \book directory
progs.demos - builds all programs in \demos directory
progs.samples - builds all programs in \samples directory
These targets generate all of the programs in their respective
directories and link the executables against OpenGL32.DLL,
GLU32.DLL, and GLUT32.DLL (or their debug equivalents).
progs.3dfx.demos - builds all programs in \3dfx\demos directory
This target generates the 3Dfx/Demo executables, linking them
against GLUT32.DLL, GLU32.DLL, OPENGL32.DLL and are thus NOT
hard-bound to using Mesa per-se as you can simply NOT build the
Mesa core and GLU libraries.
--- Microsoft/SGI OpenGL-based GLUT and Demo program builds ----
*** IMPORTANT SAFETY TIP: If you're going to build these variants of
GLUT then DO NOT build any other target libraries in this package
first, OR from the command line run the "nmake /f nmake.mak clean"
command first! This is because generation of the GLUT for SGI
OpenGL target libraries conflicts in naming with the static build
libraries of Mesa and it's supporting GLUT build.
Currently, you may build GLUT as either GLUT32.DLL or GLUT.DLL for
use running against either Microsoft or SGI OpenGL for Window,
respectively. This allows for the general use of GLUT 3.7 on Windows
systems with fully compliant OpenGL.
You can build the GLUT DLL files either with the command line by
issuing either of these commands:
nmake /f nmake.mak glut.sysgl
<or>
nmake /f nmake.mak glut.sgigl
OR by using the DevStudio MesaLib Worksapce build the GLUT_SGIGL or
GLUT_SYSGL projects within the DevStudio IDE.
Unfortunately, the only way to build the test programs against this
build of GLUT is via the command line, and I will NOT be making
duplicate demo program projects for the IDE as it's just not worth it,
sorry.
To build the test programs against either MS or SGI OpenGL, you do so
via either of these two commands:
nmake /f nmake.mak progs.sysgl
<or>
nmake /f nmake.mak progs.sgigl
To use the GLUT-for-system-OpenGL in your own programs, you need to do
three things by way of preparation, after building GLUT of course:
1. Copy include\gl\glut.h to somewhere in your %INCLUDE% path, one
likely candidate location would be in your
"DevStudio\VC\INCLUDE\GL" directory.
2. Copy the linking libraries to somewhere in your %LIB% path, one
likely candidate location would be in your "DevStudio\VC\LIB"
directory. The linking libraries you need to copy are as
follows:
.\Release\GLUT32.LIB
.\Release\GLUT.LIB
.\Debug\GLUT32.LIB
.\Debug\GLUT.LIB
3. Copy the runtime libraries to somewhere in your %PATH%, one
likely candidate location would be in WINDOWS\SYSTEM. the files
that you should copy are as follows:
.\Release\GLUT32.DLL
.\Release\GLUT32.PDB
.\Release\GLUT.DLL
.\Release\GLUT.PDB
.\Debug\GLUT32d.DLL
.\Debug\GLUT32d.PDB
.\Debug\GLUTd.DLL
.\Debug\GLUTd.PDB
Some examples are in order ...
... build all dynamic-link libs using MSVCRT.DLL for C runtime:
nmake /f nmake.mak USE_CRTDLL=1 alldynamic
... To build all library variants and all test and demonstration
programs with the default settings you do this:
nmake /f nmake.mak all
... to build all static link libs and nothing else you do this:
nmake /f nmake.mak allstatic
... to build all non-accelerated dynamic link libs you do this:
nmake /f nmake.mak alldynamic
... to build all 3Dfx targeted dynamic link libs you do this:
nmake /f nmake.mak allaccel
... to build all S3 Virge targetd dynamic link libs you do this:
nmake /f nmake.mak alls3
... to build all libraries, static and dynamic, in all versions
you do this:
nmake /f nmake.mak libfiles
... to subsequently build all demo and test programs you do this:
nmake /f nmake.mak progs
... to cleanup all intermediate files you do this:
nmake /f clean
You get the picture. (I hope) ;^) You may also specify specify
single targets in a convenient fashion. The rule is simple, any of the
above named lib files, static or dynamic, may be built by providing it's
name on the command line as the target. Examples:
... to build only Mesa as OpenGL32.DLL ...
nmake /f nmake.mak opengl32
... to build only Mesa on top of the 3Dfx Glide API ...
nmake /f nmake.mak fxMesaGL32
<or>
nmake /f nmake.mak fxMesaGL
... to build only Mesa on top of the S3 Toolkit ...
nmake /f nmake.mak s3MesaGL32
<or>
nmake /f nmake.mak s3mesaGL
*** Revision history for ./win32 project files
1/18/98 - initial cut submitted and included with core mesa
2/5/98 - fixed internal dependency within nmake.mif upon there being
a $(DEVDIR) variable to make some temporary batch files
dependant upon (thanks to Keven T. McDonnell for finding
that there was this particular bug). I also updated the
build files for 2.6beta6.
2/8/98 - added DevStudio workspace and project files for all lib
files and some test programs. Updated readme.win32.
6/25/98 - initial revision for Mesa 3.0, does not include IDE files,
not everything is running. *sigh*
7/20/98 - Mesa 3.0beta6 rev of all build files, all libs built and
minimally tested, all demo programs built and minimally
tested to within limits of my PC. ;^) Eveything looks
MUCH better now ...
7/30/98 - Minor updates/edits based upon feedback from
Eero Pajarre <epajarre@koti.tpo.fi>. These updates include a fix
to the Mesa-on-3Dfx build such that Quake-II now runs almost
properly on my system. It runs, just *very* slowly and with *no*
textures. Hmmm. Doesn't make any difference whether Quake is set
to use 8-bit textures or not.
8/13/98 - Lots of build cleanups, minor bug fixes in fxwgl.c, and
compatability fix in fxapi.c for in-window rendering using 3Dfx
hardware.
8/26/98 - Final revisions for Mesa 3 release checked
9/22/98 - Fixed static builds for all but fxMesaGL32 and s3MesaGL32 targets
9/29/98 - Reorganized FAQ information and added Added faq entry about Glide
bug under NT (crash on exit) and a workaround.
11/21/98 - Updated files for Mesa 3.1 beta 1
Updated fxMesa window-hack code
Updated fxMesa resolution support to handle 1600x1200 & 1280x1024
7/9/99 - Rev'd for Mesa 3.1 beta 2
File: docs/README.WIN32
Last updated: Sep 18, 2003 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
The libs and demos build separately, so if you do not care about the
demos, you do not have to unzip that zip file. But if you do, it does
need to be unzipped into the same directory as the lib zip file because
the demos depend on the libs.
The build system has been changed to use Microsoft Visual Studio project
workspaces and projects. Makefiles are no longer shipped or supported, but
can be generated from the projects using Visual Studio.
Details and Notes
- To build the Mesa libraries, open the Mesa.dsw workspace file
in the top directory. You can build each project one-by-one,
or build the glut project to build everything except osmesa,
which needs to be built separately. The build process will
create a lib directory in the top directory and will put the
following files there:
OPENGL32.LIB, GLU32.LIB, GLUT32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, GLUT32.DLL, OSMESA32.DLL
- After building, you can copy the above DLL files to a place in your PATH
such as $SystemRoot/SYSTEM32. If you don't like putting things in a
system directory, place them in the same directory as the executable(s).
Be careful about accidentially overwriting files of the same name in
the SYSTEM32 directory.
- Build the demos by opening the appropriate *.dsw file in the
progs directory tree. For example, to build the demos, use
progs/demos/Windows/demos.dsw. The Windows directory contains
the workspace and all the projects for each demo program. Each
project places the executable in the same directory as its source
code, which is required for some demos.
- The demo projects also copy the Mesa library DLL files from the lib
directory into the same directory as the demo executables, so that
the demos use the Mesa libs you just built.
- The DLL files are built so that the external entry points use the
stdcall calling convention.
- Static LIB files are not built. The LIB files that are built with
are the linker import files associated with the DLL files.
- The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
- The osmesa driver builds and should work on Windows as well as
any other platform.
- The Windows driver (in src/Windows) builds and runs at least at
a minimal level. I modified this driver to work with the new
Mesa 4.0 code and driver architecture, but I did not do a great
deal of optimization and testing. There are many opportunities
for optimization, many of which can be done by coding more specific
paths for the rasterizers. See src/osmesa/osmesa.c for some good
examples.
- There is DirectDraw support in the Windows driver, updated by
Daniel Slater. You'll need to uncomment the #define DDRAW line
in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries.
On some systems, you will acheive significantly higher framerates
with DirectDraw.
- Some of the more specialized code like FX drivers, stereo, and
parallel support isn't compiled or tested. I left much of this
code alone, but it may need some work to get it 'turned on' again.
- No assembly code is compiled or assembled. Again, this may need
some work to turn it back on or use it again.
If you have a Windows-related build problem or question, it is
probably better to direct it to me (kschultz@users.sourceforge.net),
rather than directly to the other Mesa developers. I will help you
as much as I can. I also monitor the Mesa mailing lists and will
answer questions in this area there as well.
Karl Schultz

146
docs/README.WINDML Normal file
View File

@@ -0,0 +1,146 @@
WindML Driver for Mesa 4.0
Requirements
------------
Tornado 2 + WindML, Cumulative Patchs are recommended.
I suppose you have a valid WindML installation. Double buffer hardware
gives better performance than double buffer software so if you can
compile your WindML driver with this option, just do it. I/O
redirection is adviced in target server.
Tested on
---------
During the development, my main target was a CoolMonster:
- Video card: CT69000
- CPU: PENTIUM 266MHz
and my host a Windows NT + Tornado 2.
Installation
------------
1. Mesa sources must be in root directory (C:\)
2. Add the following line to your torVars.bat:
set MESA_BASE=C:\Mesa
OR copy the new torVars.bat in your bin path:
c:/Mesa/src/ugl/tornado/torVars.sample ->
/mnt/nt/Tornado/host/x86-win32/bin/torVars (for example)
3. In a command prompt:
$ torVars
$ cd c:\Mesa
$ make -f Makefile.ugl CPU=PENTIUM
Take a long while...
5. Include all the files from ugldemos folder to build some downloadable
application modules
4. Download UGL/Mesa object files on target
For example via the WindShell:
ld < c:\Tornado\target\lib\objMesaGL.o
ld < c:\Tornado\target\lib\objMesaUGL.o
ld < c:\Tornado\target\lib\objMesaGLU.o
ld < c:\Tornado\target\lib\objGLUTshapes.o
ld < c:\Tornado\target\lib\objMesaOS.o
You can put the previous lines in a file and use:
< filename
6. Download the application modules.
7. In WindShell, run:
-> uglalldemos
During the show some messages will appear, it provides some useful
information on key management.
Coding
------
Sample Usage:
In addition to the usual ugl calls to initialize UGL, (may be find an
input driver), you must do the following to use the UGL/Mesa interface:
1. Call uglMesaCreateContext() to create a UGL/Mesa rendering context,
given the display format.
2. Call uglMesaMakeCurrent() to bind the UGL/Mesa buffers to an
UGL/Mesa Context and to make the context the current one.
3. Make gl* calls to render your graphics.
4. Use uglMesaSwapBuffers() when double buffering to swap front/back buffers.
5. Before the UGL is destroyed, call MesaDestroyContext().
6. Before exiting, call if required uglEventQDestroy and then
uglDeinitialize();
Limitations
-----------
I found the following limitations in my driver :
- Color Indexed management is only in 8 bits
- It's possible to mix UGL/OpenGL application with a software
double buffer
Modifications
------------
New files in Mesa:
- Makefile.ugl
- rules.windmlmesa
- docs/README.UGL
- include/GL/uglmesa.h
- si-glu/Makefile.ugl
- src/Makefile.ugl
- src/ugl/torGLUTShapesInit.c
- src/ugl/torMesaUGLInit.c
- src/ugl/ugl_api.c
- src/ugl/ugl_dd.c
- src/ugl/ugl_glutshapes.c
- src/ugl/ugl_line.c
- src/ugl/ugl_span.c
- src/ugl/ugl_tri.c
- src/ugl/uglmesaP.h
- ugldemos/*
Modified files in Tornado 2.0:
- c:\Tornado\host\x86-win32\bin\torVars.bat
rem Command line build environments
set WIND_HOST_TYPE=x86-win32
set WIND_BASE=C:\Tornado
set MESA_BASE=C:\Mesa
set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH%
- c:\Tornado\target\config\comps\VxWorks\01uglmesa.cdf
- c:\Tornado\target\h\GL\*
Todo
----
- GCC 2.96, ASM compilation
Thanks to:
----------
Precision Insight team for their great job around Mesa, XFree, and DRI.
Wind River Systems to take me as an intern.
Stephane Raimbault
<stephane.raimbault@windriver.com>
<stephane.raimbault@deesse.univ-lemans.fr>
July 24, 2001

View File

@@ -1,31 +1,46 @@
Mesa 3.0 Unix/X11 Information
Mesa Unix/X11 Information
Installation
============
To compile the library, first type 'make' alone to see the list of system
configurations currently supported. If you see your configuration on the
list, type 'make <config>'. Most popular Unix/X workstations are currently
supported.
There are two ways to compile Mesa on Unix/X11 systems:
The top-level makefile will execute the makefiles in a number of sub-
directories. When finished, the Mesa libraries will be in the Mesa-2.6/lib/
directory. A few GLUT demos in the demos/ directory should be ready to run.
1. The old way:
First type 'make' alone to see the list of system
configurations currently supported. If you see your configuration on the
list, type 'make <config>'. Most popular Unix/X workstations are currently
supported.
If you also downloaded and unpacked the demos there should be executables
in the "xdemos/", "samples/", and "book/" directories for you to try out.
If you only want to compile the contents of one subdirectory you can 'cd'
to that directory and type 'make <config>' there.
If your system configuration is not listed by 'make', you'll have to modify
the top-level Makefile and Make-config files. There are instructions in
each file.
If your system configuration is not listed by 'make', you'll have to modify
the top-level Makefile and Make-config files. There are instructions in
each file.
When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory.
If you have compilation problems you should try to fix them and return the
patches to the author.
2. The new way:
Type './configure' and then 'make'. This uses GNU autoconfig.
Run 'make check' to build the demos.
See docs/INSTALL for more details.
When finished, the Mesa libraries will be in the Mesa-x.y/src/.libs/,
Mesa-x.y/si-glu/.libs, etc directories.
Notes on assembly language optimizations:
When using the old-style Makefiles, you can specify a configuration
that uses X86 assembly language optimizations (linux-3dnow for example).
The detection of MMX, 3DNow!, PIII/SSE, etc capability is done at
runtime. That means you can compile Mesa for 3DNow! optimizations
even if you don't have an AMD CPU.
However, your Linux binutils and assembler must understand the
special instructions in order to compile them. If you have
compilation problems, try upgrading your binutils.
Header and library files:
@@ -120,7 +135,7 @@ Xt/Motif Widgets:
Togl:
Togl is an OpenGL/Mesa widget for Tcl/Tk.
See http://www.ssec.wisc.edu/~brianp/Togl.html for more information.
See http://togl.sourceforge.net for more information.
@@ -235,14 +250,9 @@ HPCR glClear(GL_COLOR_BUFFER_BIT) dithering
to HP systems with the HPCR (Color Recovery) system.
Extensions:
The following OpenGL GLX extensions are currently implemented:
GLX_EXT_visual_info - GLX visual and transparent pixel extension
For detailed information about the extensions see www.opengl.org
There are four Mesa-specific GL/GLX extensions at this time.
Extensions
==========
There are three Mesa-specific GLX extensions at this time.
GLX_MESA_pixmap_colormap
@@ -301,4 +311,4 @@ Summary of X-related environment variables:
----------------------------------------------------------------------
$Id: README.X11,v 3.3 1999/09/15 16:39:01 brianp Exp $
$Id: README.X11,v 3.10 2003/03/08 17:38:57 brianp Exp $

146
docs/RELNOTES-3.1 Normal file
View File

@@ -0,0 +1,146 @@
Mesa 3.1 release notes
PLEASE READ!!!!
New copyright
-------------
Mesa 3.1 will be distributed under an XFree86-style copyright instead
of the GNU LGPL.
New directories
---------------
All documentation files are now in the docs/ directory.
All shell scripts are now in the bin/ directory.
New library names
-----------------
Formerly, the main Mesa library was named libMesaGL.so (or libMesaGL.a)
and the GLU library was named libMesaGLU.so (or libMesaGLU.a).
Now, the main library is named libGL.so (or libGL.a) and the GLU library
is named libGLU.so (or libGLU.a).
The change allows Mesa to be more easily substituted for OpenGL.
Specifically, the linker/loader on some Unix-like systems won't
allow libMesaGL.so to be used instead of libGL.so if the application
was linked with the former.
Warning: if you have another OpenGL implementation installed on your
system (i.e. you have another OpenGL libGL.so) you'll have to be
carefull about which library (OpenGL or Mesa) you link against. Be
aware of -L linker flags and the value of the LD_LIBRARY_PATH environment
variable.
New library versioning
----------------------
Previously, the Mesa GL library was named libMesaGL.so.3.0
To better support Linux/OpenGL standards, the Mesa GL library is now
named libGL.so.1.2.030100 This indicates version 1.2 of the OpenGL spec
and Mesa implementation 3.1.0
In the long term this will allow better interoperability with other
OpenGL implementations, especially on Linux. In the short term,
OpenGL apps may have to be relinked to use the new library naming.
New makefiles
-------------
The old Makefiles found in the various directories have been renamed
to Makefile.X11 in order to prevent filename collisions with autoconfig-
generated Makefiles.
The top-level Makefile simply includes Makefile.X11
If your top-level Makefile get's overwritten/destroyed you can restore
it by copying Makefile.X11 to Makefile
New extensions
--------------
GL_EXT_stencil_wrap
Implements two new stencil operations: GL_INCR_WRAP_EXT and
GL_DECR_WRAP_EXT which allow stencil increment and decrement
without clamping.
GL_INGR_blend_func_separate
Allows specification of blend factors for RGB and Alpha independently.
(INGR = Intergraph)
GL_ARB_multitexture
Multiple simultaneous textures. (ARB = Architecture Review Board)
GL_NV_texgen_reflection
nVidia texgen extension for better reflection mapping.
GL_PGI_misc_hints
Assorted transformation hints.
GL_EXT_compiled_vertex_array
Compiled vertex arrays.
GL_EXT_clip_volume_hint
Allows one to disable clip volume (frustum) testing.
Extensions removed
------------------
GL_EXT_multitexture - obsolete in favor of GL_ARB_multitexture
Config file
-----------
By default, /etc/mesa.conf will be read when Mesa starts. This
file controls default hints, enable/disable of extensions, and
more. See the CONFIG file for documentation.
Optimizations
-------------
Keith Whitwell has contributed significant optimizations to Mesa's
vertex transformation code. Basically, the whole transformation
stage of Mesa has been rewritten.
It's impossible to give a speedup factor. You'll just have to
try your app and see how it performs.
Device Driver changes
---------------------
A bunch of new device driver functions have been added. See src/dd.h
Keith Harrison contributed many of them. I've been planning on adding
a bunch of functions like these to make writing hardware drivers easier.
More such function will probably be added in the near future.
Miscellaneous
-------------
util/glstate.c has some handy functions for debugging. Basically, it
offers a simple function for printing GL state variables. It's not
finished yet. There's a LOT more GLenum records to be added (see the
code). Anyone want to help?
----------------------------------------------------------------------
$Id: RELNOTES-3.1,v 1.2 2000/04/07 17:08:06 brianp Exp $

12
docs/RELNOTES-3.2 Normal file
View File

@@ -0,0 +1,12 @@
Mesa 3.2 release notes
PLEASE READ!!!!
Mesa 3.2 is a stabilization of the Mesa 3.1 release. No new features
have been added. For a list of bug fixes please read the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.2,v 1.2 2000/04/07 17:08:06 brianp Exp $

32
docs/RELNOTES-3.2.1 Normal file
View File

@@ -0,0 +1,32 @@
Mesa 3.2.1 release notes
PLEASE READ!!!!
The Mesa 3.2.1 release mainly just fixes bugs since the 3.2 release.
See the VERSIONS file for the exact list.
GLU Polygon Tessellator
-----------------------
The GLU tessellator has been reverted back to the version included
with Mesa 3.0 since it's more stable. The Mesa 3.1/3.2 tessellator
implemented the GLU 1.3 specification but suffered from a number of
bugs.
Mesa implements GLU 1.1.
Ideally, people should use the GLU 1.3 library included in SGI's
OpenGL Sample Implementation (SI) available from
http://oss.sgi.com/projects/ogl-sample/
People are working to make easy-to-install Linux RPMs of the
GLU library.
----------------------------------------------------------------------
$Id: RELNOTES-3.2.1,v 1.2 2000/07/21 16:32:33 brianp Exp $

271
docs/RELNOTES-3.3 Normal file
View File

@@ -0,0 +1,271 @@
Mesa 3.3 release notes
July 21, 2000
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.2.1) designate stable releases.
Mesa 3.3 has a undergone many internal changes since version 3.2
and features a lot of new extensions. 3.3 is expected to be pretty
stable, but perhaps not as stable as 3.2 which has been used by
thousands of users over the past months.
Everyone is encouraged to try Mesa 3.3. Bugs should be reported to
the Mesa bug database on www.sourceforge.net.
Header file / GLenum changes
----------------------------
The gl.h and glu.h headers now use #defines to define all GL_* tokens
instead of C-language enums. This change improves Mesa/OpenGL
interoperability.
New API dispatch code
---------------------
The core Mesa gl* functions are now implemented with a new dispatch
(jump table) which will allow simultaneous direct/indirect rendering.
The code is found in the glapi*.[ch] files.
Of interest: the actual "glFooBar" functions are generated with
templatized code defined in glapitemp.h and included by glapi.c
The glapitemp.h template should be reusable for all sorts of OpenGL
projects.
The new dispatch code has also optimized with x86 assembly code.
This optimization eliminates copying the function arguments during
dispatch.
New thread support
------------------
Thread support in Mesa has been rewritten. The glthread.[ch] files
replace mthreads.[ch]. Thread safety is always enabled (on platforms
which support threads, that is). There is virtually no performance
penalty for typical single-thread applications. See the glapi.c
file for details.
The Xlib driver (XMesa) is now thread-safe as well. Be sure to
call XInitThreads() in your app first. See the xdemos/glthreads.c
demo for an example.
Make configuration changes
--------------------------
If you use the old-style (non GNU automake) method to build Mesa note
that several of the configuration names have changed:
Old name New name
------------- ----------------
linux-elf linux
linux linux-static
linux-386-elf linux-386
linux-386 linux-386-static
etc.
New extensions
--------------
GL_ARB_transpose_matrix
Adds glLoadTransposeMatrixARB() and glMultTransposeMatrixARB()
functions.
GL_ARB_texture_cube_map
For cube-based reflection mapping.
GL_EXT_texture_add_env
Adds GL_ADD texture environment mode.
See http://www.berkelium.com/OpenGL/EXT/texture_env_add.txt
GL_EXT_texture_lod_bias
Allows mipmapped texture blurring and sharpening.
GLX_EXT_visual_rating extension
This extension has no effect in stand-alone Mesa (used for DRI).
GL_HP_occlusion_test
Used for bounding box occlusion testing (see demos/occlude.c).
GL_SGIX_pixel_texture / GL_SGIS_pixel_texture
Lets glDraw/CopyPixels draw a texture coordinate image.
GL_SGI_color_matrix
Adds a color matrix and another set of scale and bias parameters
to the glDraw/CopyPixels paths.
GL_SGI_color_table
Adds additional color tables to the glDraw/Read/CopyPixels paths.
GL_EXT_histogram
Compute histograms for glDraw/Read/CopyPixels.
GL_EXT_blend_func_separate
This is the same as GL_INGR_blend_func_separate.
GL_ARB_texture_cube_mapping
6-face cube mapping, nicer than sphere mapping
GL_EXT_texture_env_combine
For advanced texture environment effects.
Documentation for all these functions can be found at
http://oss.sgi.com/projects/ogl-sample/registry/
GLX_SGI_make_current_read functionality
---------------------------------------
The functionality of this extension is needed for GLX 1.3 (and required
for the Linux/OpenGL standards base).
Implementing this function required a **DEVICE DRIVER CHANGE**.
The old SetBuffer() function has been replaced by SetReadBuffer() and
SetDrawBuffer(). All device drivers will have to be updated because
of this change.
The new function, glXMakeContextCurrent(), in GLX 1.3 now works in Mesa.
The xdemos/wincopy.c program demonstrates it.
Image-related code changes
--------------------------
The imaging path code used by glDrawPixels, glTexImage[123]D,
glTexSubImage[123], etc has been rewritten. It's now faster,
uses less memory and has several bug fixes. This work was
actually started in Mesa 3.1 with the glTexImage paths but has now
been carried over to glDrawPixels as well.
Device driver interface changes
-------------------------------
Added new functions for hardware stencil buffer support:
WriteStencilSpan
ReadStencilSpan
WriteStencilPixels
ReadStencilPixels
Removed old depth buffer functions:
AllocDepthBuffer
DepthTestSpan
DepthTestPixels
ReadDepthSpanFloat
ReadDepthSpanInt
Added new depth buffer functions:
WriteDepthSpan
ReadDepthSpan
WriteDepthPixels
ReadDepthPixels
These functions always read/write 32-bit GLuints. This will allow
drivers to have anywhere from 0 to 32-bit Z buffers without
recompiling for 16 vs 32 bits as was previously needed.
New texture image functions
The entire interface for texture image specification has been updated.
With the new functions, it's optional for Mesa to keep an internal copy
of all textures. Texture download should be a lot faster when the extra
copy isn't made.
Misc changes
TexEnv now takes a target argument
Removed UseGlobalTexturePalette (use Enable function instead)
Also added
ReadPixels
CopyPixels
The SetBufffer function has been replaced by SetDrawBuffer and
SetReadBuffer functions. This lets core Mesa independently
specify which buffer is to be used for reading and which for
drawing.
The Clear function's mask parameter has changed. Instead of
mask being the flags specified by the user to glClear, the
mask is now a bitmask of the DD_*_BIT flags in dd.h. Now
multiple color buffers can be specified for clearing (ala
glDrawBuffers). The driver's Clear function must also
check the glColorMask glIndexMask, and glStencilMask settings
and do the right thing. See the X/Mesa, OS/Mesa, or FX/Mesa
drivers for examples.
The depth buffer changes shouldn't be hard to make for existing
drivers. In fact, it should simply the code. Be careful with
the depthBits value passed to gl_create_context(). 1 is a bad
value! It should normally be 0, 16, 24, or 32.
gl_create_framebuffer() takes new arguments which explicitly tell
core Mesa which ancillary buffers (depth, stencil, accum, alpha)
should be implemented in software. Mesa hardware drivers should
carefully set these flags depending on which buffers are in the
graphics card.
Internal constants
------------------
Point and line size range and granularity limits are now stored
in the gl_constants struct, which is the Const member of GLcontext.
The limits are initialized from values in config.h but may be
overridden by device drivers to reflect the limits of that driver's
hardware.
Also added constants for NumAuxBuffers and SubPixelBits.
OpenGL Conformance
------------------
Mesa now passes all the OpenGL 1.1 conformance tests, except for
antialiased lines. AA lines fail on some, but not all, the tests.
In order to fix the remaining failures, a new AA line algorithm will
be needed (which computes coverage values for end-point fragments).
This will be done for Mesa 3.5/3.6.
OpenGL 1.2 GL_ARB_imaging subset
--------------------------------
Mesa 3.3 implements all the features of GL_ARB_imaging except for
image convolution. This will (hopefully) be done for Mesa 3.5/3.6.
----------------------------------------------------------------------
$Id: RELNOTES-3.3,v 1.8 2000/07/21 16:26:41 brianp Exp $

22
docs/RELNOTES-3.4 Normal file
View File

@@ -0,0 +1,22 @@
Mesa 3.4 release notes
November 3, 2000
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
Mesa 3.4 simply fixes bugs found in the Mesa 3.3 release. For details,
see the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $

22
docs/RELNOTES-3.4.1 Normal file
View File

@@ -0,0 +1,22 @@
Mesa 3.4.1 release notes
February 9, 2001
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
Mesa 3.4.1 is a maintenance release that simply fixes bugs found since
the Mesa 3.4 release. For details, see the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.4.1,v 1.2 2001/05/23 14:45:01 brianp Exp $

22
docs/RELNOTES-3.4.2 Normal file
View File

@@ -0,0 +1,22 @@
Mesa 3.4.2 release notes
May 17, 2001
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
Mesa 3.4.2 is a maintenance release that simply fixes bugs found since
the Mesa 3.4.1 release. For details, see the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.4.2,v 1.2 2001/05/23 14:45:01 brianp Exp $

228
docs/RELNOTES-3.5 Normal file
View File

@@ -0,0 +1,228 @@
Mesa 3.5 release notes
June 21, 2001
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.5) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
The biggest change in Mesa 3.5 is a complete overhaul of the source
code in order to make it more modular. This was driven by the DRI
hardware drivers. It simplifies the DRI drivers and opens the door
to hardware transform/clip/lighting (TCL). Keith Whitwell can take
the credit for that.
Driver Support
--------------
The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4
Not all of the older Mesa drivers have been updated. Here's the status:
Driver Status
---------------------- -----------
XMesa (Xlib) updated
OSMesa (off-screen) updated
FX (3dfx Voodoo1/2) updated
SVGA updated
GGI not updated
Windows/Win32 not updated
DOS/DJGPP not updated
BeOS not updated
Allegro not updated
D3D not updated
DOS not updated
We're looking for volunteers to update the remaining drivers. Please
post to the Mesa3d-dev mailing list if you can help.
GLU 1.3
-------
Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
This version of GLU supports the GLU 1.3 specification. The old
Mesa GLU library implemented the 1.1 specification. The SI GLU
library should work much better.
You'll need a C++ compiler to compile the SI GLU library. This may
be a problem on some systems.
New Extensions
--------------
GL_EXT_convolution
Adds image convolution to glRead/Copy/DrawPixels/TexImage.
GL_ARB_imaging
This is the optional imaging subset of OpenGL 1.2.
It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
and GL_SGI_color_matrix extensions all rolled together.
This is supported in all software renderers but not in all
hardware drivers (3dfx for example).
GL_ARB_texture_compression
This is supported in Mesa but only used by the 3dfx DRI drivers
for Voodoo4 and later.
GL_ARB_texture_env_add
This is identical to GL_EXT_texture_env_add.
GL_NV_blend_square
Adds extra blend source and dest factors which allow squaring
of color values.
GL_EXT_fog_coord
Allows specification of a per-vertex fog coordinate instead of
having fog always computed from the eye distance.
GL_EXT_secondary_color
Allows specifying the secondary (specular) color for each vertex
instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
mode.
GL_ARB_texture_env_combine
Basically the same as GL_EXT_texture_env_combine
GL_ARB_texture_env_add extension
Texture addition mode.
GL_ARB_texture_env_dot3 extension
Dot product texture environment.
GL_ARB_texture_border_clamp
Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode
GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient
Implements a shadow casting algorithm based on depth map textures
GL_SGIS_generate_mipmap
Automatically generate lower mipmap images whenever the base mipmap
image is changed with glTexImage, glCopyTexImage, etc.
libOSMesa.so
------------
libOSMesa.so is a new library which contains the OSMesa interface for
off-screen rendering. Apps which need the OSMesa interface should link
with both -lOSMesa and -lGL. This change was made so that stand-alone
Mesa works the same way as XFree86/DRI's libGL.
Device Driver Changes / Core Mesa Changes
-----------------------------------------
The ctx->Driver.LogicOp() function has been removed. It used to
be called during state update in order to determine if the driver
could do glLogicOp() operations, and if not, set the SWLogicOpEnabled
flag. Drivers should instead examine the LogicOp state themselves
and choose specialized point, line, and triangle functions appropriately,
or fall back to software rendering. The Xlib driver was the only driver
to use this function. And since the Xlib driver no longer draws
points, lines or triangles using Xlib, the LogicOp function isn't needed.
The ctx->Driver.Dither() function has been removed. Drivers should
detect dither enable/disable via ctx->Driver.Enable() instead.
The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
are now just called from glIndexMask and glColorMask like the other
GL state-changing functions. They are no longer called from inside
gl_update_state(). Also, they now return void. The change was made
mostly for sake of uniformity.
The NEW_DRVSTATE[0123] flags have been removed. They weren't being used
and are obsolete w.r.t. the way state updates are done in DRI drivers.
Removed obsolete gl_create_visual() and gl_destroy_visual().
Renamed functions (new namespace):
old new
gl_create_framebuffer _mesa_create_framebuffer
gl_destroy_framebuffer _mesa_destroy_framebuffer
gl_create_context _mesa_create_context
gl_destroy_context _mesa_destroy_context
gl_context_initialize _mesa_context_initialize
gl_copy_context _mesa_copy_context
gl_make_current _mesa_make_current
gl_make_current2 _mesa_make_current2
gl_get_current_context _mesa_get_current_context
gl_flush_vb _mesa_flush_vb
gl_warning _mesa_warning
gl_compile_error _mesa_compile_error
All the drivers have been updated, but not all of them have been
tested since I can't test some platforms (DOS, Windows, Allegro, etc).
X/Mesa Driver
-------------
The source files for the X/Mesa driver in src/X have been renamed.
The xmesa[1234].c files are gone. The new files are xm_api.c,
xm_dd.c, xm_line.c, xm_span.c and xm_tri.c.
Multitexture
------------
Eight texture units are now supported by default.
OpenGL SI related changes
-------------------------
In an effort to make Mesa's internal interfaces more like the OpenGL
SI interfaces, a number of changes have been made:
1. Importing the SI's glcore.h file which defines a number of
interface structures like __GLimports and __GLexports.
2. Renamed "struct gl_context" to "struct __GLcontextRec".
3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
4. The GLcontext member Visual is no longer a pointer.
5. New file: imports.c to setup default import functions for Mesa.
16-bit color channels
---------------------
There's experimental support for 16-bit color channels (64-bit pixels)
in Mesa 3.5. Only the OSMesa interface can be used for 16-bit rendering.
Type "make linux-osmesa16" in the top-level directory to build the
special libOSMesa16.so library.
This hasn't been tested very thoroughly yet so please file bug reports
if you have trouble.
In the future I hope to implement support for 32-bit, floating point
color channels.
----------------------------------------------------------------------
$Id: RELNOTES-3.5,v 1.14 2001/06/20 19:02:48 brianp Exp $

163
docs/RELNOTES-4.0 Normal file
View File

@@ -0,0 +1,163 @@
Mesa 4.0 release notes
October 18, 2001
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
Mesa version 4.0 signifies two things:
1. A stabilization of the 3.5 development release
2. Implementation of the OpenGL 1.3 specification
Note that the Mesa major version number is incremented with the OpenGL
minor version number:
Mesa 1.x == OpenGL 1.0
Mesa 2.x == OpenGL 1.1
Mesa 3.x == OpenGL 1.2
Mesa 4.x == OpenGL 1.3
New Features
------------
Mesa 3.5 already had all the new features of OpenGL 1.3, implemented as
extensions. These extensions were simply promoted to standard features:
GL_ARB_multisample
GL_ARB_multitexture
GL_ARB_texture_border_clamp
GL_ARB_texture_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_transpose_matrix
In Mesa 4.0 the functions defined by these extensions are now available
without the "ARB" suffix. For example, glLoadTransposeMatrixf() is now
a standard API function. The new functions in OpenGL 1.3 and Mesa 4.0 are:
glActiveTexture
glClientActiveTexture
glCompressedTexImage1D
glCompressedTexImage2D
glCompressedTexImage3D
glCompressedTexSubImage1D
glCompressedTexSubImage2D
glCompressedTexSubImage3D
glGetCompressedTexImage
glLoadTransposeMatrixd
glLoadTransposeMatrixf
glMultiTexCoord1d
glMultiTexCoord1dv
glMultiTexCoord1f
glMultiTexCoord1fv
glMultiTexCoord1i
glMultiTexCoord1iv
glMultiTexCoord1s
glMultiTexCoord1sv
glMultiTexCoord2d
glMultiTexCoord2dv
glMultiTexCoord2f
glMultiTexCoord2fv
glMultiTexCoord2i
glMultiTexCoord2iv
glMultiTexCoord2s
glMultiTexCoord2sv
glMultiTexCoord3d
glMultiTexCoord3dv
glMultiTexCoord3f
glMultiTexCoord3fv
glMultiTexCoord3i
glMultiTexCoord3iv
glMultiTexCoord3s
glMultiTexCoord3sv
glMultiTexCoord4d
glMultiTexCoord4dv
glMultiTexCoord4f
glMultiTexCoord4fv
glMultiTexCoord4i
glMultiTexCoord4iv
glMultiTexCoord4s
glMultiTexCoord4sv
glMultTransposeMatrixd
glMultTransposeMatrixf
glSampleCoverage
glSamplePass
GLX 1.4 is the companion to OpenGL 1.3. The only new features in GLX 1.4
are support for multisampling and the GLX_ARB_get_proc_address extension.
glXGetProcAddress() is the only new function in GLX 1.4.
Multisample and Texture Compression
-----------------------------------
The OpenGL 1.3 specification allows the multisample and texture compression
features to essentially be no-ops. For example, if you query for multisample
support you'll find none, but the API functions work.
Similarly, texture compression is not implemented by any of the software
drivers but you can specify a generic compressed texture format (like
GL_COMPRESSED_RGBA) to glTexImage2D and it'll be accepted.
Device Drivers
--------------
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
device driver. If the driver enables all the ARB extensions which are part
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
it'll return "1.2".
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
GGI needs updating
DOS/DJGPP needs updating
BeOS needs updating
Allegro needs updating
D3D needs updating
DOS needs updating
Special thanks go to Karl Schultz for updating the Windows driver.
The XFree86/DRI drivers have not yet been updated to use Mesa 4.0 as of
September 2001, but that should happen eventually.
Other Changes
-------------
See the VERSIONS file for more details about bug fixes, etc. in Mesa 4.0.
----------------------------------------------------------------------
$Id: RELNOTES-4.0,v 3.2 2001/10/17 14:59:21 brianp Exp $

22
docs/RELNOTES-4.0.1 Normal file
View File

@@ -0,0 +1,22 @@
Mesa 4.0.1 release notes
December 17, 2001
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
Mesa 4.0.1 only contains bug fixes since version 4.0.
See the docs/VERSIONS file for the list of bug fixes.
----------------------------------------------------------------------
$Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $

50
docs/RELNOTES-4.0.2 Normal file
View File

@@ -0,0 +1,50 @@
Mesa 4.0.2 release notes
March 25, 2002
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
Mesa 4.0.2 only contains bug fixes and a new DOS driver since version 4.0.1.
See the docs/VERSIONS file for the list of bug fixes.
Device Drivers
--------------
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
device driver. If the driver enables all the ARB extensions which are part
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
it'll return "1.2".
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
DOS/DJGPP implements OpenGL 1.3 (new in Mesa 4.0.2)
GGI needs updating
BeOS needs updating
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-4.0.2,v 1.2 2002/03/23 02:38:39 brianp Exp $

52
docs/RELNOTES-4.0.3 Normal file
View File

@@ -0,0 +1,52 @@
Mesa 4.0.3 release notes
June 25, 2002
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
Mesa 4.0.3 basically just contains bug fixes version 4.0.2.
See the docs/VERSIONS file for the list of bug fixes.
The GGI driver has been updated, thanks to Filip Spacek.
Device Drivers
--------------
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
device driver. If the driver enables all the ARB extensions which are part
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
it'll return "1.2".
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
DOS/DJGPP implements OpenGL 1.3 (new in Mesa 4.0.2)
GGI implements OpenGL 1.3
BeOS needs updating
Allegro needs updating
D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-4.0.3,v 1.2 2002/06/26 02:36:34 brianp Exp $

308
docs/RELNOTES-4.1 Normal file
View File

@@ -0,0 +1,308 @@
Mesa 4.1 release notes
October 29, 2002
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Even numbered versions (such as 4.0) designate stable releases.
Odd numbered versions (such as 4.1) designate new developmental releases.
New Features in Mesa 4.1
------------------------
New extensions. Docs at http://oss.sgi.com/projects/ogl-sample/registry/
GL_NV_vertex_program
NVIDIA's vertex programming extension
GL_NV_vertex_program1_1
A few features built on top of GL_NV_vertex_program
GL_ARB_window_pos
This is the ARB-approved version of GL_MESA_window_pos
GL_ARB_depth_texture
This is the ARB-approved version of GL_SGIX_depth_texture.
It allows depth (Z buffer) data to be stored in textures.
This is used by GL_ARB_shadow
GL_ARB_shadow
Shadow mapping with depth textures.
This is the ARB-approved version of GL_SGIX_shadow.
GL_ARB_shadow_ambient
Allows one to specify the luminance of shadowed pixels.
This is the ARB-approved version of GL_SGIX_shadow_ambient.
GL_EXT_shadow_funcs
Extends the set of GL_ARB_shadow texture comparision functions to
include all eight of standard OpenGL dept-test functions.
GL_ARB_point_parameters
This is basically the same as GL_EXT_point_parameters.
GL_ARB_texture_env_crossbar
Allows any texture combine stage to reference any texture source unit.
GL_NV_point_sprite
For rendering points as textured quads. Useful for particle effects.
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.
GL_EXT_multi_draw_arrays
Allows arrays of vertex arrays to be rendered with one call.
GL_EXT_stencil_two_side
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
--------------------
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
DOS/DJGPP implements OpenGL 1.3
GGI implements OpenGL 1.3
BeOS needs updating (underway)
Allegro needs updating
D3D needs updating
DOS needs updating
New features in GLUT
--------------------
1. Frames per second printing
GLUT now looks for an environment variable called "GLUT_FPS". If it's
set, GLUT will print out a frames/second statistic to stderr when
glutSwapBuffers() is called. By default, frames/second is computed
and displayed once every 5 seconds. You can specify a different
interval (in milliseconds) when you set the env var. For example
'export GLUT_FPS=1000' or 'setenv GLUT_FPS 1000' will set the interval
to one second.
NOTE: the demo or application must call the glutInit() function for
this to work. Otherwise, the env var will be ignored.
Finally, this feature may not be reliable in multi-window programs.
2. glutGetProcAddress() function
The new function:
void *glutGetProcAddress(const char *procName)
is a wrapper for glXGetProcAddressARB() and wglGetProcAddress(). It
lets you dynamically get the address of an OpenGL function at runtime.
The GLUT_API_VERSION has been bumped to 5, but I haven't bumped the
GLUT version number from 3.7 since that's probably Mark Kilgard's role.
This function should probably also be able to return the address of
GLUT functions themselves, but it doesn't do that yet.
XXX Things To Do Yet XXXX
-------------------------
isosurf with vertex program exhibits some missing triangles (probably
when recycling the vertex buffer for long prims).
Porting Info
------------
If you're porting a DRI or other driver from Mesa 4.0.x to Mesa 4.1 here
are some things to change:
1. ctx->Texture._ReallyEnabled is obsolete.
Since there are now 5 texture targets (1D, 2D, 3D, cube and rect) that
left room for only 6 units (6*5 < 32) in this field.
This field is being replaced by ctx->Texture._EnabledUnits which has one
bit per texture unit. If the bit k of _EnabledUnits is set, that means
ctx->Texture.Unit[k]._ReallyEnabled is non-zero. You'll have to look at
ctx->Texture.Unit[k]._ReallyEnabled to learn if the 1D, 2D, 3D, cube or
rect texture is enabled for unit k.
This also means that the constants TEXTURE1_*, TEXTURE2_*, etc are
obsolete.
The tokens TEXTURE0_* have been replaced as well (since there's no
significance to the "0" part:
old token new token
TEXTURE0_1D TEXTURE_1D_BIT
TEXTURE0_2D TEXTURE_2D_BIT
TEXTURE0_3D TEXTURE_3D_BIT
TEXTURE0_CUBE TEXTURE_CUBE_BIT
<none> TEXTURE_RECT_BIT
These tokens are only used for the ctx->Texture.Unit[i].Enabled and
ctx->Texture.Unit[i]._ReallyEnabled fields. Exactly 0 or 1 bits will
be set in _ReallyEnabled at any time!
Q: "What's the purpose of Unit[i].Enabled vs Unit[i]._ReallyEnabled?"
A: The user can enable GL_TEXTURE_1D, GL_TEXTURE_2D, etc for any
texure unit all at once (an unusual thing to do).
OpenGL defines priorities that basically say GL_TEXTURE_2D has
higher priority than GL_TEXTURE_1D, etc. Also, just because a
texture target is enabled by the user doesn't mean we'll actually
use that texture! If a texture object is incomplete (missing mip-
map levels, etc) it's as if texturing is disabled for that target.
The _ReallyEnabled field will have a bit set ONLY if the texture
target is enabled and complete. This spares the driver writer from
examining a _lot_ of GL state to determine which texture target is
to be used.
2. Tnl tokens changes
During the implementation of GL_NV_vertex_program some of the vertex
buffer code was changed. Specifically, the VERT_* bits defined in
tnl/t_context.h have been renamed to better match the conventions of
GL_NV_vertex_program. The old names are still present but obsolete.
Drivers should use the newer names.
For example: VERT_RGBA is now VERT_BIT_COLOR0 and
VERT_SPEC_RGB is now VERT_BIT_COLOR1.
3. Read/Draw Buffer changes
The business of setting the current read/draw buffers in Mesa 4.0.x
was complicated. It's much simpler now in Mesa 4.1.
Here are the changes:
- Renamed ctx->Color.DrawDestMask to ctx->Color._DrawDestMask
- Removed ctx->Color.DriverDrawBuffer
- Removed ctx->Pixel.DriverReadBuffer
- Removed ctx->Color.MultiDrawBuffer
- 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.
- 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
a __GLimports object. The __GLimports structure contains function
pointers to system functions like fprintf(), malloc(), etc.
The _mesa_init_default_imports() function can be used to initialize
a __GLimports object. Most device drivers (like the DRI drivers)
should use this.
5. In tnl's struct vertex_buffer, the field "ProjectedClipCoords"
has been replaced by "NdcPtr" to better match the OpenGL spec's
terminology.
6. Since GL_EXT_stencil_two_side has been implemented, many of the
ctx->Stencil fields are now 2-element arrays. For example,
"GLenum Ref" is now "GLenum Ref[2]" The [0] elements are the front-face
values and the [1] elements are the back-face values.
ctx->Stencil.ActiveFace is 0 or 1 to indicate the current face for
the glStencilOp/Func/Mask() functions.
ctx->Stencil.TestTwoSide controls whether or not 1 or 2-sided stenciling
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.22 2002/10/29 15:06:37 brianp Exp $

85
docs/RELNOTES-5.0 Normal file
View File

@@ -0,0 +1,85 @@
Mesa 5.0 release notes
November 13, 2002
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0) designate stable releases.
Odd-numbered versions (such as 4.1) designate new developmental releases.
Mesa 5.0 is basically just a stabilization of Mesa 4.1. To see a list of
bug fixes, etc. see the VERSIONS file.
New Features in Mesa 5.0
------------------------
Mesa 5.0 supports OpenGL 1.4. Note Mesa's versioning convention:
OpenGL Version Mesa Version
------------------------------
1.0 1.x
1.1 2.x
1.2 3.x
1.3 4.x
1.4 5.x
OpenGL 1.4 (and Mesa 5.0) incorporates the following OpenGL extensions as
standard features:
GL_ARB_depth_texture
GL_ARB_shadow
GL_ARB_texture_env_crossbar
GL_ARB_texture_mirror_repeat
GL_ARB_window_pos
GL_EXT_blend_color
GL_EXT_blend_func_separate
GL_EXT_blend_logic_op
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_fog_coord
GL_EXT_multi_draw_arrays
GL_EXT_point_parameters
GL_EXT_secondary_color
GL_EXT_stencil_wrap
GL_SGIS_generate_mipmap
Device Driver Status
--------------------
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DOS/DJGPP implements OpenGL 1.3
GGI implements OpenGL 1.3
DOS implements OpenGL 1.4
BeOS needs updating (underway)
Allegro needs updating
D3D needs updating
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
----------------------------------------------------------------------
$Id: RELNOTES-5.0,v 3.2 2002/11/13 15:33:51 brianp Exp $

46
docs/RELNOTES-5.0.1 Normal file
View File

@@ -0,0 +1,46 @@
Mesa 5.0.1 release notes
March 30, 2003
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0.x) designate stable releases.
Odd-numbered versions (such as 4.1.x) designate new developmental releases.
Mesa 5.0.1 just fixes bugs found since the 5.0 release. See the VERSIONS
file for details.
Device Driver Status
--------------------
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DJGPP implements OpenGL 1.4
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.4
Allegro needs updating
D3D needs updating
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
----------------------------------------------------------------------
$Id: RELNOTES-5.0.1,v 3.1 2003/03/30 16:17:54 brianp Exp $

46
docs/RELNOTES-5.0.2 Normal file
View File

@@ -0,0 +1,46 @@
Mesa 5.0.2 release notes
September 5, 2003
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0.x) designate stable releases.
Odd-numbered versions (such as 4.1.x) designate new developmental releases.
Mesa 5.0.2 just fixes bugs found since the 5.0.1 release. See the VERSIONS
file for details.
Device Driver Status
--------------------
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DJGPP implements OpenGL 1.4
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.4
Allegro needs updating
D3D needs updating
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
----------------------------------------------------------------------
$Id: RELNOTES-5.0.2,v 1.1 2003/09/04 23:10:38 brianp Exp $

228
docs/RELNOTES-5.1 Normal file
View File

@@ -0,0 +1,228 @@
Mesa 5.1 release notes
Month day, 2003
PLEASE READ!!!!
Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0) designate stable releases.
Odd-numbered versions (such as 5.1) designate new developmental releases.
Bug fixes
---------
See the VERSIONS file for a list of bugs fixed in this release.
New Features in Mesa 5.1
------------------------
GL_ATI_texture_env_combine3 extension
This adds a few new texture combine modes.
Contributed by Ian Romanick.
GL_SGI_texture_color_table
Adds a color table lookup to the RGBA texture path. There's a separate
color table for each texture unit.
Contributed by Eric Plante.
GL_NV_fragment_program
NVIDIA's fragment-level programming feature.
Possible lurking bugs:
- the DDX and DDY commands aren't fully tested
- there may be bugs in the parser
- the TEX and TXP instructions both do perspective correction
- the pack/unpack instructions may not be correct
GL_EXT_depth_bounds_test
This extension adds a scissor-like test for the Z axis. It's used to
optimize stencil-volume shadow algorithms.
GL_NV_light_max_exponent
Lifts the 128 limit for max light exponent.
GL_EXT_texture_rectangle
Identical to GL_NV_texture_rectangle
GL_ARB_occlusion_query
Useful for visibility-based culling.
GL_ARB_texture_non_power_of_two
Removes the restriction that texture dimensions must be powers of two.
GL_ARB_vertex_buffer_object
Allows server-side vertex arrays, optimized host/card data transfers, etc.
GL_ARB_point_sprite
ARB-approved version of GL_NV_point_sprite. Basically allows textures
to be applied to points.
GL_IBM_multimode_draw_arrays
Allows multiple vertex arrays to be drawn with one call, including arrays
of different types of primitives.
GL_SUN_multi_draw_arrays
An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4.
With the addition of GL_ARB_occlusion_query, GL_ARB_vertex_buffer_object,
GL_ARB_texture_non_power_of_two and GL_EXT_shadow_funcs, Mesa 5.1 supports
all the new features of OpenGL 1.5. Mesa 6.0 (the next stable release)
will advertise GL_VERSION = "1.5".
Vertex/Fragment program debugger
--------------------------------
GL_MESA_program_debug is an experimental extension to support
interactive debugging of vertex and fragment programs. See the
docs/MESA_program_debug.spec file for details.
The bulk of the vertex/fragment program debugger is implemented
outside of Mesa. The GL_MESA_program_debug extension just has minimal
hooks for stopping running programs and inspecting programs.
The progs/tests/debugger.c (only in CVS) program is an example of how
the extension can be used. Presently, the debugger code and demo code
is in the same file. Eventually the debugger code should be moved
into a reusable module.
As it is now, the demo lets you set breakpoings in vertex/fragment
programs, single step, and print intermediate register values. It's
basically just a proof of concept.
Directory tree reorganization
-----------------------------
The directory structure for Mesa has been overhauled to improve its layout.
All source code for Mesa, GLU, GLUT, etc is now under the src/ directory
in appropriate subdirectories.
The Mesa source code and drivers has been reorganized under src/mesa/.
All demonstration programs and tests are now in subdirectories under progs/.
Build System Changes
--------------------
The GNU automake/autoconf support has been removed. As it was, it seldom
worked on anything but Linux. The Mesa developers aren't big fans of
automake/autoconf/libtool and didn't have the time to maintain it.
If someone wants to contribute new automake/autoconf support (and is
willing to maintain it), it may be re-incorporated into Mesa, subject
to some requirements.
The "old style" makefile system has been updated:
1. Make-config has been trimmed down to fewer, modern configurations.
2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
script that works on all sorts of systems. There are probably some
bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
Improvements/contributes are greatly appreciated.
3. The Makefile.X11 files have been cleaned up in various ways
Source File Changes
-------------------
The mmath.[ch] files are obsolete. Their contents have been moved
into the imports.[ch] and macros.[ch] files.
The files related to vertex and fragment programming have changed.
Old files:
vpexec.[ch]
vpparse.[ch]
vpstate.[ch]
New files:
program.[ch] - generic ARB/NV program code
arbprogram.[ch] - ARB program API functions
nvprogram.[ch] - NV program API functions
nvvertprog.h - NV vertex program definitions
nvfragprog.h - NV fragment program definitions
nvvertparse.[ch] - NV vertex program parser
nvfragparse.[ch] - NV fragment program parser
nvvertexec.[ch] - NV vertex program execution
swrast/s_nvfragprog.[ch] - NV fragment program execution
Removed files:
swrast/s_histogram.[ch] - moved into src/histogram.c
Other New files:
bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
version.h - defines the Mesa version info
Other Changes
-------------
The ctx->Driver.CreateTexture function has been removed - it wasn't used.
New device driver hook functions:
NewTextureObject - used to allocate struct gl_texture_objects
NewTextureImage - used to allocate struct gl_texture_images
New ctx->Texture._EnabledCoordUnits field:
With the addition of GL_NV_fragment_program we may need to interpolate
various sets of texture coordinates even when the corresponding texture
unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
called but we still may have to interpolate texture coordinates across
triangles so that the fragment program will get them.
This new field indicates which sets of texture coordinates are needed.
If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
same bit MUST be set in ctx->Texture._EnabledCoordUnits.
The ctx->_TriangleCaps field is deprecated.
Instead of testing the DD_* bits in _TriangleCaps, you should instead
directly test the relevant state variables, or use one of the helper
functions like NEED_SECONDARY_COLOR() at the bottom of context.h
While testing _TriangleCaps bits was fast, it was kludgey, and setting
the bits in the first place could be error prone.
To Do
-----
Add screen-awareness to fakeglx.c
Device Driver Status
--------------------
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DJGPP implements OpenGL 1.4
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.4
Allegro needs updating
D3D needs updating
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
----------------------------------------------------------------------

View File

@@ -1,4 +1,3 @@
$Id: VERSIONS,v 1.13 1999/09/19 20:09:00 tanner Exp $
Mesa Version History
@@ -659,3 +658,518 @@ Mesa Version History
- New library numbering: libGL.so.1.2.310
- New subdirectories: docs/ and bin/
- New Makefile-system (autoconf,automake,libtool)
3.1 final December 14, 1999
New:
- added demos/gloss.c
- added xdemos/glxdpyinfo.c
- added GLX_ARB_get_proc_address extension
- rewritten glTexImage code paths (faster, less memory, bug fixes)
Bug Fixes:
- several vertex array bug fixes
- overlapping glCopyPixels with pixel zooming now works
- glXUseXFont() bitmaps were vertically shifted by one pixel
- glCopyPixels with pixel zooming now works
3.2 final April 24, 2000
Bug fixes:
- fixed memcpy bugs in span.c
- fixed missing glEnd problem in demos/tessdemo.c
- fixed bug when clearing 24bpp Ximages
- fixed clipping problem found in Unreal Tournament
- fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
- fixed Loki's 3dfx RGB vs BGR bug
- fixed Loki's 3dfx smooth/flat shading bug in SoF
Changes:
- updated docs/README file
- use bcopy() optimizations on FreeBSD
- re-enabled the optimized persp_textured_triangle() function
3.2.1 July 19, 2000
Bug fixes:
- gluBuild2DMipmaps() didn't accept GL_BGRA
- Fixed compile/makefile problems on IRIX
- fixed segfault in 3dfx driver when using GL selection/feedback
- no longer cull very, very tiny triangles
- blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering)
- fixed Motif detection code in widgets-mesa/configure.in
- glColorMaterial and glMaterial updates to emissive and ambient
didn't always work right
- Specular highlights weren't always in the right place
- clipped GL_LINE mode polygons had interior lines appear
- blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken
- GL_NICEST fog didn't always work with flat shading
- glRect commands in display lists were sometimes miscolored
- Line Z offset didn't always work
- fixed texgen normal vector problem (gloss's teapot)
- numerous GL conformance bugs fixed
Changes:
- glColorMask(false, false, false, false) handled better/faster
- reverted to old GLU polygon tessellator, GLU 1.1
- updated Win32 build files
3.3 July 21, 2000
New:
- antialiased triangles now implemented
- GL_EXT_texture_env_add texture mode extension
- GLX 1.3 API
- support for separate draw/read buffers (ie GL_SGI_make_current_read)
- thread-safe API dispath
- improved glxinfo program
- demos/texdown program to measure texture download performance
- glext.h header file
- demos/geartrain program
- GL_EXT_texture_lod_bias extension
- demos/lodbias program
- further optimized glRead/DrawPixels for 16-bit TrueColor X visuals
- GLX_EXT_visual_rating extension (a no-op, however)
- GL_HP_occlusion_test extension (for X and OS/Mesa drivers)
- demos/occlude program
- GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions
- demos/pixeltex program
- GL_SGI_color_matrix extension
- GL_SGI_color_table extension
- GL_EXT_histogram extension
- GL_ARB_texture_cube_map extension
- added xdemos/glxheads and xdemos/manywin
- demos/texenv.c demo
- GL_EXT_texture_env_combine extension (by Holger Waechtler)
- Xlib driver is now thread-safe (see xdemos/glthreads)
Bug Fixes:
- various GL conformance failures fixed since 3.2.1
Changes:
- gl.h now uses #defines instead of C enums for all tokens
- glu.h now uses #defines instead of C enums for all tokens
- moved programs from 3Dfx/demos/ into demos/ directory
3.4 November 3, 2000
New:
- optimized glDrawPixels for glPixelZoom(1,-1)
Bug Fixes:
- widgets-mesa/src/*.c files were missing from 3.3 distro
- include/GL/mesa_wgl.h file was missing from 3.3 distro
- fixed some Win32 compile problems
- texture object priorities weren't getting initialized to 1.0
- glAreTexturesResident return value was wrong when using hardware
- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
- glReadPixels with GLushort packed types was broken
- fixed a few bugs in the GL_EXT_texture_env_combine texture code
- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
- fixed some typos/bugs in the VB code
- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
- optimized glDrawPixels paths weren't being used
- per-fragment fog calculation didn't work without a Z buffer
- improved blending accuracy, fixes Glean blendFunc test failures
- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
- glXGetProcAddressARB() didn't always return the right address
- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
- texture matrix changes weren't always detected (GLUT projtex demo)
- fixed random color problem in vertex fog code
- fixed Glide-related bug that let Quake get a 24-bit Z buffer
Changes:
- finished internal support for compressed textures for DRI
3.4.1 February 14, 2001
New:
- fixed some Linux build problems
- fixed some Windows build problems
- GL_EXT_texture_env_dot3 extension (Gareth Hughes)
Bug fixes:
- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
- various state-update code changes needed for DRI bugs
- disabled pixel transfer ops in glColorTable commands, not needed
- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
- updated sources and fixed compile problems in widgets-mesa/
- GLX_PBUFFER enum value was wrong in glx.h
- fixed a glColorMaterial lighting bug
- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
- glXCopySubBufferMESA() Y position was off by one
- Error checking of glTexSubImage3D() was broken (bug 128775)
- glPopAttrib() didn't restore all derived Mesa state correctly
- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
conformance problems at 16bpp.
- clearing depth buffer with scissoring was broken, would segfault
- OSMesaGetDepthBuffer() returned bad bytesPerValue value
- fixed a line clipping bug (reported by Craig McDaniel)
- fixed RGB color over/underflow bug for very tiny triangles
Known problems:
- NURBS or evaluator surfaces inside display lists don't always work
3.4.2 May 17, 2001
Bug fixes:
- deleting the currently bound texture could cause bad problems
- using fog could result in random vertex alpha values
- AA triangle rendering could touch pixels outside right window bound
- fixed byteswapping problem in clear_32bit_ximage() function
- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
- fixed memory leak in glXUseXFont()
- fragment sampling in AA triangle function was off by 1/2 pixel
- Windows: reading pixels from framebuffer didn't always work
- glConvolutionFilter2D could segfault or cause FP exception
- fixed segfaults in FX and X drivers when using tex unit 1 but not 0
- GL_NAND logicop didn't work right in RGBA mode
- fixed a memory corruption bug in vertex buffer reset code
- clearing the softwara alpha buffer with scissoring was broken
- fixed a few color index mode fog bugs
- fixed some bad assertions in color index mode
- fixed FX line 'stipple' bug #420091
- fixed stencil buffer clear width/height typo
- fixed GL error glitches in gl[Client]ActiveTextureARB()
- fixed Windows compilation problem in texutil.c
- fixed 1/8-pixel AA triangle sampling error
Changes:
- optimized writing mono-colored pixel spans to X pixmaps
- increased max viewport size to 2048 x 2048
3.5 June 21, 2001
New:
- internals of Mesa divided into modular pieces (Keith Whitwell)
- 100% OpenGL 1.2 conformance (passes all conformance tests)
- new AA line algorithm
- GL_EXT_convolution extension
- GL_ARB_imaging subset
- OSMesaCreateContextExt() function
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
- GL_EXT_fog_coord extension (Keith Whitwell)
- GL_EXT_secondary_color extension (Keith Whitwell)
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_SGIX_depth_texture extension
- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
- GL_ARB_texture_env_combine extension
- GL_ARB_texture_env_dot3 extension
- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
- OSMesaCreateContextExt() function
- libOSMesa.so library, contains the OSMesa driver interface
- GL/glxext.h header file for GLX extensions
- somewhat faster software texturing, fogging, depth testing
- all color-index conformance tests now pass (only 8bpp tested)
- SPARC assembly language TCL optimizations (David Miller)
- GL_SGIS_generate_mipmap extension
Bug Fixes:
- fbiRev and tmuRev were unitialized when using Glide3
- fixed a few color index mode conformance failures; all pass now
- now appling antialiasing coverage to alpha after texturing
- colors weren't getting clamped to [0,1] before color table lookup
- fixed RISC alignment errors caused by COPY_4UBV macro
- drawing wide, flat-shaded lines could cause a segfault
- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
Changes:
- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
- new libOSMesa.so library, contains the OSMesa driver interface
4.0 October 22, 2001
New:
- Mesa 4.0 implements the OpenGL 1.3 specification
- GL_IBM_rasterpos_clip extension
- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
- GL_ARB_texture_mirrored_repeat extension
- WindML UGL driver (Stephane Raimbault)
- added OSMESA_MAX_WIDTH/HEIGHT queries
- attempted compiliation fixes for Solaris 5, 7 and 8
- updated glext.h and glxext.h files
- updated Windows driver (Karl Schultz)
Bug fixes:
- added some missing GLX 1.3 tokens to include/GL/glx.h
- GL_COLOR_MATRIX changes weren't recognized by teximage functions
- glCopyPixels with scale and bias was broken
- glRasterPos with lighting could segfault
- glDeleteTextures could leave a dangling pointer
- Proxy textures for cube maps didn't work
- fixed a number of 16-bit color channel bugs
- fixed a few minor memory leaks
- GLX context sharing was broken in 3.5
- fixed state-update bugs in glPopClientAttrib()
- fixed glDrawRangeElements() bug
- fixed a glPush/PopAttrib() bug related to texture binding
- flat-shaded, textured lines were broken
- fixed a dangling pointer problem in the XMesa code (Chris Burghart)
- lighting didn't always produce the correct alpha value
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
4.0.1 December 17, 2001
New:
- better sub-pixel sample positions for AA triangles (Ray Tice)
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
Bug fixes:
- added missing break statements in glGet*() for multisample cases
- fixed uninitialized hash table mutex bug (display lists / texobjs)
- fixed bad teximage error check conditional (bug 476846)
- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
- silence some compiler warnings (gcc 2.96)
- enable the #define GL_VERSION_1_3 in GL/gl.h
- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
- fixed glu.h typedef problem found with MSDev 6.0
- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
- added missing 'const' to glXGetContextIDEXT() in glxext.h
- fixed a few glXGetProcAddress() errors (texture compression, etc)
- fixed start index bug in compiled vertex arrays (Keith)
- fixed compilation problems in src/SPARC/glapi_sparc.S
- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
- use glXGetProcAddressARB in GLUT to avoid extension linking problems
- provoking vertex of flat-shaded, color-index triangles was wrong
- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
- glTexParameter didn't flush the vertex buffer (Ray Tice)
- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
- fixed bug in normal length caching (ParaView lighting bug)
- fixed separate_specular color bug found in Chimera (18 Dec 2001)
4.0.2 April 2, 2002
New:
- New DOS (DJGPP) driver written by Daniel Borca
- New driver interface functions for TCL drivers (such as Radeon DRI)
- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
if using deep color channels
- latest GL/glext.h and GL/glxext.h headers from SGI
Bug fixes:
- GL_BLEND with non-black texture env color wasn't always correct
- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
- glReadPixels was sometimes mistakenly clipped by the scissor box
- glDraw/ReadPixels didn't catch all the errors that they should have
- Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
- Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
- glColorMask as sometimes effecting glXSwapBuffers()
- fixed a potential bug in XMesaGarbageCollect()
- N threads rendering into one window didn't work reliably
- glCopyPixels didn't work for deep color channels
- improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
- glPopAttrib() didn't correctly restore user clip planes
- user clip planes failed for some perspective projections (Chromium)
Known bugs:
- mipmap LOD computation
4.0.3 June 25, 2002
New:
- updated GL/glext.h file (version 15)
- corrected MMX blend code (Jose Fonseca)
- support for software-based alpha planes in Windows driver
- updated GGI driver (Filip Spacek)
Bug fixes:
- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed lighting bug with non-uniform scaling and display lists
- fixed bug when deleting shared display lists
- disabled SPARC cliptest assembly code (Mesa bug 544665)
- fixed a couple Solaris compilation/link problems
- blending clipped glDrawPixels didn't always work
- glGetTexImage() didn't accept packed pixel types
- glPixelMapu[is]v() could explode given too large of pixelmap
- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
- glXCopyContext() could lead to segfaults
- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
Changes:
- lots of C++ (g++) code clean-ups
- lots of T&L updates for the Radeon DRI driver
Known bugs:
- mipmap LOD computation (fixed for Mesa 4.1)
4.0.4 October 3, 2002
New:
- GL_NV_texture_rectangle extension
- updated glext.h header (version 17)
- updated DOS driver (Daniel Borca)
- updated BeOS R5 driver (Philippe Houdoin)
- added GL_IBM_texture_mirror_repeat
- glxinfo now takes -l option to print interesting OpenGL limits info
- GL_MESA_ycbcr_texture extension
- GL_APPLE_client_storage extension (for some DRI drivers only)
- GL_MESA_pack_invert extension
Bug fixes:
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx MESA_GLX_FX=window (render to window) didn't work
- fixed memory leak in wglCreateContest (Karl Schultz)
- define GLAPIENTRY and GLAPI if undefined in glu.h
- wglGetProcAddress didn't handle all API functions
- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
- error checking in compressed tex image functions had some glitches
- fixed AIX compile problem in src/config.c
- glGetTexImage was using pixel unpacking instead of packing params
- auto-mipmap generation for cube maps was incorrect
Changes:
- max texture units reduced to six to accomodate texture rectangles
- removed unfinished GL_MESA_sprite_point extension code
4.1 October 29, 2002
New:
- GL_NV_vertex_program extension
- GL_NV_vertex_program1_1 extension
- GL_ARB_window_pos extension
- GL_ARB_depth_texture extension
- GL_ARB_shadow extension
- GL_ARB_shadow_ambient extension
- GL_EXT_shadow_funcs extension
- GL_ARB_point_parameters extension
- GL_ARB_texture_env_crossbar
- GL_NV_point_sprite extension
- GL_NV_texture_rectangle extension
- GL_EXT_multi_draw_arrays extension
- GL_EXT_stencil_two_side extension
- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
- GL_ATI_texture_mirror_once extension (Ian Romanick)
- massive overhaul/simplification of software rasterizer module,
many contributions from Klaus Niederkrueger
- faster software texturing in some cases (i.e. trilinear filtering)
- new OSMesaGetProcAddress() function
- more blend modes implemented with MMX code (Jose Fonseca)
- added glutGetProcAddress() to GLUT
- added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
- pbinfo and pbdemo PBuffer programs
- glxinfo -v prints transprent pixel info (Gerd Sussner)
Bug fixes:
- better mipmap LOD computation (prevents excessive blurriness)
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
- clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma)
- fixed divide by zero error in NURBS tessellator (Jon Perry)
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx/glide driver render-to-window feature was broken
- added missing GLX_TRANSPARENT_RGB token to glx.h
- fixed error checking related to paletted textures
- fixed reference count error in glDeleteTextures (Randy Fayan)
Changes:
- New spec file and Python code to generate some GL dispatch files
- Glide driver defaults to "no" with autoconf/automake
- updated demos/stex3d with new options
5.0 November 13, 2002
New:
- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
- removed some overlooked debugging code
- glxinfo updated to support GLX_ARB_multisample
- GLUT now support GLX_ARB_multisample
- updated DOS driver (Daniel Borca)
Bug fixes:
- GL_POINT and GL_LINE-mode polygons didn't obey cull state
- fixed potential bug in _mesa_align_malloc/calloc()
- fixed missing triangle bug when running vertex programs
- fixed a few HPUX compilation problems
- FX (Glide) driver didn't compile
- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
- a few EXT functions, like glGenTexturesEXT, were no-ops
- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
glMultiDrawArrays and glMultiDrawElements were missing
- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
- Pentium 4 Mobile was mistakenly identified as having 3DNow!
- fixed one-bit error in point/line fragment Z calculation
- fixed potential segfault in fakeglx code
- fixed color overflow problem in DOT3 texture env mode
5.0.1 March 30, 2003
New:
- DOS driver updates from Daniel Borca
- updated GL/gl_mangle.h file (Bill Hoffman)
Bug fixes:
- auto mipmap generation for cube maps was broken (bug 641363)
- writing/clearing software alpha channels was unreliable
- minor compilation fixes for OS/2 (Evgeny Kotsuba)
- fixed some bad assertions found with shadowtex demo
- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
- fixed potential segfault in texture object validation (bug 659012)
- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
- fixed compilation problem on Solaris7/x86 (bug 536406)
- fixed prefetch bug in 3DNow! code (Felix Kuhling)
- fixed NeXT build problem (FABSF macro)
- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
- AA line and triangle Z values are now rounded, not truncated
- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
- fixed a minor GL_COLOR_MATERIAL bug
- NV vertex program EXP instruction was broken
- glColorMask misbehaved with X window / pixmap rendering
- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
- attempt to fix GGI compilation problem when MesaDemos not present
- NV vertex program ARL-relative fetches didn't work
Changes:
- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
- updated winpos and pointblast demos to use ARB extensions
- disable SPARC normal transformation code (bug 673938)
- GLU fixes for OS/2 (Evgeny Kotsuba)
5.0.2 September 5, 2003
Bug fixes:
- fixed texgen problem causing texcoord's Q to be zero (stex3d)
- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
- GL_CURRENT_MATRIX_NV query was wrong
- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
- GL_LIST_MODE query wasn't correct
- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
- blended, wide lines didn't always work correctly (bug 711595)
- glVertexAttrib4svNV w component was always 1
- fixed bug in GL_IBM_rasterpos_clip (missing return)
- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
- a few Solaris compilation fixes
- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
- glFog() didn't clamp fog colors
- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
gl[Get]TexParameteri[v] functions
- fixed invalid memory references in glTexGen functions (bug 781602)
- integer-valued color arrays weren't handled correctly
- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
Changes:
- build GLUT with -fexceptions so C++ apps propogate exceptions
5.1 Month day, 2003 (NOT RELEASED YET)
New:
- reorganized directory tree
- GL_ATI_texture_env_combine3 extension (Ian Romanick)
- GL_SGI_texture_color_table extension (Eric Plante)
- GL_NV_fragment_program extension
- GL_NV_light_max_exponent extension
- GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
- GL_ARB_occlusion_query extension
- GL_ARB_point_sprite extension
- GL_ARB_texture_non_power_of_two extension
- GL_IBM_multimode_draw_arrays extension
- GL_EXT_texture_mirror_clamp extension (Ian Romanick)
- GL_ARB_vertex_buffer_object extension
- new X86 feature detection code (Petr Sebor)
- less memory used for display lists and vertex buffers
- demo of per-pixel lighting with a fragment program (demos/fplight.c)
- new version (18) of glext.h header
Bug fixes:
- really enable OpenGL 1.4 features in DOS driver.
- fixed issues in glDrawPixels and glCopyPixels for very wide images
- glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
Changes:
- dropped API trace feature (src/Trace/)
- documentation overhaul. merged with website content. more html.
- glxgears.c demo updated to use GLX swap rate extensions
- glTexImage1/2/3D now allows width/height/depth = 0

15
docs/banner.html Normal file
View File

@@ -0,0 +1,15 @@
<HTML>
<title>Banner</title>
<body text="#ffffff" bgcolor="#aa4444">
<center>
<p>
<font size="5">The Mesa 3D Graphics Library</font>
</p>
</center>
</body>
</html>

35
docs/bugs.html Normal file
View File

@@ -0,0 +1,35 @@
<HTML>
<TITLE>Mesa Bug Reporting</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Bug Database</H1>
<p>
Bug reports can be filed in the <a
href="http://sourceforge.net/bugs/?group_id=3" target="_parent">Bug
Database</a> on sourceforge.net. Please follow these guidelines:
</p>
<ul>
<li>Make sure you're using the most recent version of Mesa
<li>Make sure your bug isn't already reported
<li>Include as much information as possible in the report
<li>Provide a simple GLUT-based test program if possible
<li>Check back for follow-ups to the report
</ul>
<p>
Bug reports will automatically be forwarded to the Mesa developer's list.
</p>
<p>
The easier a bug is to reproduce, the sooner it will be fixed.
Please do everything you can to facilitate quickly fixing bugs.
If your bug report is vague or your test program doesn't compile
easily, the problem may not be fixed very quickly.
</p>
</BODY>
</HTML>

693
docs/conform.html Normal file
View File

@@ -0,0 +1,693 @@
<HTML>
<TITLE>Conformance</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Conformance</H1>
<p>
The SGI OpenGL conformance tests verify correct operation of OpenGL
implementations. I, Brian Paul, have been given a copy of the tests
for testing Mesa. The tests are not publically available.
</p>
<p>
This file has the latest results of testing Mesa with the OpenGL 1.2
conformance tests. Testing with the preliminary OpenGL 1.3 tests has
also been done. Mesa passes all the 1.3 tests.
</p>
<p>
The tests were run using the software X11 device driver on 24-bpp
and 16-bpp displays.
</p>
<p>
Mesa 4.0 and later pass all conformance tests at all path levels.
Note that this says nothing about the conformance of hardware drivers
based upon Mesa.
</p>
<pre>
COVERAGE TESTS
--------------
Test that all API functions accept the legal parameters and reject
illegal parameters. The result of each test is either pass or fail.
% covgl
OpenGL Coverage Test.
Version 1.2
covgl passed.
covgl passed at 1.1 level.
covgl passed at 1.2 level.
covgl passed for ARB_multitexture.
% covglu
OpenGL GLU Coverage Test.
Version 1.3
covglu passed.
covglu passed at 1.1 level.
% covglx
OpenGL X Coverage Test.
Version 1.1.1
covglx passed.
% primtest -v
Open GL Primitives Test.
Version 1.2
[lots of output deleted]
292159 Combinations.
primtest passed.
GL CONFORMANCE TEST
===================
Render test images, read them back, then test for expected results.
----------------------------------------------------------------------
% conform -v 2
OpenGL Conformance Test
Version 1.2
Setup Report.
Verbose level = 2.
Random number seed = 1.
Path inactive.
Visual Report.
Display ID = 35. Indirect Rendering.
Double Buffered.
RGBA (5, 6, 5, 0).
Stencil (8).
Depth (16).
Accumulation (16, 16, 16, 16).
Epsilon Report.
zero error epsilon = 0.000122.
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
Depth buffer error epsilon = 0.000137.
Stencil plane error epsilon = 0.00404.
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
Default State test passed.
Must Pass test passed.
Divide By Zero test passed.
Viewport Clamp test passed.
Matrix Stack test passed.
Matrix Stack Mixing test passed.
Vertex Order test passed.
Transformations test passed.
Transformation Normal test passed.
Viewport Transformation test passed.
Buffer Clear test passed.
Buffer Corners test passed.
Buffer Color test passed.
Color Ramp test passed.
Mask test passed.
Buffer Invariance test passed.
Accumulation Buffer test passed.
Select test passed.
Feedback test passed.
Scissor test passed.
Alpha Plane Function test passed.
Stencil Plane Clear test passed.
Stencil Plane Corners test passed.
Stencil Plane Operation test passed.
Stencil Plane Function test passed.
Depth Buffer Clear test passed.
Depth Buffer Function test passed.
Blend test passed.
Dither test passed.
LogicOp Function test does not exist for an RGB visual.
DrawPixels test passed.
CopyPixels test passed.
Bitmap Rasterization test passed.
Point Rasterization test passed.
Anti-aliased Point test passed.
Line Rasterization test passed.
Line Stipple test passed.
Anti-aliased Line test passed.
Horizontal and Vertical Line test passed.
Triangle Rasterization test passed.
Triangle Tile test passed.
Triangle Stipple test passed.
Anti-aliased Triangles test passed.
Quad Rasterization test passed.
Polygon Face test passed.
Polygon Cull test passed.
Polygon Stipple test passed.
Polygon Edge test passed.
Ambient Material test passed.
Ambient Scene test passed.
Attenuation Position test passed.
Diffuse Light test passed.
Diffuse Material test passed.
Diffuse Material Normal test passed.
Diffuse Material Positioning test passed.
Emissive Material test passed.
Specular Exponent test passed.
Specular Exponent Normal test passed.
Specular Local Eye Half Angle test passed.
Specular Light test passed.
Specular Material test passed.
Specular Normal test passed.
Spot Positioning test passed.
Spot Exponent and Positioning test passed.
Spot Exponent and Direction test passed.
Fog Exponential test passed.
Fog Linear test passed.
Texture Decal test passed.
Texture Border test passed.
Mipmaps Selection test passed.
Mipmaps Interpolation test passed.
Display Lists test passed.
Evaluator test passed.
Evaluator Color test passed.
Texture Edge Clamp test passed.
Packed Pixels test passed.
Texture LOD test passed.
Rescale Normal test passed.
Color Table test passed.
Convolution test passed.
Convolution Border test passed.
Histogram test passed.
MinMax test passed.
MultiTexture test passed.
Conform passed.
----------------------------------------------------------------------
% conform -v 2 -p 1
OpenGL Conformance Test
Version 1.2
Setup Report.
Verbose level = 2.
Random number seed = 1.
Path level = 1.
Visual Report.
Display ID = 35. Indirect Rendering.
Double Buffered.
RGBA (5, 6, 5, 0).
Stencil (8).
Depth (16).
Accumulation (16, 16, 16, 16).
Epsilon Report.
zero error epsilon = 0.000122.
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
Depth buffer error epsilon = 0.000137.
Stencil plane error epsilon = 0.00404.
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
Default State test passed.
Must Pass test passed.
Divide By Zero test passed.
Viewport Clamp test passed.
Matrix Stack test passed.
Matrix Stack Mixing test passed.
Vertex Order test passed.
Transformations test passed.
Transformation Normal test passed.
Viewport Transformation test passed.
Buffer Clear test passed.
Buffer Corners test passed.
Buffer Color test passed.
Color Ramp test passed.
Mask test passed.
Buffer Invariance test passed.
Accumulation Buffer test passed.
Select test passed.
Feedback test passed.
Scissor test passed.
Alpha Plane Function test passed.
Stencil Plane Clear test passed.
Stencil Plane Corners test passed.
Stencil Plane Operation test passed.
Stencil Plane Function test passed.
Depth Buffer Clear test passed.
Depth Buffer Function test passed.
Blend test passed.
Dither test passed.
LogicOp Function test does not exist for an RGB visual.
DrawPixels test passed.
CopyPixels test passed.
Bitmap Rasterization test passed.
Point Rasterization test passed.
Anti-aliased Point test passed.
Line Rasterization test passed.
Line Stipple test passed.
Anti-aliased Line test passed.
Horizontal and Vertical Line test passed.
Triangle Rasterization test passed.
Triangle Tile test passed.
Triangle Stipple test passed.
Anti-aliased Triangles test passed.
Quad Rasterization test passed.
Polygon Face test passed.
Polygon Cull test passed.
Polygon Stipple test passed.
Polygon Edge test passed.
Ambient Material test passed.
Ambient Scene test passed.
Attenuation Position test passed.
Diffuse Light test passed.
Diffuse Material test passed.
Diffuse Material Normal test passed.
Diffuse Material Positioning test passed.
Emissive Material test passed.
Specular Exponent test passed.
Specular Exponent Normal test passed.
Specular Local Eye Half Angle test passed.
Specular Light test passed.
Specular Material test passed.
Specular Normal test passed.
Spot Positioning test passed.
Spot Exponent and Positioning test passed.
Spot Exponent and Direction test passed.
Fog Exponential test passed.
Fog Linear test passed.
Texture Decal test passed.
Texture Border test passed.
Mipmaps Selection test passed.
Mipmaps Interpolation test passed.
Display Lists test passed.
Evaluator test passed.
Evaluator Color test passed.
Texture Edge Clamp test passed.
Packed Pixels test passed.
Texture LOD test passed.
Rescale Normal test passed.
Color Table test passed.
Convolution test passed.
Convolution Border test passed.
Histogram test passed.
MinMax test passed.
MultiTexture test passed.
Conform passed.
----------------------------------------------------------------------
% conform -v 2 -p 2
OpenGL Conformance Test
Version 1.2
Setup Report.
Verbose level = 2.
Random number seed = 1.
Path level = 2.
Visual Report.
Display ID = 35. Indirect Rendering.
Double Buffered.
RGBA (5, 6, 5, 0).
Stencil (8).
Depth (16).
Accumulation (16, 16, 16, 16).
Epsilon Report.
zero error epsilon = 0.000122.
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
Depth buffer error epsilon = 0.000137.
Stencil plane error epsilon = 0.00404.
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
Default State test passed.
Must Pass test passed.
Divide By Zero test passed.
Viewport Clamp test passed.
Matrix Stack test passed.
Matrix Stack Mixing test passed.
Vertex Order test passed.
Transformations test passed.
Transformation Normal test passed.
Viewport Transformation test passed.
Buffer Clear test passed.
Buffer Corners test passed.
Buffer Color test passed.
Color Ramp test passed.
Mask test passed.
Buffer Invariance test passed.
Accumulation Buffer test passed.
Select test passed.
Feedback test passed.
Scissor test passed.
Alpha Plane Function test passed.
Stencil Plane Clear test passed.
Stencil Plane Corners test passed.
Stencil Plane Operation test passed.
Stencil Plane Function test passed.
Depth Buffer Clear test passed.
Depth Buffer Function test passed.
Blend test passed.
Dither test passed.
LogicOp Function test does not exist for an RGB visual.
DrawPixels test passed.
CopyPixels test passed.
Bitmap Rasterization test passed.
Point Rasterization test passed.
Anti-aliased Point test passed.
Line Rasterization test passed.
Line Stipple test passed.
Anti-aliased Line test passed.
Horizontal and Vertical Line test passed.
Triangle Rasterization test passed.
Triangle Tile test passed.
Triangle Stipple test passed.
Anti-aliased Triangles test passed.
Quad Rasterization test passed.
Polygon Face test passed.
Polygon Cull test passed.
Polygon Stipple test passed.
Polygon Edge test passed.
Ambient Material test passed.
Ambient Scene test passed.
Attenuation Position test passed.
Diffuse Light test passed.
Diffuse Material test passed.
Diffuse Material Normal test passed.
Diffuse Material Positioning test passed.
Emissive Material test passed.
Specular Exponent test passed.
Specular Exponent Normal test passed.
Specular Local Eye Half Angle test passed.
Specular Light test passed.
Specular Material test passed.
Specular Normal test passed.
Spot Positioning test passed.
Spot Exponent and Positioning test passed.
Spot Exponent and Direction test passed.
Fog Exponential test passed.
Fog Linear test passed.
Texture Decal test passed.
Texture Border test passed.
Mipmaps Selection test passed.
Mipmaps Interpolation test passed.
Display Lists test passed.
Evaluator test passed.
Evaluator Color test passed.
Texture Edge Clamp test passed.
Packed Pixels test passed.
Texture LOD test passed.
Rescale Normal test passed.
Color Table test passed.
Convolution test passed.
Convolution Border test passed.
Histogram test passed.
MinMax test passed.
MultiTexture test passed.
Conform passed.
----------------------------------------------------------------------
% conform -v 2 -p 3
OpenGL Conformance Test
Version 1.2
Setup Report.
Verbose level = 2.
Random number seed = 1.
Path level = 3.
Visual Report.
Display ID = 35. Indirect Rendering.
Double Buffered.
RGBA (5, 6, 5, 0).
Stencil (8).
Depth (16).
Accumulation (16, 16, 16, 16).
Epsilon Report.
zero error epsilon = 0.000122.
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
Depth buffer error epsilon = 0.000137.
Stencil plane error epsilon = 0.00404.
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
Default State test passed.
Must Pass test passed.
Divide By Zero test passed.
Viewport Clamp test passed.
Matrix Stack test passed.
Matrix Stack Mixing test passed.
Vertex Order test passed.
Transformations test passed.
Transformation Normal test passed.
Viewport Transformation test passed.
Buffer Clear test passed.
Buffer Corners test passed.
Buffer Color test passed.
Color Ramp test passed.
Mask test passed.
Buffer Invariance test passed.
Accumulation Buffer test passed.
Select test passed.
Feedback test passed.
Scissor test passed.
Alpha Plane Function test passed.
Stencil Plane Clear test passed.
Stencil Plane Corners test passed.
Stencil Plane Operation test passed.
Stencil Plane Function test passed.
Depth Buffer Clear test passed.
Depth Buffer Function test passed.
Blend test passed.
Dither test passed.
LogicOp Function test does not exist for an RGB visual.
DrawPixels test passed.
CopyPixels test passed.
Bitmap Rasterization test passed.
Point Rasterization test passed.
Anti-aliased Point test passed.
Line Rasterization test passed.
Line Stipple test passed.
Anti-aliased Line test passed.
Horizontal and Vertical Line test passed.
Triangle Rasterization test passed.
Triangle Tile test passed.
Triangle Stipple test passed.
Anti-aliased Triangles test passed.
Quad Rasterization test passed.
Polygon Face test passed.
Polygon Cull test passed.
Polygon Stipple test passed.
Polygon Edge test passed.
Ambient Material test passed.
Ambient Scene test passed.
Attenuation Position test passed.
Diffuse Light test passed.
Diffuse Material test passed.
Diffuse Material Normal test passed.
Diffuse Material Positioning test passed.
Emissive Material test passed.
Specular Exponent test passed.
Specular Exponent Normal test passed.
Specular Local Eye Half Angle test passed.
Specular Light test passed.
Specular Material test passed.
Specular Normal test passed.
Spot Positioning test passed.
Spot Exponent and Positioning test passed.
Spot Exponent and Direction test passed.
Fog Exponential test passed.
Fog Linear test passed.
Texture Decal test passed.
Texture Border test passed.
Mipmaps Selection test passed.
Mipmaps Interpolation test passed.
Display Lists test passed.
Evaluator test passed.
Evaluator Color test passed.
Texture Edge Clamp test passed.
Packed Pixels test passed.
Texture LOD test passed.
Rescale Normal test passed.
Color Table test passed.
Convolution test passed.
Convolution Border test passed.
Histogram test passed.
MinMax test passed.
MultiTexture test passed.
Conform passed.
----------------------------------------------------------------------
% conform -v 2 -p 4
OpenGL Conformance Test
Version 1.2
Setup Report.
Verbose level = 2.
Random number seed = 1.
Path level = 4.
Visual Report.
Display ID = 35. Indirect Rendering.
Double Buffered.
RGBA (5, 6, 5, 0).
Stencil (8).
Depth (16).
Accumulation (16, 16, 16, 16).
Epsilon Report.
zero error epsilon = 0.000122.
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
Depth buffer error epsilon = 0.000137.
Stencil plane error epsilon = 0.00404.
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
Default State test passed.
Must Pass test passed.
Divide By Zero test passed.
Viewport Clamp test passed.
Matrix Stack test passed.
Matrix Stack Mixing test passed.
Vertex Order test passed.
Transformations test passed.
Transformation Normal test passed.
Viewport Transformation test passed.
Buffer Clear test passed.
Buffer Corners test passed.
Buffer Color test passed.
Color Ramp test passed.
Mask test passed.
Buffer Invariance test passed.
Accumulation Buffer test passed.
Select test passed.
Feedback test passed.
Scissor test passed.
Alpha Plane Function test passed.
Stencil Plane Clear test passed.
Stencil Plane Corners test passed.
Stencil Plane Operation test passed.
Stencil Plane Function test passed.
Depth Buffer Clear test passed.
Depth Buffer Function test passed.
Blend test passed.
Dither test passed.
LogicOp Function test does not exist for an RGB visual.
DrawPixels test passed.
CopyPixels test passed.
Bitmap Rasterization test passed.
Point Rasterization test passed.
Anti-aliased Point test passed.
Line Rasterization test passed.
Line Stipple test passed.
Anti-aliased Line test passed.
Horizontal and Vertical Line test passed.
Triangle Rasterization test passed.
Triangle Tile test passed.
Triangle Stipple test passed.
Anti-aliased Triangles test passed.
Quad Rasterization test passed.
Polygon Face test passed.
Polygon Cull test passed.
Polygon Stipple test passed.
Polygon Edge test passed.
Ambient Material test passed.
Ambient Scene test passed.
Attenuation Position test passed.
Diffuse Light test passed.
Diffuse Material test passed.
Diffuse Material Normal test passed.
Diffuse Material Positioning test passed.
Emissive Material test passed.
Specular Exponent test passed.
Specular Exponent Normal test passed.
Specular Local Eye Half Angle test passed.
Specular Light test passed.
Specular Material test passed.
Specular Normal test passed.
Spot Positioning test passed.
Spot Exponent and Positioning test passed.
Spot Exponent and Direction test passed.
Fog Exponential test passed.
Fog Linear test passed.
Texture Decal test passed.
Texture Border test passed.
Mipmaps Selection test passed.
Mipmaps Interpolation test passed.
Display Lists test passed.
Evaluator test passed.
Evaluator Color test passed.
Texture Edge Clamp test passed.
Packed Pixels test passed.
Texture LOD test passed.
Rescale Normal test passed.
Color Table test passed.
Convolution test passed.
Convolution Border test passed.
Histogram test passed.
MinMax test passed.
MultiTexture test passed.
Conform passed.
GLX CONFORMANCE TEST
====================
% conformx -v 2
OpenGL X Conformance Test
Version 1.1.1
Setup Report.
Verbose level = 2.
Random number seed = 1.
Path inactive.
Visual Report.
Display ID = 34. Direct Rendering.
Double Buffered.
RGBA (8, 8, 8, 0).
Stencil (8).
Depth (16).
Accumulation (16, 16, 16, 16).
Epsilon Report.
zero error epsilon = 0.000122.
RGBA error epsilon = 0.00404, 0.00404, 0.00404, 0.000122.
Depth buffer error epsilon = 0.000137.
Stencil plane error epsilon = 0.00404.
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
Default State test passed.
glReadPixels() test passed.
Font test passed.
Conformx passed.
</pre>
NOTE: conformx passes for all machine path levels (-p option).
</body>
</html>

78
docs/contents.html Normal file
View File

@@ -0,0 +1,78 @@
<html>
<title>Contents</title>
<body text="#ffffff" bgcolor="#119955" link="#ffffff" vlink="#dddddd" alink="#ffffff">
<b>Documentation</b>
<ul>
<li><a href="intro.html" target="MainFrame">Introduction</a>
<li><a href="news.html" target="MainFrame">News</a>
<li><a href="systems.html" target="MainFrame">Platforms and Drivers</a>
<li><a href="license.html" target="MainFrame">License & Copyright</a>
<li><a href="faq.html" target="MainFrame">FAQ</a>
<li><a href="VERSIONS" target="MainFrame">Version History</a>
<li><a href="relnotes.html" target="MainFrame">Release Notes</a>
<li><a href="thanks.html" target="MainFrame">Acknowledgements</a>
<li><a href="conform.html" target="MainFrame">Conformance Testing</a>
<li>more docs below...
</ul>
<b>Download / Install</b>
<ul>
<li><a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">Stable Release (5.0.2)</a>
<li><a href="download.html" target="MainFrame">Downloading/Unpacking</a>
<li><a href="install.html" target="MainFrame">Compilation/Installation</a>
<li><a href="glu.html" target="MainFrame">SGI's GLU</a>
</ul>
<b>Resources</b>
<ul>
<li><a href="lists.html" target="MainFrame">Mailing Lists</a>
<li><a href="bugs.html" target="MainFrame">Bug Database</a>
<li><a href="webmaster.html" target="MainFrame">Webmaster</a>
</ul>
<b>User Topics</b>
<ul>
<LI><A HREF="envvars.html" target="MainFrame">Environment Variables</A>
<LI><A HREF="osmesa.html" target="MainFrame">Off-Screen Rendering</A>
<LI><A HREF="pbuffers.html" target="MainFrame">Pbuffer Rendering</A>
<LI><A HREF="debugging.html" target="MainFrame">Debugging Tips</A>
<LI><A HREF="perf.html" target="MainFrame">Performance Tips</A>
<LI><A HREF="extensions.html" target="MainFrame">Mesa Extensions</A>
<LI><A HREF="mangling.html" target="MainFrame">Function Name Mangling</A>
</ul>
<b>Developer Topics</b>
<ul>
<li><a href="http://sourceforge.net/projects/mesa3d" target="_parent">SourceForge homepage</a>
<li><a href="cvs_branches.html" target="MainFrame">CVS Branch Info</a>
<li><a href="cvs_anonymous.html" target="MainFrame">Anonymous CVS Access</a>
<li><a href="utilities.html" target="MainFrame">Utilities</a>
<li><a href="helpwanted.html" target="MainFrame">Help Wanted</a>
<li><a href="devinfo.html" target="MainFrame">Development Notes</a>
<li><a href="sourcedocs.html" target="MainFrame">Source Documentation</a>
<li><a href="subset.html" target="MainFrame">Subset Information</a>
<li><a href="fbdev-dri.html" target="MainFrame">fbdev/DRI Environment</a>
<LI><A HREF="custom.html" target="MainFrame">Custom Development</A>
</ul>
<b>Links</b>
<ul>
<li><a href="http://www.opengl.org" target="_parent">OpenGL website</a>
<li><a href="http://dri.sourceforge.net" target="_parent">DRI website</a>
<li><a href="games.html" target="MainFrame">Games and Entertainment</a>
<li><a href="libraries.html" target="MainFrame">Libraries and Toolkits</a>
<li><a href="modelers.html" target="MainFrame">Modeling and Rendering</a>
<li><a href="science.html" target="MainFrame">Science and Technical</a>
<li><a href="utility.html" target="MainFrame">Utilities</a>
<li><a href="demos.html" target="MainFrame">Demos / other</a>
</ul>
<A HREF="http://sourceforge.net"
target="_parent"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
</body>
</html>

25
docs/custom.html Normal file
View File

@@ -0,0 +1,25 @@
<HTML>
<TITLE>Custom Development</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Custom Development</H1>
<p>
Mesa is primarily developed and maintained on a volunteer basis.
Some Mesa development work has been done in conjuction with contracted
projects, such as the XFree86/DRI drivers.
</p>
<p>
<pre>[Begin shameless plug]</pre>
If you have a need for specific or custom Mesa development work,
<a href="http://www.tungstengraphics.com/" target="_parent">
Tungsten Graphics, Inc.</a> may be able to help you.
<pre>[End shameless plug]</pre>
</p>
</body>
</html>

37
docs/cvs_anonymous.html Normal file
View File

@@ -0,0 +1,37 @@
<HTML>
<TITLE>Anonymous CVS</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Anonymous CVS</H1>
<p>
Anonymous, public, read-only access to the code in CVS is
available. Here are the basic instructions for Unix systems:
</p>
<ol>
<li>Install CVS client software on your computer. Version 1.9.28 is known to work.
</li><li>Login as an anonymous user: <code>cvs -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
login</code>
</li><li>Just hit return at the <code>CVS password:</code> prompt.
</li><li>Then checkout mesa: <code>cvs -z3 -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
co Mesa</code>
</li></ol>
<p>To update your Mesa CVS source to the latest CVS source:
</p><ol>
<li><code>cd Mesa</code>
</li><li><code>cvs -z3 -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
update</code>
</li></ol>
<p>You can browse the Mesa source code in CVS
<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mesa3d/">here.
</a>
</p>
</body>
</html>

59
docs/cvs_branches.html Normal file
View File

@@ -0,0 +1,59 @@
<HTML>
<TITLE>CVS Branches</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>CVS Branch Information</H1>
<p>
The Mesa3d sources are split up into two branches. A branch that is to
remain as stable as possible, and an unstable branch where development
work for new versions will be done. The current stable branch is
tagged <code>mesa_3_4_branch</code> while the unstable branch is just
the default. The goal is to adopt and even/odd stable/unstable
versioning scheme similar to the Linux kernel. Hence releases of Mesa
3.2.X should be more stable than Mesa 3.3.X.<p></p> <p>All versions of
Mesa after 3.0 will also be tagged with a branch id. Mesa 3.1 has the
tag <code>mesa_3_1</code>, Mesa 3.2 will be <code>mesa_3_2</code>,
Mesa 3.3 <code>mesa_3_3</code>, etc..</p>
<p>
To checkout a specific branch of mesa just pass <code>-r</code> and
the branch tag after your cvs command. For example <code>cvs checkout
-r mesa_3_4_branch Mesa</code> will checkout the 3.4 branch and
<code>cvs update -r mesa_3_4_branch</code> will convert your current
branch to the 3.4 dev branch.
Consult <a href="http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54"
target="_parent">http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54</a>
for more on branching in cvs.
</p>
<p>
To see a list of all the CVS branchs run <code>cvs log README</code> (or any
other file) and look for the section labeled <code>symbolic names</code>.
You'll see something like this:
</p>
<pre> symbolic names:
mesa_4_0: 1.3
mesa_4_0_branch: 1.3.0.6
mesa_3_5: 1.3
mesa_3_4_2: 1.3
mesa_3_4_1: 1.3
mesa_3_4: 1.3
mesa_3_4_branch: 1.3.0.4
mesa_3_3: 1.3
mesa_3_2_1: 1.1.1.1
mesa_3_3_texture_env_combine2: 1.3.0.2
mesa_3_2: 1.1.1.1
mesa_3_2_beta_1: 1.1.1.1
mesa_3_1: 1.1.1.1
mesa_3_2_dev: 1.1.1.1.0.2
mesa_3_1_beta_3: 1.1.1.1
start: 1.1.1.1
mesa: 1.1.1
</pre>
</body>
</html>

36
docs/debugging.html Normal file
View File

@@ -0,0 +1,36 @@
<HTML>
<TITLE>Debugging Tips</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Debugging Tips</H1>
<p>
Normally Mesa (and OpenGL) records but does not notify the user of
errors. It is up to the application to call
<code>glGetError</code> to check for errors. Mesa supports an
environment variable, MESA_DEBUG, to help with debugging. If
MESA_DEBUG is defined, a message will be printed to stdout whenever
an error occurs.
</p>
<p>
More extensive error checking is done when Mesa is compiled with the
DEBUG symbol defined. You'll have to edit the Make-config file and
add -DDEBUG to the CFLAGS line for your system configuration. You may
also want to replace any optimization flags with the -g flag so you can
use your debugger. After you've edited Make-config type 'make clean'
before recompiling.
</p>
<p>
In your debugger you can set a breakpoint in _mesa_error() to trap Mesa
errors.
</p>
<p>
There is a display list printing/debugging facility. See the end of
src/dlist.c for details.
</p>
</BODY>
</HTML>

16
docs/demos.html Normal file
View File

@@ -0,0 +1,16 @@
<HTML>
<TITLE>Demos</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Demos</H1>
<ul>
<li><a href="http://www.geocities.com/shobhand/homepage.html">Shobhan Dutta's Geartrain and Walkthrough Demos</a>
</li></ul>
</body>
</html>

230
docs/devinfo.html Normal file
View File

@@ -0,0 +1,230 @@
<HTML>
<TITLE>Development Notes</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Development Notes</H1>
<H2>Adding Extentions</H2>
<p>
To add a new GL extension to Mesa you have to do the following.
<pre>
If glext.h doesn't define the extension, edit include/GL/gl.h and add:
- new enum tokens
- new API function entry points
- #define GL_EXT_the_extension_name 1
If adding a new API function (call it glNewFunctionEXT):
- insert glNewFunctionEXT()into src/apiext.h
- edit src/types.h and add NewFunction to the gl_api_table struct
- implement gl_NewFunction() in the appropriate src file
- hook gl_NewFunction() into pointers.c
- add display list support in dlist.c for save_NewFunction()
- add glNewFunctionEXT to gl_GetProcAddress() in extensions.c or
in the device driver's GetProcAddress() function if appropriate
</pre>
<p>
If adding new GL state be sure to update get.c and enable.c
</p>
<p>
In general, look for an extension similar to the new one that's already
implemented in Mesa and follow it by example.
</p>
<H2>Coding Style</H2>
<p>
Mesa's code style has changed over the years. Here's the latest.
</p>
<p>
Comment your code! It's extremely important that open-source code be
well documented. Also, strive to write clean, easily understandable code.
</p>
<p>
3-space indentation
</p>
<p>
If you use tabs, set them to 8 columns
</p>
<p>
Brace example:
</p>
<pre>
if (condition) {
foo;
}
else {
bar;
}
</pre>
<p>
Here's the GNU indent command which will best approximate my preferred style:
</p>
<pre>
indent -br -i3 -npcs infile.c -o outfile.c
</pre>
<p>
Local variable name example: localVarName (no underscores)
</p>
<p>
Constants and macros are ALL_UPPERCASE, with _ between words
</p>
<p>
Global vars not allowed.
</p>
<p>
Function name examples:
</p>
<pre>
glFooBar() - a public GL entry point (in dispatch.c)
_mesa_FooBar() - the internal immediate mode function
save_FooBar() - retained mode (display list) function in dlist.c
foo_bar() - a static (private) function
_mesa_foo_bar() - an internal non-static Mesa function
</pre>
<H2>Writing a Device Driver</H2>
<p>
XXX to do
</p>
<H2>Making a New Mesa Release</H2>
<p>
These are the instructions for making a new Mesa release.
</p>
<p>
Prerequisites (later versions may work):
</p>
<ul>
<li> autoconf 2.50
<li> automake 1.4-p2
<li> libtool 1.4
</ul>
<p>
Be sure to do a "cvs update -d ." in the Mesa directory to
get all the latest files.
</p>
<p>
Update the version definitions in src/version.h
</p>
<p>
Create/edit the docs/RELNOTES-X.Y file to document what's new in the release.
Edit the docs/VERSIONS file too.
</p>
<p>
Edit Make-config and change the MESA_MAJOR and/or MESA_MINOR versions.
</p>
<p>
Edit the GNU configure stuff to change versions numbers as needed:
Update the version string (second argument) in the line
"AM_INIT_AUTOMAKE(Mesa, 3.3)" in the configure.in file.
</p>
<p>
Remove the leading `dnl' from the line "dnl AM_MAINTAINER_MODE".
</p>
<p>
Verify the version numbers near the top of configure.in
</p>
<p>
Run "fixam -f" to disable automatic dependency tracking.
</p>
<p>
Run the bootstrap script to generate the configure script.
</p>
<p>
Edit Makefile.X11 and verify DIRECTORY is set correctly. The Mesa
sources must be in that directory (or there must be a symbolic link).
</p>
<p>
Edit Makefile.X11 and verify that LIB_NAME and DEMO_NAME are correct.
If it's a beta release, be sure the bump up the beta release number.
</p>
<p>
cp Makefile.X11 to Makefile so that the old-style Mesa makefiles
still work. ./configure will overwrite it if that's what the user runs.
</p>
<p>
Make a symbolic link from $(DIRECTORY) to Mesa. For example,
ln -s Mesa Mesa-3.3 This is needed in order to make a correct
tar file in the next step.
</p>
<p>
Make the distribution files. From inside the Mesa directory:
<pre>
make -f Makefile.X11 lib_tar
make -f Makefile.X11 demo_tar
make -f Makefile.X11 lib_zip
make -f Makefile.X11 demo_zip
</pre>
<p>
Copy the distribution files to a temporary directory, unpack them,
compile everything, and run some demos to be sure everything works.
</p>
<p>
Upload the *.tar.gz and *.zip files to ftp.mesa3d.org
</p>
<p>
Update the web site.
</p>
<p>
Make an announcement on the mailing lists:
<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>,
<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>
and
<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>
</p>
<H2>Autoconf info</H2>
<p>
In order to run the bootstrap script you'll need:
<p>
<pre>
autoconf 2.50
automake 1.4-p5
libtool 1.4
</pre>
</body>
</html>

104
docs/download.html Normal file
View File

@@ -0,0 +1,104 @@
<HTML>
<TITLE>Getting Mesa</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Downloading / Unpacking</H1>
<p>
Mesa can be downloaded from the
<a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">
SourceForge download area</A>.
</p>
<p>
Since version 2.3, Mesa is distributed in two pieces: main library code
and demos. If you're upgrading from a previous version of Mesa or you're not
interested in the demos you can just download the core Mesa archive file.
</p>
<p>
Mesa is available in at least three archive formats:
</p>
<pre>
1. GNU zip/tar
Download MesaLib-X.Y.tar.gz and optionally MesaDemos-X.Y.tar.gz
Unpack with:
gzcat MesaLib-X.Y.tar.gz | tar xf -
gzcat MesaDemos-X.Y.tar.gz | tar xf -
or
gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
or
tar zxf MesaLib-X.Y.tar.gz
tar zxf MesaDemos-X.Y.tar.gz
If you don't have gzcat try zcat instead.
2. Unix compressed/tar
Download MesaLib-X.Y.tar.Z and optionally MesaDemos-X.Y.tar.Z
Unpack with:
zcat MesaLib-X.Y.tar.Z | tar xf -
zcat MesaDemos-X.Y.tar.Z | tar xf -
3. ZIP format
Download MesaLib-X.Y.zip and optionally MesaDemos-X.Y.zip
Unpack with:
unzip MesaLib-X.Y.zip
unzip MesaDemos-X.Y.zip
</pre>
<p>
After unpacking you'll have these directories (and more):
</p>
<pre>
Makefile.X11 - top-level Makefile for X11-based systems
Make-config - system configurations used by the Makefile.X11
include/ - GL header (include) files
bin/ - shell scripts for making shared libraries, etc
lib/ - final client libraries, created during compilation
docs/ - documentation
src/ - source code for libraries
src/mesa - sources for the main Mesa library and device drivers
src/glu - libGLU source code
src/glw - Xt/Motif/OpenGL widget code
and if you downloaded and unpacked the MesaDemos.X.Y archive:
src/glut - GLUT source code
progs/ - OpenGL programs
progs/demos - original Mesa demos
progs/xdemos - GLX OpenGL/Mesa demos
progs/redbook - examples from the OpenGL Programming Guide
progs/samples - examples from SGI
progs/images/ - image files
</pre>
<p>
Proceed to <a href="install.html">compilation and installation
instructions</a>.
</p>
<H1>GLUT</H1>
<p>
Mesa 2.5 and later includes Mark Kilgard's GLUT library (GL Utility Toolkit).
GLUT is built automatically on systems which support it.
</p>
<p>
The GLUT tests, demos, examples, etc are not included, just the main library.
To obtain the latest complete release of GLUT please visit the
<a href="http://www.opengl.org/developers/documentation/glut/index.html"
target ="_parent">GLUT homepage</a>
</p>
</BODY>
</HTML>

42
docs/enums.txt Normal file
View File

@@ -0,0 +1,42 @@
Blocks allocated to Mesa:
0x8750-0x875F
0x8BB0-0x8BBF
GL_MESA_packed_depth_stencil
GL_DEPTH_STENCIL_MESA 0x8750
GL_UNSIGNED_INT_24_8_MESA 0x8751
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
GL_MESA_trace.spec:
GL_TRACE_ALL_BITS_MESA 0xFFFF
GL_TRACE_OPERATIONS_BIT_MESA 0x0001
GL_TRACE_PRIMITIVES_BIT_MESA 0x0002
GL_TRACE_ARRAYS_BIT_MESA 0x0004
GL_TRACE_TEXTURES_BIT_MESA 0x0008
GL_TRACE_PIXELS_BIT_MESA 0x0010
GL_TRACE_ERRORS_BIT_MESA 0x0020
GL_TRACE_MASK_MESA 0x8755
GL_TRACE_NAME_MESA 0x8756
MESA_ycbcr_texture.spec:
GL_YCBCR_MESA 0x8757
GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
GL_MESA_pack_invert.spec
GL_PACK_INVERT_MESA 0x8758
GL_MESA_program_debug.spec:
GL_FRAGMENT_PROGRAM_CALLBACK_MESA 0x????
GL_VERTEX_PROGRAM_CALLBACK_MESA 0x????
GL_FRAGMENT_PROGRAM_POSITION_MESA 0x????
GL_VERTEX_PROGRAM_POSITION_MESA 0x????
GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x????
GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x????
GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x????
GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x????

25
docs/envvars.html Normal file
View File

@@ -0,0 +1,25 @@
<HTML>
<TITLE>Environment Variables</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Environment Variables</H1>
<p>
Mesa supports the following environment variables:
</p>
<ul>
<li>MESA_DEBUG - if defined, error messages are printed to stderr
<li>MESA_NO_DITHER - disable dithering, overriding glEnable(GL_DITHER)
<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
<li>MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
<li>MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
<li>MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
<li>MESA_GAMMA - gamma correction coefficients (X only)
<li>MESA_XSYNC - enable synchronous X behavior (for X debugging only)
</ul>
</BODY>
</HTML>

32
docs/extensions.html Normal file
View File

@@ -0,0 +1,32 @@
<HTML>
<TITLE>Mesa Extensions</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Mesa Extensions</H1>
<p>
A number of extensions have been developed especially for Mesa.
The specifications follow.
</p>
<UL>
<LI><A HREF="MESA_agp_offset.spec">MESA_agp_offset.spec</A>
<LI><A HREF="MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</A>
<LI><A HREF="MESA_packed_depth_stencil.spec">MESA_packed_depth_stencil.spec</A>
<LI><A HREF="MESA_pack_invert.spec">MESA_pack_invert.spec</A>
<LI><A HREF="MESA_pixmap_colormap.spec">MESA_pixmap_colormap.spec</A>
<LI><A HREF="MESA_release_buffers.spec">MESA_release_buffers.spec</A>
<LI><A HREF="MESA_resize_buffers.spec">MESA_resize_buffers.spec</A>
<LI><A HREF="MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</A>
<LI><A HREF="MESA_sprite_point.spec">MESA_sprite_point.spec</A> (obsolete)
<LI><A HREF="MESA_trace.spec">MESA_trace.spec</A> (obsolete)
<LI><A HREF="MESA_window_pos.spec">MESA_window_pos.spec</A>
<LI><A HREF="MESA_ycbcr_texture.spec">MESA_ycbcr_texture.spec</A>
</UL>
</BODY>
</HTML>

343
docs/faq.html Normal file
View File

@@ -0,0 +1,343 @@
<html>
<head><title>Mesa FAQ</title></head>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<center>
<h1>Mesa Frequently Asked Questions</h1>
Last updated: 6 August 2003
</center>
<br>
<br>
<h2>Index</h2>
<a href="#part1">1. High-level Questions and Answers</a>
<br>
<a href="#part2">2. Compilation and Installation Problems</a>
<br>
<a href="#part3">3. Runtime / Rendering Problems</a>
<br>
<a href="#part4">4. Developer Questions</a>
<br>
<br>
<br>
<a name="part1">
</a><h1><a name="part1">1. High-level Questions and Answers</a></h1>
<h2><a name="part1">1.1 What is Mesa?</a></h2>
<p>
<a name="part1">Mesa is an open-source implementation of the OpenGL specification.
OpenGL is a programming library for writing interactive 3D applications.
See the </a><a href="http://www.opengl.org/">OpenGL website</a> for more
information.
</p>
<p>
Mesa 5.x supports the OpenGL 1.4 specification.
</p>
<h2>1.2 Does Mesa support/use graphics hardware?</h2>
<p>
Yes. Specifically, Mesa serves as the OpenGL core for the open-source
XFree86/DRI OpenGL drivers. See the <a href="http://dri.sf.net/">DRI
website</a> for more information.
</p>
<p>
There have been other hardware drivers for Mesa over the years (such as
the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers
are the modern ones.
</p>
<h2>1.3 What purpose does Mesa (software-based rendering) serve today?</h2>
<p>
Hardware-accelerated OpenGL implementations are available for most popular
operating systems today.
Still, Mesa serves at least these purposes:
</p>
<ul>
<li>Mesa is used as the core of the open-source XFree86/DRI hardware drivers.
</li>
<li>Mesa is quite portable and allows OpenGL to be used on systems
that have no other OpenGL solution.
</li>
<li>Software rendering with Mesa serves as a reference for validating the
hardware drivers.
</li>
<li>A software implementation of OpenGL is useful for experimentation,
such as testing new rendering techniques.
</li>
<li>Mesa can render images with deep color channels: 16-bit integer
and 32-bit floating point color channels are supported.
This capability is only now appearing in hardware.
</li>
<li>Mesa's internal limits (max lights, clip planes, texture size, etc) can be
changed for special needs (hardware limits are hard to overcome).
</li>
</ul>
<h2>1.4 How do I upgrade my DRI installation to use a new Mesa release?</h2>
<p>
You don't! A copy of the Mesa source code lives inside the XFree86/DRI source
tree and gets compiled into the individual DRI driver modules.
If you try to install Mesa over an XFree86/DRI installation, you'll lose
hardware rendering (because stand-alone Mesa's libGL.so is different than
the XFree86 libGL.so).
</p>
<p>
The DRI developers will incorporate the latest release of Mesa into the
DRI drivers when the time is right.
</p>
<p>
To upgrade, either look for a new release of <a href="http://www.xfree86.org"
target="_parent">XFree86</a> or visit the
<a href="http://dri.sf.net" target="_parent">DRI website</a> to see
if there's newer drivers.
</p>
<h2>1.5 Are there other open-source implementations of OpenGL?</h2>
<p>
Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html">
OpenGL Sample Implemenation (SI)</a> is available.
The SI was written during the time that OpenGL was originally designed.
Unfortunately, development of the SI has stagnated.
Mesa is much more up to date with modern features and extensions.
</p>
<p>
<a href="http://www.dsbox.com/minigl.html">miniGL</a> is a subset of OpenGL
for PalmOS devices.
<a href="http://fabrice.bellard.free.fr/TinyGL/">TinyGL</a> is another
subset of OpenGL.
</p>
<p>
There may be others but Mesa is the most popular and feature-complete.
</p>
<br>
<br>
<a name="part2">
</a><h1><a name="part2">2. Compilation and Installation Problems</a></h1>
<h2><a name="part2">2.1 What's the easiest way to install Mesa?</a></h2>
<p>
<a name="part2">If you're using a Linux-based system, your distro CD most likely already
has Mesa packages (like RPM or DEB) which you can easily install.
</a></p>
<h2><a name="part2">2.2 Running <code>configure; make</code> Doesn't Work</a></h2>
<p>
<a name="part2">Unfortunately, the GNU autoconf/automake/libtool system doesn't seem to work
too well on non GNU/Linux systems, even after installing gmake, gcc, etc.
For that reason, Mesa's <b>old-style</b> makefile system is still included.
The old-style system uses good old traditional Makefiles. Try the following:
</a></p><pre><a name="part2"> cd Mesa-x.y.z
cp Makefile.X11 Makefile
make
</a></pre>
<a name="part2">You'll see a list of system configurations from which to choose.
For example:
</a><pre><a name="part2"> make linux-x86
</a></pre>
<p>
<a name="part2">If you're experienced with GNU autoconf/automake/libtool and think you can help
with maintence, contact the Mesa developers.
FYI, the Mesa developers generally don't use the autoconf/automake system.
We're especially annoyed with the fact that a +5000-line script (libtool)
is needed to make shared libraries (ugh).
</a></p>
<h2><a name="part2">2.3 Mesa still doesn't compile</a></h2>
<p>
<a name="part2">If the old-style Makefile system doesn't work either, make sure you have
the most recent version of Mesa.
Otherwise, file a bug report or post to the Mesa3d-users mailing list.
Give as much info as possible when describing your problem.
</a></p>
<h2><a name="part2">2.4 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
<p>
<a name="part2">You're application is written in IRIS GL, not OpenGL.
IRIS GL was the predecessor to OpenGL and is a different thing (almost)
entirely.
Mesa's not the solution.
</a></p>
<h2><a name="part2">2.5 Where is the GLUT library?</a></h2>
<p>
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaDemos-x.y.z.tar.gz file.
If you don't already have GLUT installed, you should grab the MesaDemos
package and unpack it before compiling Mesa.
</a></p>
<h2><a name="part2">2.6 What's the proper place for the libraries and headers?</a></h2>
<p>
<a name="part2">On Linux-based systems you'll want to follow the
</a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html">Linux ABI</a>
standard.
Basically you'll want the following:
</p>
<ul>
<li>/usr/include/GL/gl.h - the main OpenGL header
</li><li>/usr/include/GL/glu.h - the OpenGL GLU (utility) header
</li><li>/usr/include/GL/glx.h - the OpenGL GLX header
</li><li>/usr/include/GL/glext.h - the OpenGL extensions header
</li><li>/usr/include/GL/glxext.h - the OpenGL GLX extensions header
</li><li>/usr/include/GL/osmesa.h - the Mesa off-screen rendering header
</li><li>/usr/lib/libGL.so - a symlink to libGL.so.1
</li><li>/usr/lib/libGL.so.1 - a symlink to libGL.so.1.xyz
</li><li>/usr/lib/libGL.so.xyz - the actual OpenGL/Mesa library. xyz denotes the
Mesa version number.
</li><li>/usr/lib/libGLU.so - a symlink to libGLU.so.1
</li><li>/usr/lib/libGLU.so.1 - a symlink to libGLU.so.1.3.xyz
</li><li>/usr/lib/libGLU.so.xyz - the OpenGL Utility library. xyz denotes the Mesa
version number.
</li></ul>
<p>
After installing XFree86 and the DRI drivers, some of these files
may be symlinks into the /usr/X11R6/ tree.
</p>
<p>
The old-style Makefile system doesn't install the Mesa libraries; it's
up to you to copy them (and the headers) to the right place.
</p>
<p>
The GLUT header and library should go in the same directories.
</p>
<br>
<br>
<a name="part3">
</a><h1><a name="part3">3. Runtime / Rendering Problems</a></h1>
<h2><a name="part3">3.1 Rendering is slow / why isn't my graphics hardware being used?</a></h2>
<p>
<a name="part3">Stand-alone Mesa (downloaded as MesaLib-x.y.z.tar.gz) doesn't have any
support for hardware acceleration (with the exception of the 3DFX Voodoo
driver).
</a></p>
<p>
<a name="part3">What you really want is a DRI or NVIDIA (or another vendor's OpenGL) driver
for your particular hardware.
</a></p>
<p>
<a name="part3">You can run the <code>glxinfo</code> program to learn about your OpenGL
library.
Look for the GL_VENDOR and GL_RENDERER values.
That will identify who's OpenGL library you're using and what sort of
hardware it has detected.
</a></p>
<p>
<a name="part3">If your DRI-based driver isn't working, go to the
</a><a href="http://dri.sf.net/">DRI website</a> for trouble-shooting information.
</p>
<h2>3.2 I'm seeing errors in depth (Z) buffering. Why?</h2>
<p>
Make sure the ratio of the far to near clipping planes isn't too great.
Look
<a href="http://www.sgi.com/software/opengl/advanced97/notes/node18.html">
here</a> for details.
</p>
<p>
Mesa uses a 16-bit depth buffer by default which is smaller and faster
to clear than a 32-bit buffer but not as accurate.
If you need a deeper you can modify the parameters to
<code> glXChooseVisual</code> in your code.
</p>
<h2>3.3 Why Isn't depth buffering working at all?</h2>
<p>
Be sure you're requesting a depth buffered-visual. If you set the MESA_DEBUG
environment variable it will warn you about trying to enable depth testing
when you don't have a depth buffer.
</p>
<p>Specifically, make sure <code>glutInitDisplayMode</code> is being called
with <code>GLUT_DEPTH</code> or <code>glXChooseVisual</code> is being
called with a non-zero value for GLX_DEPTH_SIZE.
</p>
<p>This discussion applies to stencil buffers, accumulation buffers and
alpha channels too.
</p>
<h2>3.4 Why does glGetString() always return NULL?</h2>
<p>
Be sure you have an active/current OpenGL rendering context before
calling glGetString.
</p>
<h2>3.5 GL_POINTS and GL_LINES don't touch the right pixels</h2>
<p>
If you're trying to draw a filled region by using GL_POINTS or GL_LINES
and seeing holes or gaps it's because of a float-to-int rounding problem.
But this is not a bug.
See Appendix H of the OpenGL Programming Guide - "OpenGL Correctness Tips".
Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates
will fix the problem.
</p>
<br>
<br>
<a name="part4">
</a><h1><a name="part4">4. Developer Questions</a></h1>
<h2><a name="part4">4.1 How can I contribute?</a></h2>
<p>
<a name="part4">First, join the Mesa3d-dev mailing list. That's where Mesa development
is discussed.
</a></p>
<p>
<a name="part4">The </a><a href="http://www.opengl.org/developers/documentation/specs.html">
OpenGL Specification</a> is the bible for OpenGL implemention work.
You should read it.
</p>
<p>Most of the Mesa development work involves implementing new OpenGL
extensions, writing hardware drivers (for the DRI), and code optimization.
</p>
<h2>4.2 How do I write a new device driver?</h2>
<p>
Unfortunately, writing a device driver isn't easy.
It requires detailed understanding of OpenGL, the Mesa code, and your
target hardware/operating system.
3D graphics are not simple.
</p>
<p>
The best way to get started is to use an existing driver as your starting
point.
For a software driver, the X11 and OSMesa drivers are good examples.
For a hardware driver, the Radeon and R200 DRI drivers are good examples.
</p>
<p>The DRI website has more information about writing hardware drivers.
The process isn't well document because the Mesa driver interface changes
over time, and we seldome have spare time for writing documentation.
That being said, many people have managed to figure out the process.
</p>
<p>
Joining the appropriate mailing lists and asking questions (and searching
the archives) is a good way to get information.
</p>
</body>
</html>

223
docs/fbdev-dri.html Normal file
View File

@@ -0,0 +1,223 @@
<HTML>
<TITLE>Mesa fbdev/DRI Environment</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<center><H1>Mesa fbdev/DRI Drivers</H1></center>
<H1>1. Introduction</H1>
<p>
The fbdev/DRI sub-project within Mesa brings hardware accelerated OpenGL
rendering to the Linux fbdev environment.
The X Window System / XFree86 is not needed.
</p>
<p>
Basically, the <a href="http://dri.sf.net/">DRI</a> drivers for hardware
accelerated OpenGL for XFree86 have been ported to fbdev so that X is
not needed.
This means fbdev/DRI works in full-screen mode only.
</p>
<p>
DRI driver writers may find this simplified environment easier to work in,
compared to the full XFree86/DRI environment.
</p>
<p>
Much of the work for this project has been done by Jon Smirl and
Keith Whitwell.
</p>
<p>
To use fbdev/DRI, you'll need a Linux 2.4 or 2.6 kernel.
</p>
<p>
The fbdev/DRI Mesa code is in the Mesa CVS trunk (to be released as Mesa
5.1 in the future).
</p>
<h1>2. Compilation</h1>
<p>
Assuming you're starting with a fresh Mesa CVS checkout, do the following:
</p>
<pre>
cd Mesa-newtree
cp Makefile.X11 Makefile # or use a symlink
make linux-solo
</pre>
<p>
When this is finished, check the <code>Mesa-newtree/lib</code> directory
to verify that the following files were made:
</p>
<ul>
<li><code>libGL.so.1.2</code> - the client-side OpenGL library
(and a few symlinks to it).
<li><code>libGLU.so.1.1</code> - the GLU library (and a few symlinks to it).
<li><code>libglut.so.3.7</code> - the GLUT library (and a few symlinks to it).
<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards.
<li><code>r128_dri.so</code> - DRI driver for ATI Rage 128 cards.
<li><code>r200_dri.so</code> - DRI driver for ATI R200 Radeon cards.
<li><code>radeon_dri.so</code> - DRI driver for original ATI Radeon cards.
<li><code>fb_dri.so</code> - software-only fbdev driver.
<li><code>miniglx.conf</code> - configuration file for the MiniGLX interface
</ul>
<h1>3. Using fbdev/DRI</h1>
<p>
If XFree86 is currently running, exit/stop the X server so you're
working from the console.
</p>
<h2>3.1 Kernel Modules</h2>
<p>
You'll need to load kernel modules specific to your graphics hardware.
The following kernel modules should be included with your kernel.
</p>
<p>
If you have ATI Radeon/R200 hardware, run as root:
</p>
<pre>
modprobe agpgart # the AGP GART module
modprobe radeonfb # the Radeon fbdev driver
modprobe radeon # the Radeon DRI kernel module
</pre>
<p>
If you have ATI Rage 128 hardware, run as root:
</p>
<pre>
modprobe agpgart # the AGP GART module
modprobe aty128fb # the Rage 128 fbdev driver
modprobe r128 # the Rage 128 DRI kernel module
</pre>
<p>
If you have Matrox G200/G400 hardware, run as root:
</p>
<pre>
modprobe agpgart # the AGP GART module
modprobe mgafb # the Matrox fbdev driver
modprobe mga # the Matrox DRI kernel module
</pre>
<p>
Then run <code>lsmod</code> to be sure the modules are loaded.
For a Radeon card, you should see something like this:
</p>
<pre>
Module Size Used by Not tainted
radeon 110308 0 (unused)
radeonfb 21900 0 (unused)
agpgart 43072 1
</pre>
<h2>3.2 Configuration File</h2>
<p>
The <code>Mesa-newtree/lib/miniglx.conf</code> file should be installed
in <code>/etc/</code>.
</p>
<p>
Edit <code>/etc/miniglx.conf</code> to be sure it's set up correctly
for your hardware.
Comments in the file explain the options.
</p>
<h2>3.3 Running fbdev/DRI Programs</h2>
<p>
Make sure your LD_LIBRARY_PATH environment variable is set to the
<code>Mesa-newtree/lib/</code> directory.
</p>
<p>
Change to the <code>Mesa-newtree/progs/miniglx/</code> directory and
start the sample_server program in the background:
</p>
<pre>
./sample_server &
</pre>
<p>
Then try running the <code>miniglxtest</code> program:
</p>
<pre>
./miniglxtest
</pre>
<p>
You should see a rotating quadrilateral which changes color as it rotates.
It will exit automatically after a bit.
</p>
<p>
If you run other tests in the miniglx/ directory, you may want to run
them from a remote shell so that you can stop them with ctrl-C.
</p>
<h1>4.0 Troubleshooting</h1>
<p>
If you try to run miniglxtest and get the following:
</p>
<pre>
[miniglx] failed to probe chipset
connect: Connection refused
server connection lost
</pre>
<p>
It means that the sample_server process is not running.
</p>
<h1>5.0 Programming Information</h1>
<p>
The full OpenGL API is available with fbdev/DRI.
</p>
<p>
OpenGL/Mesa is interfaced to fbdev via the <a href="MiniGLX.html">MiniGLX</a>
interface.
MiniGLX is a subset of Xlib and GLX API functions which provides just
enough functionality to setup OpenGL rendering and respond to simple
input events.
</p>
<p>
Since MiniGLX is a subset of the usual Xlib and GLX APIs, programs written
to the MiniGLX API can also be run on full Xlib/GLX implementations.
This allows some degree of flexibility for software development and testing.
</p>
<p>
However, the MiniGLX API is not binary-compatible with full Xlib/GLX.
Some of the structures are different and some macros/functions work
differently.
See the <code>GL/miniglx.h</code> header file for details.
</p>
</body>
</html>

62
docs/games.html Normal file
View File

@@ -0,0 +1,62 @@
<HTML>
<TITLE>Games</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Games</H1>
<ul>
<li><a href="http://www.psc.edu/%7Esmp/a3d/">Asteroids3D</a> - 3D asteroids game
</li><li><a href="http://evlweb.eecs.uic.edu/aej/AndyBattalion.html" target="_parent">Battalion</a>
- battle game
</li><li><a href="http://bzflag.sourceforge.net/" target="_parent">BZFLAG</a> - 3-D tank
battle game
</li><li><a href="http://www.speakeasy.org/%7Emorse/copter-commander">Copter Commander</a> - 2d multiplayer side scroller
</li><li><a href="http://www.crystalspace.org/" target="_parent">CrystalSpace</a> - Free
3d game engine
</li><li><a href="http://www.afn.org/%7Ecthugha/" target="_parent">Cthugha</a> - music-sync'ed
graphical effects
</li><li><a href="http://www.sics.se/dive/" target="_parent">DIVE</a> - Distributed Interactive
Virtual Environment
</li><li><a href="http://www.newdoom.com/doomlegacy/" target="_parent">Doom Legacy</a>
- an OpenGL port of id software's popular game, Doom
</li><li><a href="http://www.asimov.de/intern_dropit.html" target="_parent">DropIt</a> - 3-D tetris game
</li><li><a href="http://www.flightgear.org/" target="_parent">Flight Gear</a> - Flight
simulator
</li><li><a href="http://freetrek.linuxgames.com/" target="_parent">Free Trek</a> - Star
Trek battle simulator
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">Gepetto</a> - Dance Choreography
</li><li><a href="http://glchess.sourceforge.net/" target="_parent">GLChess</a> - chess game
</li><li><a href="http://heretic.linuxgames.com/" target="_parent">GLHeretic</a> - Heretic
for Linux
</li><li><a href="http://glider3d.free.fr/" target="_parent">Glider3D</a> - flight simulator
</li><li><a href="http://www.gltron.org/" target="_parent">glTron</a> - Tron lightcycles
game
</li><li><a href="http://gracer.sourceforge.net/" target="_parent">GRacer</a> - 3D Motor
Sports Simulator
</li><li><a href="http://jongl.home.pages.de/" target="_parent">JONGL</a> - Juggling simulator
</li><li><a href="http://samba.anu.edu.au/KnightCap/" target="_parent">KnightCap</a> -
chess game
</li><li><a href="http://www.hackcraft.de/games/linwarrior_3d/">LinWarrior 3D</a> - A Battle Mech Simulator
</li><li><a href="http://www.nada.kth.se/%7Ef96-lfo/lunar/" target="_parent">Lunar Lander
2000</a> - 3D version of the classis lunar lander game
</li><li><a href="http://www.majik3d.org/" target="_parent">Majik 3D</a> - an online role-playing
world
</li><li><a href="http://www.pobox.com/%7Eshankel/opentrek.html" target="_parent">OpenTrek</a>
- Super Star Trek
</li><li><a href="http://www.idsoftware.com/" target="_parent">Quake(2,3)</a> - the popular
games from id software
</li><li><a href="http://torcs.free.fr/indexm.html" target="_parent">TORCS</a> - car racing
simulator
</li><li><a href="http://www.woodsoup.org/projs/tux_aqfh" target="_parent">TUX-AQFH</a>
- Tux the Penguin - a Quest for Herring
</li><li><a href="http://mordred.8m.com/voidrunner/" target="_parent">Void Runner</a>
- freeware arcade style game
</li><li><a href="http://xracer.annexia.org/" target="_parent">XRacer</a> - Free spaceship
racing game, similar to Wipeout
</li></ul>
</body></html>

43
docs/glu.html Normal file
View File

@@ -0,0 +1,43 @@
<HTML>
<TITLE>SGI GLU</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>SGI SI GLU</H1>
(Silicon Graphics, Inc. Sample Implementation of the OpenGL Utility library)
<p>
SGI open-sourced their OpenGL Sample Implementation (SI) in January, 2000.
This includes the GLU library.
</p>
<p>
The SI GLU library implements GLU version 1.3 whereas the original
Mesa GLU library only implemented version 1.2.
We recommend using the SI GLU library instead of Mesa's GLU library
since it's more up-to-date, complete and reliable.
We're no longer developing the original Mesa GLU library.
</p>
<p>
The new SI GLU library code is included in the Mesa package.
You don't have to download it separately.
</p>
<p>
<b>Olivier Michel</b> has made Linux RPMs of GLU for i386 and PowerPC.
You can download them from the
<a href="http://www.sourceforge.net/project/showfiles.php?group_id=3"
target="_parent">download area</a> under <b>Miscellaneous</b>.
</p>
<p>
Visit the <a href="http://oss.sgi.com/projects/ogl-sample/" target="_parent">
OpenGL Sample Implementation home page</a> for more information about the SI.
</p>
</body>
</html>

62
docs/helpwanted.html Normal file
View File

@@ -0,0 +1,62 @@
<HTML>
<TITLE>Help Wanted</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Help Wanted</H1>
<p>
We can always use more help with the Mesa project. Here are some
specific areas. If you think you can help out, post to the mesa3d-dev
mailing list.
</p>
<ul>
<li>Windows 98/NT build/driver maintenance and testing (Karl Schultz has been
doing a great job of this lately)
<li>DOS/DJGPP build/driver maintenance and testing
<li>GGI driver/build maintenance and testing
<li>GNU autoconfig/libtool maintenance (esp. on non-Linux systems)
<li>x86, SSE, 3DNow! and SPARC assembly language programming
<li>Implement WGL font functions in the WGL interface code
<li>Implement off-screen bitmap rendering support in the WGL interface code
<li>Help with writing/testing the new NV_fragment_program extension code
<li>Implement the ARB_vertex/fragment extensions
<li>Download/compile/test Mesa and report any bugs found
</ul>
<p>
If you want to help with Mesa, first join the Mesa developer's
mailing list. Then post a message explaining what you might like
to help with. The Mesa web page has a list of a few work items
which you may consider.
</p>
</p>
Anyone is welcome to contribute code to the Mesa project, provided you
agree to the copyright terms of the relevant code. See the COPYRIGHT
file.
</p>
<p>
Unfortunately, all the easy work in Mesa was done years ago. Nowadays, the
work is rather complicated and not suited to beginners.
</p>
<p>
If you're contribution code to the Mesa library itself:
<p>
<ol>
<li>Try to write clean code (uniform indentation, comments, meaningful
identifiers, etc). It must be readable and maintainable!
<li>Test your code. On several occations I've incorporated code from
users which later turned out to have bugs. Now, I'm pretty hesitant
to use code which doesn't look good.
</ol>
</BODY>
</HTML>

23
docs/index.html Normal file
View File

@@ -0,0 +1,23 @@
<html>
<title>Mesa Home Page</title></head>
<frameset rows="50,100% " border="1" framespacing="1" frameborder="yes">
<frame src="banner.html" name="BannerFrame" scrolling="no" marginwidth="1" marginheight="1" resize="">
<frameset cols="28%,72% " border="1" framespacing="1" frameborder="yes">
<frame src="contents.html" name="ContentsFrame" marginwidth="2" marginheight="1" resize="">
<frame src="news.html" name="MainFrame" marginwidth="3" marginheight="1" resize="">
</frameset>
</frameset>
<noframes>
<BODY>
<P>
</body>
</noframes>
</html>

255
docs/install.html Normal file
View File

@@ -0,0 +1,255 @@
<HTML>
<TITLE>Compilation and Installation</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Compilation and Installation</H1>
<ol>
<li><a href="#unix-x11">Unix / X11</a>
<li><a href="#windows">Windows</a>
<li><a href="#vms">VMS</a>
<li><a href="#other">Other</a>
</ol>
<a name="unix-x11">
<H2>1. Unix/X11 Compilation and Installation</H1>
<p>
Mesa uses a rather conventional Makefile system.
A GNU autoconf/automake system used to be included, but was discarded
in Mesa 5.1 because:
</p>
<ul>
<li>It seldom worked on IRIX, Solaris, AIX, etc.
<li>It was very compilicated
<li>Nobody maintained it
<li>libtool was just too weird
</ul>
<p>
If someone strongly feels that Mesa should have a autoconf/automake
system and wants to contribute one and maintain it, we'll consider
adding it again.
</p>
<h3>1.1 Compilation</h3>
<p>
If you've obtained Mesa through CVS, do this to first:
</p>
<pre>
cd Mesa-newtree
cp Makefile.X11 Makefile
</pre>
<p>
Now, just type <b>make</b>.
You'll see a list of supported system configurations.
Choose one from the list (such as linux-x86), and type:
</p>
<pre>
make linux-x86
</pre>
<p>
That's it.
</p>
<h3>1.2 The libraries</h3>
<p>
When compilation has finished, look in the top-level <b>lib/</b> directory.
You'll see a set of library files similar to this:
</p>
<pre>
lrwxrwxrwx 1 brian users 10 Sep 4 17:55 libGL.so -> libGL.so.1*
lrwxrwxrwx 1 brian users 19 Sep 4 17:55 libGL.so.1 -> libGL.so.1.4.050100*
-rwxr-xr-x 1 brian users 13940317 Sep 4 17:55 libGL.so.1.4.050100*
lrwxrwxrwx 1 brian users 11 Sep 4 17:54 libGLU.so -> libGLU.so.1*
lrwxrwxrwx 1 brian users 20 Sep 4 17:54 libGLU.so.1 -> libGLU.so.1.3.050100*
-rwxr-xr-x 1 brian users 324746 Sep 3 13:54 libGLU.so.1.1*
-rwxr-xr-x 1 brian users 2830539 Sep 4 17:54 libGLU.so.1.3.050100*
lrwxrwxrwx 1 brian users 12 Sep 4 17:53 libglut.so -> libglut.so.3*
lrwxrwxrwx 1 brian users 16 Sep 4 17:53 libglut.so.3 -> libglut.so.3.7.1*
-rwxr-xr-x 1 brian users 2426683 Sep 4 17:53 libglut.so.3.7.1*
</pre>
<p>
<b>libGL</b> is the main OpenGL library (i.e. Mesa).
<br>
<b>libGLU</b> is the OpenGL Utility library.
<br>
<b>libglut</b> is the GLUT library.
</p>
<h3>1.3 Running the demos</h3>
<p>
If you downloaded/unpacked the MesaDemos-x.y.z.tar.gz archive or
obtained Mesa from CVS, the <b>progs/</b> directory will contain a
bunch of demonstration programs.
</p>
<p>
Before running a demo, you may have to set an environment variable
(such as <b>LD_LIBRARY_PATH</b> on Linux) to indicate where the
libraries are located. For example:
<p>
<blockquote>
<b>cd</b> into the Mesa <b>lib/</b> directory.
<br>
<b>setenv LD_LIBRARY_PATH ${cwd}</b> (if using csh or tcsh shell)
<br>
or,
<br>
<b>export LD_LIBRARY_PATH=${PWD}</b> (if using bash or sh shell)
</blockquote>
<p>
Next, change to the Mesa/demos/ directory:
</p>
<blockquote>
<b>cd ../progs/demos</b>
</blockquote>
<p>
Run a demo such as gears:
</p>
<blockquote>
<b>./gears</b>
</blockquote>
<p>
If this doesn't work, try the <b>Mesa/progs/xdemos/glxinfo</b> program
and see that it prints the expected Mesa version number.
</p>
<p>
If you're using Linux or a similar OS, verify that the demo program is
being linked with the proper library files:
</p>
<blockquote>
<b>ldd gears</b>
</blockquote>
<p>
You should see something like this:
</p>
<pre>
libglut.so.3 => /home/brian/Mesa/lib/libglut.so.3 (0x40013000)
libGLU.so.1 => /home/brian/Mesa/lib/libGLU.so.1 (0x40051000)
libGL.so.1 => /home/brian/Mesa/lib/libGL.so.1 (0x400e0000)
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
libm.so.6 => /lib/i686/libm.so.6 (0x403da000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x403fc000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x404da000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404f1000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40543000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4054b000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x405fd000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40605000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40613000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libdl.so.2 => /lib/libdl.so.2 (0x40644000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40647000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40650000)
</pre>
<p>
Retrace your steps if this doesn't look right.
</p>
<H3>1.4 Installing the header and library files</H3>
<p>
The standard location for the OpenGL header files on Unix-type systems is
in <code>/usr/include/GL/</code>.
The standard location for the libraries is <code>/usr/lib/</code>.
For more information see, the
<a href="http://oss.sgi.com/projects/ogl-sample/ABI/" target="_parent">
Linux/OpenGL ABI specification</a>.
</p>
<p>
If you'd like Mesa to co-exist with another implementation of OpenGL that's
already installed, you'll have to choose different directories, like
<code>/usr/local/include/GL/</code> and <code>/usr/local/lib/</code>.
</p>
<p>
To install the Mesa headers, do this:
<blockquote>
<b>cp -r include/GL /usr/include</b>
</blockquote>
<p>
To install the Mesa libraries, do this:
</p>
<blockquote>
<b>cp -pd lib/* /usr/lib</b>
<br>
(The -pd options preserve symbolic links)
</blockquote>
<p>
If you install the libraries in a non-standard location you can use
LD_LIBRARY_PATH (on Linux) to switch between the Mesa libs and another
vendor libs whenever you want.
This is a handy way to compare multiple OpenGL implementations.
</p>
<a name="windows">
<H2>2. Windows Compilation and Installation</H1>
<p>
Please see the <a href="README.WIN32">README.WIN32</a> file.
</p>
<a name="vms">
<H2>3. VMS Compilation and Installation</H1>
<p>
Please see the <a href="README.VMS">README.VMS</a> file.
</p>
<a name="other">
<H2>4. Other systems</H1>
<p>
Documentation for other environments (some may be very out of date):
</p>
<UL>
<LI><A HREF="README.GGI">README.GGI</A> - GGI
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
<LI><A HREF="README.BEOS">README.BEOS</A> - BeOS
<LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver
<LI><A HREF="README.DJ">README.DJ</A> - DJGPP
<LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS
<LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32
<LI><A HREF="README.NeXT">README.NeXT</A> - NeXT
<LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep
<LI><A HREF="README.OS2">README.OS2</A> - OS/2
<LI><A HREF="README.WINDML">README.WINDML</A> - WindML
</UL>
</body>
</html>

256
docs/intro.html Normal file
View File

@@ -0,0 +1,256 @@
<HTML>
<TITLE>Mesa Introduction</TITLE>
<BODY text="#000000" bgcolor="#55bbff">
<H1>Introduction</H1>
<p>
Mesa is a 3-D graphics library with an API which is very similar to
that of <a href="http://www.opengl.org/" target="_parent">OpenGL</a>.*
To the extent that Mesa utilizes the OpenGL command syntax or state
machine, it is being used with authorization from <a
href="http://www.sgi.com/" target="_parent">Silicon Graphics,
Inc.</a>(SGI). However, the author does not possess an OpenGL license
from SGI, and makes no claim that Mesa is in any way a compatible
replacement for OpenGL or associated with SGI. Those who want a
licensed implementation of OpenGL should contact a licensed
vendor.
</p>
<p>
Please do not refer to the library as <em>MesaGL</em> (for legal
reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
library</em>. <br>
</p>
<p>
* OpenGL is a trademark of <a href="http://www.sgi.com/"
target="_parent">Silicon Graphics Incorporated</a>.
</p>
<H1>Project History</H1>
<p>
The Mesa project was founded by me, Brian Paul. Here's a short history
of the project.
</p>
<p>
August, 1993: I begin working on Mesa in my spare time. The project
has no name at that point. I was simply interested in writing a simple
3D graphics library that used the then-new OpenGL API. I was partially
inspired by the <em>VOGL</em> library which emulated a subset of IRIS GL.
I had been programming with IRIS GL since 1991.
</p>
<p>
November 1994: I contact SGI to ask permission to distribute my OpenGL-like
graphics library on the internet. SGI was generally receptive to the
idea and after negotiations with SGI's legal department, I get permission
to release it.
</p>
<p>
February 1995: Mesa 1.0 is released on the internet. I expected that
a few people would be interested in it, but not thousands.
I was soon receiving patches, new features and thank-you notes on a
daily basis. That encouraged me to continue working on Mesa. The
name Mesa just popped into my head one day. SGI had asked me not to use
the terms <em>"Open"</em> or <em>"GL"</em> in the project name and I didn't
want to make up a new acronym. Later, I heard of the Mesa programming
language and the Mesa spreadsheet for NeXTStep.
</p>
<p>
In the early days, OpenGL wasn't available on too many systems.
It even took a while for SGI to support it across their product line.
Mesa filled a big hole during that time.
For a lot of people, Mesa was their first introduction to OpenGL.
I think SGI recognized that Mesa actually helped to promote
the OpenGL API, so they didn't feel threatened by the project.
</p>
<p>
1995-1996: I continue working on Mesa both during my spare time and during
my work hours at the Space Science and Engineering Center at the University
of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me do this because
Mesa is now being using for the <a href="http://www.ssec.wisc.edu/%7Ebillh/vis.html" target="_parent">Vis5D</a> project.
</p><p>
October 1996: Mesa 2.0 is released. It implementes the OpenGL 1.1 specification.
</p>
<p>
March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo graphics
card via the Glide library. It's the first really popular hardware OpenGL
implementation for Linux.
</p>
<p>
September 1998: Mesa 3.0 is released. It's the first publicly-available
implementation of the OpenGL 1.2 API.
</p>
<p>
March 1999: I attend my first OpenGL ARB meeting. I contribute to the
development of several official OpenGL extensions over the years.
</p>
<p>
September 1999: I'm hired by Precision Insight, Inc. Mesa is a key
component of 3D hardware acceleration in the new DRI project for XFree86.
Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon follow.
</p>
<p>
October 2001: Mesa 4.0 is released.
It implements the OpenGL 1.3 specification.
</p>
<p>
November 2001: I cofound <a href="http://www.tungstengraphics.com" target="_parent">
Tungsten Graphics, Inc.</a> with Keith Whitwell, Jens Owen, David Dawes and
Frank LaMonica.
I continue to develop Mesa as part of my resposibilities with Tungsten
Graphics and as a spare-time project.
</p>
<p>
November 2002: Mesa 5.0 is released.
It implements the OpenGL 1.4 specification.
</p>
<p>
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for XFree86
within the
<A href="http://dri.sourceforge.net/" target="_parent">DRI project</A>.
I continue to enhance Mesa with new extensions and features.
</p>
<H1>Major Versions</H1>
<p>
This is a summary of the major versions of Mesa. Note that Mesa's major
version number tracks OpenGL's minor version number.
</p>
<H2>Version 5.x features</H2>
<p>
Version 5.x of Mesa implements the OpenGL 1.4 API with the following
extensions incorporated as standard features:
</p>
<ul>
<li>GL_ARB_depth_texture
<li>GL_ARB_shadow
<li>GL_ARB_texture_env_crossbar
<li>GL_ARB_texture_mirror_repeat
<li>GL_ARB_window_pos
<li>GL_EXT_blend_color
<li>GL_EXT_blend_func_separate
<li>GL_EXT_blend_logic_op
<li>GL_EXT_blend_minmax
<li>GL_EXT_blend_subtract
<li>GL_EXT_fog_coord
<li>GL_EXT_multi_draw_arrays
<li>GL_EXT_point_parameters
<li>GL_EXT_secondary_color
<li>GL_EXT_stencil_wrap
<li>GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
<li>GL_SGIS_generate_mipmap
</ul>
<H2>Version 4.x features</H2>
<p>
Version 4.x of Mesa implements the OpenGL 1.3 API with the following
extensions incorporated as standard features:
</p>
<ul>
<li>GL_ARB_multisample
<li>GL_ARB_multitexture
<li>GL_ARB_texture_border_clamp
<li>GL_ARB_texture_compression
<li>GL_ARB_texture_cube_map
<li>GL_ARB_texture_env_add
<li>GL_ARB_texture_env_combine
<li>GL_ARB_texture_env_dot3
<li>GL_ARB_transpose_matrix
</ul>
<H2>Version 3.x features</H2>
<p>
Version 3.x of Mesa implements the OpenGL 1.2 API with the following
features:
</p>
<ul>
<li>BGR, BGRA and packed pixel formats
<li>New texture border clamp mode
<li>glDrawRangeElements()
<li>standard 3-D texturing
<li>advanced MIPMAP control
<li>separate specular color interpolation
</ul>
<H2>Version 2.x features</H2>
<p>
Version 2.x of Mesa implements the OpenGL 1.1 API with the following
features.
</p>
<ul>
<li>Texture mapping:
<ul>
<li>glAreTexturesResident
<li>glBindTexture
<li>glCopyTexImage1D
<li>glCopyTexImage2D
<li>glCopyTexSubImage1D
<li>glCopyTexSubImage2D
<li>glDeleteTextures
<li>glGenTextures
<li>glIsTexture
<li>glPrioritizeTextures
<li>glTexSubImage1D
<li>glTexSubImage2D
</ul>
<li>Vertex Arrays:
<ul>
<li>glArrayElement
<li>glColorPointer
<li>glDrawElements
<li>glEdgeFlagPointer
<li>glIndexPointer
<li>glInterleavedArrays
<li>glNormalPointer
<li>glTexCoordPointer
<li>glVertexPointer
</ul>
<li>Client state management:
<ul>
<li>glDisableClientState
<li>glEnableClientState
<li>glPopClientAttrib
<li>glPushClientAttrib
</ul>
<li>Misc:
<ul>
<li>glGetPointer
<li>glIndexub
<li>glIndexubv
<li>glPolygonOffset
</ul>
</ul>
</body>
</html>

55
docs/libraries.html Normal file
View File

@@ -0,0 +1,55 @@
<HTML>
<TITLE>Libraries and Toolkits</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Libraries and Toolkits</H1>
<ul>
<li><a href="http://mrpowers.com/Apprentice/">Apprentice</a> - free OpenInventor work-alike
<li><a href="http://www.coin3d.org/coin.html" target="_parent">Coin</a> - OSS Open Inventor clone
<li><a href="http://www.softintegration.com/products/toolkit/opengl/" target="_parent">Ch</a> - OpenGL bindings for the Ch C/C++ interpreter
<li><a href="http://www.cfdrc.com/FOX/fox.html" target="_parent">FOX</a> - GUI Library
<li><a href="http://www.jausoft.com/gl4java.html" target="_parent">GL4Java</a> - a Java wrapper for OpenGL
<li><a href="http://www.student.oulu.fi/%7Ejlof/gtkglarea/" target="_parent">GtkGLArea</a> - OpenGL Gtk widget
<li><a href="http://www.ece.ucdavis.edu/%7Ekenelson/gtk-glarea/" target="_parent">GtkGLArea--</a> - OpenGL Gtk-- widget for C++
<li><a href="http://gtkpas.sourceforge.net/" target="_parent">GTKpas</a> - OpenGL Gtk widget for <a href="http://www.freepascal.org/" target="_parent">FreePascal</a>
<li><a href="http://freeglut.sourceforge.net/" target="_parent">FreeGLUT</a> - a GLUT work-alike
<li><a href="http://math.nist.gov/f90gl" target="_parent">Fortran77/90 bindings for OpenGL and Mesa</a> - by William Mitchell
<li><a href="http://glow.sourceforge.net/" target="_parent">GLOW</a> - a GUI toolkit for GLUT and OpenGL
<li><a href="http://www.nigels.com/glt/">Glt</a> - an OpenGL C++ toolkit
<li><a href="http://www.opengl.org/developers/documentation/glut/" target="_parent">GLUT (GL Utility Toolkit)</a> - by Mark Kilgard
<li><a href="http://atrey.karlin.mff.cuni.cz/%7E0rfelyus/guileGL/" target="_parent">GuileGL</a> - OpenGL and GtkGLArea language bindings for Guile
<li><a href="http://www.rsinc.com/" target="_parent">IDL</a> - Interactive Data Language
<li><a href="http://www.newplanetsoftware.com/jx/" target="_parent">JX</a> - C++ application framework and GUI library
<li><a href="http://www.vrs3d.org/" target="_parent">MAM/VRS</a> - object-oriented toolkit for 3D graphics
<li><a href="http://www.jwdt.com/%7Epaysan/bigforth.html" target="_parent">MINOS</a> - GUI library
<li><a href="http://sourceforge.net/project/?group_id=2795" target="_parent">OglCLib</a> - C++ wrapper for OpenGL
<li><a href="http://oss.sgi.com/projects/inventor" target="_parent"> Open Inventor</a> - the Open Inventor toolkit from SGI
<li><a href="http://www.tgs.com/" target="_parent">Open Inventor</a> - the Open Inventor toolkit from Template Graphics Software, Inc.
<li><a href="http://openrm.sourceforge.net/" target="_parent">OpenRM</a>
- Open Source, multithreaded, parallel scene graph API
<li><a href="http://www.opensg.org/OpenSGPLUS/index.EN.html" target="_parent">
Open SG PLUS</a> - a scene-graph library
<li><a href="http://www.openscenegraph.org/" target="_parent">Open Scene Graph
</a> - a scene-graph library
<li><a href="http://www.openvrml.org/" target="_parent">OpenVRML</a>
- a VRML parsing/display library with "lookat" - an example VRML browser
<li><a href="http://www.woodsoup.org/projs/plib" target="_parent">PLIB</a> - A collection of portable games libraries, including an OpenGL GUI and a simple Scene Graph API
<li><a href="ftp://ftp.troll.no/contest/Pryan-1.2.tar.gz" target="_parent">Pryan</a> - an OpenInventor-like toolkit
<li><a href="http://starship.python.net:9673/crew/da/Code/PyOpenGL" target="_parent">PyOpenGL</a> - OpenGL interface for Python
<li><a href="http://www.quesa.org/" target="_parent">Quesa</a> - QuickDraw3D-compatible library based on OpenGL, Mesa or Direct3D
<li><a href="http://www.mesa3d.org/brianp/repgl.txt" target="_parent">repGL</a> - IRIS GL emulated with OpenGL
<li><a href="http://www.scitechsoft.com/dp_mgl.html" target="_parent">SciTech MGL</a> - A multiplatform (Windows, Linux, OS/2, DOS, QNX, SMX, RT-Target &amp; more) graphics library
<li><a href="http://sgl.sourceforge.net/" target="_parent">SGL</a> - a 3D Scene Graph Library
<li><a href="http://www.lal.in2p3.fr/SI/SoFree/" target="_parent">SoFree</a> - a free implementation of Open Inventor
<li><a href="http://togl.sourceforge.net/" target="_parent">Togl</a> - Tcl/Tk widget for OpenGL
<li><a href="http://mesa3d.sourceforge.net/notfound.html">VLE</a> - Virtual Reality Toolkit
<li><a href="http://www.int.com/" target="_parent">View3D Widget</a> - 3-D GUI widget
<li><a href="http://www.kitware.com/vtk.html" target="_parent">VTK</a> - Visualization Toolkit
<li><a href="http://home.earthlink.net/%7Erzeh/YAJOGLB/doc/YAJOGLB.html" target="_parent">YAJOGL</a> - Yet Another Java GL Binding.
</ul>
</body></html>

115
docs/license.html Normal file
View File

@@ -0,0 +1,115 @@
<HTML>
<TITLE>License / Cppyright Information</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>License / Copyright Information</H1>
<p>
The Mesa distribution consists of several components. Different copyrights
and licenses apply to different components. For example, GLUT is copyrighted
by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
device drivers are copyrighted by their authors. See below for a list of
Mesa's components and the copyright/license for each.
</p>
<p>
The core Mesa library is licensed according to the terms of the XFree86
copyright (an MIT-style license). This allows integration with the
XFree86/DRI project. Unless otherwise stated, the Mesa source code and
documentation is licensed as follows:
</p>
<pre>
Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
</pre>
<H1>Attention, Contributors</H1>
<p>
When contributing to the Mesa project you must agree to relinquish your
work to the holder of the copyright for the particular component you're
contributing to. That is, you can't put your own copyright on the code,
unless it's a modular piece that can be omitted from Mesa (like a new
device driver). If for example, you contribute a bug fix to Mesa's
texture mapping code, your code will become a part of the body of work
which is copyrighted by Brian Paul and licensed by the above terms.
</p>
<pre>
Mesa Component Licenses:
Component Files Primary Author License
----------------------------------------------------------------------------
core Mesa code src/*.[ch] Brian Paul Mesa
include/GL/gl.h
GLX driver src/X/* Brian Paul Mesa
include/GL/glx.h
include/GL/xmesa.h
OS/Mesa driver src/OSmesa/* Brian Paul Mesa
include/GL/osmesa.h
3Dfx driver src/FX/* David Bucciarelli Mesa
include/GL/fxmesa.h
BeOS R4 driver src/BeOS/* Brian Paul Mesa
MGL driver src/MGL/* SciTech, Inc SciTech copyright
include/GL/mglmesa.h
Windows driver src/Windows/* Li Wei copyright by Li Wei
include/GL/wmesa.h
SVGA driver src/SVGA/* Brian Paul GNU-LGPL
include/GL/svgamesa.h
DOS driver src/DOS/* Charlie Wallace GNU-LGPL
include/GL/dosmesa.h
GGI driver src/GGI/* Uwe Maurer GNU-LGPL
include/GL/ggimesa.h
S3 driver src/S3/* S3, Inc. S3 copyright
GLUT src-glut/* Mark Kilgard Mark's copyright
include/GL/*glut*.h
GLU library src-glu/* Brian Paul GNU-LGPL
SI GLU library si-glu/* SGI SGI Free B
include/GL/glu.h
Ext registry include/GL/glext.h SGI SGI Free B
include/GL/glxext.h
demo programs demos/* various see source files
X demos xdemos/* Brian Paul see source files
SGI demos samples/* SGI SGI copyright
RedBook demos book/* SGI SGI copyright
</pre>
</body>
</html>

51
docs/lists.html Normal file
View File

@@ -0,0 +1,51 @@
<HTML>
<TITLE>Mesa Mailing Lists</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Mailing Lists</H1>
<p>There are four Mesa mailing lists:</p>
<ul>
<li><b>mesa3d-users</b> - intended for users of the Mesa library.
Newbie questions are appropriate, but please try reading the Mesa documentation first.
</li><li><b>mesa3d-dev</b> - intended for developers of the Mesa library.
This is not for beginners.
</li><li><b>mesa3d-cvs</b> - CVS check-in messages are sent to this list.
This is useful for tracking ongoing development changes.
</li><li><b>mesa3d-announce</b> - announcements of new Mesa versions are sent to this list.
</li></ul>
<p>
To subscribe or unsubscribe, go to the
<a href="http://www.sourceforge.net/mail/?group_id=3" target="_parent">
SourceForge lists page.</a>
</p>
<p>The mailing lists are managed by SourceForge. If you're having trouble
with the mailing lists please contact the SourceForge administrators for help.</p>
<p>Archives of the old Mesa mailing list which was hosted by unicamp.br
are available <a href="http://groups.yahoo.com/group/mesa/messages/">here</a>.</p>
<p>
Here are some other OpenGL-related forums you might find useful:
</p>
<p>
Usenet newsgroups:
<ul>
<li>comp.graphics.algorithms
<li>comp.graphics.api.opengl
<li>comp.os.linux.x
</ul>
</p>
<p>
<a href="http://www.opengl.org/">OpenGL discussion forums</A> at www.opengl.org
</p>
</HTML>
</BODY>

26
docs/mangling.html Normal file
View File

@@ -0,0 +1,26 @@
<HTML>
<TITLE>Function Name Mangling</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Function Name Mangling</H1>
<p>
If you want to use Mesa and native OpenGL in the same application at
the same time you may find it useful to compile Mesa with
<i>name mangling</i>.
This results in all the Mesa functions being prefixed with
<b>mgl</b> instead of <b>gl</b>.
</p>
<p>
To do this, recompile Mesa with the compiler flag -DUSE_MGL_NAMESPACE.
Add the flag to the other compiler flags in Make-config (if using the
old-style build system) or in src/Makefile if using GNU autoconf/
automake to build Mesa.
</p>
</BODY>
</HTML>

70
docs/modelers.html Normal file
View File

@@ -0,0 +1,70 @@
<HTML>
<TITLE>Modelers, Renderers and Viewers</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Modelers, Renderers and Viewers</H1>
<ul>
<li><a href="http://www.ac3d.org/" target="_parent">AC3D</a> - 3-D modeler
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">ARCAD</a> - CAD program
</li><li><a href="http://www.mediascape.com/" target="_parent">Artstream</a> - provides
functionality like Corel Draw and Illustrator
</li><li><a href="http://www.blender.nl/" target="_parent">Blender</a> - 3-D animation
software
</li><li><a href="http://www.bmrt.org/" target="_parent">BMRT</a> - Blue Moon Rendering
Tools
</li><li><a href="http://www.arq.net/%7Ekasten/demtools/" target="_parent">Demtools</a>
- Map viewer
</li><li><a href="http://www.holometric.de/dimension/" target="_parent">DIMENSION</a>
- freeform surface reconstruction
</li><li><a href="http://www.vectaport.com/vhclmaps/demviewer.html" target="_parent">demviewer</a>
- interactive terrain viewer
</li><li><a href="http://www.crc.ca/FreeWRL" target="_parent">FreeWRL</a> - VRML browser
</li><li><a href="http://www.geomview.org/" target="_parent">Geomview</a> - 3-D geometry
exploration
</li><li><a href="http://innovation3d.sourceforge.net/" target="_parent">Innovation3D</a>
- 3D modeling program
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">KWRL</a> - VRML browser
</li><li><a href="http://www.vermontel.com/%7Ecmorley/vrml.html" target="_parent">LibVRML97/Lookat</a>
- VRML viewer
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
- VR graphics and interaction system
</li><li><a href="http://www.swissquake.ch/chumb.alum-soft" target="_parent">MD2 Viewer</a>
- View .MD2 files
</li><li><a href="http://www.megacads.dlr.de/" target="_parent">MegaCads</a>
- Multiblock-Elliptic-Grid-Generation-And-CAD-System
</li><li><a href="http://www.swissquake.ch/chumbalum-soft/" target="_parent">MilkShape
3D</a> - 3D modeler/animator
</li><li><a href="http://mindseye.sourceforge.net/" target="_parent">Mindseye</a> - Rendering/Modeling
Package
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">Moonlight Atelier</a> - modeling and rendering package
</li><li><a href="http://www.bittco.com/" target="_parent">NetReality</a> - Virtual Reality
web organizer
</li><li><a href="http://www.sim.no/reducer.html" target="_parent">Rational Reducer</a>
- polygon reduction tool
</li><li><a href="http://www.cs.kuleuven.ac.be/cwis/research/graphics/RENDERPARK/" target="_parent">RenderPark</a>
- photorealistic rendering
</li><li><a href="http://www.hardgeus.com/revolution" target="_parent">Revolution 3D Engine</a>
- .3ds rendering engine
</li><li><a href="http://www.dgp.toronto.edu/%7Emjmcguff/eversion/" target="_parent">sphereEversion</a>
- inside-out sphere visualization
</li><li><a href="http://www.cs.kuleuven.ac.be/cwis/research/graphics/3DOM/" target="_parent">3Dom</a>
- 3-D modeler
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">3D Studio file viewer</a> - by David Farrell
</li><li><a href="http://www.microform.se/" target="_parent">VARKON</a> - product engineering,
design, modeling
</li><li><a href="http://www.sim.no/vrmlview.html" target="_parent">VRMLview</a> - VRML
model viewer
</li><li><a href="http://www.iicm.edu/vrwave/" target="_parent">VRWave</a> - a VRML 2.0
browser
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">VRweb</a> - VRML browser
</li><li><a href="http://www.csv.ica.uni-stuttgart.de/vrml/dune/" target="_parent">white_dune</a>
- graphical VRML97 Editor and animation tool
</li><li><a href="http://www.wings3d.org/" target="_parent">Wings 3D</a> - static 3D modeller
with VRML export. Uses SDL library.
</li></ul>
</body></html>

678
docs/news.html Normal file
View File

@@ -0,0 +1,678 @@
<HTML>
<TITLE>Mesa News</TITLE>
<BODY text="#000000" bgcolor="#55bbff">
<H1>News</H1>
<h2>September 5, 2003</h2>
<p>
Mesa 5.0.2 has been released. This is a stable, bug-fix release.
</p>
<pre>
Bug fixes:
- fixed texgen problem causing texcoord's Q to be zero (stex3d)
- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
- GL_CURRENT_MATRIX_NV query was wrong
- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
- GL_LIST_MODE query wasn't correct
- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
- blended, wide lines didn't always work correctly (bug 711595)
- glVertexAttrib4svNV w component was always 1
- fixed bug in GL_IBM_rasterpos_clip (missing return)
- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
- a few Solaris compilation fixes
- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
- glFog() didn't clamp fog colors
- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
gl[Get]TexParameteri[v] functions
- fixed invalid memory references in glTexGen functions (bug 781602)
- integer-valued color arrays weren't handled correctly
- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
Changes:
- build GLUT with -fexceptions so C++ apps propogate exceptions
</pre>
<p>
MD5 checksums follow:
</p>
<pre>
2deb4176e7a06a0477ae31cadd55444b MesaLib-5.0.2.tar.gz
dc147598ebdff4312260a7f79b3c5c9c MesaLib-5.0.2.tar.bz2
1eb0fa7079131efef574e3bda328b8c8 MesaLib-5.0.2.zip
e0dc86e9417620e794968641403604d4 MesaDemos-5.0.2.tar.gz
a71afaeddd0b567423f88085576850d3 MesaDemos-5.0.2.tar.bz2
32fbf1925cf45f548468ddda96087828 MesaDemos-5.0.2.zip
</pre>
<h2>June 2003</h2>
<p>
Mesa's directory tree has been overhauled.
Things are better organized now with some thought toward future needs.
</p>
<p>
In CVS, the latest Mesa 5.1 development code is now rooted under the
<b>Mesa-newtree/</b> directory. The old top-level <b>Mesa/</b> directory
holds the Mesa 5.0.x code which will be abandoned at some point.
</p>
<h2>March 30, 2003</h2>
<p>
Mesa 5.0.1 has been released. This is a stable, bug-fix release.
</p>
<pre>
New:
- DOS driver updates from Daniel Borca
- updated GL/gl_mangle.h file (Bill Hoffman)
Bug fixes:
- auto mipmap generation for cube maps was broken (bug 641363)
- writing/clearing software alpha channels was unreliable
- minor compilation fixes for OS/2 (Evgeny Kotsuba)
- fixed some bad assertions found with shadowtex demo
- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
- fixed potential segfault in texture object validation (bug 659012)
- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
- fixed compilation problem on Solaris7/x86 (bug 536406)
- fixed prefetch bug in 3DNow! code (Felix Kuhling)
- fixed NeXT build problem (FABSF macro)
- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
- AA line and triangle Z values are now rounded, not truncated
- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
- fixed a minor GL_COLOR_MATERIAL bug
- NV vertex program EXP instruction was broken
- glColorMask misbehaved with X window / pixmap rendering
- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
- attempt to fix GGI compilation problem when MesaDemos not present
- NV vertex program ARL-relative fetches didn't work
Changes:
- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
- updated winpos and pointblast demos to use ARB extensions
- disable SPARC normal transformation code (bug 673938)
- GLU fixes for OS/2 (Evgeny Kotsuba)
</pre>
<p>
MD5 checksums follow:
</p>
<pre>
b80f8b5d53a3e9f19b9fde5af0c542f0 MesaLib-5.0.1.tar.gz
513b4bbd7d38951f05027179063d876b MesaLib-5.0.1.tar.bz2
eebd395678f4520d33b267e5d5c22651 MesaLib-5.0.1.zip
49d7feaec6dc1d2091d7c3cc72a9b320 MesaDemos-5.0.1.tar.gz
37190374a98c3c892f0698be9ca3acf0 MesaDemos-5.0.1.tar.bz2
becd8bf17f5791361b4a54ba2a78e5c9 MesaDemos-5.0.1.zip
</pre>
<h2>March 7, 2003</h2>
<p>
Website and documentation overhaul.
</p>
<p>
The website content and Mesa documentation (from the doc/ directory) have
been merged together.
All the documentation files have been entered into the CVS repository.
Many of the old plain-text files have been converted to html and modernized.
</p>
<h2>November 13, 2002</h2>
<p>Mesa 5.0 has been released. This is a stable release which
implements the OpenGL 1.4 specification.
</p><pre>New:
- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
- removed some overlooked debugging code
- glxinfo updated to support GLX_ARB_multisample
- GLUT now support GLX_ARB_multisample
- updated DOS driver (Daniel Borca)
Bug fixes:
- GL_POINT and GL_LINE-mode polygons didn't obey cull state
- fixed potential bug in _mesa_align_malloc/calloc()
- fixed missing triangle bug when running vertex programs
- fixed a few HPUX compilation problems
- FX (Glide) driver didn't compile
- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
- a few EXT functions, like glGenTexturesEXT, were no-ops
- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
glMultiDrawArrays and glMultiDrawElements were missing
- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
- Pentium 4 Mobile was mistakenly identified as having 3DNow!
- fixed one-bit error in point/line fragment Z calculation
- fixed potential segfault in fakeglx code
- fixed color overflow problem in DOT3 texture env mode
</pre>
<h2>October 29, 2002</h2>
<p>Mesa 4.1 has been released. This is a new development release.
For a stable release, get 4.0.4.
</p><pre>New:
- GL_NV_vertex_program extension
- GL_NV_vertex_program1_1 extension
- GL_ARB_window_pos extension
- GL_ARB_depth_texture extension
- GL_ARB_shadow extension
- GL_ARB_shadow_ambient extension
- GL_EXT_shadow_funcs extension
- GL_ARB_point_parameters extension
- GL_ARB_texture_env_crossbar
- GL_NV_point_sprite extension
- GL_NV_texture_rectangle extension
- GL_EXT_multi_draw_arrays extension
- GL_EXT_stencil_two_side extension
- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
- GL_ATI_texture_mirror_once extension (Ian Romanick)
- massive overhaul/simplification of software rasterizer module,
many contributions from Klaus Niederkrueger
- faster software texturing in some cases (i.e. trilinear filtering)
- new OSMesaGetProcAddress() function
- more blend modes implemented with MMX code (Jose Fonseca)
- added glutGetProcAddress() to GLUT
- added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
- pbinfo and pbdemo PBuffer programs
- glxinfo -v prints transprent pixel info (Gerd Sussner)
Bug fixes:
- better mipmap LOD computation (prevents excessive blurriness)
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
- clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
- fixed divide by zero error in NURBS tessellator (Jon Perry)
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx/glide driver render-to-window feature was broken
- added missing GLX_TRANSPARENT_RGB token to glx.h
- fixed error checking related to paletted textures
- fixed reference count error in glDeleteTextures (Randy Fayan)
Changes:
- New spec file and Python code to generate some GL dispatch files
- Glide driver defaults to "no" with autoconf/automake
- floating point color channels now clamped to [0,inf)
- updated demos/stex3d with new options
</pre>
<h2>October 4, 2002</h2>
<p>
The <a href="http://mesa3d.sourceforge.net/docs/MesaFAQ.html">Mesa FAQ</a> has been rewritten.
</p>
<h2>October 3, 2002</h2>
<p>Mesa 4.0.4 has been released. This is a stable bug-fix release.
</p><pre> New:
- GL_NV_texture_rectangle extension
- updated glext.h header (version 17)
- updated DOS driver (Daniel Borca)
- updated BeOS R5 driver (Philippe Houdoin)
- added GL_IBM_texture_mirror_repeat
- glxinfo now takes -l option to print interesting OpenGL limits info
- GL_MESA_ycbcr_texture extension
- GL_APPLE_client_storage extension (for some DRI drivers only)
- GL_MESA_pack_invert extension
Bug fixes:
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx MESA_GLX_FX=window (render to window) didn't work
- fixed memory leak in wglCreateContest (Karl Schultz)
- define GLAPIENTRY and GLAPI if undefined in glu.h
- wglGetProcAddress didn't handle all API functions
- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
- error checking in compressed tex image functions had some glitches
- fixed AIX compile problem in src/config.c
- glGetTexImage was using pixel unpacking instead of packing params
- auto-mipmap generation for cube maps was incorrect
Changes:
- max texture units reduced to six to accomodate texture rectangles
- removed unfinished GL_MESA_sprite_point extension code
</pre>
<h2>June 25, 2002</h2>
<p>Mesa 4.0.3 has been released. This is a stable bug-fix release.
</p><pre> New:
- updated GL/glext.h file (version 15)
- corrected MMX blend code (Jose Fonseca)
- support for software-based alpha planes in Windows driver
- updated GGI driver (Filip Spacek)
Bug fixes:
- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed lighting bug with non-uniform scaling and display lists
- fixed bug when deleting shared display lists
- disabled SPARC cliptest assembly code (Mesa bug 544665)
- fixed a couple Solaris compilation/link problems
- blending clipped glDrawPixels didn't always work
- glGetTexImage() didn't accept packed pixel types
- glPixelMapu[is]v() could explode given too large of pixelmap
- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
- glXCopyContext() could lead to segfaults
- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
Changes:
- lots of C++ (g++) code clean-ups
- lots of T&amp;L updates for the Radeon DRI driver
Known bugs:
- mipmap LOD computation (fixed for Mesa 4.1)
</pre>
<h2>April 2, 2002</h2>
<p>Mesa 4.0.2 has been released. This is a stable bug-fix release.
</p><pre> New:
- New DOS (DJGPP) driver written by Daniel Borca
- New driver interface functions for TCL drivers (such as Radeon DRI)
- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
if using deep color channels
- latest GL/glext.h and GL/glxext.h headers from SGI
Bug fixes:
- GL_BLEND with non-black texture env color wasn't always correct
- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
- glReadPixels was sometimes mistakenly clipped by the scissor box
- glDraw/ReadPixels didn't catch all the errors that they should have
- Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
- Fixed 1-bit float-&gt;int conversion bug in glDrawPixels(GL_DEPTH_COMP)
- glColorMask as sometimes effecting glXSwapBuffers()
- fixed a potential bug in XMesaGarbageCollect()
- N threads rendering into one window didn't work reliably
- glCopyPixels didn't work for deep color channels
- improved 8 -&gt; 16bit/channel texture image conversion (Gerk Huisma)
- glPopAttrib() didn't correctly restore user clip planes
- user clip planes failed for some perspective projections (Chromium)
</pre>
<h2>December 17, 2001</h2>
<p>Mesa 4.0.1 has been released. This is a stable bug-fix release.
</p><pre> New:
- better sub-pixel sample positions for AA triangles (Ray Tice)
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
Bug fixes:
- added missing break statements in glGet*() for multisample cases
- fixed uninitialized hash table mutex bug (display lists / texobjs)
- fixed bad teximage error check conditional (bug 476846)
- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
- silence some compiler warnings (gcc 2.96)
- enable the #define GL_VERSION_1_3 in GL/gl.h
- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
- fixed glu.h typedef problem found with MSDev 6.0
- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
- added missing 'const' to glXGetContextIDEXT() in glxext.h
- fixed a few glXGetProcAddress() errors (texture compression, etc)
- fixed start index bug in compiled vertex arrays (Keith)
- fixed compilation problems in src/SPARC/glapi_sparc.S
- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
- use glXGetProcAddressARB in GLUT to avoid extension linking problems
- provoking vertex of flat-shaded, color-index triangles was wrong
- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
- glTexParameter didn't flush the vertex buffer (Ray Tice)
- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
- fixed bug in normal length caching (ParaView lighting bug)
</pre>
<h2>October 22, 2001</h2>
<p>Mesa 4.0 has been released. This is a stable release.
</p><pre> New:
- Mesa 4.0 implements the OpenGL 1.3 specification
- GL_IBM_rasterpos_clip extension
- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
- GL_ARB_texture_mirrored_repeat extension
- WindML UGL driver (Stephane Raimbault)
- added OSMESA_MAX_WIDTH/HEIGHT queries
- attempted compiliation fixes for Solaris 5, 7 and 8
- updated glext.h and glxext.h files
- updated Windows driver (Karl Schultz)
Bug fixes:
- added some missing GLX 1.3 tokens to include/GL/glx.h
- GL_COLOR_MATRIX changes weren't recognized by teximage functions
- glCopyPixels with scale and bias was broken
- glRasterPos with lighting could segfault
- glDeleteTextures could leave a dangling pointer
- Proxy textures for cube maps didn't work
- fixed a number of 16-bit color channel bugs
- fixed a few minor memory leaks
- GLX context sharing was broken in 3.5
- fixed state-update bugs in glPopClientAttrib()
- fixed glDrawRangeElements() bug
- fixed a glPush/PopAttrib() bug related to texture binding
- flat-shaded, textured lines were broken
- fixed a dangling pointer problem in the XMesa code (Chris Burghart)
- lighting didn't always produce the correct alpha value
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
</pre>
<h2>June 21, 2001</h2>
<p>Mesa 3.5 has been released. This is a new development release.
</p><pre> New:
- internals of Mesa divided into modular pieces (Keith Whitwell)
- 100% OpenGL 1.2 conformance (passes all conformance tests)
- new AA line algorithm
- GL_EXT_convolution extension
- GL_ARB_imaging subset
- OSMesaCreateContextExt() function
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
- GL_EXT_fog_coord extension (Keith Whitwell)
- GL_EXT_secondary_color extension (Keith Whitwell)
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_SGIX_depth_texture extension
- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
- GL_ARB_texture_env_combine extension
- GL_ARB_texture_env_dot3 extension
- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
- OSMesaCreateContextExt() function
- libOSMesa.so library, contains the OSMesa driver interface
- GL/glxext.h header file for GLX extensions
- somewhat faster software texturing, fogging, depth testing
- all color-index conformance tests now pass (only 8bpp tested)
- SPARC assembly language TCL optimizations (David Miller)
- GL_SGIS_generate_mipmap extension
Bug Fixes:
- fbiRev and tmuRev were unitialized when using Glide3
- fixed a few color index mode conformance failures; all pass now
- now appling antialiasing coverage to alpha after texturing
- colors weren't getting clamped to [0,1] before color table lookup
- fixed RISC alignment errors caused by COPY_4UBV macro
- drawing wide, flat-shaded lines could cause a segfault
- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
Changes:
- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
- new libOSMesa.so library, contains the OSMesa driver interface
</pre>
<h2>May 17, 2001</h2>
<p>Mesa 3.4.2 has been released. This is basically just a bug-fix release.
Here's what's new:</p>
<pre> Bug fixes:
- deleting the currently bound texture could cause bad problems
- using fog could result in random vertex alpha values
- AA triangle rendering could touch pixels outside right window bound
- fixed byteswapping problem in clear_32bit_ximage() function
- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
- fixed memory leak in glXUseXFont()
- fragment sampling in AA triangle function was off by 1/2 pixel
- Windows: reading pixels from framebuffer didn't always work
- glConvolutionFilter2D could segfault or cause FP exception
- fixed segfaults in FX and X drivers when using tex unit 1 but not 0
- GL_NAND logicop didn't work right in RGBA mode
- fixed a memory corruption bug in vertex buffer reset code
- clearing the softwara alpha buffer with scissoring was broken
- fixed a few color index mode fog bugs
- fixed some bad assertions in color index mode
- fixed FX line 'stipple' bug #420091
Changes:
- optimized writing mono-colored pixel spans to X pixmaps
- increased max viewport size to 2048 x 2048
</pre>
<h2>April 29, 2001</h2>
<p>New Mesa website</p>
<p>Mark Manning produced the new website.<br>Thanks, Mark!</p>
<h2>February 14, 2001</h2>
<p>Mesa 3.4.1 has been released. Here's what's new:</p>
<pre> New:
- fixed some Linux build problems
- fixed some Windows build problems
- GL_EXT_texture_env_dot3 extension (Gareth Hughes)
Bug fixes:
- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
- various state-update code changes needed for DRI bugs
- disabled pixel transfer ops in glColorTable commands, not needed
- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
- updated sources and fixed compile problems in widgets-mesa/
- GLX_PBUFFER enum value was wrong in glx.h
- fixed a glColorMaterial lighting bug
- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
- glXCopySubBufferMESA() Y position was off by one
- Error checking of glTexSubImage3D() was broken (bug 128775)
- glPopAttrib() didn't restore all derived Mesa state correctly
- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
conformance problems at 16bpp.
- clearing depth buffer with scissoring was broken, would segfault
- OSMesaGetDepthBuffer() returned bad bytesPerValue value
- fixed a line clipping bug (reported by Craig McDaniel)
- fixed RGB color over/underflow bug for very tiny triangles
Known problems:
- NURBS or evaluator surfaces inside display lists don't always work
</pre>
<p>
</p><h2>November 3, 2000</h2>
<p>Mesa 3.4 has been released. Here's what's new since the 3.3 release:</p>
<pre> New:
- optimized glDrawPixels for glPixelZoom(1,-1)
Bug Fixes:
- widgets-mesa/src/*.c files were missing from 3.3 distro
- include/GL/mesa_wgl.h file was missing from 3.3 distro
- fixed some Win32 compile problems
- texture object priorities weren't getting initialized to 1.0
- glAreTexturesResident return value was wrong when using hardware
- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
- glReadPixels with GLushort packed types was broken
- fixed a few bugs in the GL_EXT_texture_env_combine texture code
- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
- fixed some typos/bugs in the VB code
- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
- optimized glDrawPixels paths weren't being used
- per-fragment fog calculation didn't work without a Z buffer
- improved blending accuracy, fixes Glean blendFunc test failures
- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
- glXGetProcAddressARB() didn't always return the right address
- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
- texture matrix changes weren't always detected (GLUT projtex demo)
- fixed random color problem in vertex fog code
- fixed Glide-related bug that let Quake get a 24-bit Z buffer
Changes:
- finished internal support for compressed textures for DRI
</pre>
<p>
</p><h2>April 24, 2000</h2>
<p>Mesa 3.2 has been released. Here's what's new since the beta release:</p>
<pre> Bug fixes:
- fixed memcpy bugs in span.c
- fixed missing glEnd problem in demos/tessdemo.c
- fixed bug when clearing 24bpp Ximages
- fixed clipping problem found in Unreal Tournament
- fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
- fixed Loki's 3dfx RGB vs BGR bug
- fixed Loki's 3dfx smooth/flat shading bug in SoF
Changes:
- updated docs/README file
- use bcopy() optimizations on FreeBSD
- re-enabled the optimized persp_textured_triangle() function
</pre>
<p>
</p><h2>March 23, 2000</h2>
<p>I've just upload the Mesa 3.2 beta 1 files to SourceForge at <a href="http://sourceforge.net/project/showfiles.php?group_id=3" target="_parent">http://sourceforge.net/project/filelist.php?group_id=3</a><a href="http://sourceforge.net/project/showfiles.php?group_id=3"></a></p>
<p>3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly
just bug fixes.</p>
<p>Here's what's changed:
</p><ul>
Bug fixes:
<ul>
- mixed drawing of lines and bitmaps sometimes had wrong colors<br>
- added missing glHintPGI() function<br>
- fixed a polygon culling bug<br>
- fixed bugs in gluPartialDisk()<br>
- Z values in selection mode were wrong<br>
- added missing tokens:
<ul>
GL_SMOOTH_POINT_SIZE_RANGE<br>
GL_SMOOTH_POINT_SIZE_GRANULARITY<br>
GL_SMOOTH_LINE_WIDTH_RANGE<br>
GL_SMOOTH_LINE_WIDTH_GRANULARITY<br>
GL_ALIASED_POINT_SIZE_RANGE<br>
GL_ALIASED_LINE_WIDTH_RANGE
</ul>
- fixed glCopyPixels when copying from back to front buffer<br>
- GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT<br>
- glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken<br>
- glDeleteTextures() didn't decrement reference count correctly<br>
- GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly<br>
- Actual depth of transformation matrix stacks was off by one<br>
- 24bpp visuals didn't address pixels correctly<br>
- mipmap level of detail (lambda) calculation simplified, more accurate<br>
- 101691 - Polygon clipping and GL_LINE<br>
- 101928 - Polygon clipping and GL_LINE (same fix as above)<br>
- 101808 - Non-glVertexArrays tristrip bug<br>
- 101971 - find_last_3f on Dec OSF (worked around)<br>
- 102369 - segv on dec osf (possibly a duplicate of the above)<br>
- 102893 - orientations of modelview cause segfault
</ul>
New:
<ul>
- updated SVGA Linux driver<br>
- added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX<br>
- build libGLw.a (Xt/OpenGL drawing area widget) library by default<br>
- changed -O2 to -O3 for a number of gcc configs
</ul>
Changes:
<ul>
- glXCopyContext's mask parameter is now unsigned long, per GLX spec
</ul>
</ul>
<p>Please report any problems with this release ASAP. Bugs should be filed on the
Mesa3D website at sourceforge.<br>
After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.</p>
<p>-- Brian</p>
<p>
</p><h2>December 17, 1999</h2>
<p>A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers)
can be found at <a href="http://slashdot.org/interviews/99/12/17/0927212.shtml" target="_parent">http://slashdot.org/interviews/99/12/17/0927212.shtml</a>.</p>
<p>
</p><h2>December 14, 1999</h2>
<p>Mesa 3.1 is released!</p>
<p>
</p><h2>September 21, 1999</h2>
<p>There appear to be two new files on the ftp site, <a href="ftp://ftp.mesa3d.org/mesa/beta/MesaLib-3.1beta3.tar.gz">MesaLib-3.1beta3.tar.gz</a>
and <a href="ftp://ftp.mesa3d.org/mesa/beta/MesaDemos-3.1beta3.tar.gz">MesaDemos-3.1beta3.tar.gz</a>,
that seem to be... yes, I've just received confirmation from the beta center, they
are indeed the <b>THIRD</b> beta release of Mesa 3.1! Happy Days. Happy Days. Thanks
Keith Whitwell for preparing these for us during Brian's absence.</p>
<p>
</p><h2>August 30, 1999</h2>
<p>I'm pleased to announce that I've accepted a position with Precision Insight,
Inc. effective October, 1999. I'll be leaving Avid Technology in September.</p>
<p>I've been working on Mesa in my spare time for over five years. With Precision
Insight I now have the opportunity to devote my full attention to advancing Mesa
and OpenGL on Linux.</p>
<p>While I'll be focused on Linux, the X Window System, and hardware acceleration,
my work will continue to be open sourced and available to any other programmers who
may want to contribute to it, or use it for other projects or platforms</p>
<p>PS: I'm going to be traveling until Sep 6 and won't be reading email until then.</p>
<p>
</p><h2>August 23, 1999</h2>
<p>Anonymous CVS access is back online so suck up all the bandwidth you can afford.
Note that this is a new archive, so you will need to re-checkout the archive. That
means don't <i>cvs update</i> from a previous download.</p>
<p>
</p><h2>August 17, 1999</h2>
<p>A report from the SIGGRAPH '99 Linux/OpenGL
BOF meeting is now available.</p>
<p>-Brian</p>
<p>
</p><h2>August 14, 1999</h2>
<p>www.mesa3d.org is having technical problems due to hardware failures at VA Linux
systems. The Mac pages, ftp, and CVS services aren't fully restored yet. Please be
patient.</p>
<p>-Brian</p>
<p>
</p><h2>June 7, 1999</h2>
<p>RPMS of the nVidia RIVA server can be found at <a href="ftp://ftp.mesa3d.org/mesa/misc/nVidia/">ftp://ftp.mesa3d.org/mesa/misc/nVidia/</a>.</p>
<p>
</p><h2>June 2, 1999</h2>
<p><a href="http://www.nvidia.com/">nVidia</a> has released some Linux binaries for
xfree86 3.3.3.1, along with the <b>full source</b>, which includes GLX acceleration
based on Mesa 3.0. They can be downloaded from <a href="http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html">http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html</a>.</p>
<p>
</p><h2>May 24, 1999</h2>
<p>Beta 2 of Mesa 3.1 has been make available at <a href="ftp://ftp.mesa3d.org/mesa/beta/">ftp://ftp.mesa3d.org/mesa/beta/</a>.
If you are into the quake scene, you may want to try this out, as it contains some
optimizations specifically in the Q3A rendering path.
<p>
</p><h2>May 13, 1999</h2>
<p>For those interested in the integration of Mesa into XFree86 4.0, Precision Insight
has posted their lowlevel design documents at http://www.precisioninsight.com.</p>
<p>
</p><h2>May 13, 1999</h2>
<pre>May 1999 - John Carmack of id Software, Inc. has made a donation of
US$10,000 to the Mesa project to support its continuing development.
Mesa is a free implementation of the OpenGL 3D graphics library and id's
newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
The donation will go to Keith Whitwell, who has been optimizing Mesa to
improve performance on 3d hardware. Thanks to Keith's work, many
applications using Mesa 3.1 will see a dramatic performance increase
over Mesa 3.0. The donation will allow Keith to continue working on
Mesa full time for some time to come.
For more information about Mesa see www.mesa3d.org. For more
information about id Software, Inc. see www.idsoftware.com.
--------------------------------
This donation from John/id is very generous. Keith and I are very
grateful.
</pre>
<p>
</p><h2>May 1, 1999</h2>
<p>John Carmack made an interesting .plan update yesterday:
</p><ul>
<i>"I put together a document on optimizing OpenGL drivers for Q3 that
should be helpful to the various Linux 3D teams. <br>
</i>http://www.quake3arena.com/news/glopt.html</i>"
</ul>
<p>
</p><h2>April 7, 1999</h2>
<p>Updated the Mesa contributors section and added links to RPM Mesa packages.</p>
<p>
</p><h2>March 18, 1999</h2>
<p>The new webpages are now online. Enjoy, and let me know if you find any errors.
For an eye-candy free version you can use <a href="http://www.mesa3d.org/txt/">http://www.mesa3d.org/txt/</a>.</p>
<p>
</p><h2>February 16, 1999</h2>
<p><a href="http://www.sgi.com/">SGI</a> releases its <a href="http://www.sgi.com/software/opensource/glx/">GLX
source code</a>.</p>
<p>
</p><h2>January 22, 1999</h2>
<p>www.mesa3d.org established</p>
</p>
<hr>
$Id: news.html,v 3.7 2003/09/05 13:39:39 brianp Exp $
</body>
</html>

78
docs/osmesa.html Normal file
View File

@@ -0,0 +1,78 @@
<HTML>
<TITLE>Off-screen Rendering</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Off-screen Rendering</H1>
<p>
Mesa 1.2.4 introduced off-screen rendering, a facility for generating
3-D imagery without having to open a window on your display. Mesa's
simple off-screen rendering interface is completely operating system
and window system independent so programs which use off-screen
rendering should be very portable. This feature effectively
enables you to use Mesa as an off-line, batch-oriented renderer.
</p>
<p>
The "OSMesa" API provides 3 functions for making off-screen
renderings: OSMesaCreateContext(), OSMesaMakeCurrent(), and
OSMesaDestroyContext(). See the Mesa/include/GL/osmesa.h header for
more information. See the demos/osdemo.c file for an example program.
There is no facility for writing images to files. That's up to you.
</p>
<p>
If you want to generate large images (larger than 1280x1024) you'll
have to edit the src/config.h file to change MAX_WIDTH and MAX_HEIGHT
then recompile Mesa. Image size should only be limited by available
memory.
</p>
<H2>Deep color channels</H2>
<p>
For some applications 8-bit color channels don't have sufficient
accuracy (film and IBR, for example). If you're in this situation
you'll be happy to know that Mesa supports 16-bit and 32-bit color
channels through the OSMesa interface. When using 16-bit channels,
channels are GLushorts and RGBA pixels occupy 8 bytes. When using 32-bit
channels, channels are GLfloats and RGBA pixels occupy 16 bytes.
</p>
<p>
To build Mesa/OSMesa with 16-bit color channels:
<pre>
cd Mesa-5.x/src
make -f Makefile.X11 clean
make -f Makefile.OSMesa16 linux-osmesa16
</pre>
For 32-bit channels:
<pre>
cd Mesa-5.x/src
make -f Makefile.X11 clean
make -f Makefile.OSMesa16 linux-osmesa32
</pre>
<p>
You'll wind up with a library named libOSMesa16.so or libOSMesa32.so.
</p>
<p>
If you're not using Linux, you can easily edit Make-config and add
an appropriate configuration.
</p>
<p>
The Mesa/tests/osdemo16.c file (available via CVS) demonstrates how
to use this feature.
</p>
<p>
BE WARNED: 16 and 32-bit channel support has not been exhaustively
tested and there may be some bugs. However, a number of people have
been using this feature successfully so it can't be too broken.
</p>
</BODY>
</HTML>

51
docs/pbuffers.html Normal file
View File

@@ -0,0 +1,51 @@
<HTML>
<TITLE>PBuffer Rendering</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>PBuffer Rendering</H1>
<p>
Basically, FBconfigs and PBuffers allow you to do off-screen rendering
with OpenGL. The OSMesa interface does basically the same thing, but
fbconfigs and pbuffers are supported by more vendors.
</p>
<p>
PBuffers are getting more use nowadays, though they've actually been
around for a long time on IRIX systems and other workstations.
</p>
<p>
The
<a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt"
target="_parent">GL_SGIX_fbconfig</a>
and
<a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt"
target="_parent">
GL_SGIX_pbuffer</a> extensions describe the functionality.
More recently, these extensions have been promoted to ARB extensions (on
Windows at least).
</p>
<p>
The Mesa/progs/xdemos/ directory has some useful code for working
with pbuffers:
</p>
<ul>
<li><b>pbinfo.c</b> - like glxinfo, it prints a list of available
fbconfigs and whether each supports pbuffers.
<li><b>pbutil.c</b> - a few utility functions for dealing with
fbconfigs and pbuffers.
<li><b>pbdemo.c</b> - a demonstration of off-screen rendering with pbuffers.
</ul>
<p>
Mesa 4.1 and later support GL_SGIX_fbconfig and GL_SGIX_pbuffer (software
rendering only).
</p>
</BODY>
</HTML>

66
docs/perf.html Normal file
View File

@@ -0,0 +1,66 @@
<HTML>
<TITLE>Performance Tips</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Performance Tips</H1>
<p>
Performance tips for software rendering:
</P>
<ol>
<li> Turn off smooth shading when you don't need it (glShadeModel)
<li> Turn off depth buffering when you don't need it.
<li> Turn off dithering when not needed.
<li> Use double buffering as it's often faster than single buffering
<li> Compile in the X Shared Memory extension option if it's supported
on your system by adding -DSHM to CFLAGS and -lXext to XLIBS for
your system in the Make-config file.
<li> Recompile Mesa with more optimization if possible.
<li> Try to maximize the amount of drawing done between glBegin/glEnd pairs.
<li> Use the MESA_BACK_BUFFER variable to find best performance in double
buffered mode. (X users only)
<li> Optimized polygon rasterizers are employed when:
rendering into back buffer which is an XImage
RGB mode, not grayscale, not monochrome
depth buffering is GL_LESS, or disabled
flat or smooth shading
dithered or non-dithered
no other rasterization operations enabled (blending, stencil, etc)
<li> Optimized line drawing is employed when:
rendering into back buffer which is an XImage
RGB mode, not grayscale, not monochrome
depth buffering is GL_LESS or disabled
flat shading
dithered or non-dithered
no other rasterization operations enabled (blending, stencil, etc)
<li> Textured polygons are fastest when:
using a 3-component (RGB), 2-D texture
minification and magnification filters are GL_NEAREST
texture coordinate wrap modes for S and T are GL_REPEAT
GL_DECAL environment mode
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST )
depth buffering is GL_LESS or disabled
<li> Lighting is fastest when:
Two-sided lighting is disabled
GL_LIGHT_MODEL_LOCAL_VIEWER is false
GL_COLOR_MATERIAL is disabled
No spot lights are used (all GL_SPOT_CUTOFFs are 180.0)
No local lights are used (all position W's are 0.0)
All material and light coefficients are >= zero
<li> XFree86 users: if you want to use 24-bit color try starting your
X server in 32-bit per pixel mode for better performance. That is,
start your X server with
startx -- -bpp 32
instead of
startx -- -bpp 24
<li> Try disabling dithering with the MESA_NO_DITHER environment variable.
If this env var is defined Mesa will disable dithering and the
command glEnable(GL_DITHER) will be ignored.
</ol>
</BODY>
</HTML>

34
docs/relnotes.html Normal file
View File

@@ -0,0 +1,34 @@
<HTML>
<TITLE>Mesa Release Notes</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Release Notes</H1>
<p>
The release notes summarize what's new or changed in each Mesa release.
</p>
<UL>
<LI><A HREF="RELNOTES-5.0.2">RELNOTES-5.0.2</A>
<LI><A HREF="RELNOTES-5.0.1">RELNOTES-5.0.1</A>
<LI><A HREF="RELNOTES-5.0">RELNOTES-5.0</A>
<LI><A HREF="RELNOTES-4.1">RELNOTES-4.1</A>
<LI><A HREF="RELNOTES-4.0.3">RELNOTES-4.0.3</A>
<LI><A HREF="RELNOTES-4.0.2">RELNOTES-4.0.2</A>
<LI><A HREF="RELNOTES-4.0.1">RELNOTES-4.0.1</A>
<LI><A HREF="RELNOTES-4.0">RELNOTES-4.0</A>
<LI><A HREF="RELNOTES-3.5">RELNOTES-3.5</A>
<LI><A HREF="RELNOTES-3.4.2">RELNOTES-3.4.2</A>
<LI><A HREF="RELNOTES-3.4.1">RELNOTES-3.4.1</A>
<LI><A HREF="RELNOTES-3.4">RELNOTES-3.4</A>
<LI><A HREF="RELNOTES-3.3">RELNOTES-3.3</A>
<LI><A HREF="RELNOTES-3.2.1">RELNOTES-3.2.1</A>
<LI><A HREF="RELNOTES-3.2">RELNOTES-3.2</A>
<LI><A HREF="RELNOTES-3.1">RELNOTES-3.1</A>
</UL>
</BODY>
</HTML>

64
docs/science.html Normal file
View File

@@ -0,0 +1,64 @@
<HTML>
<TITLE>Science and Technical</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Science and Technical</H1>
<ul>
<li><a href="http://www.softintegration.com/products/toolkit/opengl/" target="_parent">Ch</a> - OpenGL bindings for the Ch C/C++ interpreter
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">CLEO3D</a> - event displayer for the CLEOIII detector
</li><li><a href="http://www.bioz.unibas.ch/%7Exray/dino/" target="_parent">DINO</a> - Visualizing
Structural Biology
</li><li><a href="http://www-xdiv.lanl.gov/XCM/gmv/GMVHome.html" target="_parent">General
Mesh Viewer (GMV)</a> - scientific vis.
</li><li><a href="http://gid.cimne.upc.es/" target="_parent">GiD</a> - finite element
analysis
</li><li><a href="http://sig.co.za/download.htm" target="_parent">glpoisson</a> - A finite
element analysis program that simulates wave in an arbitrary region.
</li><li><a href="http://glwaves.sourceforge.net/" target="_parent">GLWaves</a> -
Electromagnetic wave visualization
</li><li><a href="http://www.geuz.org/gmsh/" target="_parent">Gmsh</a> -
finite element mesh generator / viewer
</li><li><a href="http://laaksonen.csc.fi/gopenmol/gopenmol.htmls" target="_parent">gOpenMol</a>
- computational chemistry
</li><li><a href="http://www.mgix.com/gps3d/" target="_parent">GPS 3D</a> - GPS-based map visualization
</li><li><a href="http://hirame.hiram.edu/%7Eworleyam/" target="_parent">Hitchhiker</a>
- virtual solar system
</li><li><a href="http://www-xdiv.lanl.gov/XCM/Hydra/" target="_parent">Hydra</a> - physics
and engineering pkg
</li><li><a href="http://fox.mit.edu/skunk/soft/lightspeed/" target="_parent">Light Speed</a>
- a real-time, interactive relativistic simulator
</li><li><a href="http://linkwinds.jpl.nasa.gov/" target="_parent">LinkWinds</a> - scientific
vis
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">MathGL3d</a> - Mathematica viewer
</li><li><a href="http://www.mathworks.com/products/matlab" target="_parent">Mathworks</a>
- mathematics and visualization
</li><li><a href="http://www-rocq.inria.fr/gamma/medit/medit.html" target="_parent">Medit</a> - 3D surface mesh viewer
</li><li><a href="http://www.mol.biol.ethz.ch/wuthrich/software/molmol/" target="_parent">MOLMOL</a>
- molecular modeling and analysis
</li><li><a href="http://www.avatar.se/molscript/" target="_parent">Molscript</a> - molecular
modeling
</li><li><a href="http://www.opendx.org/" target="_parent">OpenDX</a> - Data visualization
system
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">PHLEX</a> - Finite element vis
</li><li><a href="http://root.cern.ch/" target="_parent">ROOT</a> - Object Oriented Data
Analysis Framework
</li><li><a href="http://www.slffea.com/" target="_parent">SLFFEA</a> - GNU finite element
package
</li><li><a href="http://quorum.tamu.edu/jon/spock" target="_parent">Spock</a> - molecular
modeling
</li><li><a href="http://www1.las.es/%7Eamil/ssystem" target="_parent">Ssystem</a> - solar
system simulation
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">SPARROW</a> - robot simulation
</li><li><a href="http://www.ssec.wisc.edu/%7Ebillh/vis5d.html" target="_parent">Vis5D</a>
- atmospheric visualization
</li><li><a href="http://www.ks.uiuc.edu/Research/vmd/" target="_parent">VMD</a> - molecular
modeling
</li><li><a href="http://www.cyberbotics.com/" target="_parent">Webots</a> - 3-D mobile
robot simulator
</li></ul>
</body></html>

24
docs/sourcedocs.html Normal file
View File

@@ -0,0 +1,24 @@
<HTML>
<TITLE>Source Code Documentation</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Source Code Documentation</H1>
<p>
<A HREF="http://www.doxygen.org" target="_parent">Doxygen</A>
is used to automatically
produce cross-referenced documentation from the Mesa sources.
This is not included in the normal Mesa distribution.
Download Mesa from CVS if interested.
</P>
<P>
If you're reading this page from your local copy of Mesa, and have
run the doxygen scripts, you can read the documentation
<A HREF="../doxy/core/index.html">here</A>
</P>
</BODY>
</HTML>

3579
docs/subset-A.html Normal file

File diff suppressed because it is too large Load Diff

31
docs/subset.html Normal file
View File

@@ -0,0 +1,31 @@
<HTML>
<TITLE>Mesa Subset</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Mesa Subset</H1>
<p>
In 2002/2003 Tungsten Graphics was contracted to develop a subset Mesa/Radeon
driver for an embedded environment. The result is a reduced-size DRI driver
for the ATI R200 chip, for use with Linux fbdev rather than XFree86.
</p>
<p>
The specification for this subset can be found
<a href="subset-A.html">here</a>.
</p>
<p>
The <a href="MiniGLX.html">MiniGLX specification</a> describes the
interface between fbdev and Mesa.
</p>
<p>
More info to come...
</p>
</BODY>
</HTML>

109
docs/systems.html Normal file
View File

@@ -0,0 +1,109 @@
<HTML>
<TITLE>Supported Systems and Drivers</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Supported Systems and Drivers</H1>
<p>
Mesa was originally designed for Unix/X11 systems and is still best
supported on those systems. All you need is an ANSI C compiler and the
X development environment to use Mesa.
</p>
<p>Others have contributed drivers
for the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows
9x/NT, and Direct3D.
</p>
<p>
The following files describe the details for various platforms.
Be warned, some of these files (and drivers) may be very out of date.
</p>
<UL>
<LI><A HREF="README.X11">README.X11</A> - X Window System / Unix / Linux
<LI><A HREF="README.WIN32">README.WIN32</A> - Microsoft Windows
<LI><A HREF="README.VMS">README.VMS</A> - DEC VMS
<LI><A HREF="README.GGI">README.GGI</A> - GGI
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
<LI><A HREF="README.BEOS">README.BEOS</A> - BeOS
<LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver
<LI><A HREF="README.DJ">README.DJ</A> - DJGPP
<LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS
<LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32
<LI><A HREF="README.NeXT">README.NeXT</A> - NeXT
<LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep
<LI><A HREF="README.OS2">README.OS2</A> - OS/2
<LI><A HREF="README.WINDML">README.WINDML</A> - WindML
</UL>
<p>
The standard Mesa distribution only supports software-based rendering, with
the exception of the 3Dfx Glide driver.
Information about other hardware support follows.
</p>
<ul>
<li>DRI-based hardware support for 3dfx, Intel, Matrox, ATI with XFree86
<blockquote>
<p>The <a href="http://dri.sourceforge.net/" target="_parent">DRI architecture</a>,
originally developed by Precision Insight, Inc. uses Mesa and
provides hardware acceleration for a number of popular chipsets.<br>
<br>
The DRI is part of XFree86 4.0 and later.
<br><br>
If you download and install XFree86 4.x you do not need to
install Mesa separately. All the important parts of Mesa
will be installed with the rest of XFree86.
</blockquote>
<li>3dfx Voodoo1, Voodoo2, Voodoo Rush, Voodoo Banshee, Voodoo3
<blockquote>
<p>All cards based on these chipsets should work with Linux and
Windows 95 via 3dfx's Glide library.
The Mesa/Glide driver is included with the Mesa distribution.
You'll need to install the Glide header files and runtime library.
</p>
<p>
David Bucciarelli wrote the original 3dfx driver for Mesa.<br>
Daryll Strauss ported Glide to Linux.
</p>
</blockquote>
<li>Matrox G200/G400, nVidia RIVA, ATI Rage Pro, Intel i810 on Linux
<blockquote>
<p>The <a href="http://utah-glx.sourceforge.net/" target="_parent">
Utah GLX project</a>
(no longer active) developed drivers for these chipsets and others.
</blockquote>
<li>Amiga Warp3D
<blockquote>
<p>Amiga systems can support 3D hardware with the Warp3D API.
See <a href="http://www.haage-partner.com/3dworld" target="_parent">here</a>.
</blockquote>
<li>Also see
<blockquote>
<p><a href="http://www.linux3d.org/" target="_parent">www.linux3d.org</a> for
other 3D hardware info for Linux.
</blockquote>
</ul>
<p>
<b><em>Note:</em></b>
If you have NVIDIA hardware in your computer,
you should download and install NVIDIA's OpenGL library. You may
however, want to download Mesa in order to use its GLU and GLUT
libraries, or assorted demo programs.</p>
</body>
</html>

124
docs/thanks.html Normal file
View File

@@ -0,0 +1,124 @@
<HTML>
<HEAD>
<TITLE>Acknowledgements</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Acknowledgments</H1>
The following individuals and groups are to be acknowledged for their
contributions to Mesa over the years.
<ul>
<li>Early Mesa development was done while Brian was part of the
<A HREF="http://www.ssec.wisc.edu/~billh/vis.html"
target="_parent">SSEC Visualization Project</A> at the University of
Wisconsin. He'd like to thank Bill Hibbard for letting him work on
Mesa as part of that project.
<br>
<br>
<li>John Carmack of id Software, Inc. funded Keith Whitwell in 1999 in
order to optimize Mesa's vertex transformation module. This is a very
substantial piece of work.
<br>
<br>
<li>Precision Insight, Inc., VA Linux Systems, Inc., and most recently,
Tungsten Graphics, Inc. have supported the ongoing development of Mesa.
<br>
<br>
<li>The <A HREF="http://sourceforge.net/projects/mesa3d"
target="_parent">Mesa</A>
project is hosted by<A HREF="http://sourceforge.net"
target="_parent"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
<br>
<br>
<li><a href="http://www.altsoftware.com/"
target="_parent">alt.software</a> contributed the Direct3D driver.
<li><b>Bernd Barsuhn</b> wrote the evaluator code for (splines,
patches) in Mesa.
<li><b>Bernhard Tschirren</b> wrote the Allegro DJGPP driver.
<li><b>Bogdan Sikorski</b> wrote the GLU NURBS and polygon tessellator
in Mesa.
<li><b>Charlie Wallace</b> wrote the MS-DOS driver.
<li><b>CJ Beyer</b> was the www.mesa3d.org webmaster.
<li><b>Darren Abbott</b> provided the OS/2 driver.
<li><b>David Bucciarelli</b> wrote and maintained the 3Dfx Glide
driver. Thousands of Linux/Quake players thank David!
<li><b>Gareth Hughes</b> wrote new GLU 1.2 Polygon Tessellation code
(now superceded by SGI SI GLU).
<li><b>Holger Waechtler</b> contributed AMD 3DNow! assembly code which
accelerates vertex transformation in Mesa 3.1. Holger also implemented
the GL_EXT_texture_env_combine extension.
<li><b>Jeroen van der Zijp</b> and <b>Thorsten Ohl</b> contributed the
Xt/Motif widget code.
<li><b>John Stone</b> provided the multi-threading support in Mesa 3.0.
<li><b>John Watson</b> assisted with web page design.
<li><b>Josh Vanderhoof</b> contributed Intel x86 assembly code which
accelerates vertex transformation in Mesa 3.x.
<li><b>Jouk Jansen</b> contributed and continues to maintain the VMS
support.
<li><b>Karl Schultz</b> has been maintaining the Windows driver.
<li><b>Keith Whitwell</b> has made extension contributions to Mesa
since 1999.
<li><b>Kendall Bennett</b> wrote the SciTech MGL driver.
<li><b>Klaus Niederkrueger</b> contributed many improvements to Mesa's
software rasterizer.
<li><b>Mark Kilgard</b> contributed antialiased line improvements and
several extensions.
<li><b>Michael Pichler</b> contributed <em>many</em> bug fixes
<li><b>Miklos Fazekas</b> wrote and maintains the Macintosh driver.
<li><b>Pascal Thibaudeau</b> wrote the NeXT driver.
<li><b>Pedro Vazquez</b> setup and maintains the Mesa Mailing list.
<li><b>Randy Frank</b> contributed <em>many</em> bug fixes.
<li><b>Stefan Zivkovic</b> wrote the Amiga driver.
<li><b>Stephane Rehel</b> provided the Cygnus Win32 support
<li><b>Ted Jump</b> maintained the
makefiles and project files for Windows 95/98/NT compilation for some time.
<li><b>Uwe Maurer</b> wrote the LibGGI driver for Mesa-3.0.
<li><b>Victor Ng-Thow-Hing</b> wrote the Amiwin driver for the Amiga.
</ul>
<p>
Apologies to anyone who's been omitted.
Please send corrections and additions to Brian.
</p>
</BODY>
</HTML>

24
docs/utilities.html Normal file
View File

@@ -0,0 +1,24 @@
<HTML>
<TITLE>Development Utilities</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Development Utilities</H1>
<ul>
<li>The Mesa distribution includes several utility routines in the
progs/util/ directory
<li>Allen Akin's <a href="http://glean.sourceforge.net/"
target="_parent">glean</a> is a framework for OpenGL testing.
<li><a href="http://developer.kde.org/~sewardj/"
target="_parent">Valgrind</a> is a very useful tool for tracking down
memory-related problems in your code.
</ul>
</body>
</html>

42
docs/utility.html Normal file
View File

@@ -0,0 +1,42 @@
<HTML>
<TITLE>Utilities</TITLE>
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
<H1>Utilities</H1>
<ul>
<li><a href="http://fox.mit.edu/skunk/soft/fsv/"
target="_parent">fvs</a> - 3D file system visualizer
<li><a href="http://www.dgp.utoronto.ca/%7Emac/projects/glbiff.html"
target="_parent">glbiff</a> - GL version of xbiff
<li><a href="http://glload.netpedia.net/" target="_parent">glload</a>
- CPU load meter
<li><a href="http://www.scitechsoft.com/gldirect.html"
target="_parent">SciTech GLDirect</a> - Driver to run OpenGL
apps using Direct3D under Windows
<li><a href="http://threedsia.sourceforge.net/"
target="_parent">3Dsia</a> - 3D user interface
<li><a href="http://mesa3d.sourceforge.net/notfound.html">VRML Site
Map</a> - 3D GUI
<li><a href="http://www.vros.com/" target="_parent">VR/OS</a> - VR
user interface
<li><a href="http://wauug.erols.com/%7Ebagleyd/"
target="_parent">xlockmore</a> - an X screen saver
<li><a href="http://www.jwz.org/xscreensaver"
target="_parent">xscreensaver</a> - X screen saver
</ul>
</body>
</html>

22
docs/webmaster.html Normal file
View File

@@ -0,0 +1,22 @@
<HTML>
<TITLE>Mesa Introduction</TITLE>
<BODY text="#000000" bgcolor="#55bbff">
<H1>Webmaster</font></H1>
<p>
If you have problems, edits or additions for this website send them
to Brian
(<em>b</em><em>r</em><em>i</em><em>a</em><em>n</em><em>_</em><em>e</em><em>_</em><em>p</em><em>a</em><em>u</em><em>l</em><em>@</em><em>y</em><em>a</em><em>h</em><em>o</em><em>o</em><em>.</em><em>c</em><em>o</em><em>m</em>)</a>.
</p>
<p>
Mark Manning made the frame-based layout for the website.
Brian's modified it a lot since then.
</p>
</body>
</html>

15
doxygen/.cvsignore Normal file
View File

@@ -0,0 +1,15 @@
*.tag
agpgart
array_cache
core
core_subset
math
math_subset
miniglx
radeon_subset
radeondrm
radeonfb
swrast
swrast_setup
tnl
tnl_dd

30
doxygen/Makefile Normal file
View File

@@ -0,0 +1,30 @@
default: full
all: full subset
%.tag: %.doxy
doxygen $<
FULL = \
core.doxy \
math.doxy \
array_cache.doxy \
swrast.doxy \
swrast_setup.doxy \
tnl.doxy \
tnl_dd.doxy
full: $(FULL:.doxy=.tag)
$(foreach FILE,$(FULL),doxygen $(FILE);)
SUBSET = \
core.doxy \
math.doxy \
miniglx.doxy
subset: $(SUBSET:.doxy=.tag)
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
clean:
rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
rm -rf *.tag

10
doxygen/README Normal file
View File

@@ -0,0 +1,10 @@
This directory is for doxygen (a source code documentation system).
See http://www.doxygen.org/ for more info.
Either run 'make' (Unix) or 'doxy.bat' (Windows) to run doxygen
and generate souce code documentation.
Then, load either doxy/core/index.html or doxy/core_subset/index.html into
your web browser.

49
doxygen/array_cache.doxy Normal file
View File

@@ -0,0 +1,49 @@
# Doxyfile 0.1
@INCLUDE = common.doxy
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa array_cache"
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/mesa/array_cache/
FILE_PATTERNS = *.c \
*.h
RECURSIVE = NO
EXCLUDE =
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
HTML_OUTPUT = array_cache
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = core.tag=../core \
tnl.tag=../tnl \
swrast_setup.tag=../swrast_setup \
swrast.tag=../swrast \
math.tag=../math \
tnl_dd.tag=../tnl_dd
GENERATE_TAGFILE = array_cache.tag

1101
doxygen/common.doxy Normal file

File diff suppressed because it is too large Load Diff

48
doxygen/core.doxy Normal file
View File

@@ -0,0 +1,48 @@
# Doxyfile 0.1
@INCLUDE = common.doxy
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa Core"
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/mesa/main/
FILE_PATTERNS = *.c *.h
RECURSIVE = NO
EXCLUDE = ../src/glapitemp.h ../src/glapioffsets.h
EXCLUDE_PATTERNS = subset_*
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
HTML_OUTPUT = core
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = ../include/
INCLUDE_FILE_PATTERNS =
PREDEFINED = _HAVE_FULL_GL=1
EXPAND_AS_DEFINED = _glthread_DECLARE_STATIC_MUTEX
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = tnl_dd.tag=../tnl_dd \
array_cache.tag=../array_cache \
math.tag=../math \
swrast.tag=../swrast \
swrast_setup.tag=../swrast_setup \
tnl.tag=../tnl
GENERATE_TAGFILE = core.tag

226
doxygen/core_subset.doxy Normal file
View File

@@ -0,0 +1,226 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa Core"
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
INTERNAL_DOCS = YES
STRIP_CODE_COMMENTS = YES
CASE_SENSE_NAMES = YES
SHORT_NAMES = NO
HIDE_SCOPE_NAMES = NO
VERBATIM_HEADERS = YES
SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = NO
INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
ALIASES =
ENABLED_SECTIONS = subset
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = NO
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_FORMAT =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/mesa/main/
FILE_PATTERNS = \
accum.h \
attrib.h \
blend.[ch] \
buffers.[ch] \
dd.h \
debug.h \
depth.h \
dlist.h \
context.[ch] \
config.h \
colormac.h \
colortab.h \
enable.h \
enums.h \
eval.h \
extensions.h \
feedback.[ch] \
fog.h \
get.h \
glheader.h \
glthread.h \
hash.[ch] \
hint.h \
histogram.h \
image.[ch] \
imports.[ch] \
lines.[ch] \
light.h \
matrix.[ch] \
macros.h \
mmath.h \
mtypes.h \
pixel.h \
points.[ch] \
polygon.[ch] \
rastpos.[ch] \
simple_list.h \
state.[ch] \
stencil.[ch] \
subset_*.c \
texformat.h \
teximage.h \
texstate.h \
texstore.h \
texobj.[ch] \
texutil_tmp.h \
varray.h
RECURSIVE = NO
EXCLUDE =
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = core_subset
HTML_HEADER = header_subset.html
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT =
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT =
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT =
MAN_EXTENSION =
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = ../include/
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = \
math_subset.tag=../math_subset \
miniglx.tag=../miniglx
GENERATE_TAGFILE = core_subset.tag
ALLEXTERNALS = NO
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
TEMPLATE_RELATIONS = YES
HIDE_UNDOC_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
CGI_NAME =
CGI_URL =
DOC_URL =
DOC_ABSPATH =
BIN_ABSPATH =
EXT_DOC_PATHS =

14
doxygen/doxy.bat Normal file
View File

@@ -0,0 +1,14 @@
doxygen tnl_dd.doxy
doxygen array_cache.doxy
doxygen math.doxy
doxygen swrast.doxy
doxygen swrast_setup.doxy
doxygen tnl.doxy
doxygen core.doxy
echo Building again, to resolve tags
doxygen tnl_dd.doxy
doxygen array_cache.doxy
doxygen math.doxy
doxygen swrast.doxy
doxygen swrast_setup.doxy
doxygen tnl.doxy

12
doxygen/header.html Normal file
View File

@@ -0,0 +1,12 @@
<html><head><title>Mesa Source Code Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body><center>
<a href="../core/index.html">core</a>&nbsp;
<a href="../array_cache/index.html">array_cache</a>&nbsp;
<a href="../math/index.html">math</a>&nbsp;
<a href="../swrast/index.html">swrast</a>&nbsp;
<a href="../swrast_setup/index.html">swrast_setup</a>&nbsp;
<a href="../tnl/index.html">tnl</a>&nbsp;
<a href="../tnl_dd/index.html">tnl_dd</a>&nbsp;
</center>

Some files were not shown because too many files have changed in this diff Show More