Compare commits

..

1032 Commits

Author SHA1 Message Date
Keith Whitwell
3e713fe38c Use correct condition for subsetting 2003-05-02 17:33:28 +00:00
Keith Whitwell
b975fcadfa mprotect sarea when focus lost 2003-05-02 17:32:24 +00:00
Keith Whitwell
f92291e02e mprotect sarea until focus gained 2003-05-02 17:31:42 +00:00
Keith Whitwell
15ebff0419 Remove isosurf target 2003-05-02 09:50:09 +00:00
Jose Fonseca
69db632a9d Move the Doxygen configuration files into the usual places and integrate with the build system. 2003-05-01 23:32:54 +00:00
Jose Fonseca
6c446ebaa1 Final fixes to the AGPGART and RADEONFB modules' documentation. 2003-05-01 14:06:15 +00:00
Keith Whitwell
62299f69fd Use mprotect() to protect the sarea when not in focus. 2003-05-01 13:02:33 +00:00
Keith Whitwell
b899261af6 Animate by default 2003-05-01 06:54:21 +00:00
Jose Fonseca
58cc2c6f33 Final documentation to the AGPGART module. 2003-05-01 00:56:11 +00:00
Jose Fonseca
88acbfbe18 Final documentation for the radeon fb module. 2003-04-30 14:05:04 +00:00
Keith Whitwell
a1c5c82860 Remove debug printfs, Use XCheckMaskEvent 2003-04-30 09:48:06 +00:00
Keith Whitwell
7001513cfc Remove debug printfs 2003-04-30 09:47:16 +00:00
Jose Fonseca
df0afe92d2 More documentation. 2003-04-29 23:46:53 +00:00
Keith Whitwell
04b5c5e96b New files 2003-04-29 21:53:10 +00:00
Keith Whitwell
63abbdc48f Add -autostart option 2003-04-29 09:41:01 +00:00
Keith Whitwell
daae83a437 Remove bogus assert 2003-04-29 09:36:10 +00:00
Keith Whitwell
939d5e3c55 Minor fixes 2003-04-29 08:21:44 +00:00
Keith Whitwell
f1a7d632d5 Shortcircuit ioctl if no focus 2003-04-29 08:21:08 +00:00
Keith Whitwell
d31591ea15 Protect some swrast-specific code in MakeCurrent 2003-04-29 08:20:39 +00:00
Keith Whitwell
687e8a0c08 Partial documentation of this file. 2003-04-28 13:21:10 +00:00
Keith Whitwell
c205240b38 Don't map agp tex mem, shortcircuit some more ops when not in focus 2003-04-28 12:06:24 +00:00
Keith Whitwell
b31d1f7987 Downgrade assert in __miniglx_Select()
Don't fail if client closes & reopens display.
2003-04-28 11:30:14 +00:00
Keith Whitwell
109fb8b726 Remove some more unused code 2003-04-28 10:16:32 +00:00
Keith Whitwell
fccc2a6f1a Slim down radeonfb.c 2003-04-28 10:14:56 +00:00
Keith Whitwell
1b2344de26 Don't try to lock hardware or issue ioctls if not the 'focus' app. 2003-04-27 17:03:41 +00:00
Keith Whitwell
cb9213080f - Set O_NONBLOCK on socket fds
- Don't try to get hw lock if already held (on vt switch)
2003-04-27 17:02:20 +00:00
Keith Whitwell
6160683739 prevent spurious texture uploads 2003-04-27 16:48:07 +00:00
Keith Whitwell
17d3134ec0 Force multiple applications to play nicer with each other. 2003-04-27 16:09:11 +00:00
Keith Whitwell
39c81446d6 Don't register a focus notify callback 2003-04-27 15:32:53 +00:00
Keith Whitwell
fe49aaed64 Only register radeonVtxfmtNotifyFocus for the subsetted driver 2003-04-27 15:32:24 +00:00
Keith Whitwell
ec0c259d0d Fix vertex copying calcs for tris, quads 2003-04-27 14:42:55 +00:00
Keith Whitwell
24a598b5af For subsetted driver, when client is unmapped, unmap our dma buffers. 2003-04-27 14:21:21 +00:00
Keith Whitwell
5e2bc7d1c0 Remove XFree86 tags.
Add 'notifyFocus' mechanism for drivers that want to shut down to some
extent when client apps aren't mapped.
2003-04-27 14:20:00 +00:00
Keith Whitwell
1f9c75b3e5 Fix problems not reloading textures after regaining lock 2003-04-27 12:34:14 +00:00
Keith Whitwell
942fdd126c Correct rm for clean 2003-04-27 12:21:03 +00:00
Keith Whitwell
f68f1de398 dri_driver_context.diff patch from Denis Oliver Kropp 2003-04-26 21:17:43 +00:00
Jose Fonseca
de615c98d7 Big chunk of the AGP module documentation. 2003-04-26 15:49:34 +00:00
Keith Whitwell
d45e01eb19 Call handle_fd_events in map/unmap window to flush write queue (should probably
loop until the queue really is flushed).

Do a better job with umask
2003-04-25 23:09:01 +00:00
Keith Whitwell
6d3615b857 Restore more registers after regaining vt. 2003-04-25 15:21:11 +00:00
Keith Whitwell
4afaba45f9 Get vt switching working properly. 2003-04-25 14:03:50 +00:00
Keith Whitwell
29eac4de82 get client & server processes working properly 2003-04-25 11:22:34 +00:00
Keith Whitwell
ee4b2f22b8 Test swapping focus between two or more apps 2003-04-25 09:37:29 +00:00
Keith Whitwell
545df254e8 mga driver ported over by Denis Oliver Kropp 2003-04-24 22:33:53 +00:00
Keith Whitwell
0bb460f417 Fix errors with queuing & dequing events. Add lots of debug too. 2003-04-22 14:29:53 +00:00
Keith Whitwell
ac565d7e04 Another sample server which also echos stdin to stdout
(not very useful, but demonstrates __miniglx_Select()...)
2003-04-17 15:47:46 +00:00
Keith Whitwell
3af10745d6 Add support for root-permission 'server' process and non-root clients
which share a single VT (but are still fullscreen)
2003-04-17 15:46:41 +00:00
Alan Hourihane
f1f331ef4d add definition for FB_ACCEL_ATI_RADEON 2003-04-17 11:25:39 +00:00
Alan Hourihane
ca81dd07b7 fix some warnings 2003-04-17 11:05:39 +00:00
Alan Hourihane
8dbdb74d8a radeonfb updates from PPC folks
fixes DVI problems and lots of others too, but also adds support for
newer hardware.
2003-04-17 00:18:04 +00:00
Keith Whitwell
1b3edffdd1 A simple "server" processes to manage a single cliprect between
multiple fullscreen clients.
2003-04-16 09:34:56 +00:00
Keith Whitwell
12ee43bd7c Fix some warnings 2003-04-16 09:29:53 +00:00
Alan Hourihane
1303475d38 a 768x1024 mode 2003-04-15 13:46:28 +00:00
Keith Whitwell
56d99c8cdb first version of event communications code 2003-04-15 11:01:27 +00:00
Keith Whitwell
f29b41f2ed Update r200 Makefile 2003-04-15 09:47:37 +00:00
Keith Whitwell
89d52a0de4 add subsetted isosurf 2003-04-07 22:27:52 +00:00
Keith Whitwell
b6fb04a81d subsetted isosurf 2003-04-07 22:27:23 +00:00
Keith Whitwell
7d55e9abf6 More 2.5.x files for documentation purposes only 2003-04-07 11:31:25 +00:00
Keith Whitwell
1ac609a7df Import of some 2.5.x agpgart files - will be documented but not built as a part of this branch. 2003-04-07 11:29:07 +00:00
Keith Whitwell
00affe74c1 Fix vertex copying bug (Andreas S.) 2003-03-25 12:27:21 +00:00
Keith Whitwell
f221b8df75 Comment out debug 2003-03-24 19:00:16 +00:00
Keith Whitwell
45bd335b1c add glViewport calls 2003-03-24 18:46:57 +00:00
Keith Whitwell
6127672e26 Fix rastpos issue in rotated mode 2003-03-24 18:23:32 +00:00
Keith Whitwell
bb3752a434 Further VT switch prototype hacks 2003-03-24 15:49:13 +00:00
Keith Whitwell
56c896a2b8 Some hacks to make prototype VT switching facilities less prone to lockups. 2003-03-24 15:41:32 +00:00
Keith Whitwell
afc72872be Use new XEvent facilities 2003-03-24 15:40:34 +00:00
Keith Whitwell
e511f40795 Set UNPACK_ROW_LENGTH to properly display bitmap fonts. 2003-03-24 15:39:59 +00:00
Jose Fonseca
a53f53ece3 Avoid the mixing of double-colon rules in the Makefiles. 2003-03-24 10:38:30 +00:00
Jose Fonseca
24812b3eaa Enable the full Mesa documentation. 2003-03-24 00:46:36 +00:00
Jose Fonseca
42e0f2ec95 Make a small reference to the distiction between the full and subset documentation start inital pages. 2003-03-23 23:29:05 +00:00
Jose Fonseca
e4fcab7a35 Final documentation fixes and enhancements. 2003-03-23 23:22:47 +00:00
Jose Fonseca
cd6d79a82c Last bits of documentation. Review still pending. 2003-03-23 14:58:08 +00:00
Jose Fonseca
a428744286 More documentation. 2003-03-23 03:51:34 +00:00
Jose Fonseca
ccc6ef28ca More missing files. 2003-03-23 03:48:43 +00:00
Jose Fonseca
3100749dd0 Tweaks to the doxygen configuration files 2003-03-22 16:51:37 +00:00
Jose Fonseca
980e98d324 More documentation. 2003-03-22 16:49:58 +00:00
Keith Whitwell
2204d5bb46 Don't override ctx->Exec->Viewport as there seem to be dependencies
on this being _mesa_Viewport().
2003-03-22 16:19:58 +00:00
Keith Whitwell
67d3c57c46 Tarball build fixes 2003-03-22 14:36:49 +00:00
Keith Whitwell
9e24ff7a0a Remove non-subset fn calls 2003-03-22 14:35:24 +00:00
Keith Whitwell
e014d794f2 Rotate mode 2003-03-22 12:52:29 +00:00
Keith Whitwell
a9bd5a6860 Bring makefile into line with others 2003-03-22 09:29:19 +00:00
Keith Whitwell
94643c4780 Add clean:: target 2003-03-22 08:48:47 +00:00
Keith Whitwell
993502aebc Subset demos 2003-03-22 08:46:22 +00:00
Keith Whitwell
932e26e8f4 Add RotateMode option 2003-03-22 08:45:57 +00:00
Keith Whitwell
54f4c8d1a3 Rotate mode 2003-03-22 08:44:11 +00:00
Keith Whitwell
277d7a2a85 RotateMode changes 2003-03-22 08:43:26 +00:00
Keith Whitwell
0a98671051 Subset demos, link GLU explicitly 2003-03-22 08:41:06 +00:00
Keith Whitwell
a47745e9fd Link GLU explicitly.
Subsetize some more demos.
2003-03-22 08:40:35 +00:00
Keith Whitwell
69ce6b7db0 A cutdown version of Gareth's GLU implementation to get some more demos
working with the subsetted GL.
2003-03-21 13:02:06 +00:00
Keith Whitwell
5d3ab07110 remove old glprocs.h 2003-03-21 11:38:52 +00:00
Keith Whitwell
1613d48989 Build fixes for full driver.
Cope with new location of generated glapi files.
2003-03-21 11:35:14 +00:00
Keith Whitwell
5a610a1974 do screen clear in locked region 2003-03-21 11:33:24 +00:00
Keith Whitwell
afb339bf75 Don't use non-subset functions 2003-03-21 11:32:55 +00:00
Keith Whitwell
16ca6f8e93 Subsetted spec file 2003-03-21 11:20:22 +00:00
Jose Fonseca
41b5963f8d More documentation. 2003-03-20 19:38:39 +00:00
Jose Fonseca
99199c0ece Add a few missing headers to the doxygen input sources. 2003-03-20 19:37:36 +00:00
Keith Whitwell
368d95a7dc Update raster position early to make sure its always done. 2003-03-20 14:44:49 +00:00
Jose Fonseca
0218da1433 Documentation. 2003-03-20 12:56:57 +00:00
Keith Whitwell
6cb2411250 Distribute initialization, cleanup and state-update tasks to the files
where that data is managed.  Thus, the light attribute state is
initialized in light.c, and update_lighting() moves there too.
2003-03-20 09:19:50 +00:00
Jose Fonseca
0d3a504b94 Documentation. 2003-03-19 15:43:14 +00:00
Jose Fonseca
bde16645ca Seperate the subset documentation from the full implementation. 2003-03-19 14:48:17 +00:00
Keith Whitwell
301f7e4408 subsetting 2003-03-18 08:55:20 +00:00
Keith Whitwell
173441d1a6 Further subsetting 2003-03-17 21:22:49 +00:00
Keith Whitwell
64b3e2fa16 Incremental subsetting 2003-03-17 17:03:46 +00:00
Keith Whitwell
6919c50029 Subsetted versions of enable.c and pixel.c 2003-03-17 16:07:21 +00:00
Keith Whitwell
a8512f7dda Continue with subset_texture.c, get some demos working 2003-03-17 15:18:16 +00:00
Jose Fonseca
70217c70be More documentation. 2003-03-16 00:27:12 +00:00
Keith Whitwell
9d4857a816 Very fragile support for VT switching between multiple running apps.
Not safe to use as there is no exclusion from fbdev hw actions at vt switch
time.
2003-03-13 17:13:34 +00:00
Keith Whitwell
3f00e34097 Merge from trunk to bring in GL_ATI_texture_env_combine3 tokens (Jon Smirl) 2003-03-11 10:32:22 +00:00
Keith Whitwell
3e48e6fce4 Add r200 chipids (Jon Smirl) -- for real this time 2003-03-11 10:26:57 +00:00
Keith Whitwell
d1fa9af224 Ugh. Back out bogus commit. 2003-03-11 10:25:28 +00:00
Keith Whitwell
c20d946424 Add r200 chipids (Jon Smirl) 2003-03-11 10:23:45 +00:00
Brian Paul
ff6068b217 merge from 5.0.1 branch 2003-03-10 14:10:46 +00:00
Keith Whitwell
ed1b6e98e2 r200 driver, brought over by Jon Smirl 2003-03-10 11:23:04 +00:00
Keith Whitwell
b52901eb89 Add r200 chipids (Jon Smirl) 2003-03-10 11:07:05 +00:00
Keith Whitwell
cff70d16aa Add FEATURE_texgen (Jon Smirl) 2003-03-10 11:02:14 +00:00
Jose Fonseca
bafbdcb703 Doxygen documentation additions and fixes 2003-03-09 10:52:20 +00:00
Keith Whitwell
50d1c2c921 Define FEATURE_userclip, the first of many? 2003-03-05 14:27:33 +00:00
Keith Whitwell
a1fd12ab84 Remove most of the math module 2003-03-05 14:22:21 +00:00
Keith Whitwell
360bec8a6f Start subsetting core mesa 2003-03-05 14:04:18 +00:00
Keith Whitwell
6440630d79 Use vertex2f instead of 2i 2003-03-05 14:02:44 +00:00
Keith Whitwell
02a6f4b56a Fix modules needed for subset build 2003-03-05 13:16:20 +00:00
Keith Whitwell
f828410458 new file 2003-03-05 13:04:43 +00:00
Keith Whitwell
7b7af467dd Restore ability to build full driver.
Add config options to choose between full/subset driver, and fbdev vs. DRI
windowing systems.
2003-03-04 17:29:55 +00:00
Keith Whitwell
3101d43a76 Add a helpful message 2003-03-04 17:27:28 +00:00
Keith Whitwell
d95443f030 Initialize tnl vtxfmt stuff if _HAVE_FULL_GL 2003-03-04 17:23:34 +00:00
Keith Whitwell
be49c0fef2 Uncomment subsetted entrypoints, protect with _HAVE_FULL_GL instead. 2003-03-04 17:10:39 +00:00
Jose Fonseca
61d31cab97 Enable the extraction of static function documentation. 2003-03-02 00:28:38 +00:00
Jose Fonseca
7067815785 Doxygenization of the existing documentation. 2003-03-02 00:27:31 +00:00
Brian Paul
ad79ba8208 remove glPolygonMode 2003-02-26 20:21:54 +00:00
Keith Whitwell
b8cdeaae3a New file 2003-02-24 21:31:02 +00:00
Keith Whitwell
4b930d3080 Drop morph3d, add terrain 2003-02-23 21:36:20 +00:00
Keith Whitwell
2b3cd85107 Subset terrain 2003-02-23 21:04:38 +00:00
Keith Whitwell
12acb24b60 Subset isosurf 2003-02-23 21:04:25 +00:00
Keith Whitwell
b4bc6375d1 fix some compiler warnings 2003-02-23 20:24:11 +00:00
Keith Whitwell
c91deeffc4 Fail if detected chipset isn't an r100. 2003-02-23 20:23:34 +00:00
Keith Whitwell
728dade650 Fix radeon_tex_region_t declaration (char became int). 2003-02-23 20:16:25 +00:00
Keith Whitwell
c3ded1b33d clean up header usage 2003-02-23 19:38:23 +00:00
Keith Whitwell
080ae6edb5 Add stricter compiler warnings 2003-02-23 19:37:52 +00:00
Keith Whitwell
b8bc33a6b1 add 'void' to glXGetProcAddress prototype 2003-02-23 19:37:15 +00:00
Keith Whitwell
1d7c610c2b Add manytex demo 2003-02-23 19:27:31 +00:00
Keith Whitwell
70130333c2 Use correct pv for flatshaded quadstrips 2003-02-23 19:27:03 +00:00
Keith Whitwell
c608a0fb2a Exclude lighting, userclip state 2003-02-23 19:26:32 +00:00
Keith Whitwell
7f35ecd070 subset demos 2003-02-23 19:25:07 +00:00
Brian Paul
ef9f2d4296 added radeon_subset to header 2003-02-23 17:25:22 +00:00
Jose Fonseca
27b8f1d3ae Final documentation fixes and additions. 2003-02-23 16:50:46 +00:00
Jose Fonseca
c35fb58c35 A few documention fixes and additions. 2003-02-23 15:21:36 +00:00
Jose Fonseca
eb998b80ea Last bits of documentation. Full review still pending. 2003-02-23 02:19:13 +00:00
Jose Fonseca
b77ca3d2b7 More documentation - now almost complete. 2003-02-22 21:27:17 +00:00
Jose Fonseca
cdc64176f9 More documention additions. 2003-02-22 11:48:50 +00:00
Jose Fonseca
da69c37f98 Bunch of documention additions. 2003-02-22 09:17:11 +00:00
Keith Whitwell
661a236d09 Correctly initialize RE_LINE_PATTERN register 2003-02-21 23:59:15 +00:00
Keith Whitwell
b9f8f7f6a4 Eliminate non-subset operations 2003-02-21 23:07:40 +00:00
Keith Whitwell
66f40571e1 Eliminate use of glRectf, sleep so that we see some frames. 2003-02-21 22:20:08 +00:00
Keith Whitwell
6620693116 Eliminate use of glRectf 2003-02-21 22:18:24 +00:00
Brian Paul
730cacfa01 sample MiniGLX program 2003-02-21 21:55:58 +00:00
Keith Whitwell
2f05ae32c5 new file 2003-02-21 21:55:26 +00:00
Keith Whitwell
d9ed9e1a9a Restrict access to non-subset gl entrypoints. Other small cleanups. 2003-02-21 21:14:08 +00:00
Keith Whitwell
6133ba36ec Fix vertex copying bug, remove polygonmode support (didn't/couldn't work) 2003-02-21 21:12:51 +00:00
Jose Fonseca
4b5f9479eb Renamed and tailored the radeon doxygen file for the OpenGL subset only 2003-02-16 21:42:11 +00:00
Jose Fonseca
75019b24d1 Initial/partial documentation to the functions/structures that make the Radeon subset driver. 2003-02-16 20:48:08 +00:00
Jose Fonseca
c9118dfaba A new doxygen configuration file for the Radeon driver. 2003-02-10 17:59:46 +00:00
Jose Fonseca
a140417be9 Most of the documentation to the "server-side" part of the Radeon driver. 2003-02-10 17:58:52 +00:00
Keith Whitwell
ccf4e3e8f2 Eliminate all remaining fallbacks & usage of FALLBACK macro
Rename subset_feedback.c to subset_select.c...
Add new file subset_tex.c which agressively subsets texture operations.
2003-02-07 20:22:16 +00:00
Keith Whitwell
78e1fee39b Add files to allow the subset driver to be built as a dri driver.
At the moment have to choose to build as *either* a dri or a miniglx
driver, but shouldn't be too hard to build one driver that will work
in both environments.
2003-02-05 04:37:12 +00:00
Keith Whitwell
75ccd62be8 Add unfilled rendering and code for feedback (not yet integrated) 2003-02-03 21:33:02 +00:00
Brian Paul
cd9df92c9d clarified glPolygonMode section 2003-02-03 15:00:38 +00:00
Keith Whitwell
cfe59bd3f9 Eliminate some more code 2003-01-28 22:37:23 +00:00
Keith Whitwell
62bc31dcae Eliminate radeon_subset_tcl.c. 2003-01-28 18:28:54 +00:00
Keith Whitwell
675f151c42 Fix compilation for full driver build.
Subsetted readpixels seems to be working.
2003-01-27 16:55:30 +00:00
Keith Whitwell
151cd27866 New file containing subsetted readpixels implementation. 2003-01-24 17:11:10 +00:00
Keith Whitwell
c8facc28cc Isolated code for lighting, fog, texgen and userclip in new files.
Moved some existing swrast, swtnl specific code into files that don't
get built in the subsetted driver.
2003-01-24 15:52:52 +00:00
Keith Whitwell
086e00e086 Add new defines for lighting, texgen, userclip subsetting.
Remove unused mesa modules from link.
2003-01-24 15:50:52 +00:00
Brian Paul
49116e9fd2 terminology updates, etc 2003-01-23 17:15:38 +00:00
Keith Whitwell
9d0eff73b5 Bitmaps are right-way-up 2003-01-23 10:43:59 +00:00
Keith Whitwell
81c7427ddc Hook in accelerated bitmap function -- bitmaps are upside-down! 2003-01-22 18:21:32 +00:00
Keith Whitwell
9e3c6f3b8e (Partially) subsetted driver runs miniglxtest and texobj.
Other applications segfault at null function pointers, etc -- need to remove
these entrypoints from miniglx libGL.so.
2003-01-22 18:16:33 +00:00
Keith Whitwell
18a5321288 Rename radeon_bitmap.c to radeon_subset_bitmap.c
Add new file radeon_subset_tcl.c
	-- this is temporary and will go away eventually.
Some code removal in radeon_subset_vtx.c
2003-01-22 16:19:42 +00:00
Keith Whitwell
4c864746d6 Add new files for bitmap and subsetted begin/end processing. 2003-01-22 12:23:20 +00:00
Keith Whitwell
19b1476515 Start subsetting -- turn off swrast & swtnl. 2003-01-22 09:53:49 +00:00
Brian Paul
2005348110 updated a few of the issues in appendix A 2003-01-20 17:55:55 +00:00
Brian Paul
634a7b2f00 describe libGL 2003-01-20 15:01:39 +00:00
Brian Paul
d73e21620a new Makefiles for miniglx 2003-01-20 14:54:50 +00:00
Keith Whitwell
d5cfbef5ad Remove -C option to install 2003-01-20 14:50:18 +00:00
Jose Fonseca
1d08fddfe6 Tell CVS to ignore Doxygen tag files and output directories. 2003-01-20 14:34:41 +00:00
Jose Fonseca
447ea351dd Some spellchecking fixes. 2003-01-20 14:30:04 +00:00
Keith Whitwell
0ebc838481 Add USE_MINIGLX flags. Build as a miniglx application. 2003-01-20 11:26:30 +00:00
Keith Whitwell
14a7a05251 Make more demanding 2003-01-20 11:25:50 +00:00
Keith Whitwell
c2edc07196 Fix typo 2003-01-20 11:24:17 +00:00
Keith Whitwell
222a212569 Build radeon.o from toplevel makefile.
Add comments to example.miniglx.conf.
Install a minglx.conf in lib directory.
Remove unused 'drmModuleName' config option
2003-01-20 10:53:34 +00:00
Keith Whitwell
78469e6e3d Notes on setting up a machine to run MiniGLX apps and a list of
available demos in the source tree.
2003-01-20 10:51:04 +00:00
Brian Paul
63d0a9055c minor fixes (remove some \internal attributes) 2003-01-19 23:48:32 +00:00
Keith Whitwell
27834f06b8 Some documentation updates relating to recent changes 2003-01-19 20:11:26 +00:00
Jose Fonseca
c262531518 Fixed several typos from spell-checking. 2003-01-19 18:47:53 +00:00
Jose Fonseca
1b2c02ae98 Some documentation fixes that were left out of previous commits 2003-01-19 14:23:45 +00:00
Jose Fonseca
fb5f90d71b Rewriten some of the detail documentation to improve readability.
Several fixes.
2003-01-19 14:08:20 +00:00
Jose Fonseca
4fb1eb7be2 Add the missing detailed documentation bits on miniglx.c and xf86drm.c.
Several updates and fixes to the documentation.
2003-01-19 12:18:08 +00:00
Jose Fonseca
cf119744c3 More detailed documentation. 2003-01-19 01:57:45 +00:00
Keith Whitwell
b07ed0113a Use frontbuffer if GLUT_DOUBLE not requested 2003-01-18 19:59:27 +00:00
Jose Fonseca
d6d8d1dfce Detailed documention for glapi.c. Brief description of the structures in sarea.h. Minor fix in drm.h. 2003-01-18 13:42:06 +00:00
Jose Fonseca
f483ebddeb Enable the documentation of static functions and also the internal documentation. 2003-01-18 13:01:17 +00:00
Keith Whitwell
35fe61ce7b Remove debug printf 2003-01-18 12:41:55 +00:00
Keith Whitwell
c3b1d1e63c Restore registers clobbered by radeonfb.o -- prevents slowdown to 200fps
of mesa demos.
2003-01-18 12:41:34 +00:00
Keith Whitwell
38bfead7d3 Remove some unused members from RADEONInfoRec, add saved value for
crtc_offset_cntl
2003-01-18 12:38:40 +00:00
Keith Whitwell
56f57500b9 Add PostValidateMode hook to allow drivers to restore registers after
fbdev has finished clobbering them.
2003-01-18 12:25:56 +00:00
Keith Whitwell
2ce0615ef1 Remove chipset line from example miniglx.conf 2003-01-18 12:17:02 +00:00
Keith Whitwell
559af8ace4 Probe for chipset if one isn't supplied 2003-01-18 12:16:16 +00:00
Keith Whitwell
f73e37e154 A standalone build environment for radeonfb.o, incorporating necessary
fixes from Ani Joshi and others.  This is probably the only version of
radeonfb that we can run against at the moment, so include it here.
2003-01-18 11:15:47 +00:00
Brian Paul
ec5b054b8f fix up loose ends 2003-01-17 21:45:04 +00:00
Brian Paul
8a63d4bc99 new Makefiles for subset 2003-01-17 21:21:57 +00:00
Keith Whitwell
f58e67787f Get colors working in 16bpp 2003-01-17 19:01:22 +00:00
Keith Whitwell
deb4d4de47 add support for 16bpp modes, disabled 2003-01-17 16:19:15 +00:00
Keith Whitwell
1449a2f759 Take stride properly into account when setting up window members. 2003-01-17 00:56:14 +00:00
Keith Whitwell
f0b66442e8 Clear framebuffer at startup 2003-01-17 00:36:05 +00:00
Keith Whitwell
8830b0a941 Make miniglut exit() on error, like real glut. 2003-01-17 00:32:50 +00:00
Keith Whitwell
deb5fe3b68 use a fixed resolution defined in a config file 2003-01-16 23:39:30 +00:00
Brian Paul
1e1e71e3a7 lots of updates, practically finished 2003-01-16 23:15:28 +00:00
Keith Whitwell
53362d8858 get conform working 2003-01-14 16:52:40 +00:00
Keith Whitwell
af82796ed1 Remove debug printf 2003-01-14 11:39:11 +00:00
Jose Fonseca
6ded963ac6 Documentation for most of the DRM ioctls argument structures in drm.h.
Fixes to the xf86drm.c documentation.
2003-01-13 16:02:32 +00:00
Keith Whitwell
b4f35d5191 example miniglx.conf 2003-01-13 15:34:00 +00:00
Keith Whitwell
0b9434aafd Add config file facility and remove hardwired options from minglx.c
Move functionality for setting up glx configs into the drivers.
Allow the driver to tweak modes (eg for pitch) before setting up fbdev.
2003-01-13 15:31:31 +00:00
Jose Fonseca
fb02d9f4eb Big chunk of documention of xf86drm.c. Some oddities left to document, and still needs a review to catch typos. 2003-01-13 14:36:40 +00:00
Brian Paul
2b83583994 s/union/enum/ 2003-01-11 14:13:25 +00:00
Brian Paul
76415ea859 tweaks to Doxygen config files 2003-01-10 21:57:59 +00:00
Brian Paul
10d05983ef documentation updates 2003-01-10 21:57:41 +00:00
Brian Paul
7c35ac6e82 doc updates, new PixelFormat enum 2003-01-10 21:56:04 +00:00
Keith Whitwell
ca9cccd81c Fix GLUT_ELAPSED_TIME query 2003-01-10 17:47:49 +00:00
Jose Fonseca
ea9f98b04b Enable internal documentation in doxy/miniglx.doxy.
Enable private and static documention in doxy/core.doxy (necessary now for src/glapi.c and others later).
2003-01-09 20:37:02 +00:00
Brian Paul
8b4a34dcdb Initial check in. 2003-01-09 18:24:46 +00:00
Keith Whitwell
267bc32309 Add documentation for GLX_DEPTH_SIZE 2003-01-09 16:54:49 +00:00
Keith Whitwell
8618425250 Remove some more unused functions 2003-01-09 15:16:57 +00:00
Keith Whitwell
24259ec2d0 Bump window sizes up to next supported size when choosing modes.
Recognize the GLX_DEPTH_SIZE attrib.
2003-01-09 15:16:35 +00:00
Keith Whitwell
97aa6f3734 Initialize lastStamp to 1, so that drivers know they need to update
(ie initialize) their internal data.
2003-01-09 15:15:33 +00:00
Keith Whitwell
6b723c7720 Add section on porting apps glx->miniglx 2003-01-09 15:14:24 +00:00
Keith Whitwell
211f26ca95 more cleanups 2003-01-09 15:13:49 +00:00
Keith Whitwell
df7cbe873e Remove earlier workaround 2003-01-09 15:12:38 +00:00
Keith Whitwell
da8a7e15a6 Build the full driver for now 2003-01-09 15:12:04 +00:00
Keith Whitwell
f6546f8384 Barebones glut-alike - just enough to get the mesa demos working 2003-01-09 12:43:40 +00:00
Keith Whitwell
cd22e4b78c Remove some debug 2003-01-03 11:37:10 +00:00
Keith Whitwell
5ff65a62df Require radeon.o 1.8.x 2003-01-02 19:02:23 +00:00
Keith Whitwell
fd55975710 Take advantage of the fact that the kernel module can now shut itself
down cleanly
2003-01-02 18:49:34 +00:00
Keith Whitwell
c83b869ed2 Cleanups 2003-01-02 18:47:05 +00:00
Keith Whitwell
592250e9fc Add a bit of compile-time flexibility 2003-01-02 18:44:41 +00:00
Keith Whitwell
cdb267a918 Allow the standard radeon driver to be built without the swrast and swtnl
modules.  This effectively merges the radeon-es driver back into the
radeon driver as a compile-time option.
2002-12-30 17:24:05 +00:00
Keith Whitwell
2c2bcf8268 Lay ground work for cut-down radeon driver.
NOTE: commented out a couple of places where core mesa calls directly into
      the swrast module.
2002-12-30 15:20:35 +00:00
Keith Whitwell
695b197cb2 Bring some more initialization code from the 2d driver. 2d accels now
work (glClear).  Pageflip now works for swapbuffers.
2002-12-30 13:15:55 +00:00
Keith Whitwell
e17d611067 Remove dead code 2002-12-27 13:17:53 +00:00
Keith Whitwell
9df9883a7a Do a better job of initializing the __DRIdrawablePrivate in driCreateDrawable 2002-12-27 13:07:11 +00:00
Keith Whitwell
22477c050e Turn off stereo flag in visual configs. 2002-12-27 11:25:08 +00:00
Keith Whitwell
39afeb7cf0 Resolve stability issues starting & stopping radeon driver.
Add drmtest program to exercise the drm without the added complications of
a full driver.

Bring fb driver uptodate with changes for hw drivers.
2002-12-25 12:51:21 +00:00
Keith Whitwell
9363bd862f missing files 2002-12-23 12:18:14 +00:00
Jose Fonseca
83b936adb3 Better documentation to the data structures of miniglx.h and miniglxP.h.
Document the implementation details of most of the public functions in
miniglx.c. These details are under the doxygen's \internal tag so their
presence in the output documentation is controlled by the INTERNAL_DOCS =
YES|NO variable in the doxygen configurations files.
2002-12-22 17:11:04 +00:00
Jose Fonseca
5134d4a98b Apply the doxygen treatment to some [big] files. Some enhancements. 2002-12-21 19:06:06 +00:00
Jose Fonseca
2481eda853 Give the doxygen treatment to include/GL/miniglx.h and src/miniglx/miniglxP.h.
More documentation fixes and enhancements to src/miniglx/miniglx.c.
2002-12-21 02:47:26 +00:00
Jose Fonseca
6b31afc236 Enable documentation for private and static members.
Disable the included file listing.
2002-12-21 02:43:09 +00:00
Jose Fonseca
8fd39b4e8c Added caller documentation to the remaining public API functions.
Renamed some function arguments to match the original Xlib and GLX documentation.
2002-12-20 19:41:41 +00:00
Keith Whitwell
094eed79c2 miniglxtest runs to completion and exits with radeon driver,
but produces no graphical output.
2002-12-20 15:07:56 +00:00
Jose Fonseca
d20f1768a6 Added documentation to some functions plus a main page with introduction and references to Mini GLX. 2002-12-20 01:28:15 +00:00
Keith Whitwell
3e06eed70a Move dri initialization into XCreateWindow 2002-12-19 13:48:27 +00:00
Keith Whitwell
3e13551969 eliminate unresolved symbols 2002-12-19 12:26:15 +00:00
Keith Whitwell
3af2be61fd Radeon driver and hw init code compiles. 2002-12-19 10:16:18 +00:00
Keith Whitwell
eb7eb6e171 restore some 'drmFree' strings previously clobbered 2002-12-18 15:34:22 +00:00
Keith Whitwell
e931e819f9 Remove references to ScrnInfoPtr 2002-12-18 14:52:58 +00:00
Jose Fonseca
95936ee9ba Added doxy/miniglx.doxy based on doxy/core.doxy.
Fixed typo in doxy/README.
2002-12-18 14:31:51 +00:00
Keith Whitwell
157d9a5ac6 remove some more unused functions 2002-12-16 18:55:42 +00:00
Keith Whitwell
134930b627 remove old comment 2002-12-16 18:38:29 +00:00
Keith Whitwell
a97ce86232 Dumb framebuffer driver now in pretty good shape, though some operations
(like swapbuffers) are quite slow because the backbuffer lives in video
ram.
2002-12-16 13:40:44 +00:00
Keith Whitwell
5ca95653c4 miniglxtest.c works against swrast driver 2002-12-13 15:18:09 +00:00
Keith Whitwell
1f01a4b3b6 miniglx test will run with fb_dri.so (ie. swrast) driver, but output is
garbled.
2002-12-12 14:22:02 +00:00
Keith Whitwell
8645472e00 new files 2002-12-11 14:44:09 +00:00
Keith Whitwell
1929cacdbf more cleanups 2002-12-11 14:41:20 +00:00
Brian Paul
65e30ac06a minor tweaks 2002-12-09 22:34:40 +00:00
Brian Paul
941efe8eda added XGetVisualInfo, glXGetConfig plus misc comments and clean-ups 2002-12-09 22:33:09 +00:00
Keith Whitwell
ea4b887ef7 readded 2002-12-06 16:24:07 +00:00
Keith Whitwell
ba8e63f05b Get rid of the 'proper' glx files -- glxclient.h, glxext.c
Move the interface lines for dri drivers -- the __driUtil functions which
know a lot about glx internals now live here.
2002-12-06 16:19:45 +00:00
Keith Whitwell
117a2d76b6 Remove -lX11 from miniglx link libraries... 2002-12-04 16:03:49 +00:00
Keith Whitwell
ce75913702 Caught a couple of things after a clean build on rh 7.3 2002-12-04 16:00:05 +00:00
Keith Whitwell
cbc41d4332 Remove the USE_DRI=0 case -- this is now in drv/fb/fb_dri.c 2002-12-04 15:33:12 +00:00
Keith Whitwell
40af4d7662 A full radeon driver, seems to build ok, haven't run yet 2002-12-04 15:31:04 +00:00
Brian Paul
702b2802a0 added XFree() and glXQueryVersion() 2002-12-04 15:25:37 +00:00
Keith Whitwell
44e4e437a0 new file 2002-12-04 13:09:17 +00:00
Keith Whitwell
366ca58ea6 new makefiles to build modules as .a files 2002-12-04 12:48:09 +00:00
Keith Whitwell
90925c9777 ignore .d files 2002-12-03 22:30:41 +00:00
Brian Paul
f6b40da9a7 *** empty log message *** 2002-12-03 21:27:54 +00:00
Keith Whitwell
80798c8eab minor changes from the end of last week 2002-12-03 17:38:19 +00:00
Brian Paul
65a7a3852d miniglx.c now loads DRI drivers. glxext.c and glxclient.h no longer needed.
Many functions in XF86DRI.c are #ifdef'd out and need new implementations.
2002-11-29 16:07:51 +00:00
Brian Paul
cf8aede714 mask is always non-null in write_rgba_pixels and write_monorgba_pixels 2002-11-28 15:55:41 +00:00
Brian Paul
1e27ca69f8 fixed breakage from last check-in, more clean-ups 2002-11-28 00:24:04 +00:00
Brian Paul
9fcd566e60 added DRI awareness (incomplete, disabled by default) 2002-11-28 00:03:07 +00:00
Brian Paul
78b5f5f44f remove resize() function 2002-11-27 21:04:18 +00:00
Brian Paul
8a82d9db15 support more screen sizes, more clean-ups 2002-11-27 21:03:33 +00:00
Brian Paul
fa747cdb0a miniglx layered on fbdev works now. 2002-11-27 17:02:39 +00:00
Keith Whitwell
fa50fae202 Narrow down the missing bits of information 2002-11-27 16:31:27 +00:00
Keith Whitwell
0fb48dba7c pull in more server code, particularly for radeon init 2002-11-27 15:52:13 +00:00
Keith Whitwell
2f3585d4f1 Auto-dependency generating makefile 2002-11-27 13:58:53 +00:00
Brian Paul
7c7789c029 do some simple MMIO register reads for sanity testing 2002-11-27 00:26:59 +00:00
Brian Paul
56ad63958b set timing values explicitly. new debugging info 2002-11-26 21:20:45 +00:00
Brian Paul
aa0109bf96 move WindowExists() code into glxext.c (effectively out of the driver) 2002-11-26 18:18:54 +00:00
Keith Whitwell
0201db5a22 Added two files which should (with much tweaking) eventually allow
the radeon_dri.so driver from the dri project to be loaded and run
against an fbdev environment.
2002-11-26 17:39:32 +00:00
Brian Paul
1a1069c7e9 more trimming / hacking 2002-11-25 21:38:08 +00:00
Brian Paul
fc88680a39 more tweaks 2002-11-22 16:13:49 +00:00
Brian Paul
ff89f4b639 fix some bugs, add colormap initialization 2002-11-22 15:26:56 +00:00
Brian Paul
7d5b5c0438 added glfbdevtest and miniglxtest 2002-11-22 00:19:31 +00:00
Brian Paul
6ccaeaaa16 from DRI CVS - hacked to some extent 2002-11-21 16:42:51 +00:00
Brian Paul
e4e72da501 from Mesa 5.1 2002-11-21 16:00:27 +00:00
Brian Paul
67f87d2463 disable thread safety for now 2002-11-21 15:45:55 +00:00
Brian Paul
431c1740d5 compile glfbdev.c and miniglx.c 2002-11-21 14:59:05 +00:00
Brian Paul
fa3f447234 fixed cube texture auto-mipmap generation bug (641363) 2002-11-20 21:40:02 +00:00
Brian Paul
3a08052714 stripped, subsetted DRI-capable libGL 2002-11-20 18:09:51 +00:00
Brian Paul
424096d581 prototype interfaces and tests 2002-11-20 02:10:37 +00:00
Brian Paul
2e5a88ab6a oops, wrong branch 2002-11-20 02:09:57 +00:00
Brian Paul
d520ff08d0 tests for new interfaces 2002-11-20 01:54:12 +00:00
Brian Paul
ef0e1dcc2e prototypes for new interfaces 2002-11-20 01:53:24 +00:00
Brian Paul
6412641b19 put FEATURE_NV_vertex_program around vpstate.h include 2002-11-19 15:25:16 +00:00
Brian Paul
3ee066b48f missed a couple version string updates 2002-11-14 16:16:45 +00:00
Brian Paul
33c0b3e233 patches from Karl 2002-11-13 22:26:23 +00:00
Brian Paul
658145bd82 fix compilation problem (Philippe Houdoin) 2002-11-13 22:21:47 +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
761 changed files with 173227 additions and 36670 deletions

View File

@@ -1,8 +1,8 @@
# $Id: Make-config,v 1.50.2.6 2002/03/01 19:38:53 brianp Exp $
# $Id: Make-config,v 1.67 2002/11/12 02:49:14 brianp Exp $
MESA_MAJOR=4
MESA_MAJOR=5
MESA_MINOR=0
MESA_TINY=2
MESA_TINY=0
VERSION=$(MESA_MAJOR).$(MESA_MINOR)
# Mesa 3-D graphics library
@@ -155,7 +155,7 @@ cygnus:
"CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
-O2 -funroll-loops \
-fexpensive-optimizations -fomit-frame-pointer -ffast-math \
-malign-loops=2 -malign-jumps=2 -malign-functions=2" \
-malign-loops=2 -malign-functions=2" \
"CCFLAGS = $(CFLAGS)" \
"MAKELIB = ../bin/mklib.ar-ruv" \
"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
@@ -174,7 +174,7 @@ cygnus-linux:
"CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
-O2 -funroll-loops \
-fexpensive-optimizations -fomit-frame-pointer -ffast-math \
-malign-loops=2 -malign-jumps=2 -malign-functions=2" \
-malign-loops=2 -malign-functions=2" \
"MAKELIB = ../bin/mklib.cygnus-linux" \
"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
@@ -308,6 +308,7 @@ hpux9-gcc-sl:
"MAKELIB = ../bin/mklib.hpux" \
"APP_LIB_DEPS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11 -lm"
# The hpux10 configs should work for hpux11 as well.
hpux10:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
"GL_LIB = libGL.a" \
@@ -316,19 +317,23 @@ hpux10:
"GLW_LIB = libGLw.a" \
"OSMESA_LIB = libOSMesa.a" \
"CC = cc" \
"CPLUSPLUS = aCC" \
"CFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
"CCFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
"MAKELIB = ../bin/mklib.ar-ruv" \
"APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
"APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm -L/usr/lib -lCsup"
hpux10-sl:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
"GL_LIB = libGL" \
"GLU_LIB = libGLU" \
"GLUT_LIB = libglut" \
"GLW_LIB = libGLw.a" \
"OSMESA_LIB = libOSMesa.a" \
"GLW_LIB = libGLw" \
"OSMESA_LIB = libOSMesa" \
"CC = cc" \
"CFLAGS = +z -Ae +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
"CPLUSPLUS = aCC" \
"CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
"CCFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
"MAKELIB = ../bin/mklib.hpux" \
"APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
@@ -597,14 +602,40 @@ linux-x86:
"APP_LIB_DEPS = -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S \
X86/x86_cliptest.S \
X86/mmx_blend.S \
X86/3dnow_xform1.S X86/3dnow_xform2.S \
X86/3dnow_xform3.S X86/3dnow_xform4.S \
X86/3dnow_normal.S X86/3dnow_vertex.S \
X86/3dnow_normal.S \
X86/sse_xform1.S X86/sse_xform2.S \
X86/sse_xform3.S X86/sse_xform4.S \
X86/sse_normal.S X86/sse_vertex.S"
X86/sse_normal.S"
linux-icc:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
"GL_LIB = libGL.so" \
"GLU_LIB = libGLU.so" \
"GLUT_LIB = libglut.so" \
"GLW_LIB = libGLw.so" \
"OSMESA_LIB = libOSMesa.so" \
"CC = icc" \
"CPLUSPLUS = g++" \
"CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
"MAKELIB = ../bin/mklib.linux" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"APP_LIB_DEPS = -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S \
X86/mmx_blend.S \
X86/3dnow_xform1.S X86/3dnow_xform2.S \
X86/3dnow_xform3.S X86/3dnow_xform4.S \
X86/3dnow_normal.S \
X86/sse_xform1.S X86/sse_xform2.S \
X86/sse_xform3.S X86/sse_xform4.S \
X86/sse_normal.S"
linux-x86-static:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -615,7 +646,7 @@ linux-x86-static:
"OSMESA_LIB = libOSMesa.a" \
"CC = gcc" \
"CPLUSPLUS = g++" \
"CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
"CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
"MAKELIB = ../bin/mklib.ar-ruv" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
@@ -623,14 +654,14 @@ linux-x86-static:
"APP_LIB_DEPS = -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S \
X86/x86_cliptest.S \
X86/mmx_blend.S \
X86/3dnow_xform1.S X86/3dnow_xform2.S \
X86/3dnow_xform3.S X86/3dnow_xform4.S \
X86/3dnow_normal.S X86/3dnow_vertex.S \
X86/3dnow_normal.S \
X86/sse_xform1.S X86/sse_xform2.S \
X86/sse_xform3.S X86/sse_xform4.S \
X86/sse_normal.S X86/sse_vertex.S"
X86/sse_normal.S"
# Contributed by Uwe_Maurer@t-online.de
linux-ggi:
@@ -663,7 +694,7 @@ linux-386-ggi:
"APP_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lggi -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S"
X86/x86_cliptest.S"
linux-glide:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -697,10 +728,10 @@ linux-386-glide:
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S"
X86/x86_cliptest.S"
linux-386-opt-glide:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -711,16 +742,16 @@ linux-386-opt-glide:
"OSMESA_LIB = libOSMesa.so" \
"CC = gcc" \
"CPLUSPLUS = g++" \
"CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DFX -DUSE_X86_ASM -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
"CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DFX -DUSE_X86_ASM -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
"CCFLAGS = $(CFLAGS)" \
"MAKELIB = ../bin/mklib.linux" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
"APP_LIB_DEPS = -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S"
X86/x86_cliptest.S"
linux-x86-glide:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -731,23 +762,23 @@ linux-x86-glide:
"OSMESA_LIB = libOSMesa.so" \
"CC = gcc" \
"CPLUSPLUS = g++" \
"CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
"CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
"MAKELIB = ../bin/mklib.linux" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
"APP_LIB_DEPS = -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S \
X86/x86_cliptest.S \
X86/mmx_blend.S \
X86/3dnow_xform1.S X86/3dnow_xform2.S \
X86/3dnow_xform3.S X86/3dnow_xform4.S \
X86/3dnow_normal.S X86/3dnow_vertex.S \
X86/3dnow_normal.S \
FX/X86/fx_3dnow_fastpath.S \
X86/sse_xform1.S X86/sse_xform2.S \
X86/sse_xform3.S X86/sse_xform4.S \
X86/sse_normal.S X86/sse_vertex.S"
X86/sse_normal.S "
linux-alpha:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -888,7 +919,7 @@ linux-osmesa32:
# May want to add these CFLAGS for better performance under LynxOS and GCC:
# -fPIC -O2 -ansi -pedantic -mieee-fp -DUSE_XSHM -funroll-loops
# -fexpensive-optimizations -fomit-frame-pointer -ffast-math
# and -malign-loops=2 -malign-jumps=2 -malign-functions=2 for Pentium
# and -malign-loops=2 -malign-functions=2 for Pentium
lynxos:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
"GL_LIB = libGL.a" \
@@ -1017,7 +1048,7 @@ os2-x11:
"APP_LIB_DEPS = -Zmt -Zcrtdll -Zexe -L$(X11ROOT)/XFree86/lib -lXt -lX11 -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S"
X86/x86_cliptest.S"
osf1:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -1212,6 +1243,7 @@ sunos5:
"GLW_LIB = libGLw.a" \
"OSMESA_LIB = libOSMesa.a" \
"CC = cc" \
"CPLUSPLUS = CC" \
"CFLAGS = -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
"MAKELIB = ../bin/mklib.ar-ruv" \
"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
@@ -1224,6 +1256,7 @@ sunos5-sl:
"GLW_LIB = libGLw.so" \
"OSMESA_LIB = libOSMesa.so" \
"CC = cc" \
"CPLUSPLUS = CC" \
"CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
"MAKELIB = ../bin/mklib.sunos5" \
"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
@@ -1236,6 +1269,7 @@ sunos5-ultra:
"GLW_LIB = libGLw.a" \
"OSMESA_LIB = libOSMesa.a" \
"CC = cc" \
"CPLUSPLUS = CC" \
"CFLAGS = -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
"MAKELIB = ../bin/mklib.ar-ruv" \
"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
@@ -1248,6 +1282,7 @@ sunos5-ultra-sl:
"GLW_LIB = libGLw.so" \
"OSMESA_LIB = libOSMesa.so" \
"CC = cc" \
"CPLUSPLUS = CC" \
"CFLAGS = -KPIC -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
"MAKELIB = ../bin/mklib.sunos5" \
"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
@@ -1487,7 +1522,7 @@ linux-debug:
"OSMESA_LIB = libOSMesa.so" \
"CC = gcc" \
"CPLUSPLUS = g++" \
"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DSVGA_foo -I/usr/include/glide -DFX_foo -DMESA_TRACE" \
"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG" \
"CCFLAGS = $(CFLAGS)" \
"MAKELIB = ../bin/mklib.linux" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
@@ -1495,24 +1530,6 @@ linux-debug:
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"APP_LIB_DEPS = -lglut -lGLU -lGL"
linux-x11-debug:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
"GL_LIB = libGL.so" \
"GLU_LIB = libGLU.so" \
"GLUT_LIB = libglut.so" \
"GLW_LIB = libGLw.so" \
"OSMESA_LIB = libOSMesa.so" \
"CC = gcc" \
"CPLUSPLUS = g++" \
"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DMESA_TRACE" \
"CCFLAGS = $(CFLAGS)" \
"MAKELIB = ../bin/mklib.linux" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"APP_LIB_DEPS = -lglut -lGLU -lGL"
linux-static-debug:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
"GL_LIB = libGL.a" \
@@ -1536,7 +1553,7 @@ linux-x86-debug:
"OSMESA_LIB = libOSMesa.so" \
"CC = gcc" \
"CPLUSPLUS = g++" \
"CFLAGS = -O2 -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DDEBUG -DMESA_DEBUG" \
"CFLAGS = -O2 -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -malign-loops=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DDEBUG -DMESA_DEBUG" \
"MAKELIB = ../bin/mklib.linux" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
@@ -1544,14 +1561,14 @@ linux-x86-debug:
"APP_LIB_DEPS = -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S \
X86/x86_cliptest.S \
X86/mmx_blend.S \
X86/3dnow_xform1.S X86/3dnow_xform2.S \
X86/3dnow_xform3.S X86/3dnow_xform4.S \
X86/3dnow_normal.S X86/3dnow_vertex.S \
X86/3dnow_normal.S \
X86/sse_xform1.S X86/sse_xform2.S \
X86/sse_xform3.S X86/sse_xform4.S \
X86/sse_normal.S X86/sse_vertex.S"
X86/sse_normal.S"
linux-glide-debug:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -1583,15 +1600,15 @@ linux-prof:
"APP_LIB_DEPS = -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S \
X86/x86_cliptest.S \
X86/mmx_blend.S \
X86/3dnow_xform1.S X86/3dnow_xform2.S \
X86/3dnow_xform3.S X86/3dnow_xform4.S \
X86/3dnow_normal.S X86/3dnow_vertex.S \
X86/3dnow_normal.S \
FX/X86/fx_3dnow_fastpath.S \
X86/sse_xform1.S X86/sse_xform2.S \
X86/sse_xform3.S X86/sse_xform4.S \
X86/sse_normal.S X86/sse_vertex.S"
X86/sse_normal.S "
linux-glide-prof:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -1608,12 +1625,12 @@ linux-glide-prof:
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
X86/x86_cliptest.S X86/x86_vertex.S \
X86/x86_cliptest.S \
X86/mmx_blend.S \
X86/3dnow_xform1.S X86/3dnow_xform2.S \
X86/3dnow_xform3.S X86/3dnow_xform4.S \
X86/3dnow_normal.S X86/3dnow_vertex.S \
X86/3dnow_normal.S \
FX/X86/fx_3dnow_fastpath.S \
X86/sse_xform1.S X86/sse_xform2.S \
X86/sse_xform3.S X86/sse_xform4.S \
X86/sse_normal.S X86/sse_vertex.S"
X86/sse_normal.S"

View File

@@ -1,7 +1,7 @@
# $Id: Makefile.X11,v 1.56.2.7 2002/03/29 14:42:29 brianp Exp $
# $Id: Makefile.X11,v 1.69 2002/11/13 15:33:51 brianp Exp $
# Mesa 3-D graphics library
# Version: 4.0.2
# Version: 5.0
#
# Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
#
@@ -51,8 +51,8 @@ default:
@echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
@echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
@echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
@echo " make hpux10 for HP systems with HPUX 10.x"
@echo " make hpux10-sl for HP systems with HPUX 10.x, shared libs"
@echo " make hpux10 for HP systems with HPUX 10.x and 11.x"
@echo " make hpux10-sl for HP systems with HPUX 10.x and 11.x, shared libs"
@echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
@echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
@echo " make irix4 for SGI systems with IRIX 4.x"
@@ -87,6 +87,7 @@ default:
@echo " make linux-sparc-ultra for UltraSparc systems, make ELF shared libs"
@echo " make linux-osmesa16 for 16-bit/channel OSMesa"
@echo " make linux-osmesa32 for 32-bit/channel OSMesa"
@echo " make linux-icc for Linux with the Intel C/C++ compiler"
@echo " make lynxos for LynxOS systems with GCC"
@echo " make macintosh for Macintosh"
@echo " make machten-2.2 for Macs w/ MachTen 2.2 (68k w/ FPU)"
@@ -142,8 +143,8 @@ aix aix-sl amix bsdos bsdos4 darwin dgux freebsd freebsd-386 gcc \
hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
irix4 irix5 irix5-gcc irix5-dso \
linux linux-static linux-debug linux-x11-debug linux-static-debug linux-prof \
linux-x86 linux-x86-static linux-x86-debug \
linux linux-static linux-debug linux-static-debug linux-prof \
linux-x86 linux-icc linux-x86-static linux-x86-debug \
linux-glide linux-386-glide linux-386-opt-glide \
linux-x86-glide linux-glide-debug linux-glide-prof \
linux-alpha-static linux-alpha \
@@ -299,6 +300,7 @@ linux-osmesa16 linux-osmesa32:
-mkdir lib
if [ -d src ] ; then touch src/depend ; fi
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
# Remove .o files, emacs backup files, etc.
clean:
@@ -328,11 +330,10 @@ realclean: clean
cd samples && $(MAKE) -f Makefile.X11 realclean || true
DIRECTORY = Mesa-4.0.2
LIB_NAME = MesaLib-4.0.2
DEMO_NAME = MesaDemos-4.0.2
GLU_NAME = MesaGLU-4.0.2
DIRECTORY = Mesa-5.0
LIB_NAME = MesaLib-5.0
DEMO_NAME = MesaDemos-5.0
GLU_NAME = MesaGLU-5.0
GLUT_NAME = GLUT-3.7
@@ -349,17 +350,14 @@ LIB_FILES = \
$(DIRECTORY)/configure \
$(DIRECTORY)/configure.in \
$(DIRECTORY)/install-sh \
$(DIRECTORY)/ltconfig \
$(DIRECTORY)/ltmain.sh \
$(DIRECTORY)/missing \
$(DIRECTORY)/mkinstalldirs \
$(DIRECTORY)/stamp-h.in \
$(DIRECTORY)/docs/CONFIG \
$(DIRECTORY)/docs/CONFORM \
$(DIRECTORY)/docs/COPYING \
$(DIRECTORY)/docs/COPYRIGHT \
$(DIRECTORY)/docs/DEVINFO \
$(DIRECTORY)/docs/IAFA-PACKAGE \
$(DIRECTORY)/docs/INSTALL \
$(DIRECTORY)/docs/INSTALL.GNU \
$(DIRECTORY)/docs/README \
@@ -400,7 +398,6 @@ LIB_FILES = \
$(DIRECTORY)/include/GL/xmesa_x.h \
$(DIRECTORY)/include/GL/xmesa_xf86.h \
$(DIRECTORY)/include/GLView.h \
$(DIRECTORY)/include/dmesadxe.h \
$(DIRECTORY)/include/Makefile.in \
$(DIRECTORY)/include/Makefile.am \
$(DIRECTORY)/src/Makefile* \
@@ -431,7 +428,8 @@ LIB_FILES = \
$(DIRECTORY)/src/windml/tornado/*.cdf \
$(DIRECTORY)/src/windml/man3/*.3 \
$(DIRECTORY)/src/windml/man3/*.html \
$(DIRECTORY)/src/DOS/*.[ch] \
$(DIRECTORY)/src/DOS/*.[chS] \
$(DIRECTORY)/src/DOS/vesa/*.[ch] \
$(DIRECTORY)/src/BeOS/*.cpp \
$(DIRECTORY)/src/FX/Makefile.am \
$(DIRECTORY)/src/FX/Makefile.in \
@@ -624,7 +622,7 @@ DEMO_FILES = \
$(DIRECTORY)/demos/README \
$(DIRECTORY)/xdemos/Makefile* \
$(DIRECTORY)/xdemos/descrip.mms \
$(DIRECTORY)/xdemos/*.[cf] \
$(DIRECTORY)/xdemos/*.[chf] \
$(DIRECTORY)/book/Makefile* \
$(DIRECTORY)/book/README \
$(DIRECTORY)/book/*.[ch] \

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

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,197 @@
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 in the YCbCr format. There is
no support for converting YCbCr images to RGB or vice versa. The
intention is for YCbCr image data to be directly sent to the renderer
without any pixel transfer operations. 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:
GL_YCBCR_MESA 0x8757
Accepted by the <type> parameter of TexImage2D and TexSubImage2D:
GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
GL_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.
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

View File

@@ -1,10 +1,25 @@
3Dfx Glide device driver for Mesa 3.3
(see below for FAQ)
3Dfx Glide device driver
Warning: this document is rather out of date, but most of the information
should still apply.
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

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
In the Mesa-3.x directory type "make -f Makefile.X11 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.6 1999/11/27 01:40:40 brianp Exp $
$Id: README.BEOS,v 1.7 2002/09/19 16:19:44 brianp Exp $

View File

@@ -1,4 +1,4 @@
Mesa 4.0 DOS/DJGPP Port v1.0
Mesa 4.1 DOS/DJGPP Port v1.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -6,75 +6,144 @@
Description:
~~~~~~~~~~~~
Well, guess what... this is the DOS port of MESA 4.0, for DJGPP fans... Whoa!
Well, guess what... this is the DOS port of Mesa 4.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.
Mesa copyright applies, provided this package is used within Mesa. For anything
else, see GPL.
Installation:
~~~~~~~~~~~~~
Type "make -f Makefile.DJ" to compile the libraries. Make accepts some options
which are passed to compiler: the target cpu (CPU=..., default=`pentium') and
X86 specific options (HAVE_X86=1, HAVE_MMX=1, HAVE_SSE=1, HAVE_3DNOW=1). The
core library (libGL) requires LFN support during compilation. Also, you must
have the DXE2 package (available on SimTel.Net, courtesy of Andrew Zabolotny)
installed in order to build the dynamic modules; if you encounter errors, you
can fetch a patched version from my web page.
The demos are not built automagically (see Pitfalls below). To make them, use
one of the following rules:
Static:
gcc -o OUT.exe IN.c -lglut -lglu -lgl
Dynamic:
gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl
Usage of the dynamic modules requires three things:
- include DMESADXE.H in one of the sources, so references inside
dynamic modules will get resolved (or use `-include' directive)
- link against import libraries (libIgl*.a) and LIBDL.A, which will do
the dynamic linkage job for you
- put the DXEs somewhere along the library path (LD_LIBRARY_PATH) or
in the current directory
Unzip and type:
make -f Makefile.DJ [OPTIONS...]
Available options:
Environment variables:
CPU optimize for the given processor.
default = k6
BIG_OPT=1 crazy optimizations; not very useful, though...
default = no
GLIDE absolute path to Glide library; used with FX.
default = $(TOP)/include/glide3
FX=1 build for 3dfx Glide3; use it if you have the Glide
SDK (designed for your platform), and, of course, a
3dfx card... Note that this disables compilation of
actual DMesa code, as Glide does all the stuff!
default = no
HAVE_X86=1 optimize for i386.
default = no
HAVE_MMX=1 MMX instructions; use only if you assembler/compiler
supports MMX instruction set; backwards compatibility
with older processors is still preserved.
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: Intel Pentium w/ MMX @166 MHz
Mainboard: ViA Apollo VP2 w/ 128 MB SDRAM
Video card: Matrox Millenium 2064W w/ 2048 kB WRAM, BIOS v3.0
DJGPP: djdev 2.03 + gcc v3.0.3 + make v3.79
CPU: K6-2 (CXT) @500(412.5) MHz
Mainboard: ViA Apollo VP2/97 w/ 128 MB SDRAM
Video card: PowerColor Evil King3 (Voodoo3 3000) w/ 16384 kB SDRAM
DJGPP: djdev 2.04 + gcc v3.2 + make v3.79.1
libGL (the core):
~~~~~~~~~~~~~~~~~
FAQ:
~~~~
Of course, MESA 4.0 core sources are required. It will probably work with
MESA 3.5, but not a chance with earlier versions due to major changes to the
MESA driver interface and the directory tree. All should compile succesfully.
1. Compilation
The driver has its origins in ddsample.c, written by Brian Paul and found by
me in MESA 3.4.2. I touched almost all the functions, changing the coding
style :-( Sorry!
Q) I tried to run `make' and it exits because `gcc' complains it cannot find
some stupid file.
A) You need LFN support.
A) When compiling for Glide (FX=1), pay attention to Glide path.
Pitfalls:
1. The current version supports only RGB[A] modes, for it made no sense to me
to endorse color-index (aka palette) modes.
2. Single-buffered is not allowed at all. Until I can find a way to use *REAL*
hardware acceleration, it won't get implemented.
3. Another weird "feature" is that buffer width must be multiple of 4 (I'm a
lazy programmer and I found that the easiest way to keep buffer handling at
peak performance ;-).
2. Dynamic modules
Q) What are you mumbling about dynamic modules?
A) You must have the DXE2 package (available on SimTel.Net, courtesy of
Andrew Zabolotny) installed in order to build the dynamic modules.
Q) I have DXE2, but I couldn't build the `dxe2gen.exe'.
Q) I built `dxe2gen.exe', but it doesn't do the job right.
A) There is a patched version on my web page.
libGLU:
~~~~~~~
Q) DXE2 modules give me headaches...
A) The DXE2 modules are not compulsory. The static libraries are still built
and you can use them in the old-fashioned, classic way... and learn to
live with your ~2MB executable size. For example:
gcc -o OUT.exe IN.c -lglut -lglu -lgl
Mesa GLU sources are required.
Q) Okay, DXE2 modules are built. How can I use them?
A) Build your export object file; then link it with your application.
For example:
dxe2res -o dmesadxe.c gl.dxe glu.dxe glut.dxe
gcc -o dmesadxe.o dmesadxe.c
gcc -o OUT.exe dmesadxe.o IN.c -liglut -liglu -ligl -ldl
Q) What is that `dxe2res.exe' thing?
A) That is an utility that generates the export file for a given set of
modules. If you can't find it in the DXE2 package, you must be looking at
the wrong archive :)
3. Using Mesa for DJGPP
Q) Does this build work in Win9x?
A) Yes.
Q) Does it work under NT (W2k, XP) core?
A) Uh... probably not!
Q) I made a simple application and it does nothing. It exits right away. Not
even a blank screen.
A) The current version supports only RGB[A] modes, for it made no sense to
me to endorse color-index (aka palette) modes.
A) Single-buffered is not allowed at all. Until I can find a way to use
*REAL* hardware acceleration, it won't get implemented.
A) Another weird "feature" is that buffer width must be multiple of 4 (I'm a
lazy programmer and I found that the easiest way to keep buffer handling
at peak performance ;-).
Q) My demo doesn't display text. I know I used the glut font routines!
A) Then you probably use GLUT as a DXE. Well, there is no direct access to
variables due to the way DXE works. Read the documentation. The author of
GLUT took this into account for _WIN32 DLL's only; I don't want to modify
his headers. The only workaround is to link GLUT the old way :-(
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much
better...
A) Is that a question? If you have a Voodoo3/Banshee card, you're lucky. The
Glide port is on my web page. If you haven't, sorry; everything is done
in software. Suggestions?
Q) I have a super/mega/ultra monitor and all you can do is 60Hz? My eyes are
leaking from the orbits...
A) If you were compiling for Glide, see Glide info. If not, be aware that
refresh rate control works only for VESA 3.0. The environment variable
DMESA_REFRESH sets the default screen refresh. For example:
set DMESA_REFRESH=75
@@ -85,7 +154,7 @@ Well, this "skeletal" GLUT implementation is not mine. Thanks should go to
Bernhard Tschirren, Mark Kilgard, Brian Paul and probably others (or probably
not ;-). I only changed it to be self-standing (Allegro-free). The keyboard,
mouse and timer drivers were inspired from an old project of mine (D3Xl) and
fixed with some Allegro "infusions"; I deeply thank to Shawn Hargreaves et co.
fixed with many Allegro "infusions"; I deeply thank to Shawn Hargreaves et co.
My keyboard driver used only scancodes, but since GLUT requires ASCII values
for keys, I borrowed the translation tables (and maybe more) from Allegro.
@@ -122,6 +191,14 @@ 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
Contact:

View File

@@ -1,12 +1,17 @@
File: docs/README.WIN32
Last updated: Nov 29, 2001 - Karl Schultz - kschultz@users.sourceforge.net
Last updated: Nov 08, 2002 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start
Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
This is important because the current makefiles in MesaLib assume that
the directories in MesaDemos are present.
If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory
of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for
an optimized build.
an optimized build. Note that you may have to run ...VC98/BIN/VCVARS32.BAT
to set up the appropriate compiler environment variables.
Details and Notes
@@ -15,11 +20,16 @@ Details and Notes
si-glu MesaGLU.dll, MesaGLU.lib
src-glut glut32.dll, glut32.lib
demos a handful of demo executables.
book more examples
samples more examples
- After building, you can copy the above DLL files to a place in your PATH
or to the demos directory if you just want to give the demos a try.
The DLL and LIB files are copied to the ./lib directory. The makefile
creates this directory if it does not already exist.
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).
For example, you can copy the DLL files to the demos directory if you
just want to run the demos. The build process places the DLL and LIB files
in the ./lib directory. The makefile creates this directory if it does
not already exist.
- The make targets 'clean' and 'clobber' will remove objects and libraries.
But the files in ./lib are never cleaned.

View File

@@ -1,5 +1,5 @@
Mesa 4.0.2 Unix/X11 Information
Mesa Unix/X11 Information
@@ -18,21 +18,15 @@ There are two ways to compile Mesa on Unix/X11 systems:
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.
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.
The top-level makefile will execute the makefiles in a number of sub-
directories. When finished, the Mesa libraries will be in the Mesa-4.0.2/lib/
directory. A few GLUT demos in the demos/ directory should be ready to run.
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 have compilation problems you should try to fix them and return the
patches to the author.
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:
@@ -323,4 +317,4 @@ Summary of X-related environment variables:
----------------------------------------------------------------------
$Id: README.X11,v 3.8.2.2 2002/02/12 03:13:42 brianp Exp $
$Id: README.X11,v 3.9 2002/10/29 23:42:48 brianp Exp $

View File

@@ -19,4 +19,4 @@ see the VERSIONS file.
----------------------------------------------------------------------
$Id: RELNOTES-3.4,v 1.1.4.1 2002/03/23 02:36:52 brianp Exp $
$Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $

View File

@@ -19,4 +19,4 @@ 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.1.2.2 2001/12/17 19:43:38 brianp Exp $
$Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $

View File

@@ -1,7 +1,7 @@
Mesa 4.0.2 release notes
April 2, 2002
March 25, 2002
PLEASE READ!!!!
@@ -47,4 +47,4 @@ D3D needs updating
----------------------------------------------------------------------
$Id: RELNOTES-4.0.2,v 1.1.2.3 2002/04/01 16:54:11 brianp Exp $
$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 $

View File

@@ -1,9 +1,9 @@
Mesa 4.1 release notes
<month>, <day>, <year>
October 29, 2002
PLEASE READ!!!!
PLEASE READ!!!!
@@ -11,18 +11,298 @@ Introduction
------------
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 4.1) designate new developmental releases.
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
------------------------
<to be determined>
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.1 2001/10/22 22:57:23 brianp Exp $
$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 $

View File

@@ -1,4 +1,4 @@
$Id: VERSIONS,v 1.73.2.22 2002/04/01 16:54:11 brianp Exp $
$Id: VERSIONS,v 1.118 2002/11/13 15:33:50 brianp Exp $
Mesa Version History
@@ -898,7 +898,8 @@ Mesa Version History
- 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
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)
@@ -926,6 +927,7 @@ Mesa Version History
- 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
@@ -951,3 +953,130 @@ Mesa Version History
- 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

90
docs/index.html Normal file
View File

@@ -0,0 +1,90 @@
<HTML>
<HEAD>
<TITLE>Index to Mesa Documentation</TITLE>
</HEAD>
<BODY>
<H1>Main Documentation</H1>
<UL>
<LI><A HREF="README">README</A> - general, top-level documentation
<LI><A HREF="INSTALL">INSTALL</A> - compilation/installation instructions
<LI><A HREF="VERSIONS">VERSIONS</A> - version history / change log
<LI><A HREF="COPYRIGHT">COPYRIGHT</A> - copyright and license information
<LI><A HREF="COPYING">COPYING</A> - some parts of Mesa are GPL'd
<LI><A HREF="CONFORM">CONFORM</A>
- results of running the OpenGL conformance tests
<LI><A HREF="DEVINFO">DEVINFO</A> - information for Mesa developers
<LI><A HREF="http://www.mesa3d.org/">www.mesa3d.org</A> - Mesa website
</UL>
<H1>Platform and Driver Information</H1>
<P>
Be warned, some of these files 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>
<H1>Release Notes</H1>
<UL>
<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>
<H1>Mesa Extension Specifications</H1>
<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>
<H1>Source Code Documentation</H1>
<P>
<A HREF="http://www.doxygen.org">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>
<A HREF="../doxy/core/index.html">Source documentation</A>
</P>
</BODY>
</HTML>

3579
docs/subset.html Normal file

File diff suppressed because it is too large Load Diff

12
doxygen/.cvsignore Normal file
View File

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

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.

1054
doxygen/agpgart.doxy Normal file

File diff suppressed because it is too large Load Diff

183
doxygen/array_cache.doxy Normal file
View File

@@ -0,0 +1,183 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa array_cache"
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
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 = NO
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 =
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/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 source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = array_cache
HTML_HEADER = header.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_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
ALLEXTERNALS = NO
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
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 =

182
doxygen/core.doxy Normal file
View File

@@ -0,0 +1,182 @@
# 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 =
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/
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 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
HTML_HEADER = header.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 = 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
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 =

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/
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">Mesa 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>

View File

@@ -0,0 +1,9 @@
<html><head><title>Mesa Source Code Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body><center>
<a href="../core_subset/index.html">Mesa Core</a>&nbsp;
<a href="../math_subset/index.html">math</a>&nbsp;
<a href="../miniglx/index.html">MiniGLX</a>&nbsp;
<a href="../radeon_subset/index.html">radeon_subset</a>&nbsp;
</center>

47
doxygen/makefile Normal file
View File

@@ -0,0 +1,47 @@
default: subset
full:
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
doxygen core.doxy
subset:
doxygen core_subset.doxy
doxygen math_subset.doxy
doxygen miniglx.doxy
echo "Building again, to resolve tags"
doxygen core_subset.doxy
doxygen math_subset.doxy
doxygen miniglx.doxy
doxygen radeon_subset.doxy
doxygen radeonfb.doxy
doxygen radeondrm.doxy
doxygen agpgart.doxy
clean:
rm -rf \
array_cache \
core \
core_subset \
math \
math_subset \
swrast \
swrast_setup \
tnl_dd \
tnl \
miniglx \
radeon_subset
rm -rf *.tag

183
doxygen/math.doxy Normal file
View File

@@ -0,0 +1,183 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa math module"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = .
OUTPUT_LANGUAGE = English
EXTRACT_ALL = YES
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 = NO
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 =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/math/
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 source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
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 = math
HTML_HEADER = header.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_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = tnl_dd.tag=../tnl_dd \
core.tag=../core \
swrast.tag=../swrast \
swrast_setup.tag=../swrast_setup \
tnl.tag=../tnl \
array_cache.tag=../array_cache
GENERATE_TAGFILE = math.tag
ALLEXTERNALS = NO
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
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 =

177
doxygen/math_subset.doxy Normal file
View File

@@ -0,0 +1,177 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa math module"
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 = NO
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 =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/math/
FILE_PATTERNS = m_matrix.[ch]
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 = NO
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 = math_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_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = core_subset.tag=../core_subset
GENERATE_TAGFILE = math_subset.tag
ALLEXTERNALS = NO
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
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 =

179
doxygen/miniglx.doxy Normal file
View File

@@ -0,0 +1,179 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "MiniGLX"
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 = NO
SHOW_INCLUDE_FILES = NO
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 =
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/miniglx/ ../include/GL/miniglx.h
FILE_PATTERNS = *.h *.c
RECURSIVE = NO
EXCLUDE = ../src/miniglx/glapi.c
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 = NO
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 = miniglx
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 = \
core_subset.tag=../core_subset \
math_subset.tag=../math_subset
GENERATE_TAGFILE = miniglx.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 =

203
doxygen/radeon_subset.doxy Normal file
View File

@@ -0,0 +1,203 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Radeon Subset Driver"
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 = NO
SHOW_INCLUDE_FILES = NO
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 =
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/drv/common/mm.c \
../src/drv/common/mm.h \
../src/drv/radeon/radeon_context.c \
../src/drv/radeon/radeon_context.h \
../src/drv/radeon/radeon_ioctl.c \
../src/drv/radeon/radeon_ioctl.h \
../src/drv/radeon/radeon_lock.c \
../src/drv/radeon/radeon_lock.h \
../src/drv/radeon/radeon_screen.c \
../src/drv/radeon/radeon_screen.h \
../src/drv/radeon/radeon_state.c \
../src/drv/radeon/radeon_state.h \
../src/drv/radeon/radeon_state_init.c \
../src/drv/radeon/radeon_subset.h \
../src/drv/radeon/radeon_subset_bitmap.c \
../src/drv/radeon/radeon_subset_readpix.c \
../src/drv/radeon/radeon_subset_select.c \
../src/drv/radeon/radeon_subset_tex.c \
../src/drv/radeon/radeon_subset_vtx.c \
../src/drv/radeon/radeon_tcl.h \
../src/drv/radeon/radeon_tex.h \
../src/drv/radeon/radeon_vtxfmt.h \
../src/drv/radeon/server
FILE_PATTERNS = *.h *.c
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 = NO
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 = radeon_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 = \
core_subset.tag=../core_subset \
math_subset.tag=../math_subset \
miniglx.tag=../miniglx
GENERATE_TAGFILE = radeon_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 =

1058
doxygen/radeondrm.doxy Normal file

File diff suppressed because it is too large Load Diff

1051
doxygen/radeonfb.doxy Normal file

File diff suppressed because it is too large Load Diff

182
doxygen/swrast.doxy Normal file
View File

@@ -0,0 +1,182 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa Software Rasterization (swrast)"
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
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 =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
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/swrast/
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 source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = swrast
HTML_HEADER = header.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 = core.tag=../core \
math.tag=../math \
tnl_dd.tag=../tnl_dd \
swrast_setup.tag=../swrast_setup \
tnl.tag=../tnl \
array_cache.tag=array_cache
GENERATE_TAGFILE = swrast.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 =

183
doxygen/swrast_setup.doxy Normal file
View File

@@ -0,0 +1,183 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa swrast_setup"
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
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 = NO
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 =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/swrast_setup/
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 source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = swrast_setup
HTML_HEADER = header.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_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = tnl_dd.tag=../tnl_dd \
core.tag=../core \
math.tag=../math \
swrast.tag=../swrast \
tnl.tag=../tnl \
array_cache.tag=../array_cache
GENERATE_TAGFILE = swrast_setup.tag
ALLEXTERNALS = YES
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
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 =

183
doxygen/tnl.doxy Normal file
View File

@@ -0,0 +1,183 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa Transform and Lighting (tnl)"
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
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 = NO
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 =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/tnl/
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 source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = tnl
HTML_HEADER = header.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_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = tnl_dd.tag=../tnl \
core.tag=../core \
math.tag=../math \
swrast.tag=../swrast \
swrast_setup.tag=swrast_setup \
array_cache.tag=array_cache
GENERATE_TAGFILE = tnl.tag
ALLEXTERNALS = YES
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
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 =

182
doxygen/tnl_dd.doxy Normal file
View File

@@ -0,0 +1,182 @@
# Doxyfile 0.1
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Mesa tnl_dd"
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
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 = NO
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 = NO
SORT_MEMBER_DOCS = NO
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
ALIASES =
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../src/tnl_dd/
FILE_PATTERNS = *.c *.h
RECURSIVE = YES
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 = NO
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = tnl_dd
HTML_HEADER = header.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_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES = core.tag=../core \
math.tag=../math \
swrast.tag=../swrast \
swrast_setup.tag=../swrast_setup \
tnl.tag=../tnl \
array_cache.tag=array_cache
GENERATE_TAGFILE = tnl_dd.tag
ALLEXTERNALS = NO
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
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 =

View File

@@ -1,8 +1,8 @@
/*
* Mesa 3-D graphics library
* Version: 4.0
* Version: 5.0
*
* Copyright (C) 1999 Brian Paul All Rights Reserved.
* Copyright (C) 1999-2002 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"),
@@ -23,7 +23,7 @@
*/
/*
* DOS/DJGPP device driver v1.0 for Mesa 4.0
* DOS/DJGPP device driver v1.2 for Mesa 4.1
*
* Copyright (C) 2002 - Borca Daniel
* Email : dborca@yahoo.com
@@ -31,10 +31,10 @@
*/
#ifndef DMESA_included
#define DMESA_included
#ifndef DMESA_H_included
#define DMESA_H_included
#define DMESA_MAJOR_VERSION 4
#define DMESA_MAJOR_VERSION 5
#define DMESA_MINOR_VERSION 0
typedef struct dmesa_context *DMesaContext;
@@ -45,8 +45,10 @@ typedef struct dmesa_buffer *DMesaBuffer;
extern "C" {
#endif
DMesaVisual DMesaCreateVisual (GLint width, GLint height, GLint colDepth,
GLboolean dbFlag, GLint depthSize,
DMesaVisual DMesaCreateVisual (GLint width, GLint height,
GLint colDepth,
GLboolean dbFlag,
GLint depthSize,
GLint stencilSize,
GLint accumSize);

View File

@@ -1,10 +1,11 @@
/* $Id: ggimesa.h,v 1.3 2000/02/09 19:03:28 brianp Exp $ */
/* $Id: ggimesa.h,v 1.4 2002/06/10 15:16:44 brianp Exp $ */
/*
* Mesa 3-D graphics library
* Version: 3.3
* Mesa 3-D graphics library GGI bindings (GGIGL [giggle])
* Version: 4.0
* Copyright (C) 1995-2000 Brian Paul
* Copyright (C) 1998 Uwe Maurer
* Copyrigth (C) 2001 Filip Spacek
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -25,34 +26,59 @@
#ifndef GGIMESA_H
#define GGIMESA_H
#define GGIMESA_MAJOR_VERSION 3
#define GGIMESA_MINOR_VERSION 3
#define GGIMESA_MAJOR_VERSION 4
#define GGIMESA_MINOR_VERSION 0
#ifdef __cplusplus
extern "C" {
#endif
#include "GL/gl.h"
typedef struct ggi_mesa_context *GGIMesaContext;
#include <ggi/ggi.h>
#include "GL/gl.h"
typedef struct ggi_mesa_context *ggi_mesa_context_t;
extern GGIMesaContext GGIMesaCreateContext(void);
/*
* Initialize Mesa GGI extension
*/
int ggiMesaInit(void);
/*
* Clean up Mesa GGI exension
*/
int ggiMesaExit(void);
extern void GGIMesaDestroyContext(GGIMesaContext ctx);
/*
* Attach Mesa GGI extension to the visual 'vis'
*/
int ggiMesaAttach(ggi_visual_t vis);
/*
* Detach Mesa GGI extension from the visual 'vis'
*/
int ggiMesaDetach(ggi_visual_t vis);
extern void GGIMesaMakeCurrent(GGIMesaContext ctx);
int ggiMesaExtendVisual(ggi_visual_t vis, GLboolean alpha_flag,
GLboolean stereo_flag, GLint depth_size,
GLint stencil_size, GLint accum_red_size,
GLint accum_green_size, GLint accum_blue_size,
GLint accum_alpha_size, GLint num_samples);
extern GGIMesaContext GGIMesaGetCurrentContext(void);
/*
* Create a new context capable of displaying on the visual vis.
*/
ggi_mesa_context_t ggiMesaCreateContext(ggi_visual_t vis);
/*
* Destroy the context 'ctx'
*/
void ggiMesaDestroyContext(ggi_mesa_context_t ctx);
extern void GGIMesaSwapBuffers(void);
/*
* Make context 'ctx' the current context and bind it to visual 'vis'.
* Note that the context must have been created with respect to that visual.
*/
void ggiMesaMakeCurrent(ggi_mesa_context_t ctx, ggi_visual_t vis);
void ggiMesaSwapBuffers(void);
extern int GGIMesaSetVisual(GGIMesaContext ctx, ggi_visual_t vis,
GLboolean rgb_flag, GLboolean db_flag);
#ifdef __cplusplus
}

View File

@@ -1,10 +1,9 @@
/* $Id: gl.h,v 1.59.2.2 2002/03/20 22:06:57 brianp Exp $ */
/*
* Mesa 3-D graphics library
* Version: 4.0.2
* Version: 5.0.1
*
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
* 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"),
@@ -63,6 +62,23 @@
# define GLAPIENTRY
#endif /* WIN32 / CYGWIN bracket */
#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
# define PRAGMA_EXPORT_SUPPORTED 1
#endif
/*
* WINDOWS: Include windows.h here to define APIENTRY.
* It is also useful when applications include this file by
* including only glut.h, since glut.h depends on windows.h.
* Applications needing to include windows.h with parms other
* than "WIN32_LEAN_AND_MEAN" may include windows.h before
* glut.h or gl.h.
*/
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
#define WIN32_LEAN_AND_MEAN 1
#include <windows.h>
#endif
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
#include <gl/mesa_wgl.h>
#endif
@@ -70,6 +86,19 @@
#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#ifndef APIENTRY
#define APIENTRY GLAPIENTRY
#endif
#ifdef CENTERLINE_CLPP
#define signed
#endif
#if defined(PRAGMA_EXPORT_SUPPORTED)
#pragma export on
#endif
/*
* End system-specific stuff.
**********************************************************************/
@@ -89,13 +118,8 @@ extern "C" {
/*
*
* Datatypes
*
*/
#ifdef CENTERLINE_CLPP
#define signed
#endif
typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
@@ -115,9 +139,7 @@ typedef double GLclampd; /* double precision float in [0,1] */
/*
*
* Constants
*
*/
/* Boolean values */
@@ -333,10 +355,6 @@ typedef double GLclampd; /* double precision float in [0,1] */
#define GL_DST_COLOR 0x0306
#define GL_ONE_MINUS_DST_COLOR 0x0307
#define GL_SRC_ALPHA_SATURATE 0x0308
#define GL_CONSTANT_COLOR 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
#define GL_CONSTANT_ALPHA 0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
/* Render Mode */
#define GL_FEEDBACK 0x1C01
@@ -504,8 +522,6 @@ typedef double GLclampd; /* double precision float in [0,1] */
/* Evaluators */
#define GL_AUTO_NORMAL 0x0D80
#define GL_MAP1_COLOR_4 0x0D90
#define GL_MAP1_GRID_DOMAIN 0x0DD0
#define GL_MAP1_GRID_SEGMENTS 0x0DD1
#define GL_MAP1_INDEX 0x0D91
#define GL_MAP1_NORMAL 0x0D92
#define GL_MAP1_TEXTURE_COORD_1 0x0D93
@@ -515,8 +531,6 @@ typedef double GLclampd; /* double precision float in [0,1] */
#define GL_MAP1_VERTEX_3 0x0D97
#define GL_MAP1_VERTEX_4 0x0D98
#define GL_MAP2_COLOR_4 0x0DB0
#define GL_MAP2_GRID_DOMAIN 0x0DD2
#define GL_MAP2_GRID_SEGMENTS 0x0DD3
#define GL_MAP2_INDEX 0x0DB1
#define GL_MAP2_NORMAL 0x0DB2
#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
@@ -525,6 +539,10 @@ typedef double GLclampd; /* double precision float in [0,1] */
#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
#define GL_MAP2_VERTEX_3 0x0DB7
#define GL_MAP2_VERTEX_4 0x0DB8
#define GL_MAP1_GRID_DOMAIN 0x0DD0
#define GL_MAP1_GRID_SEGMENTS 0x0DD1
#define GL_MAP2_GRID_DOMAIN 0x0DD2
#define GL_MAP2_GRID_SEGMENTS 0x0DD3
#define GL_COEFF 0x0A00
#define GL_DOMAIN 0x0A02
#define GL_ORDER 0x0A01
@@ -724,243 +742,6 @@ typedef double GLclampd; /* double precision float in [0,1] */
#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
/* OpenGL 1.2 */
#define GL_RESCALE_NORMAL 0x803A
#define GL_CLAMP_TO_EDGE 0x812F
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#define GL_MAX_ELEMENTS_INDICES 0x80E9
#define GL_BGR 0x80E0
#define GL_BGRA 0x80E1
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#define GL_SINGLE_COLOR 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#define GL_TEXTURE_MIN_LOD 0x813A
#define GL_TEXTURE_MAX_LOD 0x813B
#define GL_TEXTURE_BASE_LEVEL 0x813C
#define GL_TEXTURE_MAX_LEVEL 0x813D
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
#define GL_PACK_SKIP_IMAGES 0x806B
#define GL_PACK_IMAGE_HEIGHT 0x806C
#define GL_UNPACK_SKIP_IMAGES 0x806D
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
#define GL_TEXTURE_3D 0x806F
#define GL_PROXY_TEXTURE_3D 0x8070
#define GL_TEXTURE_DEPTH 0x8071
#define GL_TEXTURE_WRAP_R 0x8072
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
#define GL_TEXTURE_BINDING_3D 0x806A
/*
* OpenGL 1.2 imaging subset
*/
/* GL_EXT_color_table */
#define GL_COLOR_TABLE 0x80D0
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
#define GL_PROXY_COLOR_TABLE 0x80D3
#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
#define GL_COLOR_TABLE_SCALE 0x80D6
#define GL_COLOR_TABLE_BIAS 0x80D7
#define GL_COLOR_TABLE_FORMAT 0x80D8
#define GL_COLOR_TABLE_WIDTH 0x80D9
#define GL_COLOR_TABLE_RED_SIZE 0x80DA
#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
/* GL_EXT_convolution and GL_HP_convolution_border_modes */
#define GL_CONVOLUTION_1D 0x8010
#define GL_CONVOLUTION_2D 0x8011
#define GL_SEPARABLE_2D 0x8012
#define GL_CONVOLUTION_BORDER_MODE 0x8013
#define GL_CONVOLUTION_FILTER_SCALE 0x8014
#define GL_CONVOLUTION_FILTER_BIAS 0x8015
#define GL_REDUCE 0x8016
#define GL_CONVOLUTION_FORMAT 0x8017
#define GL_CONVOLUTION_WIDTH 0x8018
#define GL_CONVOLUTION_HEIGHT 0x8019
#define GL_MAX_CONVOLUTION_WIDTH 0x801A
#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
#define GL_CONSTANT_BORDER 0x8151
#define GL_REPLICATE_BORDER 0x8153
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
/* GL_SGI_color_matrix */
#define GL_COLOR_MATRIX 0x80B1
#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
/* GL_EXT_histogram */
#define GL_HISTOGRAM 0x8024
#define GL_PROXY_HISTOGRAM 0x8025
#define GL_HISTOGRAM_WIDTH 0x8026
#define GL_HISTOGRAM_FORMAT 0x8027
#define GL_HISTOGRAM_RED_SIZE 0x8028
#define GL_HISTOGRAM_GREEN_SIZE 0x8029
#define GL_HISTOGRAM_BLUE_SIZE 0x802A
#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
#define GL_HISTOGRAM_SINK 0x802D
#define GL_MINMAX 0x802E
#define GL_MINMAX_FORMAT 0x802F
#define GL_MINMAX_SINK 0x8030
#define GL_TABLE_TOO_LARGE 0x8031
/* GL_EXT_blend_color, GL_EXT_blend_minmax */
#define GL_BLEND_EQUATION 0x8009
#define GL_MIN 0x8007
#define GL_MAX 0x8008
#define GL_FUNC_ADD 0x8006
#define GL_FUNC_SUBTRACT 0x800A
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
#define GL_BLEND_COLOR 0x8005
/* OpenGL 1.3 */
/* multitexture */
#define GL_TEXTURE0 0x84C0
#define GL_TEXTURE1 0x84C1
#define GL_TEXTURE2 0x84C2
#define GL_TEXTURE3 0x84C3
#define GL_TEXTURE4 0x84C4
#define GL_TEXTURE5 0x84C5
#define GL_TEXTURE6 0x84C6
#define GL_TEXTURE7 0x84C7
#define GL_TEXTURE8 0x84C8
#define GL_TEXTURE9 0x84C9
#define GL_TEXTURE10 0x84CA
#define GL_TEXTURE11 0x84CB
#define GL_TEXTURE12 0x84CC
#define GL_TEXTURE13 0x84CD
#define GL_TEXTURE14 0x84CE
#define GL_TEXTURE15 0x84CF
#define GL_TEXTURE16 0x84D0
#define GL_TEXTURE17 0x84D1
#define GL_TEXTURE18 0x84D2
#define GL_TEXTURE19 0x84D3
#define GL_TEXTURE20 0x84D4
#define GL_TEXTURE21 0x84D5
#define GL_TEXTURE22 0x84D6
#define GL_TEXTURE23 0x84D7
#define GL_TEXTURE24 0x84D8
#define GL_TEXTURE25 0x84D9
#define GL_TEXTURE26 0x84DA
#define GL_TEXTURE27 0x84DB
#define GL_TEXTURE28 0x84DC
#define GL_TEXTURE29 0x84DD
#define GL_TEXTURE30 0x84DE
#define GL_TEXTURE31 0x84DF
#define GL_ACTIVE_TEXTURE 0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
#define GL_MAX_TEXTURE_UNITS 0x84E2
/* texture_cube_map */
#define GL_NORMAL_MAP 0x8511
#define GL_REFLECTION_MAP 0x8512
#define GL_TEXTURE_CUBE_MAP 0x8513
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
/* texture_compression */
#define GL_COMPRESSED_ALPHA 0x84E9
#define GL_COMPRESSED_LUMINANCE 0x84EA
#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
#define GL_COMPRESSED_INTENSITY 0x84EC
#define GL_COMPRESSED_RGB 0x84ED
#define GL_COMPRESSED_RGBA 0x84EE
#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
#define GL_TEXTURE_COMPRESSED 0x86A1
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
/* multisample */
#define GL_MULTISAMPLE 0x809D
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
#define GL_SAMPLE_COVERAGE 0x80A0
#define GL_SAMPLE_BUFFERS 0x80A8
#define GL_SAMPLES 0x80A9
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
#define GL_MULTISAMPLE_BIT 0x20000000
/* transpose_matrix */
#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
/* texture_env_combine */
#define GL_COMBINE 0x8570
#define GL_COMBINE_RGB 0x8571
#define GL_COMBINE_ALPHA 0x8572
#define GL_SOURCE0_RGB 0x8580
#define GL_SOURCE1_RGB 0x8581
#define GL_SOURCE2_RGB 0x8582
#define GL_SOURCE0_ALPHA 0x8588
#define GL_SOURCE1_ALPHA 0x8589
#define GL_SOURCE2_ALPHA 0x858A
#define GL_OPERAND0_RGB 0x8590
#define GL_OPERAND1_RGB 0x8591
#define GL_OPERAND2_RGB 0x8592
#define GL_OPERAND0_ALPHA 0x8598
#define GL_OPERAND1_ALPHA 0x8599
#define GL_OPERAND2_ALPHA 0x859A
#define GL_RGB_SCALE 0x8573
#define GL_ADD_SIGNED 0x8574
#define GL_INTERPOLATE 0x8575
#define GL_SUBTRACT 0x84E7
#define GL_CONSTANT 0x8576
#define GL_PRIMARY_COLOR 0x8577
#define GL_PREVIOUS 0x8578
/* texture_env_dot3 */
#define GL_DOT3_RGB 0x86AE
#define GL_DOT3_RGBA 0x86AF
/* texture_border_clamp */
#define GL_CLAMP_TO_BORDER 0x812D
#if defined(__BEOS__) || defined(__QUICKDRAW__)
#pragma export on
#endif
/*
* Miscellaneous
@@ -1058,7 +839,6 @@ GLAPI void GLAPIENTRY glFlush( void );
GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
/*
* Depth Buffer
*/
@@ -1081,7 +861,6 @@ GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GL
GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
/*
* Transformation
*/
@@ -1123,7 +902,6 @@ GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
/*
* Display Lists
*/
@@ -1146,7 +924,6 @@ GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
GLAPI void GLAPIENTRY glListBase( GLuint base );
/*
* Drawing Functions
*/
@@ -1342,7 +1119,6 @@ GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
/*
* Vertex Arrays (1.1)
*/
@@ -1376,7 +1152,6 @@ GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
const GLvoid *pointer );
/*
* Lighting
*/
@@ -1411,8 +1186,6 @@ GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params
GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
/*
* Raster functions
*/
@@ -1454,8 +1227,6 @@ GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
GLsizei width, GLsizei height,
GLenum type );
/*
* Stenciling
*/
@@ -1533,7 +1304,6 @@ GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
GLvoid *pixels );
/* 1.1 functions */
GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
@@ -1590,8 +1360,6 @@ GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
GLsizei width, GLsizei height );
/*
* Evaluators
*/
@@ -1645,7 +1413,6 @@ GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
/*
* Fog
*/
@@ -1659,7 +1426,6 @@ GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
/*
* Selection and Feedback
*/
@@ -1680,12 +1446,57 @@ GLAPI void GLAPIENTRY glPopName( void );
/* 1.2 functions */
/*
* OpenGL 1.2
*/
#define GL_RESCALE_NORMAL 0x803A
#define GL_CLAMP_TO_EDGE 0x812F
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#define GL_MAX_ELEMENTS_INDICES 0x80E9
#define GL_BGR 0x80E0
#define GL_BGRA 0x80E1
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#define GL_SINGLE_COLOR 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#define GL_TEXTURE_MIN_LOD 0x813A
#define GL_TEXTURE_MAX_LOD 0x813B
#define GL_TEXTURE_BASE_LEVEL 0x813C
#define GL_TEXTURE_MAX_LEVEL 0x813D
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
#define GL_PACK_SKIP_IMAGES 0x806B
#define GL_PACK_IMAGE_HEIGHT 0x806C
#define GL_UNPACK_SKIP_IMAGES 0x806D
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
#define GL_TEXTURE_3D 0x806F
#define GL_PROXY_TEXTURE_3D 0x8070
#define GL_TEXTURE_DEPTH 0x8071
#define GL_TEXTURE_WRAP_R 0x8072
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
#define GL_TEXTURE_BINDING_3D 0x806A
GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
GLenum internalFormat,
GLint internalFormat,
GLsizei width, GLsizei height,
GLsizei depth, GLint border,
GLenum format, GLenum type,
@@ -1704,8 +1515,92 @@ GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
GLint y, GLsizei width,
GLsizei height );
typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
typedef void (APIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
/*
* GL_ARB_imaging
*/
#define GL_CONSTANT_COLOR 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
#define GL_CONSTANT_ALPHA 0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
#define GL_COLOR_TABLE 0x80D0
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
#define GL_PROXY_COLOR_TABLE 0x80D3
#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
#define GL_COLOR_TABLE_SCALE 0x80D6
#define GL_COLOR_TABLE_BIAS 0x80D7
#define GL_COLOR_TABLE_FORMAT 0x80D8
#define GL_COLOR_TABLE_WIDTH 0x80D9
#define GL_COLOR_TABLE_RED_SIZE 0x80DA
#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
#define GL_CONVOLUTION_1D 0x8010
#define GL_CONVOLUTION_2D 0x8011
#define GL_SEPARABLE_2D 0x8012
#define GL_CONVOLUTION_BORDER_MODE 0x8013
#define GL_CONVOLUTION_FILTER_SCALE 0x8014
#define GL_CONVOLUTION_FILTER_BIAS 0x8015
#define GL_REDUCE 0x8016
#define GL_CONVOLUTION_FORMAT 0x8017
#define GL_CONVOLUTION_WIDTH 0x8018
#define GL_CONVOLUTION_HEIGHT 0x8019
#define GL_MAX_CONVOLUTION_WIDTH 0x801A
#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
#define GL_CONSTANT_BORDER 0x8151
#define GL_REPLICATE_BORDER 0x8153
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
#define GL_COLOR_MATRIX 0x80B1
#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
#define GL_HISTOGRAM 0x8024
#define GL_PROXY_HISTOGRAM 0x8025
#define GL_HISTOGRAM_WIDTH 0x8026
#define GL_HISTOGRAM_FORMAT 0x8027
#define GL_HISTOGRAM_RED_SIZE 0x8028
#define GL_HISTOGRAM_GREEN_SIZE 0x8029
#define GL_HISTOGRAM_BLUE_SIZE 0x802A
#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
#define GL_HISTOGRAM_SINK 0x802D
#define GL_MINMAX 0x802E
#define GL_MINMAX_FORMAT 0x802F
#define GL_MINMAX_SINK 0x8030
#define GL_TABLE_TOO_LARGE 0x8031
#define GL_BLEND_EQUATION 0x8009
#define GL_MIN 0x8007
#define GL_MAX 0x8008
#define GL_FUNC_ADD 0x8006
#define GL_FUNC_SUBTRACT 0x800A
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
#define GL_BLEND_COLOR 0x8005
/* 1.2 imaging extension functions */
GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat,
GLsizei width, GLenum format,
@@ -1815,9 +1710,151 @@ GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
typedef void (APIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
typedef void (APIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
typedef void (APIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
typedef void (APIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
typedef void (APIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (APIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
typedef void (APIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
typedef void (APIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (APIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
typedef void (APIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
typedef void (APIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (APIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (APIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
typedef void (APIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
typedef void (APIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target);
typedef void (APIENTRY * PFNGLRESETMINMAXPROC) (GLenum target);
/* 1.3 functions */
/*
* OpenGL 1.3
*/
/* multitexture */
#define GL_TEXTURE0 0x84C0
#define GL_TEXTURE1 0x84C1
#define GL_TEXTURE2 0x84C2
#define GL_TEXTURE3 0x84C3
#define GL_TEXTURE4 0x84C4
#define GL_TEXTURE5 0x84C5
#define GL_TEXTURE6 0x84C6
#define GL_TEXTURE7 0x84C7
#define GL_TEXTURE8 0x84C8
#define GL_TEXTURE9 0x84C9
#define GL_TEXTURE10 0x84CA
#define GL_TEXTURE11 0x84CB
#define GL_TEXTURE12 0x84CC
#define GL_TEXTURE13 0x84CD
#define GL_TEXTURE14 0x84CE
#define GL_TEXTURE15 0x84CF
#define GL_TEXTURE16 0x84D0
#define GL_TEXTURE17 0x84D1
#define GL_TEXTURE18 0x84D2
#define GL_TEXTURE19 0x84D3
#define GL_TEXTURE20 0x84D4
#define GL_TEXTURE21 0x84D5
#define GL_TEXTURE22 0x84D6
#define GL_TEXTURE23 0x84D7
#define GL_TEXTURE24 0x84D8
#define GL_TEXTURE25 0x84D9
#define GL_TEXTURE26 0x84DA
#define GL_TEXTURE27 0x84DB
#define GL_TEXTURE28 0x84DC
#define GL_TEXTURE29 0x84DD
#define GL_TEXTURE30 0x84DE
#define GL_TEXTURE31 0x84DF
#define GL_ACTIVE_TEXTURE 0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
#define GL_MAX_TEXTURE_UNITS 0x84E2
/* texture_cube_map */
#define GL_NORMAL_MAP 0x8511
#define GL_REFLECTION_MAP 0x8512
#define GL_TEXTURE_CUBE_MAP 0x8513
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
/* texture_compression */
#define GL_COMPRESSED_ALPHA 0x84E9
#define GL_COMPRESSED_LUMINANCE 0x84EA
#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
#define GL_COMPRESSED_INTENSITY 0x84EC
#define GL_COMPRESSED_RGB 0x84ED
#define GL_COMPRESSED_RGBA 0x84EE
#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
#define GL_TEXTURE_COMPRESSED 0x86A1
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
/* multisample */
#define GL_MULTISAMPLE 0x809D
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
#define GL_SAMPLE_COVERAGE 0x80A0
#define GL_SAMPLE_BUFFERS 0x80A8
#define GL_SAMPLES 0x80A9
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
#define GL_MULTISAMPLE_BIT 0x20000000
/* transpose_matrix */
#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
/* texture_env_combine */
#define GL_COMBINE 0x8570
#define GL_COMBINE_RGB 0x8571
#define GL_COMBINE_ALPHA 0x8572
#define GL_SOURCE0_RGB 0x8580
#define GL_SOURCE1_RGB 0x8581
#define GL_SOURCE2_RGB 0x8582
#define GL_SOURCE0_ALPHA 0x8588
#define GL_SOURCE1_ALPHA 0x8589
#define GL_SOURCE2_ALPHA 0x858A
#define GL_OPERAND0_RGB 0x8590
#define GL_OPERAND1_RGB 0x8591
#define GL_OPERAND2_RGB 0x8592
#define GL_OPERAND0_ALPHA 0x8598
#define GL_OPERAND1_ALPHA 0x8599
#define GL_OPERAND2_ALPHA 0x859A
#define GL_RGB_SCALE 0x8573
#define GL_ADD_SIGNED 0x8574
#define GL_INTERPOLATE 0x8575
#define GL_SUBTRACT 0x84E7
#define GL_CONSTANT 0x8576
#define GL_PRIMARY_COLOR 0x8577
#define GL_PREVIOUS 0x8578
/* texture_env_dot3 */
#define GL_DOT3_RGB 0x86AE
#define GL_DOT3_RGBA 0x86AF
/* texture_border_clamp */
#define GL_CLAMP_TO_BORDER 0x812D
GLAPI void GLAPIENTRY glActiveTexture( GLenum texture );
@@ -1912,6 +1949,53 @@ GLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
typedef void (APIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
typedef void (APIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
/*
* GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1)
@@ -1990,11 +2074,49 @@ GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
#endif /* GL_ARB_multitexture */
/*
* Define this token if you want "old-style" header file behaviour (extensions
* defined in gl.h). Otherwise, extensions will be included from glext.h.
*/
#if defined(GL_GLEXT_LEGACY)
@@ -2370,8 +2492,6 @@ GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
/*
* 197. GL_MESA_window_pos
*/
@@ -2441,7 +2561,7 @@ GLAPI void GLAPIENTRY glResizeBuffersMESA( void );
/*
* ???. GL_MESA_trace
* XXX this should go into glext.h at some point
* XXX obsolete
*/
#ifndef GL_MESA_trace
#define GL_MESA_trace 1
@@ -2472,7 +2592,7 @@ GLAPI void GLAPIENTRY glTracePointerRangeMESA( const GLvoid* first, const GLvoid
/*
* ???. GL_MESA_packed_depth_stencil
* XXX this will be in glext.h someday
* XXX obsolete
*/
#ifndef GL_MESA_packed_depth_stencil
#define GL_MESA_packed_depth_stencil 1
@@ -2486,21 +2606,57 @@ GLAPI void GLAPIENTRY glTracePointerRangeMESA( const GLvoid* first, const GLvoid
#endif /* GL_MESA_packed_depth_stencil */
/*
* ??. GL_MESA_sprite_point
*/
#ifndef GL_MESA_sprite_point
#define GL_MESA_sprite_point 1
#ifndef GL_MESA_ycbcr_texture
#define GL_MESA_ycbcr_texture 1
#define GL_SPRITE_POINT_MESA 0x8757 /* XXX not finalized! */
#define GL_YCBCR_MESA 0x8757
#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple */
#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple */
#endif /* GL_MESA_texture_ycbcr */
#ifndef GL_MESA_pack_invert
#define GL_MESA_pack_invert 1
#define GL_PACK_INVERT_MESA 0x8758
#endif /* GL_MESA_pack_invert */
#ifndef GL_APPLE_client_storage
#define GL_APPLE_client_storage 1
#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
#endif /* GL_APPLE_client_storage */
#ifndef GL_APPLE_ycbcr_422
#define GL_APPLE_ycbcr_422 1
#define GL_YCBCR_422_APPLE 0x85B9
#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
#endif /* GL_APPLE_ycbcr_422 */
#ifndef GL_ATI_texture_env_combine3
#define GL_ATI_texture_env_combine3 1
#define GL_MODULATE_ADD_ATI 0x8744
#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
#define GL_MODULATE_SUBTRACT_ATI 0x8746
#endif
/**********************************************************************
* Begin system-specific stuff
*/
#if defined(__BEOS__) || defined(__QUICKDRAW__)
#if defined(PRAGMA_EXPORT_SUPPORTED)
#pragma export off
#endif

View File

@@ -1,4 +1,4 @@
#if 0 /* $Id: gl_mangle.h,v 1.7.2.3 2002/01/18 14:55:50 brianp Exp $ */
#if 0 /* $Id: gl_mangle.h,v 1.11 2002/01/18 14:55:40 brianp Exp $ */
# DO NOT EDIT!!! - TO REGENERATE from gl.h, EXECUTE THIS FILE IN KORN SHELL and save the output
# This file is used to create GL function protypes and aliases for the function names

View File

@@ -24,7 +24,7 @@ extern "C" {
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
@@ -49,11 +49,55 @@ extern "C" {
/*************************************************************/
/* Header file version number, required by OpenGL ABI for Linux */
/* glext.h last updated 2002/03/22 */
/* glext.h last updated 2002/08/21 */
/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
#define GL_GLEXT_VERSION 11
#define GL_GLEXT_VERSION 17
#ifndef GL_VERSION_1_2
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#define GL_RESCALE_NORMAL 0x803A
#define GL_TEXTURE_BINDING_3D 0x806A
#define GL_PACK_SKIP_IMAGES 0x806B
#define GL_PACK_IMAGE_HEIGHT 0x806C
#define GL_UNPACK_SKIP_IMAGES 0x806D
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
#define GL_TEXTURE_3D 0x806F
#define GL_PROXY_TEXTURE_3D 0x8070
#define GL_TEXTURE_DEPTH 0x8071
#define GL_TEXTURE_WRAP_R 0x8072
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#define GL_BGR 0x80E0
#define GL_BGRA 0x80E1
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#define GL_MAX_ELEMENTS_INDICES 0x80E9
#define GL_CLAMP_TO_EDGE 0x812F
#define GL_TEXTURE_MIN_LOD 0x813A
#define GL_TEXTURE_MAX_LOD 0x813B
#define GL_TEXTURE_BASE_LEVEL 0x813C
#define GL_TEXTURE_MAX_LEVEL 0x813D
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#define GL_SINGLE_COLOR 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
#endif
#ifndef GL_ARB_imaging
#define GL_CONSTANT_COLOR 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
#define GL_CONSTANT_ALPHA 0x8003
@@ -99,19 +143,6 @@ extern "C" {
#define GL_MINMAX_FORMAT 0x802F
#define GL_MINMAX_SINK 0x8030
#define GL_TABLE_TOO_LARGE 0x8031
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#define GL_RESCALE_NORMAL 0x803A
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#define GL_COLOR_MATRIX 0x80B1
#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
@@ -122,6 +153,7 @@ extern "C" {
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
#define GL_COLOR_TABLE 0x80D0
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
@@ -138,29 +170,9 @@ extern "C" {
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
#define GL_BGR 0x80E0
#define GL_BGRA 0x80E1
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#define GL_MAX_ELEMENTS_INDICES 0x80E9
#define GL_CLAMP_TO_EDGE 0x812F
#define GL_TEXTURE_MIN_LOD 0x813A
#define GL_TEXTURE_MAX_LOD 0x813B
#define GL_TEXTURE_BASE_LEVEL 0x813C
#define GL_TEXTURE_MAX_LEVEL 0x813D
#define GL_IGNORE_BORDER 0x8150
#define GL_CONSTANT_BORDER 0x8151
#define GL_WRAP_BORDER 0x8152
#define GL_REPLICATE_BORDER 0x8153
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#define GL_SINGLE_COLOR 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
#endif
#ifndef GL_VERSION_1_3
@@ -263,6 +275,48 @@ extern "C" {
#define GL_DOT3_RGBA 0x86AF
#endif
#ifndef GL_VERSION_1_4
#define GL_BLEND_DST_RGB 0x80C8
#define GL_BLEND_SRC_RGB 0x80C9
#define GL_BLEND_DST_ALPHA 0x80CA
#define GL_BLEND_SRC_ALPHA 0x80CB
#define GL_POINT_SIZE_MIN 0x8126
#define GL_POINT_SIZE_MAX 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
#define GL_POINT_DISTANCE_ATTENUATION 0x8129
#define GL_GENERATE_MIPMAP 0x8191
#define GL_GENERATE_MIPMAP_HINT 0x8192
#define GL_DEPTH_COMPONENT16 0x81A5
#define GL_DEPTH_COMPONENT24 0x81A6
#define GL_DEPTH_COMPONENT32 0x81A7
#define GL_MIRRORED_REPEAT 0x8370
#define GL_FOG_COORDINATE_SOURCE 0x8450
#define GL_FOG_COORDINATE 0x8451
#define GL_FRAGMENT_DEPTH 0x8452
#define GL_CURRENT_FOG_COORDINATE 0x8453
#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
#define GL_FOG_COORDINATE_ARRAY 0x8457
#define GL_COLOR_SUM 0x8458
#define GL_CURRENT_SECONDARY_COLOR 0x8459
#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
#define GL_SECONDARY_COLOR_ARRAY 0x845E
#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
#define GL_TEXTURE_FILTER_CONTROL 0x8500
#define GL_TEXTURE_LOD_BIAS 0x8501
#define GL_INCR_WRAP 0x8507
#define GL_DECR_WRAP 0x8508
#define GL_TEXTURE_DEPTH_SIZE 0x884A
#define GL_DEPTH_TEXTURE_MODE 0x884B
#define GL_TEXTURE_COMPARE_MODE 0x884C
#define GL_TEXTURE_COMPARE_FUNC 0x884D
#define GL_COMPARE_R_TO_TEXTURE 0x884E
#endif
#ifndef GL_ARB_multitexture
#define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1_ARB 0x84C1
@@ -358,17 +412,9 @@ extern "C" {
#ifndef GL_ARB_point_parameters
#define GL_POINT_SIZE_MIN_ARB 0x8126
#define GL_POINT_SIZE_MIN_EXT 0x8126
#define GL_POINT_SIZE_MIN_SGIS 0x8126
#define GL_POINT_SIZE_MAX_ARB 0x8127
#define GL_POINT_SIZE_MAX_EXT 0x8127
#define GL_POINT_SIZE_MAX_SGIS 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
#define GL_DISTANCE_ATTENUATION_EXT 0x8129
#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
#endif
#ifndef GL_ARB_vertex_blend
@@ -459,9 +505,7 @@ extern "C" {
#ifndef GL_ARB_texture_env_dot3
#define GL_DOT3_RGB_ARB 0x86AE
#define GL_DOT3_RGB_EXT 0x86AE
#define GL_DOT3_RGBA_ARB 0x86AF
#define GL_DOT3_RGBA_EXT 0x86AF
#endif
#ifndef GL_ARB_texture_mirrored_repeat
@@ -489,6 +533,88 @@ extern "C" {
#ifndef GL_ARB_window_pos
#endif
#ifndef GL_ARB_vertex_program
#define GL_VERTEX_PROGRAM_ARB 0x8620
#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
#define GL_COLOR_SUM_ARB 0x8458
#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
#define GL_PROGRAM_LENGTH_ARB 0x8627
#define GL_PROGRAM_FORMAT_ARB 0x8876
#define GL_PROGRAM_BINDING_ARB 0x8677
#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
#define GL_PROGRAM_STRING_ARB 0x8628
#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
#define GL_CURRENT_MATRIX_ARB 0x8641
#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
#define GL_MATRIX0_ARB 0x88C0
#define GL_MATRIX1_ARB 0x88C1
#define GL_MATRIX2_ARB 0x88C2
#define GL_MATRIX3_ARB 0x88C3
#define GL_MATRIX4_ARB 0x88C4
#define GL_MATRIX5_ARB 0x88C5
#define GL_MATRIX6_ARB 0x88C6
#define GL_MATRIX7_ARB 0x88C7
#define GL_MATRIX8_ARB 0x88C8
#define GL_MATRIX9_ARB 0x88C9
#define GL_MATRIX10_ARB 0x88CA
#define GL_MATRIX11_ARB 0x88CB
#define GL_MATRIX12_ARB 0x88CC
#define GL_MATRIX13_ARB 0x88CD
#define GL_MATRIX14_ARB 0x88CE
#define GL_MATRIX15_ARB 0x88CF
#define GL_MATRIX16_ARB 0x88D0
#define GL_MATRIX17_ARB 0x88D1
#define GL_MATRIX18_ARB 0x88D2
#define GL_MATRIX19_ARB 0x88D3
#define GL_MATRIX20_ARB 0x88D4
#define GL_MATRIX21_ARB 0x88D5
#define GL_MATRIX22_ARB 0x88D6
#define GL_MATRIX23_ARB 0x88D7
#define GL_MATRIX24_ARB 0x88D8
#define GL_MATRIX25_ARB 0x88D9
#define GL_MATRIX26_ARB 0x88DA
#define GL_MATRIX27_ARB 0x88DB
#define GL_MATRIX28_ARB 0x88DC
#define GL_MATRIX29_ARB 0x88DD
#define GL_MATRIX30_ARB 0x88DE
#define GL_MATRIX31_ARB 0x88DF
#endif
#ifndef GL_EXT_abgr
#define GL_ABGR_EXT 0x8000
#endif
@@ -554,23 +680,14 @@ extern "C" {
#endif
#ifndef GL_EXT_texture3D
#define GL_PACK_SKIP_IMAGES 0x806B
#define GL_PACK_SKIP_IMAGES_EXT 0x806B
#define GL_PACK_IMAGE_HEIGHT 0x806C
#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
#define GL_UNPACK_SKIP_IMAGES 0x806D
#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
#define GL_TEXTURE_3D 0x806F
#define GL_TEXTURE_3D_EXT 0x806F
#define GL_PROXY_TEXTURE_3D 0x8070
#define GL_PROXY_TEXTURE_3D_EXT 0x8070
#define GL_TEXTURE_DEPTH 0x8071
#define GL_TEXTURE_DEPTH_EXT 0x8071
#define GL_TEXTURE_WRAP_R 0x8072
#define GL_TEXTURE_WRAP_R_EXT 0x8072
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
#endif
@@ -897,6 +1014,20 @@ extern "C" {
#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
#endif
#ifndef GL_EXT_point_parameters
#define GL_POINT_SIZE_MIN_EXT 0x8126
#define GL_POINT_SIZE_MAX_EXT 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
#define GL_DISTANCE_ATTENUATION_EXT 0x8129
#endif
#ifndef GL_SGIS_point_parameters
#define GL_POINT_SIZE_MIN_SGIS 0x8126
#define GL_POINT_SIZE_MAX_SGIS 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
#endif
#ifndef GL_SGIX_instruments
#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
@@ -1688,6 +1819,16 @@ extern "C" {
#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF
#endif
#ifndef GL_EXT_texture_env_dot3
#define GL_DOT3_RGB_EXT 0x8740
#define GL_DOT3_RGBA_EXT 0x8741
#endif
#ifndef GL_ATI_texture_mirror_once
#define GL_MIRROR_CLAMP_ATI 0x8742
#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
#endif
#ifndef GL_NV_fence
#define GL_ALL_COMPLETED_NV 0x84F2
#define GL_FENCE_STATUS_NV 0x84F3
@@ -1741,7 +1882,7 @@ extern "C" {
#define GL_TEXTURE_RECTANGLE_NV 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
#define GL_MAX_TEXTURE_RECTANGLE_SIZE_NV 0x84F8
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
#endif
#ifndef GL_NV_texture_shader
@@ -2274,6 +2415,19 @@ extern "C" {
#ifndef GL_NV_vertex_program1_1
#endif
#ifndef GL_EXT_shadow_funcs
#endif
#ifndef GL_EXT_stencil_two_side
#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
#endif
#ifndef GL_ATI_texture_env_combine3
#define GL_MODULATE_ADD_ATI 0x8744
#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
#define GL_MODULATE_SUBTRACT_ATI 0x8746
#endif
/*************************************************************/
@@ -2457,6 +2611,102 @@ typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint
typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
#endif
#ifndef GL_VERSION_1_4
#define GL_VERSION_1_4 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glBlendFuncSeparate (GLenum, GLenum, GLenum, GLenum);
GLAPI void APIENTRY glFogCoordf (GLfloat);
GLAPI void APIENTRY glFogCoordfv (const GLfloat *);
GLAPI void APIENTRY glFogCoordd (GLdouble);
GLAPI void APIENTRY glFogCoorddv (const GLdouble *);
GLAPI void APIENTRY glFogCoordPointer (GLenum, GLsizei, const GLvoid *);
GLAPI void APIENTRY glMultiDrawArrays (GLenum, GLint *, GLsizei *, GLsizei);
GLAPI void APIENTRY glMultiDrawElements (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
GLAPI void APIENTRY glPointParameterf (GLenum, GLfloat);
GLAPI void APIENTRY glPointParameterfv (GLenum, const GLfloat *);
GLAPI void APIENTRY glPointParameteri (GLenum, GLint);
GLAPI void APIENTRY glPointParameteriv (GLenum, const GLint *);
GLAPI void APIENTRY glSecondaryColor3b (GLbyte, GLbyte, GLbyte);
GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *);
GLAPI void APIENTRY glSecondaryColor3d (GLdouble, GLdouble, GLdouble);
GLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *);
GLAPI void APIENTRY glSecondaryColor3f (GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *);
GLAPI void APIENTRY glSecondaryColor3i (GLint, GLint, GLint);
GLAPI void APIENTRY glSecondaryColor3iv (const GLint *);
GLAPI void APIENTRY glSecondaryColor3s (GLshort, GLshort, GLshort);
GLAPI void APIENTRY glSecondaryColor3sv (const GLshort *);
GLAPI void APIENTRY glSecondaryColor3ub (GLubyte, GLubyte, GLubyte);
GLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *);
GLAPI void APIENTRY glSecondaryColor3ui (GLuint, GLuint, GLuint);
GLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *);
GLAPI void APIENTRY glSecondaryColor3us (GLushort, GLushort, GLushort);
GLAPI void APIENTRY glSecondaryColor3usv (const GLushort *);
GLAPI void APIENTRY glSecondaryColorPointer (GLint, GLenum, GLsizei, const GLvoid *);
GLAPI void APIENTRY glWindowPos2d (GLdouble, GLdouble);
GLAPI void APIENTRY glWindowPos2dv (const GLdouble *);
GLAPI void APIENTRY glWindowPos2f (GLfloat, GLfloat);
GLAPI void APIENTRY glWindowPos2fv (const GLfloat *);
GLAPI void APIENTRY glWindowPos2i (GLint, GLint);
GLAPI void APIENTRY glWindowPos2iv (const GLint *);
GLAPI void APIENTRY glWindowPos2s (GLshort, GLshort);
GLAPI void APIENTRY glWindowPos2sv (const GLshort *);
GLAPI void APIENTRY glWindowPos3d (GLdouble, GLdouble, GLdouble);
GLAPI void APIENTRY glWindowPos3dv (const GLdouble *);
GLAPI void APIENTRY glWindowPos3f (GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glWindowPos3fv (const GLfloat *);
GLAPI void APIENTRY glWindowPos3i (GLint, GLint, GLint);
GLAPI void APIENTRY glWindowPos3iv (const GLint *);
GLAPI void APIENTRY glWindowPos3s (GLshort, GLshort, GLshort);
GLAPI void APIENTRY glWindowPos3sv (const GLshort *);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
typedef void (APIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord);
typedef void (APIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
typedef void (APIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord);
typedef void (APIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
typedef void (APIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
typedef void (APIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
typedef void (APIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
typedef void (APIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
typedef void (APIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
typedef void (APIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
typedef void (APIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
typedef void (APIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
typedef void (APIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
typedef void (APIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
typedef void (APIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
typedef void (APIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *v);
typedef void (APIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
typedef void (APIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
typedef void (APIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
typedef void (APIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
typedef void (APIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
typedef void (APIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
typedef void (APIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *v);
typedef void (APIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
typedef void (APIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
#endif
#ifndef GL_ARB_multitexture
#define GL_ARB_multitexture 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -2703,6 +2953,136 @@ typedef void (APIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort
typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
#endif
#ifndef GL_ARB_vertex_program
#define GL_ARB_vertex_program 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glVertexAttrib1dARB (GLuint, GLdouble);
GLAPI void APIENTRY glVertexAttrib1dvARB (GLuint, const GLdouble *);
GLAPI void APIENTRY glVertexAttrib1fARB (GLuint, GLfloat);
GLAPI void APIENTRY glVertexAttrib1fvARB (GLuint, const GLfloat *);
GLAPI void APIENTRY glVertexAttrib1sARB (GLuint, GLshort);
GLAPI void APIENTRY glVertexAttrib1svARB (GLuint, const GLshort *);
GLAPI void APIENTRY glVertexAttrib2dARB (GLuint, GLdouble, GLdouble);
GLAPI void APIENTRY glVertexAttrib2dvARB (GLuint, const GLdouble *);
GLAPI void APIENTRY glVertexAttrib2fARB (GLuint, GLfloat, GLfloat);
GLAPI void APIENTRY glVertexAttrib2fvARB (GLuint, const GLfloat *);
GLAPI void APIENTRY glVertexAttrib2sARB (GLuint, GLshort, GLshort);
GLAPI void APIENTRY glVertexAttrib2svARB (GLuint, const GLshort *);
GLAPI void APIENTRY glVertexAttrib3dARB (GLuint, GLdouble, GLdouble, GLdouble);
GLAPI void APIENTRY glVertexAttrib3dvARB (GLuint, const GLdouble *);
GLAPI void APIENTRY glVertexAttrib3fARB (GLuint, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glVertexAttrib3fvARB (GLuint, const GLfloat *);
GLAPI void APIENTRY glVertexAttrib3sARB (GLuint, GLshort, GLshort, GLshort);
GLAPI void APIENTRY glVertexAttrib3svARB (GLuint, const GLshort *);
GLAPI void APIENTRY glVertexAttrib4NbvARB (GLuint, const GLbyte *);
GLAPI void APIENTRY glVertexAttrib4NivARB (GLuint, const GLint *);
GLAPI void APIENTRY glVertexAttrib4NsvARB (GLuint, const GLshort *);
GLAPI void APIENTRY glVertexAttrib4NubARB (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
GLAPI void APIENTRY glVertexAttrib4NubvARB (GLuint, const GLubyte *);
GLAPI void APIENTRY glVertexAttrib4NuivARB (GLuint, const GLuint *);
GLAPI void APIENTRY glVertexAttrib4NusvARB (GLuint, const GLushort *);
GLAPI void APIENTRY glVertexAttrib4bvARB (GLuint, const GLbyte *);
GLAPI void APIENTRY glVertexAttrib4dARB (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
GLAPI void APIENTRY glVertexAttrib4dvARB (GLuint, const GLdouble *);
GLAPI void APIENTRY glVertexAttrib4fARB (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glVertexAttrib4fvARB (GLuint, const GLfloat *);
GLAPI void APIENTRY glVertexAttrib4ivARB (GLuint, const GLint *);
GLAPI void APIENTRY glVertexAttrib4sARB (GLuint, GLshort, GLshort, GLshort, GLshort);
GLAPI void APIENTRY glVertexAttrib4svARB (GLuint, const GLshort *);
GLAPI void APIENTRY glVertexAttrib4ubvARB (GLuint, const GLubyte *);
GLAPI void APIENTRY glVertexAttrib4uivARB (GLuint, const GLuint *);
GLAPI void APIENTRY glVertexAttrib4usvARB (GLuint, const GLushort *);
GLAPI void APIENTRY glVertexAttribPointerARB (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
GLAPI void APIENTRY glEnableVertexAttribArrayARB (GLuint);
GLAPI void APIENTRY glDisableVertexAttribArrayARB (GLuint);
GLAPI void APIENTRY glProgramStringARB (GLenum, GLenum, GLsizei, const GLvoid *);
GLAPI void APIENTRY glBindProgramARB (GLenum, GLuint);
GLAPI void APIENTRY glDeleteProgramsARB (GLsizei, const GLuint *);
GLAPI void APIENTRY glGenProgramsARB (GLsizei, GLuint *);
GLAPI void APIENTRY glProgramEnvParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
GLAPI void APIENTRY glProgramEnvParameter4dvARB (GLenum, GLuint, const GLdouble *);
GLAPI void APIENTRY glProgramEnvParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glProgramEnvParameter4fvARB (GLenum, GLuint, const GLfloat *);
GLAPI void APIENTRY glProgramLocalParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
GLAPI void APIENTRY glProgramLocalParameter4dvARB (GLenum, GLuint, const GLdouble *);
GLAPI void APIENTRY glProgramLocalParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glProgramLocalParameter4fvARB (GLenum, GLuint, const GLfloat *);
GLAPI void APIENTRY glGetProgramEnvParameterdvARB (GLenum, GLuint, GLdouble *);
GLAPI void APIENTRY glGetProgramEnvParameterfvARB (GLenum, GLuint, GLfloat *);
GLAPI void APIENTRY glGetProgramLocalParameterdvARB (GLenum, GLuint, GLdouble *);
GLAPI void APIENTRY glGetProgramLocalParameterfvARB (GLenum, GLuint, GLfloat *);
GLAPI void APIENTRY glGetProgramivARB (GLenum, GLenum, GLint *);
GLAPI void APIENTRY glGetProgramStringARB (GLenum, GLenum, GLvoid *);
GLAPI void APIENTRY glGetVertexAttribdvARB (GLuint, GLenum, GLdouble *);
GLAPI void APIENTRY glGetVertexAttribfvARB (GLuint, GLenum, GLfloat *);
GLAPI void APIENTRY glGetVertexAttribivARB (GLuint, GLenum, GLint *);
GLAPI void APIENTRY glGetVertexAttribPointervARB (GLuint, GLenum, GLvoid* *);
GLAPI GLboolean APIENTRY glIsProgramARB (GLuint);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
typedef void (APIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
typedef void (APIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
typedef void (APIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
typedef void (APIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
typedef void (APIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
typedef void (APIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
typedef void (APIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
typedef void (APIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
typedef void (APIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
typedef void (APIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
typedef void (APIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
typedef void (APIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
typedef void (APIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
typedef void (APIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
typedef void (APIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
typedef void (APIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
typedef void (APIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
typedef void (APIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
typedef GLboolean (APIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program);
#endif
#ifndef GL_EXT_abgr
#define GL_EXT_abgr 1
#endif
@@ -3684,22 +4064,22 @@ GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GL
GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLenum *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLenum, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLenum *, const GLubyte *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLuint *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLuint *, const GLubyte *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
@@ -3725,31 +4105,37 @@ typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat
typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
typedef void (APIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLenum rc, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLenum rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLenum *rc, const GLubyte *c, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLenum rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *c, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
#endif
#ifndef GL_EXT_blend_func_separate
#define GL_EXT_blend_func_separate 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum, GLenum, GLenum, GLenum);
GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
#endif
#ifndef GL_INGR_blend_func_separate
#define GL_INGR_blend_func_separate 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
#endif
@@ -4035,6 +4421,14 @@ GLAPI void APIENTRY glIglooInterfaceSGIX (GLenum, const GLvoid *);
typedef void (APIENTRY * PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
#endif
#ifndef GL_EXT_texture_env_dot3
#define GL_EXT_texture_env_dot3 1
#endif
#ifndef GL_ATI_texture_mirror_once
#define GL_ATI_texture_mirror_once 1
#endif
#ifndef GL_NV_fence
#define GL_NV_fence 1
#ifdef GL_GLEXT_PROTOTYPES
@@ -4615,6 +5009,21 @@ typedef void (APIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint
#define GL_NV_vertex_program1_1 1
#endif
#ifndef GL_EXT_shadow_funcs
#define GL_EXT_shadow_funcs 1
#endif
#ifndef GL_EXT_stencil_two_side
#define GL_EXT_stencil_two_side 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glActiveStencilFaceEXT (GLenum);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
#endif
#ifndef GL_ATI_texture_env_combine3
#define GL_ATI_texture_env_combine3 1
#endif
#ifdef __cplusplus
}

View File

@@ -36,6 +36,14 @@
#include <GL/gl.h>
#ifndef GLAPIENTRY
#define GLAPIENTRY
#endif
#ifndef GLAPI
#define GLAPI
#endif
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -223,9 +223,11 @@ WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP)
**/
#ifndef GLUT_API_VERSION /* allow this to be overriden */
#define GLUT_API_VERSION 3
#define GLUT_API_VERSION 5
#endif
/**
@@ -661,6 +663,9 @@ GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name);
GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
#endif
#if (GLUT_API_VERSION >= 5)
GLUTAPI void * GLUTAPIENTRY glutGetProcAddress(const char *procName);
#endif
/* GLUT font sub-API */
GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character);

View File

@@ -1,10 +1,10 @@
/* $Id: glx.h,v 1.33.2.1 2001/12/14 03:20:57 brianp Exp $ */
/* $Id: glx.h,v 1.38.4.1 2003/02/23 19:37:15 keithw Exp $ */
/*
* Mesa 3-D graphics library
* Version: 4.0
* Version: 4.1
*
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
* Copyright (C) 1999-2002 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"),
@@ -154,6 +154,7 @@ extern "C" {
#define GLX_STATIC_COLOR 0x8005
#define GLX_GRAY_SCALE 0x8006
#define GLX_STATIC_GRAY 0x8007
#define GLX_TRANSPARENT_RGB 0x8008
#define GLX_TRANSPARENT_INDEX 0x8009
#define GLX_RGBA_TYPE 0x8014
#define GLX_COLOR_INDEX_TYPE 0x8015
@@ -294,8 +295,7 @@ extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
/* GLX 1.4 and later */
extern void (*glXGetProcAddress(const GLubyte *procname))();
extern void (*glXGetProcAddress(const GLubyte *procname))( void );
#ifndef GLX_GLXEXT_LEGACY
@@ -453,6 +453,38 @@ extern void (*glXGetProcAddressARB(const GLubyte *procName))();
#endif /* GLX_GLXEXT_LEGACY */
/**
** The following aren't in glxext.h yet.
**/
/*
* ???. GLX_NV_vertex_array_range
*/
#ifndef GLX_NV_vertex_array_range
#define GLX_NV_vertex_array_range
extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
extern void glXFreeMemoryNV(GLvoid *pointer);
typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
#endif /* GLX_NV_vertex_array_range */
/*
* ???. GLX_MESA_agp_offset
*/
#ifndef GLX_MESA_agp_offset
#define GLX_MESA_agp_offset 1
extern GLuint glXGetAGPOffsetMESA(const GLvoid *pointer);
typedef GLuint (* PFNGLXGETAGPOFFSETMESAPROC) (const GLvoid *pointer);
#endif /* GLX_MESA_agp_offset */
#ifdef __cplusplus
}

View File

@@ -1,4 +1,4 @@
/* $Id: glx_mangle.h,v 1.1.1.1.8.1 2001/11/09 22:00:26 brianp Exp $ */
/* $Id: glx_mangle.h,v 1.2 2001/11/09 22:01:02 brianp Exp $ */
/*
* Mesa 3-D graphics library

View File

@@ -58,12 +58,12 @@ typedef struct __GLinterfaceRec __GLinterface;
** and used by the "operating system".
*/
/*
** Mode and limit information for a context. This information is
** kept around in the context so that values can be used during
** command execution, and for returning information about the
** context to the application.
*/
/**
* Mode and limit information for a context. This information is
* kept around in the context so that values can be used during
* command execution, and for returning information about the
* context to the application.
*/
typedef struct __GLcontextModesRec {
GLboolean rgbMode;
GLboolean colorIndexMode;
@@ -314,7 +314,9 @@ struct __GLdrawablePrivateRec {
void (*unlockDP)(__GLdrawablePrivate *glPriv);
/* exported */
#if 0 /* disable, just like in __GLimportsRec */
void *wsPriv; /* pointer to the window system DrawablePrivate */
#endif
#ifdef __cplusplus
void *privatePtr;
#else
@@ -373,8 +375,13 @@ typedef struct __GLimportsRec {
/* Drawing surface management */
__GLdrawablePrivate *(*getDrawablePrivate)(__GLcontext *gc);
#if 0
/* At some point, this field got removed from the XFree86 glcore.h file.
* we're removing it here to prevent interop problems. (Brian)
*/
/* Pointer to the window system context */
void *wscx;
#endif
/* Operating system dependent data goes here */
void *other;

View File

@@ -1,10 +1,10 @@
/* $Id: osmesa.h,v 1.9 2001/09/23 16:06:13 brianp Exp $ */
/* $Id: osmesa.h,v 1.10 2002/04/04 16:58:04 brianp Exp $ */
/*
* Mesa 3-D graphics library
* Version: 4.0
* Version: 4.1
*
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
* Copyright (C) 1999-2002 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"),
@@ -63,7 +63,7 @@ extern "C" {
#define OSMESA_MAJOR_VERSION 4
#define OSMESA_MINOR_VERSION 0
#define OSMESA_MINOR_VERSION 1
#define OSMESA_PATCH_VERSION 0
@@ -254,6 +254,15 @@ OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height,
/*
* Return pointer to the named function.
*
* New in Mesa 4.1
*/
GLAPI void * GLAPIENTRY
OSMesaGetProcAddress( const char *funcName );
#if defined(__BEOS__) || defined(__QUICKDRAW__)
#pragma export off
#endif

View File

@@ -1,4 +1,4 @@
/* $Id: wmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
/* $Id: wmesa.h,v 1.2 2002/04/23 18:23:32 kschultz Exp $ */
/*
* Mesa 3-D graphics library
@@ -24,8 +24,17 @@
/*
* $Log: wmesa.h,v $
* Revision 1.1 1999/08/19 00:55:40 jtg
* Initial revision
* Revision 1.2 2002/04/23 18:23:32 kschultz
* 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.
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.2 1999/01/03 02:54:45 brianp
* updated per Ted Jump
@@ -101,13 +110,17 @@ typedef struct wmesa_context *WMesaContext;
* GL_FALSE = color index mode
* db_flag - GL_TRUE = double-buffered,
* GL_FALSE = single buffered
* alpha_flag - GL_TRUE = create software alpha buffer,
* GL_FALSE = no software alpha buffer
*
* Note: Indexed mode requires double buffering under Windows.
*
* Return: a WMesa_context or NULL if error.
*/
extern WMesaContext WMesaCreateContext(HWND hWnd,HPALETTE* pPal,
GLboolean rgb_flag,GLboolean db_flag);
GLboolean rgb_flag,
GLboolean db_flag,
GLboolean alpha_flag);
/*

View File

@@ -1,8 +1,8 @@
/* $Id: xmesa.h,v 1.12.2.1 2002/03/16 00:50:36 brianp Exp $ */
/* $Id: xmesa.h,v 1.14 2002/10/05 03:03:37 brianp Exp $ */
/*
* Mesa 3-D graphics library
* Version: 4.0.2
* Version: 4.1
*
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
*
@@ -90,7 +90,7 @@ extern struct Library *XLibBase;
#define XMESA_MAJOR_VERSION 4
#define XMESA_MINOR_VERSION 0
#define XMESA_MINOR_VERSION 1
@@ -374,6 +374,16 @@ extern GLboolean XMesaSetFXmode( GLint mode );
extern void XMesaResizeBuffers( XMesaBuffer b );
/*
* Create a pbuffer.
* New in Mesa 4.1
*/
extern XMesaBuffer XMesaCreatePBuffer(XMesaVisual v, XMesaColormap cmap,
unsigned int width, unsigned int height);
#ifdef __cplusplus
}
#endif

View File

@@ -32,7 +32,7 @@ class SampleGLWindow : public BWindow
{
public:
SampleGLWindow(BRect frame, uint32 type);
virtual bool QuitRequested() { return true; }
virtual bool QuitRequested() { be_app->PostMessage(B_QUIT_REQUESTED); return true; }
private:
SampleGLView *theView;
@@ -135,7 +135,7 @@ void SampleGLView::gInit(void)
use_stipple_mode = GL_FALSE;
use_smooth_mode = GL_TRUE;
linesize = 2;
pointsize = 4;
pointsize = 6;
}
@@ -147,35 +147,46 @@ void SampleGLView::gDraw(void)
glClear(GL_COLOR_BUFFER_BIT);
glLineWidth(linesize);
/*
if (use_stipple_mode) {
glEnable(GL_LINE_STIPPLE);
} else {
glDisable(GL_LINE_STIPPLE);
}
if (use_smooth_mode) {
glEnable(GL_LINE_SMOOTH);
glEnable(GL_BLEND);
} else {
glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
}
*/
glDisable(GL_POINT_SMOOTH);
glPushMatrix();
glPointSize(pointsize); // Set size for point
for (i = 0; i < 360; i += 5) {
glRotatef(5.0, 0,0,1); // Rotate right 5 degrees
if (use_smooth_mode) {
glEnable(GL_LINE_SMOOTH);
glEnable(GL_BLEND);
} else {
glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
}
glColor3f(1.0, 1.0, 0.0); // Set color for line
glBegin(GL_LINE_STRIP); // And create the line
glVertex3fv(pntA);
glVertex3fv(pntB);
glVertex3fv(pntA);
glVertex3fv(pntB);
glEnd();
glPointSize(pointsize); // Set size for point
glDisable(GL_POINT_SMOOTH);
glDisable(GL_BLEND);
glColor3f(0.0, 1.0, 0.0); // Set color for point
glBegin(GL_POINTS);
glVertex3fv(pntA); // Draw point at one end
glVertex3fv(pntB); // Draw point at other end
glVertex3fv(pntA); // Draw point at one end
glVertex3fv(pntB); // Draw point at other end
glEnd();
}

25
progs/demos/Makefile Normal file
View File

@@ -0,0 +1,25 @@
PROGS = gears \
glinfo \
texobj \
bounce \
terrain
##### RULES #####
.SUFFIXES:
.SUFFIXES: .c
# make executable from .c file:
.c: $(LIB_DEP)
gcc -I../include -I../util -g $< -L../lib -lglut -lGL -lGLU -lm -o $@
default: $(PROGS)
clean:
-rm -f *.o *~ $(PROGS)

View File

@@ -1,4 +1,4 @@
# $Id: Makefile.win,v 1.5.2.1 2001/10/26 21:03:15 kschultz Exp $
# $Id: Makefile.win,v 1.7 2002/01/16 00:48:43 kschultz Exp $
# Mesa 3-D graphics library
# Version: 3.5
@@ -67,12 +67,41 @@ SRCS = \
geartrain.c \
glinfo.c \
gloss.c \
gltestperf.c \
glutfx.c \
isosurf.c \
lodbias.c \
morph3d.c \
teapot.c
multiarb.c \
occlude.c \
paltex.c \
pixeltex.c \
pointblast.c \
ray.c \
readpix.c \
reflect.c \
renormal.c \
shadowtex.c \
spectex.c \
stex3d.c \
teapot.c \
terrain.c \
tessdemo.c \
texcyl.c \
texdown.c \
texenv.c \
texobj.c \
trispd.c \
tunnel.c \
tunnel2.c \
winpos.c
CXXSRCS = \
rain.cxx
OSMESASRCS = osdemo.c
IPERSSRCS = ipers.c
IPERSEXES = $(IPERSSRCS:.c=.exe)
!include "../mesawin32.mak"
##### TARGETS #####
@@ -90,9 +119,12 @@ $(OSMESAEXES) : $*.obj
@echo $@
$(link) $(lcommon) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) $(EXTRALIBS)
$(IPERSEXES) : $*.obj
@echo $@
$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) winmm.lib
readtex.c:
-copy ..\util\readtex.c .
readtex.h:
-copy ..\util\readtex.h .
-copy ..\util\readtex.h .

View File

@@ -1,4 +1,4 @@
/* $Id: bounce.c,v 1.3 2000/08/16 20:36:34 brianp Exp $ */
/* $Id: bounce.c,v 1.3.8.2 2003/03/22 08:40:35 keithw Exp $ */
/*
* Bouncing ball demo.
@@ -33,8 +33,8 @@ GLfloat Xmin = -4.0, Xmax = 4.0;
GLfloat Ymin = -3.8, Ymax = 4.0;
GLfloat G = -0.1;
static GLuint
make_ball(void)
static void
draw_ball(void)
{
GLuint list;
GLfloat a, b;
@@ -43,9 +43,9 @@ make_ball(void)
GLuint color;
GLfloat x, y, z;
list = glGenLists(1);
/* list = glGenLists(1); */
glNewList(list, GL_COMPILE);
/* glNewList(list, GL_COMPILE); */
color = 0;
for (a = -90.0; a + da <= 90.0; a += da) {
@@ -54,10 +54,10 @@ make_ball(void)
for (b = 0.0; b <= 360.0; b += db) {
if (color) {
glIndexi(RED);
/* glIndexi(RED); */
glColor3f(1, 0, 0);
} else {
glIndexi(WHITE);
/* glIndexi(WHITE); */
glColor3f(1, 1, 1);
}
@@ -77,11 +77,12 @@ make_ball(void)
}
glEndList();
/* glEndList(); */
return list;
/* return list; */
}
static void
reshape(int width, int height)
{
@@ -110,19 +111,19 @@ draw(void)
glClear(GL_COLOR_BUFFER_BIT);
glIndexi(CYAN);
/* glIndexi(CYAN); */
glColor3f(0, 1, 1);
glBegin(GL_LINES);
for (i = -5; i <= 5; i++) {
glVertex2i(i, -5);
glVertex2i(i, 5);
glVertex2f(i, -5);
glVertex2f(i, 5);
}
for (i = -5; i <= 5; i++) {
glVertex2i(-5, i);
glVertex2i(5, i);
glVertex2f(-5, i);
glVertex2f(5, i);
}
for (i = -5; i <= 5; i++) {
glVertex2i(i, -5);
glVertex2f(i, -5);
glVertex2f(i * 1.15, -5.9);
}
glVertex2f(-5.3, -5.35);
@@ -138,7 +139,8 @@ draw(void)
glRotatef(90.0, 1.0, 0.0, 0.0);
glRotatef(Zrot, 0.0, 0.0, 1.0);
glCallList(Ball);
/* glCallList(Ball); */
draw_ball();
glPopMatrix();
@@ -198,7 +200,7 @@ int main(int argc, char *argv[])
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutCreateWindow("Bounce");
Ball = make_ball();
/* Ball = make_ball(); */
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);
glDisable(GL_DITHER);

View File

@@ -1,36 +1,10 @@
/* $Id: clearspd.c,v 1.3 2000/12/07 21:50:39 brianp Exp $ */
/* $Id: clearspd.c,v 1.5 2002/10/31 12:38:32 keithw Exp $ */
/*
* Simple GLUT program to measure glClear() and glutSwapBuffers() speed.
* Brian Paul February 15, 1997 This file in public domain.
*/
/*
* $Log: clearspd.c,v $
* Revision 1.3 2000/12/07 21:50:39 brianp
* call glFinish() before getting t1 time
*
* Revision 1.2 2000/04/10 16:25:15 brianp
* fixed visual selection and reporting results
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.3 1999/03/28 18:18:33 brianp
* minor clean-up
*
* Revision 3.2 1999/03/18 08:16:34 joukj
*
* cmpstr needs string.h to included to avoid warnings
*
* Revision 3.1 1998/06/29 02:38:30 brianp
* removed unneeded includes
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <stdlib.h>
@@ -87,6 +61,12 @@ static void Display( void )
glutSwapBuffers();
}
/* NOTE: If clearspd doesn't map it's window immediately on
* starting, swaps will be istantaneous, so this will send Loops
* towards infinity. When a window is finally mapped, it may be
* minutes before the first call to glutSwapBuffers, making it look
* like there's a driver bug.
*/
if (t1-t0 < MinPeriod) {
/* Next time do more clears to get longer elapsed time */
Loops *= 2;

View File

@@ -1,4 +1,4 @@
/* $Id: cubemap.c,v 1.3 2000/06/27 17:04:43 brianp Exp $ */
/* $Id: cubemap.c,v 1.4 2002/10/25 17:20:26 brianp Exp $ */
/*
* GL_ARB_texture_cube_map demo
@@ -36,25 +36,100 @@
*/
#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "GL/glut.h"
#include "../util/readtex.c" /* a hack */
static GLfloat Xrot = 0, Yrot = 0;
static GLfloat EyeDist = 10;
static void draw_skybox( void )
{
const GLfloat eps1 = 0.99;
const GLfloat br = 20.0; /* box radius */
glBegin(GL_QUADS);
/* +X side */
glTexCoord3f(1.0, -eps1, -eps1); glVertex3f(br, -br, -br);
glTexCoord3f(1.0, -eps1, eps1); glVertex3f(br, -br, br);
glTexCoord3f(1.0, eps1, eps1); glVertex3f(br, br, br);
glTexCoord3f(1.0, eps1, -eps1); glVertex3f(br, br, -br);
/* -X side */
glTexCoord3f(-1.0, eps1, -eps1); glVertex3f(-br, br, -br);
glTexCoord3f(-1.0, eps1, eps1); glVertex3f(-br, br, br);
glTexCoord3f(-1.0, -eps1, eps1); glVertex3f(-br, -br, br);
glTexCoord3f(-1.0, -eps1, -eps1); glVertex3f(-br, -br, -br);
/* +Y side */
glTexCoord3f(-eps1, 1.0, -eps1); glVertex3f(-br, br, -br);
glTexCoord3f(-eps1, 1.0, eps1); glVertex3f(-br, br, br);
glTexCoord3f( eps1, 1.0, eps1); glVertex3f( br, br, br);
glTexCoord3f( eps1, 1.0, -eps1); glVertex3f( br, br, -br);
/* -Y side */
glTexCoord3f(-eps1, -1.0, -eps1); glVertex3f(-br, -br, -br);
glTexCoord3f(-eps1, -1.0, eps1); glVertex3f(-br, -br, br);
glTexCoord3f( eps1, -1.0, eps1); glVertex3f( br, -br, br);
glTexCoord3f( eps1, -1.0, -eps1); glVertex3f( br, -br, -br);
/* +Z side */
glTexCoord3f( eps1, -eps1, 1.0); glVertex3f( br, -br, br);
glTexCoord3f(-eps1, -eps1, 1.0); glVertex3f(-br, -br, br);
glTexCoord3f(-eps1, eps1, 1.0); glVertex3f(-br, br, br);
glTexCoord3f( eps1, eps1, 1.0); glVertex3f( br, br, br);
/* -Z side */
glTexCoord3f( eps1, eps1, -1.0); glVertex3f( br, br, -br);
glTexCoord3f(-eps1, eps1, -1.0); glVertex3f(-br, br, -br);
glTexCoord3f(-eps1, -eps1, -1.0); glVertex3f(-br, -br, -br);
glTexCoord3f( eps1, -eps1, -1.0); glVertex3f( br, -br, -br);
glEnd();
}
static void draw( void )
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glRotatef(Xrot, 1, 0, 0);
glRotatef(Yrot, 0, 1, 0);
glutSolidSphere(2.0, 20, 20);
glMatrixMode(GL_MODELVIEW);
glPushMatrix(); /*MODELVIEW*/
glTranslatef( 0.0, 0.0, -EyeDist );
/* skybox */
glDisable(GL_TEXTURE_GEN_S);
glDisable(GL_TEXTURE_GEN_T);
glDisable(GL_TEXTURE_GEN_R);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glRotatef(Xrot, 1, 0, 0);
glRotatef(Yrot, 0, 1, 0);
draw_skybox();
glPopMatrix();
/* sphere */
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glRotatef(-Yrot, 0, 1, 0);
glRotatef(-Xrot, 1, 0, 0);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glEnable(GL_TEXTURE_GEN_R);
glutSolidSphere(2.0, 20, 20);
glLoadIdentity(); /* texture */
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glutSwapBuffers();
}
@@ -62,7 +137,8 @@ static void draw( void )
static void idle(void)
{
Yrot += 5.0;
GLfloat t = 0.05 * glutGet(GLUT_ELAPSED_TIME);
Yrot = t;
glutPostRedisplay();
}
@@ -81,9 +157,6 @@ static void set_mode(GLuint mode)
glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP_ARB);
printf("GL_NORMAL_MAP_ARB mode\n");
}
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glEnable(GL_TEXTURE_GEN_R);
}
@@ -105,6 +178,16 @@ static void key(unsigned char k, int x, int y)
mode = !mode;
set_mode(mode);
break;
case 'z':
EyeDist -= 0.5;
if (EyeDist < 6.0)
EyeDist = 6.0;
break;
case 'Z':
EyeDist += 0.5;
if (EyeDist > 90.0)
EyeDist = 90;
break;
case 27:
exit(0);
}
@@ -114,15 +197,15 @@ static void key(unsigned char k, int x, int y)
static void specialkey(int key, int x, int y)
{
GLfloat step = 10;
GLfloat step = 5;
(void) x;
(void) y;
switch (key) {
case GLUT_KEY_UP:
Xrot -= step;
Xrot += step;
break;
case GLUT_KEY_DOWN:
Xrot += step;
Xrot -= step;
break;
case GLUT_KEY_LEFT:
Yrot -= step;
@@ -138,17 +221,17 @@ static void specialkey(int key, int x, int y)
/* new window size or exposure */
static void reshape(int width, int height)
{
GLfloat ar = (float) width / (float) height;
glViewport(0, 0, (GLint)width, (GLint)height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 );
glFrustum( -2.0*ar, 2.0*ar, -2.0, 2.0, 4.0, 100.0 );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef( 0.0, 0.0, -8.0 );
}
static void init( void )
static void init_checkers( void )
{
#define CUBE_TEX_SIZE 64
GLubyte image[CUBE_TEX_SIZE][CUBE_TEX_SIZE][3];
@@ -171,16 +254,6 @@ static void init( void )
GLint i, j, f;
/* check for extension */
{
char *exten = (char *) glGetString(GL_EXTENSIONS);
if (!strstr(exten, "GL_ARB_texture_cube_map")) {
printf("Sorry, this demo requires GL_ARB_texture_cube_map\n");
exit(0);
}
}
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
/* make colored checkerboard cube faces */
@@ -203,18 +276,102 @@ static void init( void )
glTexImage2D(targets[f], 0, GL_RGB, CUBE_TEX_SIZE, CUBE_TEX_SIZE, 0,
GL_RGB, GL_UNSIGNED_BYTE, image);
}
}
#if 1
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
#else
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
#endif
static void load(GLenum target, const char *filename,
GLboolean flipTB, GLboolean flipLR)
{
GLint w, h;
GLenum format;
GLubyte *img = LoadRGBImage( filename, &w, &h, &format );
if (!img) {
printf("Error: couldn't load texture image %s\n", filename);
exit(1);
}
assert(format == GL_RGB);
/* <sigh> the way the texture cube mapping works, we have to flip
* images to make things look right.
*/
if (flipTB) {
const int stride = 3 * w;
GLubyte temp[3*1024];
int i;
for (i = 0; i < h / 2; i++) {
memcpy(temp, img + i * stride, stride);
memcpy(img + i * stride, img + (h - i - 1) * stride, stride);
memcpy(img + (h - i - 1) * stride, temp, stride);
}
}
if (flipLR) {
const int stride = 3 * w;
GLubyte temp[3];
GLubyte *row;
int i, j;
for (i = 0; i < h; i++) {
row = img + i * stride;
for (j = 0; j < w / 2; j++) {
int k = w - j - 1;
temp[0] = row[j*3+0];
temp[1] = row[j*3+1];
temp[2] = row[j*3+2];
row[j*3+0] = row[k*3+0];
row[j*3+1] = row[k*3+1];
row[j*3+2] = row[k*3+2];
row[k*3+0] = temp[0];
row[k*3+1] = temp[1];
row[k*3+2] = temp[2];
}
}
}
gluBuild2DMipmaps(target, GL_RGB, w, h, format, GL_UNSIGNED_BYTE, img);
free(img);
}
static void load_envmaps(void)
{
load(GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, "right.rgb", GL_TRUE, GL_FALSE);
load(GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, "left.rgb", GL_TRUE, GL_FALSE);
load(GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, "top.rgb", GL_FALSE, GL_TRUE);
load(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, "bottom.rgb", GL_FALSE, GL_TRUE);
load(GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, "front.rgb", GL_TRUE, GL_FALSE);
load(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB, "back.rgb", GL_TRUE, GL_FALSE);
}
static void init( GLboolean useImageFiles )
{
GLenum filter;
/* check for extension */
{
char *exten = (char *) glGetString(GL_EXTENSIONS);
if (!strstr(exten, "GL_ARB_texture_cube_map")) {
printf("Sorry, this demo requires GL_ARB_texture_cube_map\n");
exit(0);
}
}
printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
if (useImageFiles) {
load_envmaps();
filter = GL_LINEAR;
}
else {
init_checkers();
filter = GL_NEAREST;
}
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, filter);
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, filter);
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glEnable(GL_TEXTURE_CUBE_MAP_ARB);
glEnable(GL_DEPTH_TEST);
glClearColor(.3, .3, .3, 0);
glColor3f( 1.0, 1.0, 1.0 );
@@ -229,16 +386,21 @@ static void usage(void)
printf(" SPACE - toggle animation\n");
printf(" CURSOR KEYS - rotation\n");
printf(" m - toggle texgen reflection mode\n");
printf(" z/Z - change viewing distance\n");
}
int main( int argc, char *argv[] )
{
glutInitWindowPosition(0, 0);
glutInitWindowSize(300, 300);
glutInitWindowSize(600, 500);
glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
glutCreateWindow("Texture Cube Maping");
init();
if (argc > 1 && strcmp(argv[1] , "-i") == 0)
init( 1 );
else
init( 0 );
glutReshapeFunc( reshape );
glutKeyboardFunc( key );
glutSpecialFunc( specialkey );

View File

@@ -1,4 +1,4 @@
/* $Id: drawpix.c,v 1.5 2000/12/24 22:53:54 pesco Exp $ */
/* $Id: drawpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */
/*
* glDrawPixels demo/test/benchmark
@@ -6,61 +6,6 @@
* Brian Paul September 25, 1997 This file is in the public domain.
*/
/*
* $Log: drawpix.c,v $
* Revision 1.5 2000/12/24 22:53:54 pesco
* * 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.
*
* Revision 1.4 2000/09/08 21:45:21 brianp
* added dither key option
*
* Revision 1.3 1999/10/28 18:23:29 brianp
* minor changes to Usage() function
*
* Revision 1.2 1999/10/21 22:13:58 brianp
* added f key to toggle front/back drawing
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.3 1999/03/28 18:18:33 brianp
* minor clean-up
*
* Revision 3.2 1998/11/05 04:34:04 brianp
* moved image files to ../images/ directory
*
* Revision 3.1 1998/02/22 16:43:17 brianp
* added a few casts to silence compiler warnings
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
@@ -78,6 +23,8 @@ static int Xpos, Ypos;
static int SkipPixels, SkipRows;
static int DrawWidth, DrawHeight;
static int Scissor = 0;
static int Fog = 0;
static GLfloat Zpos = -1.0;
static float Xzoom, Yzoom;
static GLboolean DrawFront = GL_FALSE;
static GLboolean Dither = GL_TRUE;
@@ -90,6 +37,8 @@ static void Reset( void )
DrawHeight = ImgHeight;
SkipPixels = SkipRows = 0;
Scissor = 0;
Fog = 0;
Zpos = -1.0;
Xzoom = Yzoom = 1.0;
}
@@ -102,7 +51,7 @@ static void Display( void )
glRasterPos2i(Xpos, Ypos);
#else
/* This allows negative raster positions: */
glRasterPos2i(0, 0);
glRasterPos3f(0, 0, Zpos);
glBitmap(0, 0, 0, 0, Xpos, Ypos, NULL);
#endif
@@ -114,9 +63,13 @@ static void Display( void )
if (Scissor)
glEnable(GL_SCISSOR_TEST);
if (Fog)
glEnable(GL_FOG);
glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
glDisable(GL_SCISSOR_TEST);
glDisable(GL_FOG);
if (!DrawFront)
glutSwapBuffers();
@@ -136,6 +89,8 @@ static void Benchmark( void )
glPixelZoom( Xzoom, Yzoom );
if (Scissor)
glEnable(GL_SCISSOR_TEST);
if (Fog)
glEnable(GL_FOG);
if (DrawFront)
glDrawBuffer(GL_FRONT);
@@ -153,6 +108,7 @@ static void Benchmark( void )
/* GL clean-up */
glDisable(GL_SCISSOR_TEST);
glDisable(GL_FOG);
/* Results */
seconds = (double) (endTime - startTime) / 1000.0;
@@ -167,7 +123,7 @@ static void Reshape( int width, int height )
glViewport( 0, 0, width, height );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( 0.0, width, 0.0, height, -1.0, 1.0 );
glOrtho( 0.0, width, 0.0, height, 0.0, 2.0 );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
@@ -233,9 +189,21 @@ static void Key( unsigned char key, int x, int y )
case 'Y':
Yzoom += 0.1;
break;
case 'z':
Zpos -= 0.1;
printf("RasterPos Z = %g\n", Zpos);
break;
case 'Z':
Zpos += 0.1;
printf("RasterPos Z = %g\n", Zpos);
break;
case 'b':
Benchmark();
break;
case 'F':
Fog = !Fog;
printf("Fog %d\n", Fog);
break;
case 'f':
DrawFront = !DrawFront;
if (DrawFront)
@@ -276,6 +244,8 @@ static void SpecialKey( int key, int x, int y )
static void Init( GLboolean ciMode )
{
static const GLfloat fogColor[4] = {0, 1, 0, 0};
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
@@ -287,7 +257,7 @@ static void Init( GLboolean ciMode )
if (ciMode) {
/* Convert RGB image to grayscale */
GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
GLint i;
for (i=0; i<ImgWidth*ImgHeight; i++) {
int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
@@ -308,6 +278,11 @@ static void Init( GLboolean ciMode )
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glPixelStorei(GL_UNPACK_ROW_LENGTH, ImgWidth);
glFogi(GL_FOG_MODE, GL_LINEAR);
glFogf(GL_FOG_START, 0);
glFogf(GL_FOG_END, 2);
glFogfv(GL_FOG_COLOR, fogColor);
Reset();
}
@@ -331,6 +306,10 @@ static void Usage(void)
printf(" r Decrease GL_UNPACK_SKIP_ROWS*\n");
printf(" R Increase GL_UNPACK_SKIP_ROWS*\n");
printf(" s Toggle GL_SCISSOR_TEST\n");
printf(" F Toggle GL_FOG\n");
printf(" z Decrease RasterPos Z\n");
printf(" Z Increase RasterPos Z\n");
printf(" f Toggle front/back buffer drawing\n");
printf(" b Benchmark test\n");
printf(" ESC Exit\n");

View File

@@ -660,7 +660,7 @@ inittextures(void)
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 4, 128, 128, GL_RGBA,
GL_UNSIGNED_BYTE, (GLvoid *) (tex)))) {
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
exit(-1);
}
}
@@ -752,7 +752,7 @@ main(int ac, char **av)
glFogfv(GL_FOG_COLOR, fogcolor);
glFogf(GL_FOG_DENSITY, 0.1);
p = malloc(sizeof(part) * np);
p = (part *) malloc(sizeof(part) * np);
for (i = 0; i < np; i++)
setnewpart(&p[i]);

View File

@@ -1,5 +1,4 @@
/* $Id: gamma.c,v 1.2 2000/03/18 01:13:29 brianp Exp $ */
/* $Id: gamma.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */
/* Draw test patterns to help determine correct gamma value for a display.
When the intensities of the inner squares nearly match the intensities
@@ -23,22 +22,6 @@
/* Conversion to GLUT by Mark J. Kilgard */
/*
* $Log: gamma.c,v $
* Revision 1.2 2000/03/18 01:13:29 brianp
* colors were computed incorrectly (Hans Nelles)
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.1 1999/06/19 01:35:38 brianp
* merged in Kai Schuetz's RGB changes
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <string.h>

View File

@@ -1,4 +1,4 @@
/* $Id: gears.c,v 1.6 2000/04/06 02:22:59 brianp Exp $ */
/* $Id: gears.c,v 1.6.12.1 2003/02/23 19:25:07 keithw Exp $ */
/*
* 3-D gear wheels. This program is in the public domain.
@@ -59,7 +59,7 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
glShadeModel(GL_FLAT);
glNormal3f(0.0, 0.0, 1.0);
/* glNormal3f(0.0, 0.0, 1.0); */
/* draw front face */
glBegin(GL_QUAD_STRIP);
@@ -87,7 +87,7 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
}
glEnd();
glNormal3f(0.0, 0.0, -1.0);
/* glNormal3f(0.0, 0.0, -1.0); */
/* draw back face */
glBegin(GL_QUAD_STRIP);
@@ -127,18 +127,18 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
len = sqrt(u * u + v * v);
u /= len;
v /= len;
glNormal3f(v, -u, 0.0);
/* glNormal3f(v, -u, 0.0); */
glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
glNormal3f(cos(angle), sin(angle), 0.0);
/* glNormal3f(cos(angle), sin(angle), 0.0); */
glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
glNormal3f(v, -u, 0.0);
/* glNormal3f(v, -u, 0.0); */
glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
glNormal3f(cos(angle), sin(angle), 0.0);
/* glNormal3f(cos(angle), sin(angle), 0.0); */
}
glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
@@ -149,10 +149,11 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
glShadeModel(GL_SMOOTH);
/* draw inside radius cylinder */
glColor3f( .5, .5, .5 );
glBegin(GL_QUAD_STRIP);
for (i = 0; i <= teeth; i++) {
angle = i * 2.0 * M_PI / teeth;
glNormal3f(-cos(angle), -sin(angle), 0.0);
/* glNormal3f(-cos(angle), -sin(angle), 0.0); */
glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
}
@@ -167,6 +168,11 @@ static GLfloat angle = 0.0;
static void
draw(void)
{
static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0};
static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0};
static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
glClearColor( 1,0,1,1 );
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
@@ -177,19 +183,23 @@ draw(void)
glPushMatrix();
glTranslatef(-3.0, -2.0, 0.0);
glRotatef(angle, 0.0, 0.0, 1.0);
glCallList(gear1);
glColor3fv( red);
gear(1.0, 4.0, 1.0, 20, 0.7);
glPopMatrix();
glPushMatrix();
glTranslatef(3.1, -2.0, 0.0);
glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
glCallList(gear2);
glColor3fv( green);
gear(0.5, 2.0, 2.0, 10, 0.7);
glPopMatrix();
glPushMatrix();
glTranslatef(-3.1, 4.2, 0.0);
glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
glCallList(gear3);
glColor3fv( blue);
gear(1.3, 2.0, 0.5, 10, 0.7);
glPopMatrix();
glPopMatrix();
@@ -284,37 +294,15 @@ static void
init(int argc, char *argv[])
{
static GLfloat pos[4] = {5.0, 5.0, 10.0, 0.0};
static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0};
static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0};
static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
GLint i;
glLightfv(GL_LIGHT0, GL_POSITION, pos);
glEnable(GL_CULL_FACE);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
/* glLightfv(GL_LIGHT0, GL_POSITION, pos); */
glEnable(GL_CULL_FACE);
/* glEnable(GL_LIGHTING); */
/* glEnable(GL_LIGHT0); */
/* glEnable(GL_DEPTH_TEST); */
/* make the gears */
gear1 = glGenLists(1);
glNewList(gear1, GL_COMPILE);
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
gear(1.0, 4.0, 1.0, 20, 0.7);
glEndList();
gear2 = glGenLists(1);
glNewList(gear2, GL_COMPILE);
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
gear(0.5, 2.0, 2.0, 10, 0.7);
glEndList();
gear3 = glGenLists(1);
glNewList(gear3, GL_COMPILE);
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
gear(1.3, 2.0, 0.5, 10, 0.7);
glEndList();
glEnable(GL_NORMALIZE);
/* glEnable(GL_NORMALIZE); */
for ( i=1; i<argc; i++ ) {
if (strcmp(argv[i], "-info")==0) {
@@ -345,7 +333,7 @@ int main(int argc, char *argv[])
glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(300, 300);
glutInitWindowSize(900, 900);
glutCreateWindow("Gears");
init(argc, argv);

View File

@@ -1,4 +1,4 @@
/* $Id: glinfo.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
/* $Id: glinfo.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */
/*
* Print GL, GLU and GLUT version and extension info
@@ -8,23 +8,6 @@
*/
/*
* $Log: glinfo.c,v $
* Revision 1.1 1999/08/19 00:55:40 jtg
* Initial revision
*
* Revision 3.2 1999/02/02 04:45:49 brianp
* include stdio.h before glut.h
*
* Revision 3.1 1998/02/22 16:42:54 brianp
* added casts to prevent compiler warnings
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <GL/glut.h>

View File

@@ -1,4 +1,4 @@
/* $Id: glutfx.c,v 1.2 2000/06/27 17:04:43 brianp Exp $ */
/* $Id: glutfx.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */
/*
* Example of how one might use GLUT with the 3Dfx driver in full-screen mode.
@@ -14,25 +14,6 @@
* Brian Paul This file is in the public domain.
*/
/*
* $Log: glutfx.c,v $
* Revision 1.2 2000/06/27 17:04:43 brianp
* fixed compiler warnings
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.2 1999/03/28 18:18:33 brianp
* minor clean-up
*
* Revision 3.1 1998/06/29 02:37:30 brianp
* minor changes for Windows (Ted Jump)
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <stdlib.h>

View File

@@ -11,7 +11,7 @@
#include <math.h>
#include <time.h>
#ifdef WIN32
#if defined (WIN32)|| defined(_WIN32)
#include <windows.h>
#include <mmsystem.h>
#endif
@@ -186,7 +186,7 @@ inittextures(void)
(gluerr =
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TEX_SKY_WIDTH, TEX_SKY_HEIGHT,
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) (tsky)))) {
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
exit(-1);
}

View File

@@ -1,4 +1,4 @@
/* $Id: isosurf.c,v 1.13 2001/10/04 19:14:26 kschultz Exp $ */
/* $Id: isosurf.c,v 1.15.4.3 2003/04/07 22:27:23 keithw Exp $ */
/*
* Display an isosurface of 3-D wind speed volume.
@@ -32,56 +32,29 @@
#include <math.h>
#ifdef _WIN32
#include <windows.h>
#undef CLIP_MASK
#endif
#define GL_GLEXT_LEGACY
#include "GL/glut.h"
#include "readtex.c" /* I know, this is a hack. KW: me too. */
#include "readtex.c"
#define TEXTURE_FILE "../images/reflect.rgb"
#define LIT 0x1
#define UNLIT 0x2
#define REFLECT 0x10
#define POINT_FILTER 0x40
#define LINEAR_FILTER 0x80
#define GLVERTEX 0x100
#define DRAW_ELTS 0x4
#define DRAW_ARRAYS 0x200
#define ARRAY_ELT 0x400
#define LOCKED 0x800
#define UNLOCKED 0x8
#define IMMEDIATE 0x1000
#define DISPLAYLIST 0x2000000
#define SHADE_SMOOTH 0x2000
#define SHADE_FLAT 0x4000
#define TRIANGLES 0x8000
#define STRIPS 0x10000
#define POINTS 0x20000
#define USER_CLIP 0x40000
#define NO_USER_CLIP 0x80000
#define MATERIALS 0x100000
#define NO_MATERIALS 0x200000
#define FOG 0x400000
#define NO_FOG 0x800000
#define QUIT 0x1000000
#define GLINFO 0x4000000
#define STIPPLE 0x8000000
#define NO_STIPPLE 0x20
#define POINT_FILTER 0x00000008
#define LINEAR_FILTER 0x00000010
#define SHADE_SMOOTH 0x00002000
#define SHADE_FLAT 0x00004000
#define TRIANGLES 0x00008000
#define STRIPS 0x00010000
#define POINTS 0x00020000
#define QUIT 0x01000000
#define GLINFO 0x02000000
#define LIGHT_MASK (LIT|UNLIT|REFLECT)
#define FILTER_MASK (POINT_FILTER|LINEAR_FILTER)
#define RENDER_STYLE_MASK (GLVERTEX|DRAW_ARRAYS|DRAW_ELTS|ARRAY_ELT)
#define DLIST_MASK (IMMEDIATE|DISPLAYLIST)
#define LOCK_MASK (LOCKED|UNLOCKED)
#define MATERIAL_MASK (MATERIALS|NO_MATERIALS)
#define PRIMITIVE_MASK (TRIANGLES|STRIPS|POINTS)
#define CLIP_MASK (USER_CLIP|NO_USER_CLIP)
#define SHADE_MASK (SHADE_SMOOTH|SHADE_FLAT)
#define FOG_MASK (FOG|NO_FOG)
#define STIPPLE_MASK (STIPPLE|NO_STIPPLE)
#define MAXVERTS 10000
static GLuint maxverts = MAXVERTS;
static GLint maxverts = MAXVERTS;
static float data[MAXVERTS][6];
static float compressed_data[MAXVERTS][6];
static float expanded_data[MAXVERTS*3][6];
@@ -143,26 +116,6 @@ static void read_surface( char *filename )
static void print_flags( const char *msg, GLuint flags )
{
fprintf(stderr,
"%s (0x%x): %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
msg, flags,
(flags & GLVERTEX) ? "glVertex, " : "",
(flags & DRAW_ARRAYS) ? "glDrawArrays, " : "",
(flags & DRAW_ELTS) ? "glDrawElements, " : "",
(flags & ARRAY_ELT) ? "glArrayElement, " : "",
(flags & LOCKED) ? "locked arrays, " : "",
(flags & TRIANGLES) ? "GL_TRIANGLES, " : "",
(flags & STRIPS) ? "GL_TRIANGLE_STRIP, " : "",
(flags & POINTS) ? "GL_POINTS, " : "",
(flags & DISPLAYLIST) ? "as a displaylist, " : "",
(flags & LIT) ? "lit, " : "",
(flags & UNLIT) ? "unlit, " : "",
(flags & REFLECT) ? "reflect, " : "",
(flags & SHADE_FLAT) ? "flat-shaded, " : "",
(flags & USER_CLIP) ? "user_clip, " : "",
(flags & MATERIALS) ? "materials, " : "",
(flags & FOG) ? "fog, " : "",
(flags & STIPPLE) ? "stipple, " : "");
}
@@ -333,7 +286,7 @@ static void make_tri_indices( void )
{
unsigned int *v = tri_indices;
unsigned int parity = 0;
unsigned int i, j;
int i, j;
for (j=2;j<numverts;j++,parity^=1) {
if (parity) {
@@ -363,154 +316,39 @@ static void make_tri_indices( void )
#define MIN(x,y) (x < y) ? x : y
static void draw_surface( int with_state )
static void draw_surface( unsigned int with_state )
{
GLuint i, j;
GLint i, j;
if (with_state & DISPLAYLIST) {
if ((with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK|MATERIAL_MASK)) !=
dlist_state) {
/*
*/
fprintf(stderr, "rebuilding displaylist\n");
if (dlist_state)
glDeleteLists( surf1, 1 );
switch (with_state & (PRIMITIVE_MASK)) {
dlist_state = with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK|
MATERIAL_MASK);
surf1 = glGenLists(1);
glNewList(surf1, GL_COMPILE);
draw_surface( dlist_state );
glEndList();
}
glCallList( surf1 );
return;
}
switch (with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK)) {
#ifdef GL_EXT_vertex_array
case (DRAW_ELTS|TRIANGLES):
if (with_state & MATERIALS) {
for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) {
GLuint nr = MIN(num_tri_verts-i, 600);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]);
glDrawElements( GL_TRIANGLES, nr, GL_UNSIGNED_INT, tri_indices+i );
}
} else {
glDrawElements( GL_TRIANGLES, num_tri_verts, GL_UNSIGNED_INT,
tri_indices );
}
break;
case (DRAW_ARRAYS|TRIANGLES):
glDrawArraysEXT( GL_TRIANGLES, 0, (numverts-2)*3 );
break;
case (ARRAY_ELT|TRIANGLES):
if (with_state & MATERIALS) {
for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) {
GLuint nr = MIN(num_tri_verts-i, 600);
GLuint k;
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]);
glBegin( GL_TRIANGLES );
for (k = 0 ; k < nr ; k++)
glArrayElement( tri_indices[i+k] );
glEnd();
}
} else {
glBegin( GL_TRIANGLES );
for (i = 0 ; i < num_tri_verts ; i++)
glArrayElement( tri_indices[i] );
glEnd();
}
break;
/* Uses the original arrays (including duplicate elements):
*/
case (DRAW_ARRAYS|STRIPS):
glDrawArraysEXT( GL_TRIANGLE_STRIP, 0, numverts );
break;
case (DRAW_ELTS|STRIPS):
glDrawElements( GL_TRIANGLE_STRIP, numverts,
GL_UNSIGNED_INT, strip_indices );
break;
/* Uses the original arrays (including duplicate elements):
*/
case (ARRAY_ELT|STRIPS):
glBegin( GL_TRIANGLE_STRIP );
for (i = 0 ; i < numverts ; i++)
glArrayElement( i );
glEnd();
break;
case (DRAW_ARRAYS|POINTS):
glDrawArraysEXT( GL_POINTS, 0, numuniq );
break;
case (DRAW_ELTS|POINTS):
/* can use numuniq with strip_indices as strip_indices[i] == i.
*/
glDrawElements( GL_POINTS, numuniq,
GL_UNSIGNED_INT, strip_indices );
break;
case (ARRAY_ELT|POINTS):
/* just emit each unique element once:
*/
glBegin( GL_POINTS );
for (i = 0 ; i < numuniq ; i++)
glArrayElement( i );
glEnd();
break;
#endif
case (GLVERTEX|TRIANGLES):
if (with_state & MATERIALS) {
for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) {
GLuint nr = MIN(num_tri_verts-i, 600);
GLuint k;
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]);
glBegin( GL_TRIANGLES );
for (k = 0 ; k < nr ; k++) {
glNormal3fv( &compressed_data[tri_indices[i+k]][3] );
glVertex3fv( &compressed_data[tri_indices[i+k]][0] );
}
glEnd();
}
} else {
case (0|TRIANGLES):
glBegin( GL_TRIANGLES );
for (i = 0 ; i < num_tri_verts ; i++) {
glNormal3fv( &compressed_data[tri_indices[i]][3] );
glColor3fv( &compressed_data[tri_indices[i]][3] );
glVertex3fv( &compressed_data[tri_indices[i]][0] );
}
glEnd();
}
break;
case (GLVERTEX|POINTS):
case (0|POINTS):
/* Renders all points, but not in strip order... Shouldn't be a
* problem, but people may be confused as to why points are so
* much faster in this demo... And why cva doesn't help them...
*/
glBegin( GL_POINTS );
for ( i = 0 ; i < numuniq ; i++ ) {
glNormal3fv( &compressed_data[i][3] );
glColor3fv( &compressed_data[i][3] );
glVertex3fv( &compressed_data[i][0] );
}
glEnd();
break;
case (GLVERTEX|STRIPS):
case (0|STRIPS):
glBegin( GL_TRIANGLE_STRIP );
for (i=0;i<numverts;i++) {
glNormal3fv( &data[i][3] );
glColor3fv( &data[i][0] );
glVertex3fv( &data[i][0] );
}
glEnd();
@@ -518,7 +356,7 @@ static void draw_surface( int with_state )
default:
fprintf(stderr, "unimplemented mode %x...\n",
(with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK)));
(with_state & (PRIMITIVE_MASK)));
break;
}
}
@@ -590,24 +428,24 @@ static void InitMaterials(void)
static float lmodel_ambient[] = {1.0, 1.0, 1.0, 1.0};
static float lmodel_twoside[] = {GL_FALSE};
glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
glLightfv(GL_LIGHT0, GL_POSITION, position0);
glEnable(GL_LIGHT0);
/* glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); */
/* glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); */
/* glLightfv(GL_LIGHT0, GL_POSITION, position0); */
/* glEnable(GL_LIGHT0); */
glLightfv(GL_LIGHT1, GL_AMBIENT, ambient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse);
glLightfv(GL_LIGHT1, GL_POSITION, position1);
glEnable(GL_LIGHT1);
/* glLightfv(GL_LIGHT1, GL_AMBIENT, ambient); */
/* glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse); */
/* glLightfv(GL_LIGHT1, GL_POSITION, position1); */
/* glEnable(GL_LIGHT1); */
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
/* glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); */
/* glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside); */
glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_mat_shininess);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_mat_specular);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, front_mat_diffuse);
/* glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_mat_shininess); */
/* glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_mat_specular); */
/* glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, front_mat_diffuse); */
glPolygonStipple (halftone);
/* glPolygonStipple (halftone); */
}
@@ -631,39 +469,6 @@ static void ModeMenu(int m)
return;
}
if (CHANGED(state, m, FILTER_MASK)) {
UPDATE(state, m, FILTER_MASK);
if (m & LINEAR_FILTER) {
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
} else {
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
}
}
if (CHANGED(state, m, LIGHT_MASK)) {
UPDATE(state, m, LIGHT_MASK);
if (m & LIT) {
glEnable(GL_LIGHTING);
glDisable(GL_TEXTURE_GEN_S);
glDisable(GL_TEXTURE_GEN_T);
glDisable(GL_TEXTURE_2D);
}
else if (m & UNLIT) {
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_GEN_S);
glDisable(GL_TEXTURE_GEN_T);
glDisable(GL_TEXTURE_2D);
}
else if (m & REFLECT) {
glDisable(GL_LIGHTING);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glEnable(GL_TEXTURE_2D);
}
}
if (CHANGED(state, m, SHADE_MASK)) {
UPDATE(state, m, SHADE_MASK);
if (m & SHADE_SMOOTH)
@@ -673,130 +478,12 @@ static void ModeMenu(int m)
}
if (CHANGED(state, m, CLIP_MASK)) {
UPDATE(state, m, CLIP_MASK);
if (m & USER_CLIP) {
glEnable(GL_CLIP_PLANE0);
} else {
glDisable(GL_CLIP_PLANE0);
}
if (m & (PRIMITIVE_MASK)) {
UPDATE(state, m, (PRIMITIVE_MASK));
}
if (CHANGED(state, m, FOG_MASK)) {
UPDATE(state, m, FOG_MASK);
if (m & FOG)
{
glEnable(GL_FOG);
}
else
{
glDisable(GL_FOG);
}
}
if (CHANGED(state, m, STIPPLE_MASK)) {
UPDATE(state, m, STIPPLE_MASK);
if (m & STIPPLE)
{
glEnable(GL_POLYGON_STIPPLE);
}
else
{
glDisable(GL_POLYGON_STIPPLE);
}
}
#ifdef GL_EXT_vertex_array
if (CHANGED(state, m, (LOCK_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)))
{
if (m & (PRIMITIVE_MASK)) {
UPDATE(state, m, (PRIMITIVE_MASK));
}
if (m & (RENDER_STYLE_MASK)) {
UPDATE(state, m, (RENDER_STYLE_MASK));
}
if (m & LOCK_MASK) {
UPDATE(state, m, (LOCK_MASK));
}
print_flags("primitive", state & PRIMITIVE_MASK);
print_flags("render style", state & RENDER_STYLE_MASK);
if ((state & PRIMITIVE_MASK) != STRIPS &&
((state & RENDER_STYLE_MASK) == DRAW_ELTS ||
(state & RENDER_STYLE_MASK) == ARRAY_ELT ||
(state & PRIMITIVE_MASK) == POINTS))
{
fprintf(stderr, "enabling small arrays\n");
/* Rendering any primitive with draw-element/array-element
* --> Can't do strips here as ordering has been lost in
* compaction process...
*/
glVertexPointerEXT( 3, GL_FLOAT, sizeof(data[0]), numuniq,
compressed_data );
glNormalPointerEXT( GL_FLOAT, sizeof(data[0]), numuniq,
&compressed_data[0][3]);
#ifdef GL_EXT_compiled_vertex_array
if (allowed & LOCKED) {
if (state & LOCKED) {
glLockArraysEXT( 0, numuniq );
} else {
glUnlockArraysEXT();
}
}
#endif
}
else if ((state & PRIMITIVE_MASK) == TRIANGLES &&
(state & RENDER_STYLE_MASK) == DRAW_ARRAYS) {
fprintf(stderr, "enabling big arrays\n");
/* Only get here for TRIANGLES and drawarrays
*/
glVertexPointerEXT( 3, GL_FLOAT, sizeof(data[0]), (numverts-2) * 3,
expanded_data );
glNormalPointerEXT( GL_FLOAT, sizeof(data[0]), (numverts-2) * 3,
&expanded_data[0][3]);
#ifdef GL_EXT_compiled_vertex_array
if (allowed & LOCKED) {
if (state & LOCKED) {
glLockArraysEXT( 0, (numverts-2)*3 );
} else {
glUnlockArraysEXT();
}
}
#endif
}
else {
fprintf(stderr, "enabling normal arrays\n");
glVertexPointerEXT( 3, GL_FLOAT, sizeof(data[0]), numverts, data );
glNormalPointerEXT( GL_FLOAT, sizeof(data[0]), numverts, &data[0][3]);
#ifdef GL_EXT_compiled_vertex_array
if (allowed & LOCKED) {
if (state & LOCKED) {
glLockArraysEXT( 0, numverts );
} else {
glUnlockArraysEXT();
}
}
#endif
}
}
#endif
if (m & DLIST_MASK) {
UPDATE(state, m, DLIST_MASK);
}
if (m & MATERIAL_MASK) {
UPDATE(state, m, MATERIAL_MASK);
}
print_flags("new flags", state);
glutPostRedisplay();
}
@@ -816,9 +503,9 @@ static void Init(int argc, char *argv[])
plane[3] = 0.0;
glClearColor(0.0, 0.0, 1.0, 0.0);
glEnable( GL_DEPTH_TEST );
glEnable( GL_VERTEX_ARRAY_EXT );
glEnable( GL_NORMAL_ARRAY_EXT );
/* glEnable( GL_DEPTH_TEST ); */
/* glEnable( GL_VERTEX_ARRAY_EXT ); */
/* glEnable( GL_NORMAL_ARRAY_EXT ); */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
@@ -826,24 +513,24 @@ static void Init(int argc, char *argv[])
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClipPlane(GL_CLIP_PLANE0, plane);
/* glClipPlane(GL_CLIP_PLANE0, plane); */
InitMaterials();
set_matrix();
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
/* glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); */
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
/* glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); */
/* glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); */
/* Green fog is easy to see */
glFogi(GL_FOG_MODE,GL_EXP2);
glFogfv(GL_FOG_COLOR,fogColor);
glFogf(GL_FOG_DENSITY,0.15);
glHint(GL_FOG_HINT,GL_DONT_CARE);
/* glFogi(GL_FOG_MODE,GL_EXP2); */
/* glFogfv(GL_FOG_COLOR,fogColor); */
/* glFogf(GL_FOG_DENSITY,0.15); */
/* glHint(GL_FOG_HINT,GL_DONT_CARE); */
{
static int firsttime = 1;
@@ -853,24 +540,17 @@ static void Init(int argc, char *argv[])
expand_arrays();
make_tri_indices();
if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
printf("Error: couldn't load texture image\n");
exit(1);
}
/* if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) { */
/* printf("Error: couldn't load texture image\n"); */
/* exit(1); */
/* } */
}
}
ModeMenu(SHADE_SMOOTH|
LIT|
POINT_FILTER|
NO_USER_CLIP|
NO_MATERIALS|
NO_FOG|
NO_STIPPLE|
IMMEDIATE|
STRIPS|
UNLOCKED|
GLVERTEX);
TRIANGLES|
0);
if (PrintInfo) {
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
@@ -896,30 +576,9 @@ static void Key( unsigned char key, int x, int y )
switch (key) {
case 27:
exit(0);
case 'f':
ModeMenu((state ^ FOG_MASK) & FOG_MASK);
break;
case 's':
ModeMenu((state ^ SHADE_MASK) & SHADE_MASK);
break;
case 't':
ModeMenu((state ^ STIPPLE_MASK) & STIPPLE_MASK);
break;
case 'l':
ModeMenu((state ^ LIGHT_MASK) & (LIT|UNLIT));
break;
case 'm':
ModeMenu((state ^ MATERIAL_MASK) & MATERIAL_MASK);
break;
case 'c':
ModeMenu((state ^ CLIP_MASK) & CLIP_MASK);
break;
case 'v':
ModeMenu((LOCKED|IMMEDIATE|DRAW_ELTS|TRIANGLES) & allowed);
break;
case 'V':
ModeMenu(UNLOCKED|IMMEDIATE|GLVERTEX|STRIPS);
break;
case 'b':
Benchmark(5.0, 0);
break;
@@ -936,24 +595,6 @@ static void Key( unsigned char key, int x, int y )
set_matrix();
glutPostRedisplay();
break;
case '-':
case '_':
plane[3] += 2.0;
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClipPlane(GL_CLIP_PLANE0, plane);
set_matrix();
glutPostRedisplay();
break;
case '+':
case '=':
plane[3] -= 2.0;
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClipPlane(GL_CLIP_PLANE0, plane);
set_matrix();
glutPostRedisplay();
break;
case ' ':
Init(0,0);
break;
@@ -1047,16 +688,6 @@ int main(int argc, char **argv)
/* Make sure server supports the vertex array extension */
extensions = (char *) glGetString( GL_EXTENSIONS );
if (!strstr( extensions, "GL_EXT_vertex_array" ))
{
printf("Vertex arrays not supported by this renderer\n");
allowed &= ~(LOCKED|DRAW_ARRAYS|DRAW_ELTS|ARRAY_ELT);
}
else if (!strstr( extensions, "GL_EXT_compiled_vertex_array" ))
{
printf("Compiled vertex arrays not supported by this renderer\n");
allowed &= ~LOCKED;
}
Init(argc, argv);
ModeMenu(arg_mode);
@@ -1064,40 +695,15 @@ int main(int argc, char **argv)
glutCreateMenu(ModeMenu);
glutAddMenuEntry("GL info", GLINFO);
glutAddMenuEntry("", 0);
glutAddMenuEntry("Lit", LIT);
glutAddMenuEntry("Unlit", UNLIT);
glutAddMenuEntry("Reflect", REFLECT);
glutAddMenuEntry("", 0);
glutAddMenuEntry("Smooth", SHADE_SMOOTH);
glutAddMenuEntry("Flat", SHADE_FLAT);
glutAddMenuEntry("", 0);
glutAddMenuEntry("Fog", FOG);
glutAddMenuEntry("No Fog", NO_FOG);
glutAddMenuEntry("", 0);
glutAddMenuEntry("Stipple", STIPPLE);
glutAddMenuEntry("No Stipple", NO_STIPPLE);
glutAddMenuEntry("", 0);
glutAddMenuEntry("Point Filtered", POINT_FILTER);
glutAddMenuEntry("Linear Filtered", LINEAR_FILTER);
glutAddMenuEntry("", 0);
glutAddMenuEntry("GL_TRIANGLES", TRIANGLES);
glutAddMenuEntry("GL_TRIANGLE_STRIPS", STRIPS);
glutAddMenuEntry("GL_POINTS", POINTS);
glutAddMenuEntry("", 0);
glutAddMenuEntry("Displaylist", DISPLAYLIST);
glutAddMenuEntry("Immediate", IMMEDIATE);
glutAddMenuEntry("", 0);
if (allowed & LOCKED) {
glutAddMenuEntry("Locked Arrays (CVA)", LOCKED);
glutAddMenuEntry("Unlocked Arrays", UNLOCKED);
glutAddMenuEntry("", 0);
}
glutAddMenuEntry("glVertex", GLVERTEX);
if (allowed & DRAW_ARRAYS) {
glutAddMenuEntry("glDrawElements", DRAW_ELTS);
glutAddMenuEntry("glDrawArrays", DRAW_ARRAYS);
glutAddMenuEntry("glArrayElement", ARRAY_ELT);
}
glutAddMenuEntry("", 0);
glutAddMenuEntry("Quit", QUIT);
glutAttachMenu(GLUT_RIGHT_BUTTON);
@@ -1107,6 +713,9 @@ int main(int argc, char **argv)
glutSpecialFunc(SpecialKey);
glutDisplayFunc(Display);
Benchmark(5,0);
Benchmark(5,0);
Benchmark(5,0);
glutMainLoop();
return 0;
}

View File

@@ -1,4 +1,4 @@
/* $Id: multiarb.c,v 1.10 2001/06/20 19:12:30 brianp Exp $ */
/* $Id: multiarb.c,v 1.11 2002/02/13 02:23:33 brianp Exp $ */
/*
* GL_ARB_multitexture demo
@@ -8,72 +8,7 @@
*
*
* Brian Paul November 1998 This program is in the public domain.
*/
/*
* $Log: multiarb.c,v $
* Revision 1.10 2001/06/20 19:12:30 brianp
* also print GL_MAX_TEXTURE_SIZE
*
* Revision 1.9 2001/06/13 14:33:16 brianp
* moved glTexEnvi calls to better logical locations
*
* Revision 1.8 2000/12/24 22:53:54 pesco
* * 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.
*
* Revision 1.7 2000/11/01 16:02:01 brianp
* print number of texture units
*
* Revision 1.6 2000/05/23 23:21:00 brianp
* set default window pos
*
* Revision 1.5 2000/02/02 17:31:45 brianp
* changed > to >=
*
* Revision 1.4 2000/02/02 01:07:21 brianp
* limit Drift to [0, 1]
*
* Revision 1.3 1999/10/21 16:40:32 brianp
* added -info command line option
*
* Revision 1.2 1999/10/13 12:02:13 brianp
* use texture objects now
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 1.3 1999/03/28 18:20:49 brianp
* minor clean-up
*
* Revision 1.2 1998/11/05 04:34:04 brianp
* moved image files to ../images/ directory
*
* Revision 1.1 1998/11/03 01:36:33 brianp
* Initial revision
*
* Modified on 12 Feb 2002 for > 2 texture units.
*/
@@ -89,12 +24,13 @@
#define TEXTURE_2_FILE "../images/reflect.rgb"
#define TEX0 1
#define TEX1 2
#define TEXBOTH 3
#define TEX7 8
#define ANIMATE 10
#define QUIT 100
static GLboolean Animate = GL_TRUE;
static GLint NumUnits = 1;
static GLboolean TexEnabled[8];
static GLfloat Drift = 0.0;
static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
@@ -104,24 +40,30 @@ static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
static void Idle( void )
{
if (Animate) {
GLint i;
Drift += 0.05;
if (Drift >= 1.0)
Drift = 0.0;
#ifdef GL_ARB_multitexture
glActiveTextureARB(GL_TEXTURE0_ARB);
#endif
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glTranslatef(Drift, 0.0, 0.0);
glMatrixMode(GL_MODELVIEW);
#ifdef GL_ARB_multitexture
glActiveTextureARB(GL_TEXTURE1_ARB);
#endif
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glTranslatef(0.0, Drift, 0.0);
for (i = 0; i < NumUnits; i++) {
glActiveTextureARB(GL_TEXTURE0_ARB + i);
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
if (i == 0) {
glTranslatef(Drift, 0.0, 0.0);
glScalef(2, 2, 2);
}
else if (i == 1) {
glTranslatef(0.0, Drift, 0.0);
}
else {
glTranslatef(0.5, 0.5, 0.0);
glRotatef(180.0 * Drift, 0, 0, 1);
glScalef(1.0/i, 1.0/i, 1.0/i);
glTranslatef(-0.5, -0.5, 0.0);
}
}
glMatrixMode(GL_MODELVIEW);
glutPostRedisplay();
@@ -131,37 +73,30 @@ static void Idle( void )
static void DrawObject(void)
{
GLint i;
if (!TexEnabled[0] && !TexEnabled[1])
glColor3f(0.1, 0.1, 0.1); /* add onto this */
else
glColor3f(1, 1, 1); /* modulate this */
glBegin(GL_QUADS);
#ifdef GL_ARB_multitexture
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 0.0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 0.0);
for (i = 0; i < NumUnits; i++)
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 0.0);
glVertex2f(-1.0, -1.0);
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 0.0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 0.0);
for (i = 0; i < NumUnits; i++)
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 0.0);
glVertex2f(1.0, -1.0);
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 2.0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 1.0);
for (i = 0; i < NumUnits; i++)
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 1.0);
glVertex2f(1.0, 1.0);
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 2.0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 1.0);
for (i = 0; i < NumUnits; i++)
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 1.0);
glVertex2f(-1.0, 1.0);
#else
glTexCoord2f(0.0, 0.0);
glVertex2f(-1.0, -1.0);
glTexCoord2f(1.0, 0.0);
glVertex2f(1.0, -1.0);
glTexCoord2f(1.0, 1.0);
glVertex2f(1.0, 1.0);
glTexCoord2f(0.0, 1.0);
glVertex2f(-1.0, 1.0);
#endif
glEnd();
}
@@ -199,16 +134,19 @@ static void Reshape( int width, int height )
static void ModeMenu(int entry)
{
GLboolean enable0 = GL_FALSE, enable1 = GL_FALSE;
if (entry==TEX0) {
enable0 = GL_TRUE;
}
else if (entry==TEX1) {
enable1 = GL_TRUE;
}
else if (entry==TEXBOTH) {
enable0 = GL_TRUE;
enable1 = GL_TRUE;
if (entry >= TEX0 && entry <= TEX7) {
/* toggle */
GLint i = entry - TEX0;
TexEnabled[i] = !TexEnabled[i];
glActiveTextureARB(GL_TEXTURE0_ARB + i);
if (TexEnabled[i])
glEnable(GL_TEXTURE_2D);
else
glDisable(GL_TEXTURE_2D);
printf("Enabled: ");
for (i = 0; i < NumUnits; i++)
printf("%d ", (int) TexEnabled[i]);
printf("\n");
}
else if (entry==ANIMATE) {
Animate = !Animate;
@@ -217,26 +155,6 @@ static void ModeMenu(int entry)
exit(0);
}
if (entry != ANIMATE) {
#ifdef GL_ARB_multitexture
glActiveTextureARB(GL_TEXTURE0_ARB);
#endif
if (enable0) {
glEnable(GL_TEXTURE_2D);
}
else
glDisable(GL_TEXTURE_2D);
#ifdef GL_ARB_multitexture
glActiveTextureARB(GL_TEXTURE1_ARB);
#endif
if (enable1) {
glEnable(GL_TEXTURE_2D);
}
else
glDisable(GL_TEXTURE_2D);
}
glutPostRedisplay();
}
@@ -280,8 +198,8 @@ static void SpecialKey( int key, int x, int y )
static void Init( int argc, char *argv[] )
{
GLuint texObj[2];
GLint units, size;
GLuint texObj[8];
GLint size, i;
const char *exten = (const char *) glGetString(GL_EXTENSIONS);
if (!strstr(exten, "GL_ARB_multitexture")) {
@@ -289,64 +207,82 @@ static void Init( int argc, char *argv[] )
exit(1);
}
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &units);
printf("%d texture units supported\n", units);
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumUnits);
printf("%d texture units supported\n", NumUnits);
if (NumUnits > 8)
NumUnits = 8;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size);
printf("%d x %d max texture size\n", size, size);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
for (i = 0; i < NumUnits; i++) {
if (i < 2)
TexEnabled[i] = GL_TRUE;
else
TexEnabled[i] = GL_FALSE;
}
/* allocate two texture objects */
glGenTextures(2, texObj);
glGenTextures(NumUnits, texObj);
/* setup texture obj 0 */
glBindTexture(GL_TEXTURE_2D, texObj[0]);
#ifdef LINEAR_FILTER
/* linear filtering looks much nicer but is much slower for Mesa */
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
#else
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
#endif
if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
printf("Error: couldn't load texture image\n");
exit(1);
/* setup the texture objects */
for (i = 0; i < NumUnits; i++) {
glActiveTextureARB(GL_TEXTURE0_ARB + i);
glBindTexture(GL_TEXTURE_2D, texObj[i]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
if (i == 0) {
if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
printf("Error: couldn't load texture image\n");
exit(1);
}
}
else if (i == 1) {
if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) {
printf("Error: couldn't load texture image\n");
exit(1);
}
}
else {
/* checker */
GLubyte image[8][8][3];
GLint i, j;
for (i = 0; i < 8; i++) {
for (j = 0; j < 8; j++) {
if ((i + j) & 1) {
image[i][j][0] = 50;
image[i][j][1] = 50;
image[i][j][2] = 50;
}
else {
image[i][j][0] = 25;
image[i][j][1] = 25;
image[i][j][2] = 25;
}
}
}
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 8, 8, 0,
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) image);
}
/* Bind texObj[i] to ith texture unit */
if (i < 2)
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
else
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
if (TexEnabled[i])
glEnable(GL_TEXTURE_2D);
}
/* setup texture obj 1 */
glBindTexture(GL_TEXTURE_2D, texObj[1]);
#ifdef LINEAR_FILTER
/* linear filtering looks much nicer but is much slower for Mesa */
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
#else
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
#endif
if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) {
printf("Error: couldn't load texture image\n");
exit(1);
}
/* now bind the texture objects to the respective texture units */
#ifdef GL_ARB_multitexture
glActiveTextureARB(GL_TEXTURE0_ARB);
glBindTexture(GL_TEXTURE_2D, texObj[0]);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glActiveTextureARB(GL_TEXTURE1_ARB);
glBindTexture(GL_TEXTURE_2D, texObj[1]);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
#endif
glShadeModel(GL_FLAT);
glClearColor(0.3, 0.3, 0.4, 1.0);
ModeMenu(TEXBOTH);
if (argc > 1 && strcmp(argv[1], "-info")==0) {
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
@@ -358,6 +294,8 @@ static void Init( int argc, char *argv[] )
int main( int argc, char *argv[] )
{
GLint i;
glutInit( &argc, argv );
glutInitWindowSize( 300, 300 );
glutInitWindowPosition( 0, 0 );
@@ -373,9 +311,12 @@ int main( int argc, char *argv[] )
glutIdleFunc( Idle );
glutCreateMenu(ModeMenu);
glutAddMenuEntry("Texture 0", TEX0);
glutAddMenuEntry("Texture 1", TEX1);
glutAddMenuEntry("Multi-texture", TEXBOTH);
for (i = 0; i < NumUnits; i++) {
char s[100];
sprintf(s, "Toggle Texture %d", i);
glutAddMenuEntry(s, TEX0 + i);
}
glutAddMenuEntry("Toggle Animation", ANIMATE);
glutAddMenuEntry("Quit", QUIT);
glutAttachMenu(GLUT_RIGHT_BUTTON);

View File

@@ -1,4 +1,4 @@
/* $Id: osdemo.c,v 1.7 2001/09/24 15:29:27 kschultz Exp $ */
/* $Id: osdemo.c,v 1.9 2002/07/12 15:54:19 brianp Exp $ */
/*
* Demo of off-screen Mesa rendering
@@ -14,11 +14,17 @@
*
* PPM output provided by Joerg Schmalzl.
* ASCII PPM output added by Brian Paul.
*
* Usage: osdemo [-perf] [filename]
*
* -perf: Redraws the image 1000 times, displaying the FPS every 5 secs.
* filename: file to store the TGA or PPM output
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "GL/osmesa.h"
#include "GL/glut.h"
@@ -29,7 +35,9 @@
#define WIDTH 400
#define HEIGHT 400
static GLint T0 = 0;
static GLint Frames = 0;
static int perf = 0;
static void render_image( void )
{
@@ -76,7 +84,7 @@ static void render_image( void )
glPopMatrix();
#ifdef GL_HP_occlusion_test
{
if (perf == 0) {
GLboolean bRet;
glDepthMask(GL_FALSE);
glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE);
@@ -105,7 +113,7 @@ static void render_image( void )
glPopMatrix();
#ifdef GL_HP_occlusion_test
{
if (perf == 0){
GLboolean bRet;
glDepthMask(GL_FALSE);
@@ -130,9 +138,22 @@ static void render_image( void )
#endif
glPopMatrix();
Frames++;
if (perf) {
GLint t = glutGet(GLUT_ELAPSED_TIME);
if (t - T0 >= 5000) {
GLfloat seconds = (t - T0) / 1000.0;
GLfloat fps = Frames / seconds;
printf("%d frames in %6.3f seconds = %6.3f FPS\n", Frames, seconds, fps);
T0 = t;
Frames = 0;
}
}
}
#ifdef SAVE_TARGA
static void
write_targa(const char *filename, const GLubyte *buffer, int width, int height)
@@ -173,6 +194,7 @@ write_targa(const char *filename, const GLubyte *buffer, int width, int height)
}
}
#else
static void
write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
@@ -219,11 +241,15 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
}
}
#endif
int main( int argc, char *argv[] )
{
void *buffer;
int i;
char *filename = NULL;
/* Create an RGBA-mode context */
#if OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 305
@@ -237,6 +263,11 @@ int main( int argc, char *argv[] )
return 0;
}
for ( i=1; i<argc; i++ ) {
if (argv[i][0] != '-') filename = argv[i];
if (strcmp(argv[i], "-perf")==0) perf = 1;
}
/* Allocate the image buffer */
buffer = malloc( WIDTH * HEIGHT * 4 * sizeof(GLubyte) );
if (!buffer) {
@@ -256,16 +287,19 @@ int main( int argc, char *argv[] )
glGetIntegerv(GL_DEPTH_BITS, &z);
glGetIntegerv(GL_STENCIL_BITS, &s);
glGetIntegerv(GL_ACCUM_RED_BITS, &a);
printf("%d %d %d\n", z, s, a);
printf("Depth=%d Stencil=%d Accum=%d\n", z, s, a);
}
render_image();
if (perf)
for(i=0; i< 1000; i++)
render_image();
if (argc>1) {
if (filename != NULL) {
#ifdef SAVE_TARGA
write_targa(argv[1], buffer, WIDTH, HEIGHT);
write_targa(filename, buffer, WIDTH, HEIGHT);
#else
write_ppm(argv[1], buffer, WIDTH, HEIGHT);
write_ppm(filename, buffer, WIDTH, HEIGHT);
#endif
}
else {

View File

@@ -1,4 +1,4 @@
/* $Id: paltex.c,v 1.6 2000/10/05 07:17:43 joukj Exp $ */
/* $Id: paltex.c,v 1.9 2002/07/22 13:45:31 brianp Exp $ */
/*
* Paletted texture demo. Written by Brian Paul.
@@ -9,6 +9,9 @@
#include <stdlib.h>
#include <math.h>
#include <string.h>
#ifdef _WIN32
#include <windows.h>
#endif
#define GL_GLEXT_LEGACY
#include <GL/glut.h>
@@ -91,15 +94,16 @@ static void Init( void )
{
#define HEIGHT 8
#define WIDTH 32
static char texture[HEIGHT][WIDTH] = {
" ",
" MMM EEEE SSS AAA ",
" M M M E S S A A ",
" M M M EEEE SS A A ",
" M M M E SS AAAAA ",
" M M E S S A A ",
" M M EEEE SSS A A ",
" "
/* 257 = HEIGHT * WIDTH + 1 (for trailing '\0') */
static char texture[257] = {"\
\
MMM EEEE SSS AAA \
M M M E S S A A \
M M M EEEE SS A A \
M M M E SS AAAAA \
M M E S S A A \
M M EEEE SSS A A \
"
};
GLubyte table[256][4];
@@ -158,7 +162,7 @@ static void Init( void )
0, /* border */
GL_COLOR_INDEX, /* texture format */
GL_UNSIGNED_BYTE, /* texture type */
texture); /* teh texture */
texture); /* the texture */
#endif
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);

View File

@@ -11,33 +11,13 @@
is present , the particle size is attenuated based on eye distance. */
/*
* $Log: pointblast.c,v $
* Revision 1.2 2000/06/27 17:04:43 brianp
* fixed compiler warnings
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.3 1998/07/26 01:24:27 brianp
* removed include of gl.h
*
* Revision 3.2 1998/02/14 18:51:46 brianp
* fixed a small compiler warning
*
* Revision 3.1 1998/02/14 18:45:25 brianp
* optimized to use flat shading, don't blend ground polygon
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h> /* for cos(), sin(), and sqrt() */
#ifdef _WIN32
#include <windows.h>
#endif
#define GL_GLEXT_LEGACY
#include <GL/glut.h>

View File

@@ -11,15 +11,20 @@
#include <math.h>
#include <time.h>
#include <GL/glut.h>
#ifndef M_PI
#define M_PI 3.14159265
#endif
#include "particles.h"
extern "C" {
#include "image.h"
#include "readtex.h"
}
#ifdef WIN32
#ifdef _WIN32
#include <windows.h>
#include <mmsystem.h>
#include "particles.cxx"
#include "readtex.c"
#endif
#ifdef XMESA
@@ -297,20 +302,21 @@ static void key(unsigned char key, int x, int y)
static void inittextures(void)
{
IMAGE *img;
GLubyte *img;
GLint width,height;
GLenum format;
GLenum gluerr;
glGenTextures(1,&groundid);
glBindTexture(GL_TEXTURE_2D,groundid);
if(!(img=ImageLoad("s128.rgb"))) {
fprintf(stderr,"Error reading a texture.\n");
exit(-1);
if(!(img=LoadRGBImage("../images/s128.rgb",&width,&height,&format))){
fprintf(stderr,"Error reading a texture.\n");
exit(-1);
}
glPixelStorei(GL_UNPACK_ALIGNMENT,4);
if((gluerr=(GLenum)gluBuild2DMipmaps(GL_TEXTURE_2D, 3, img->sizeX, img->sizeY, GL_RGB,
GL_UNSIGNED_BYTE, (GLvoid *)(img->data)))) {
if((gluerr=(GLenum)gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height,GL_RGB,
GL_UNSIGNED_BYTE, (GLvoid *)(img)))) {
fprintf(stderr,"GLULib%s\n",gluErrorString(gluerr));
exit(-1);
}

View File

@@ -8,6 +8,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#ifdef WIN32

View File

@@ -1,4 +1,4 @@
/* $Id: readpix.c,v 1.4 2000/10/16 21:24:39 brianp Exp $ */
/* $Id: readpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */
/*
* glReadPixels and glCopyPixels test
@@ -6,23 +6,6 @@
* Brian Paul March 1, 2000 This file is in the public domain.
*/
/*
* $Log: readpix.c,v $
* Revision 1.4 2000/10/16 21:24:39 brianp
* use gray background, memset TempImage to white to help with debugging
*
* Revision 1.3 2000/03/31 01:01:31 brianp
* tweaks to allow different read formats/types
*
* Revision 1.2 2000/03/23 19:47:25 brianp
* added benchmarking
*
* Revision 1.1 2000/03/01 16:23:14 brianp
* test glDraw/Read/CopyPixels()
*
*/
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
@@ -173,6 +156,8 @@ Display( void )
if (!DrawFront)
glutSwapBuffers();
else
glFinish();
}
@@ -234,7 +219,7 @@ Init( GLboolean ciMode )
if (ciMode) {
/* Convert RGB image to grayscale */
GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
GLint i;
for (i=0; i<ImgWidth*ImgHeight; i++) {
int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];

View File

@@ -1,12 +1,14 @@
/* $Id: shadowtex.c,v 1.4 2001/02/28 18:41:50 brianp Exp $ */
/* $Id: shadowtex.c,v 1.7 2002/07/12 15:54:02 brianp Exp $ */
/*
* Shadow demo using the GL_SGIX_depth_texture, GL_SGIX_shadow and
* GL_SGIX_shadow_ambient extensions.
* Shadow demo using the GL_ARB_depth_texture, GL_ARB_shadow and
* GL_ARB_shadow_ambient extensions (or the old SGIX extensions).
*
* Brian Paul
* 19 Feb 2001
*
* Added GL_EXT_shadow_funcs support on 23 March 2002
*
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -35,6 +37,12 @@
#include <GL/glut.h>
#include "../util/showbuffer.c"
#if 0 /* change to 1 if you want to use the old SGIX extensions */
#undef GL_ARB_depth_texture
#undef GL_ARB_shadow
#undef GL_ARB_shadow_ambient
#endif
#define DEG_TO_RAD (3.14159 / 180.0)
@@ -61,6 +69,16 @@ static GLfloat Bias = -0.06;
static GLboolean Anim = GL_TRUE;
static GLboolean HaveEXTshadowFuncs = GL_FALSE;
static GLint Operator = 0;
static const GLenum OperatorFunc[8] = {
GL_LEQUAL, GL_LESS, GL_GEQUAL, GL_GREATER,
GL_EQUAL, GL_NOTEQUAL, GL_ALWAYS, GL_NEVER };
static const char *OperatorName[8] = {
"GL_LEQUAL", "GL_LESS", "GL_GEQUAL", "GL_GREATER",
"GL_EQUAL", "GL_NOTEQUAL", "GL_ALWAYS", "GL_NEVER" };
static GLuint DisplayMode;
#define SHOW_NORMAL 0
#define SHOW_DEPTH_IMAGE 1
@@ -231,6 +249,7 @@ Display(void)
{
GLfloat ar = (GLfloat) WindowWidth / (GLfloat) WindowHeight;
GLfloat d;
GLenum error;
ComputeLightPos(LightDist, LightLatitude, LightLongitude,
LightPos, SpotDir);
@@ -257,8 +276,8 @@ Display(void)
*/
if (DisplayMode == SHOW_DEPTH_MAPPING) {
/* load depth image as gray-scale luminance texture */
GLfloat *depth = malloc(ShadowTexWidth * ShadowTexHeight
* sizeof(GLfloat));
GLfloat *depth = (GLfloat *) malloc(ShadowTexWidth * ShadowTexHeight
* sizeof(GLfloat));
if (depth) {
glReadPixels(0, 0, ShadowTexWidth, ShadowTexHeight,
GL_DEPTH_COMPONENT, GL_FLOAT, depth);
@@ -302,7 +321,11 @@ Display(void)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
}
if (DisplayMode == SHOW_DEPTH_MAPPING) {
#if defined(GL_ARB_shadow)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB, GL_NONE);
#elif defined(GL_SGIX_shadow)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_FALSE);
#endif
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glEnable(GL_TEXTURE_2D);
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
@@ -318,7 +341,12 @@ Display(void)
}
else {
assert(DisplayMode == SHOW_NORMAL);
#if defined(GL_ARB_shadow)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB,
GL_COMPARE_R_TO_TEXTURE_ARB);
#elif defined(GL_SGIX_shadow)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_TRUE);
#endif
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glEnable(GL_TEXTURE_2D);
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
@@ -331,6 +359,11 @@ Display(void)
}
glutSwapBuffers();
error = glGetError();
if (error) {
printf("GL Error: %s\n", gluErrorString(error));
}
}
@@ -400,6 +433,16 @@ Key(unsigned char key, int x, int y)
case ' ':
DisplayMode = SHOW_NORMAL;
break;
case 'o':
if (HaveEXTshadowFuncs) {
Operator++;
if (Operator >= 8)
Operator = 0;
printf("Operator: %s\n", OperatorName[Operator]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB,
OperatorFunc[Operator]);
}
break;
case 'z':
Zrot -= step;
break;
@@ -454,11 +497,22 @@ SpecialKey(int key, int x, int y)
static void
Init(void)
{
#if defined(GL_ARB_depth_texture) && defined(GL_ARB_shadow)
if (!glutExtensionSupported("GL_ARB_depth_texture") ||
!glutExtensionSupported("GL_ARB_shadow")) {
printf("Sorry, this demo requires the GL_ARB_depth_texture and GL_ARB_shadow extensions\n");
exit(1);
}
printf("Using GL_ARB_depth_texture and GL_ARB_shadow\n");
#elif defined(GL_SGIX_depth_texture) && defined(GL_SGIX_shadow)
if (!glutExtensionSupported("GL_SGIX_depth_texture") ||
!glutExtensionSupported("GL_SGIX_shadow")) {
printf("Sorry, this demo requires the GL_SGIX_depth_texture and GL_SGIX_shadow extensions\n");
exit(1);
}
printf("Using GL_SGIX_depth_texture and GL_SGIX_shadow\n");
#endif
HaveEXTshadowFuncs = glutExtensionSupported("GL_EXT_shadow_funcs");
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
@@ -466,13 +520,25 @@ Init(void)
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
#ifdef GL_SGIX_shadow
#if defined(GL_ARB_shadow)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB,
GL_COMPARE_R_TO_TEXTURE_ARB);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB, GL_LEQUAL);
#elif defined(GL_SGIX_shadow)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_OPERATOR_SGIX,
GL_TEXTURE_LEQUAL_R_SGIX);
#endif
#ifdef GL_SGIX_shadow_ambient
if (glutExtensionSupported("GL_SGIX_shadow_ambient"))
#if defined(GL_ARB_shadow_ambient)
if (glutExtensionSupported("GL_ARB_shadow_ambient")) {
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FAIL_VALUE_ARB, 0.3);
printf("and GL_ARB_shadow_ambient\n");
}
#elif defined(GL_SGIX_shadow_ambient)
if (glutExtensionSupported("GL_SGIX_shadow_ambient")) {
glTexParameterf(GL_TEXTURE_2D, GL_SHADOW_AMBIENT_SGIX, 0.3);
printf("and GL_SGIX_shadow_ambient\n");
}
#endif
/* setup 1-D grayscale texture image for SHOW_DISTANCE mode */
@@ -504,6 +570,8 @@ PrintHelp(void)
printf(" b/B = decrease/increase shadow map Z bias\n");
printf(" cursor keys = rotate scene\n");
printf(" <shift> + cursor keys = rotate light source\n");
if (HaveEXTshadowFuncs)
printf(" o = cycle through comparison modes\n");
}

View File

@@ -1,4 +1,4 @@
/* $Id: spectex.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
/* $Id: spectex.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */
/*
* GLUT demonstration of texturing with specular highlights.
@@ -17,24 +17,6 @@
* Brian Paul February 1997
*/
/*
* $Log: spectex.c,v $
* Revision 1.1 1999/08/19 00:55:40 jtg
* Initial revision
*
* Revision 3.2 1999/03/28 18:22:05 brianp
* minor clean-up
*
* Revision 3.1 1998/02/14 18:47:48 brianp
* added OpenGL 1.2 separate specular interpolation support
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

File diff suppressed because it is too large Load Diff

View File

@@ -11,6 +11,7 @@
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#ifdef WIN32
@@ -50,7 +51,7 @@ static GLfloat terraincolor[256 * 256][3];
static int win = 0;
static int fog = 1;
static int fog = 0;
static int bfcull = 1;
static int usetex = 1;
static int poutline = 0;
@@ -104,6 +105,21 @@ calcposobs(void)
obs[1] = 0.0;
}
static void
perspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
{
GLdouble xmin, xmax, ymin, ymax;
ymax = zNear * tan(fovy * M_PI / 360.0);
ymin = -ymax;
xmin = ymin * aspect;
xmax = ymax * aspect;
/* don't call glFrustum() because of error semantics (covglu) */
glFrustum(xmin, xmax, ymin, ymax, zNear, zFar);
}
static void
reshape(int width, int height)
{
@@ -112,7 +128,7 @@ reshape(int width, int height)
glViewport(0, 0, (GLint) width, (GLint) height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(50.0, ((GLfloat) width / (GLfloat) height),
perspective(50.0, ((GLfloat) width / (GLfloat) height),
lenghtXmnt * stepYmnt * 0.01, lenghtXmnt * stepYmnt * 0.7);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
@@ -208,13 +224,25 @@ printstring(void *font, char *string)
glutBitmapCharacter(font, string[i]);
}
static void _subset_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
{
glBegin( GL_QUADS );
glVertex2f( x1, y1 );
glVertex2f( x2, y1 );
glVertex2f( x2, y2 );
glVertex2f( x1, y2 );
glEnd();
}
static void
printhelp(void)
{
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(0.0, 0.0, 0.0, 0.5);
glRecti(40, 40, 600, 440);
_subset_Rectf(40, 40, 600, 440);
glDisable(GL_BLEND);
glColor3f(1.0, 0.0, 0.0);
@@ -350,6 +378,87 @@ dojoy(void)
#endif
}
static void
lookAt(GLfloat eyex, GLfloat eyey, GLfloat eyez,
GLfloat centerx, GLfloat centery, GLfloat centerz,
GLfloat upx, GLfloat upy, GLfloat upz)
{
GLfloat m[16];
GLfloat x[3], y[3], z[3];
GLfloat mag;
/* Make rotation matrix */
/* Z vector */
z[0] = eyex - centerx;
z[1] = eyey - centery;
z[2] = eyez - centerz;
mag = sqrt(z[0] * z[0] + z[1] * z[1] + z[2] * z[2]);
if (mag) { /* mpichler, 19950515 */
z[0] /= mag;
z[1] /= mag;
z[2] /= mag;
}
/* Y vector */
y[0] = upx;
y[1] = upy;
y[2] = upz;
/* X vector = Y cross Z */
x[0] = y[1] * z[2] - y[2] * z[1];
x[1] = -y[0] * z[2] + y[2] * z[0];
x[2] = y[0] * z[1] - y[1] * z[0];
/* Recompute Y = Z cross X */
y[0] = z[1] * x[2] - z[2] * x[1];
y[1] = -z[0] * x[2] + z[2] * x[0];
y[2] = z[0] * x[1] - z[1] * x[0];
/* mpichler, 19950515 */
/* cross product gives area of parallelogram, which is < 1.0 for
* non-perpendicular unit-length vectors; so normalize x, y here
*/
mag = sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]);
if (mag) {
x[0] /= mag;
x[1] /= mag;
x[2] /= mag;
}
mag = sqrt(y[0] * y[0] + y[1] * y[1] + y[2] * y[2]);
if (mag) {
y[0] /= mag;
y[1] /= mag;
y[2] /= mag;
}
#define M(row,col) m[col*4+row]
M(0, 0) = x[0];
M(0, 1) = x[1];
M(0, 2) = x[2];
M(0, 3) = 0.0;
M(1, 0) = y[0];
M(1, 1) = y[1];
M(1, 2) = y[2];
M(1, 3) = 0.0;
M(2, 0) = z[0];
M(2, 1) = z[1];
M(2, 2) = z[2];
M(2, 3) = 0.0;
M(3, 0) = 0.0;
M(3, 1) = 0.0;
M(3, 2) = 0.0;
M(3, 3) = 1.0;
#undef M
glMultMatrixf(m);
/* Translate Eye to Origin */
glTranslatef(-eyex, -eyey, -eyez);
}
static void
drawscene(void)
{
@@ -358,24 +467,24 @@ drawscene(void)
dojoy();
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
/* glEnable(GL_DEPTH_TEST); */
if (usetex)
glEnable(GL_TEXTURE_2D);
else
glDisable(GL_TEXTURE_2D);
if (fog)
glEnable(GL_FOG);
else
glDisable(GL_FOG);
/* if (fog) */
/* glEnable(GL_FOG); */
/* else */
/* glDisable(GL_FOG); */
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
calcposobs();
gluLookAt(obs[0], obs[1], obs[2],
lookAt(obs[0], obs[1], obs[2],
obs[0] + dir[0], obs[1] + dir[1], obs[2] + dir[2],
0.0, 1.0, 0.0);
@@ -383,8 +492,8 @@ drawscene(void)
glPopMatrix();
glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);
glDisable(GL_FOG);
/* glDisable(GL_DEPTH_TEST); */
/* glDisable(GL_FOG); */
glShadeModel(GL_FLAT);
glMatrixMode(GL_PROJECTION);
@@ -548,7 +657,7 @@ calccolor(GLfloat height, GLfloat c[3])
static void
loadpic(void)
{
GLubyte bufferter[256 * 256], terrainpic[256 * 256];
GLubyte bufferter[256 * 256], terrainpic[256 * 256][4];
FILE *FilePic;
int i, tmp;
GLenum gluerr;
@@ -564,25 +673,23 @@ loadpic(void)
terrain[i] = (bufferter[i] * (heightMnt / 255.0f));
calccolor((GLfloat) bufferter[i], terraincolor[i]);
tmp = (((int) bufferter[i]) + 96);
terrainpic[i] = (tmp > 255) ? 255 : tmp;
terrainpic[i][0] = (tmp > 255) ? 255 : tmp;
terrainpic[i][1] = (tmp > 255) ? 255 : tmp;
terrainpic[i][2] = (tmp > 255) ? 255 : tmp;
terrainpic[i][0] = 255;
}
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 1, 256, 256, GL_LUMINANCE,
GL_UNSIGNED_BYTE,
(GLvoid *) (&terrainpic[0])))) {
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
exit(-1);
}
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, GL_RGBA, 256, 256, GL_RGBA,
GL_UNSIGNED_BYTE, (GLvoid *) terrainpic);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
GL_LINEAR_MIPMAP_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glEnable(GL_TEXTURE_2D);
}
@@ -592,21 +699,21 @@ init(void)
float fogcolor[4] = { 0.6, 0.7, 0.7, 1.0 };
glClearColor(fogcolor[0], fogcolor[1], fogcolor[2], fogcolor[3]);
glClearDepth(1.0);
glDepthFunc(GL_LEQUAL);
/* glClearDepth(1.0); */
/* glDepthFunc(GL_LEQUAL); */
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
/* glEnable(GL_DEPTH_TEST); */
glEnable(GL_CULL_FACE);
glDisable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_FOG);
glFogi(GL_FOG_MODE, GL_EXP2);
glFogfv(GL_FOG_COLOR, fogcolor);
glFogf(GL_FOG_DENSITY, 0.0007);
/* glEnable(GL_FOG); */
/* glFogi(GL_FOG_MODE, GL_EXP2); */
/* glFogfv(GL_FOG_COLOR, fogcolor); */
/* glFogf(GL_FOG_DENSITY, 0.0007); */
#ifdef FX
glHint(GL_FOG_HINT, GL_NICEST);
/* glHint(GL_FOG_HINT, GL_NICEST); */
#endif
reshape(scrwidth, scrheight);

View File

@@ -1,4 +1,4 @@
/* $Id: tessdemo.c,v 1.11 2001/03/21 02:47:32 gareth Exp $ */
/* $Id: tessdemo.c,v 1.13 2002/10/18 17:47:36 kschultz Exp $ */
/*
* A demo of the GLU polygon tesselation functions written by Bogdan Sikorski.
@@ -90,7 +90,7 @@ static void GLCALLBACK edge_callback( GLenum flag )
static void GLCALLBACK end_callback()
{
GLint i;
GLuint i;
glBegin( GL_LINES );
@@ -165,6 +165,8 @@ static void set_screen_wh( GLsizei w, GLsizei h )
height = h;
}
typedef void (GLAPIENTRY *callback_t)();
static void tesse( void )
{
GLUtesselator *tobj;
@@ -177,11 +179,11 @@ static void tesse( void )
if ( tobj != NULL ) {
gluTessNormal( tobj, 0.0, 0.0, 1.0 );
gluTessCallback( tobj, GLU_TESS_BEGIN, glBegin );
gluTessCallback( tobj, GLU_TESS_VERTEX, glVertex2fv );
gluTessCallback( tobj, GLU_TESS_END, glEnd );
gluTessCallback( tobj, GLU_TESS_ERROR, error_callback );
gluTessCallback( tobj, GLU_TESS_COMBINE, combine_callback );
gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) glBegin );
gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) glVertex2fv );
gluTessCallback( tobj, GLU_TESS_END, (callback_t) glEnd );
gluTessCallback( tobj, GLU_TESS_ERROR, (callback_t) error_callback );
gluTessCallback( tobj, GLU_TESS_COMBINE, (callback_t) combine_callback );
glNewList( list_start, GL_COMPILE );
gluBeginPolygon( tobj );
@@ -201,10 +203,10 @@ static void tesse( void )
gluEndPolygon( tobj );
glEndList();
gluTessCallback( tobj, GLU_TESS_BEGIN, begin_callback );
gluTessCallback( tobj, GLU_TESS_VERTEX, vertex_callback );
gluTessCallback( tobj, GLU_TESS_END, end_callback );
gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, edge_callback );
gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) begin_callback );
gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) vertex_callback );
gluTessCallback( tobj, GLU_TESS_END, (callback_t) end_callback );
gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, (callback_t) edge_callback );
glNewList( list_start + 1, GL_COMPILE );
gluBeginPolygon( tobj );
@@ -308,6 +310,7 @@ static void mouse_clicked( int button, int state, int x, int y )
static void display( void )
{
GLuint i,j;
GLsizei ii, jj;
GLuint point_cnt;
glClear( GL_COLOR_BUFFER_BIT );
@@ -319,12 +322,12 @@ static void display( void )
glBegin( GL_LINES );
for ( i = 0 ; i < width ; i += 10 ) {
for ( j = 0 ; j < height ; j += 10 ) {
glVertex2i( 0, j );
glVertex2i( width, j );
glVertex2i( i, height );
glVertex2i( i, 0 );
for ( ii = 0 ; ii < width ; ii += 10 ) {
for ( jj = 0 ; jj < height ; jj += 10 ) {
glVertex2i( 0, jj );
glVertex2i( width, jj );
glVertex2i( ii, height );
glVertex2i( ii, 0 );
}
}

View File

@@ -1,4 +1,4 @@
/* $Id: texcyl.c,v 1.5 2001/03/27 17:35:26 brianp Exp $ */
/* $Id: texcyl.c,v 1.6 2002/04/22 16:03:37 brianp Exp $ */
/*
* Textured cylinder demo: lighting, texturing, reflection mapping.
@@ -10,61 +10,6 @@
* Brian Paul May 1997 This program is in the public domain.
*/
/*
* $Log: texcyl.c,v $
* Revision 1.5 2001/03/27 17:35:26 brianp
* set initial window pos
*
* Revision 1.4 2000/12/24 22:53:54 pesco
* * 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.
*
* Revision 1.3 2000/09/29 23:09:39 brianp
* added fps output
*
* Revision 1.2 1999/10/21 16:39:06 brianp
* added -info command line option
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.3 1999/03/28 18:24:37 brianp
* minor clean-up
*
* Revision 3.2 1998/11/05 04:34:04 brianp
* moved image files to ../images/ directory
*
* Revision 3.1 1998/06/23 03:16:51 brianp
* added Point/Linear sampling menu items
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

View File

@@ -1,4 +1,4 @@
/* $Id: texobj.c,v 1.5 2000/07/19 23:57:24 brianp Exp $ */
/* $Id: texobj.c,v 1.6.6.2 2003/03/22 08:40:35 keithw Exp $ */
/*
* Example of using the 1.1 texture object functions.
@@ -7,6 +7,7 @@
* Brian Paul June 1996 This file is in the public domain.
*/
#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
@@ -16,7 +17,7 @@ static GLuint Window = 0;
static GLuint TexObj[2];
static GLfloat Angle = 0.0f;
static GLboolean UseObj = GL_FALSE;
static GLboolean UseObj = GL_TRUE;
#if defined(GL_VERSION_1_1) || defined(GL_VERSION_1_2)
@@ -33,7 +34,7 @@ static GLboolean UseObj = GL_FALSE;
static void draw( void )
{
glDepthFunc(GL_EQUAL);
/* glDepthFunc(GL_EQUAL); */
/* glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );*/
glClear( GL_COLOR_BUFFER_BIT );
@@ -49,7 +50,7 @@ static void draw( void )
#endif
}
else {
glCallList( TexObj[0] );
/* glCallList( TexObj[0] ); */
}
glBegin( GL_POLYGON );
glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
@@ -69,7 +70,7 @@ static void draw( void )
#endif
}
else {
glCallList( TexObj[1] );
/* glCallList( TexObj[1] ); */
}
glBegin( GL_POLYGON );
glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
@@ -146,7 +147,7 @@ static void init( void )
0, 0, 2, 2, 2, 2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 };
GLubyte tex[64][3];
GLubyte tex[64][4];
GLint i, j;
@@ -155,7 +156,7 @@ static void init( void )
/* Setup texturing */
glEnable( GL_TEXTURE_2D );
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST );
/* glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST ); */
/* generate texture object IDs */
@@ -165,18 +166,19 @@ static void init( void )
#endif
}
else {
TexObj[0] = glGenLists(2);
TexObj[1] = TexObj[0]+1;
/* TexObj[0] = glGenLists(2); */
/* TexObj[1] = TexObj[0]+1; */
}
/* setup first texture object */
if (UseObj) {
#ifdef TEXTURE_OBJECT
glBindTexture( GL_TEXTURE_2D, TexObj[0] );
/* assert(glIsTexture(TexObj[0])); */
#endif
}
else {
glNewList( TexObj[0], GL_COMPILE );
/* glNewList( TexObj[0], GL_COMPILE ); */
}
/* red on white */
for (i=0;i<height;i++) {
@@ -188,17 +190,18 @@ static void init( void )
else {
tex[p][0] = 255; tex[p][1] = 255; tex[p][2] = 255;
}
tex[p][3] = 255;
}
}
glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
GL_RGB, GL_UNSIGNED_BYTE, tex );
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0,
GL_RGBA, GL_UNSIGNED_BYTE, tex );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
if (!UseObj) {
glEndList();
/* glEndList(); */
}
/* end of texture object */
@@ -206,10 +209,12 @@ static void init( void )
if (UseObj) {
#ifdef TEXTURE_OBJECT
glBindTexture( GL_TEXTURE_2D, TexObj[1] );
/* assert(glIsTexture(TexObj[1])); */
#endif
/* assert(!glIsTexture(TexObj[1] + 999)); */
}
else {
glNewList( TexObj[1], GL_COMPILE );
/* glNewList( TexObj[1], GL_COMPILE ); */
}
/* green on blue */
for (i=0;i<height;i++) {
@@ -223,14 +228,14 @@ static void init( void )
}
}
}
glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
GL_RGB, GL_UNSIGNED_BYTE, tex );
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0,
GL_RGBA, GL_UNSIGNED_BYTE, tex );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
if (!UseObj) {
glEndList();
/* glEndList(); */
}
/* end texture object */

View File

@@ -1,37 +1,10 @@
/* $Id: trispd.c,v 1.2 2000/10/26 15:26:14 brianp Exp $ */
/* $Id: trispd.c,v 1.4 2002/07/12 15:54:02 brianp Exp $ */
/*
* Simple GLUT program to measure triangle strip rendering speed.
* Brian Paul February 15, 1997 This file is in the public domain.
*/
/*
* $Log: trispd.c,v $
* Revision 1.2 2000/10/26 15:26:14 brianp
* added a glFinish() call
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.4 1999/03/28 18:24:37 brianp
* minor clean-up
*
* Revision 3.3 1999/03/18 08:16:52 joukj
*
* cmpstr needs string.h to included to avoid warnings
*
* Revision 3.2 1998/07/08 03:02:00 brianp
* added Marten Stromberg's texture options
*
* Revision 3.1 1998/06/29 02:36:58 brianp
* removed unneeded includes
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
@@ -158,7 +131,7 @@ static void LoadTex(int comp, int filter)
{
GLubyte *pixels;
int x, y;
pixels = malloc(4*256*256);
pixels = (GLubyte *) malloc(4*256*256);
for (y = 0; y < 256; ++y)
for (x = 0; x < 256; ++x) {
pixels[(y*256+x)*4+0] = (int)(128.5 + 127.0 * cos(0.024544 * x));

View File

@@ -498,7 +498,7 @@ main(int ac, char **av)
glEnable(GL_CULL_FACE);
glEnable(GL_TEXTURE_2D);
glEnable(GL_FOG);
/* glEnable(GL_FOG); */
glFogi(GL_FOG_MODE, GL_EXP2);
glFogfv(GL_FOG_COLOR, fogcolor);

View File

@@ -1,64 +1,17 @@
/* $Id: winpos.c,v 1.3 2000/12/24 22:53:54 pesco Exp $ */
/* $Id: winpos.c,v 1.5 2002/04/22 16:03:37 brianp Exp $ */
/*
* Example of how to use the GL_MESA_window_pos extension.
* Brian Paul This file is in the public domain.
*/
/*
* $Log: winpos.c,v $
* Revision 1.3 2000/12/24 22:53:54 pesco
* * 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.
*
* Revision 1.2 2000/06/27 17:04:43 brianp
* fixed compiler warnings
*
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
* Imported sources
*
* Revision 3.3 1999/03/28 18:24:37 brianp
* minor clean-up
*
* Revision 3.2 1998/11/05 04:34:04 brianp
* moved image files to ../images/ directory
*
* Revision 3.1 1998/02/22 16:36:10 brianp
* changed image file and set unpack alignment to 1
*
* Revision 3.0 1998/02/14 18:42:29 brianp
* initial rev
*
*/
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#ifdef _WIN32
#include <windows.h>
#endif
#define GL_GLEXT_LEGACY
#include "GL/glut.h"

View File

@@ -19,6 +19,7 @@
ggi_visual_t vis;
char text[100];
int db_flag,vis_x, vis_y, vir_x, vir_y, gt;
/*
* Draw a gear wheel. You'll probably want to call this function when
@@ -157,6 +158,7 @@ static GLuint count = 1;
static void draw( void )
{
static int n = 0;
glClearColor(0,0,0,0);
glClearIndex(0);
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
@@ -197,12 +199,25 @@ static void draw( void )
ggiPuts(vis,0,ggiGetInfo(vis)->mode->visible.y+16,text);
#endif
GGIMesaSwapBuffers();
if(db_flag)
ggiMesaSwapBuffers();
count++;
if (count==limit) {
exit(1);
}
++n;
/*
if (!(n%10)){
ggi_color rgb = { 10000, 10000, 10000 };
ggiSetSimpleMode(vis,vis_x+(n/10),vis_y+(n/10),db_flag?2:1, gt);
glViewport(0, 0,vis_x+(n/10),vis_y+(n/10));
ggiSetGCForeground(vis, ggiMapColor(vis, &rgb));
ggiDrawBox(vis, 20, 20, 100, 100);
if(db_flag)
ggiSetWriteFrame(vis, 1);
}
*/
}
static void idle( void )
@@ -216,6 +231,10 @@ static void reshape( int width, int height )
{
GLfloat h = (GLfloat) height / (GLfloat) width;
if(db_flag)
glDrawBuffer(GL_BACK);
else
glDrawBuffer(GL_FRONT);
glViewport(0, 0, (GLint)width, (GLint)height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
@@ -231,8 +250,8 @@ static void reshape( int width, int height )
static void init( void )
{
static GLfloat pos[4] = {5.0, 5.0, 10.0, 0.0 };
static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0 };
static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0 };
static GLfloat red[4] = {0.9, 0.9, 0.9, 1.0 };
static GLfloat green[4] = {0.0, 0.8, 0.9, 1.0 };
static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0 };
glLightfv( GL_LIGHT0, GL_POSITION, pos );
@@ -276,9 +295,9 @@ static void usage(char *s)
int main( int argc, char *argv[] )
{
GGIMesaContext ctx;
int vis_x,vis_y,vir_x,vir_y,bpp,db_flag,gt;
ggi_mesa_context_t ctx;
ggi_mode mode;
int bpp;
limit=0;
@@ -313,13 +332,12 @@ int main( int argc, char *argv[] )
exit(1);
}
ctx=GGIMesaCreateContext();
if (ctx==NULL)
if (ggiMesaInit() < 0)
{
printf("GGIMesaCreateContext() failed\n");
printf("ggiMesaInit failed\n");
exit(1);
}
vis=ggiOpen(NULL);
if (vis==NULL)
{
@@ -327,29 +345,42 @@ int main( int argc, char *argv[] )
exit(1);
}
if (ggiSetGraphMode(vis,vis_x,vis_y,vir_x,vir_y,gt)<0)
if (ggiSetSimpleMode(vis,vis_x,vis_y,db_flag ? 2 : 1,gt)<0)
{
printf("%s: can't set graphmode (%i %i %i %i) %i BPP\n",
argv[0],vis_x,vis_y,vir_x,vir_y,bpp);
exit(1);
}
if (GGIMesaSetVisual(ctx,vis,GL_TRUE,db_flag)<0)
if (ggiMesaAttach(vis) < 0)
{
printf("ggiMesaAttach failed\n");
exit(1);
}
if (ggiMesaExtendVisual(vis, GL_FALSE, GL_FALSE, 16,
0, 0, 0, 0, 0, 1) < 0)
{
printf ("GGIMesaSetVisual() failed\n");
exit(1);
}
GGIMesaMakeCurrent(ctx);
ctx = ggiMesaCreateContext(vis);
if (ctx==NULL)
{
printf("GGIMesaCreateContext() failed\n");
exit(1);
}
ggiMesaMakeCurrent(ctx, vis);
ggiGetMode(vis,&mode);
reshape(mode.visible.x,mode.visible.y);
init();
while (!ggiKbhit(vis)) idle();
while (!ggiKbhit(vis)) { /*sleep(1);*/ idle(); }
GGIMesaDestroyContext(ctx);
ggiMesaDestroyContext(ctx);
ggiClose(vis);
printf("%s\n",text);

View File

@@ -1,62 +1,51 @@
# Makefile for Win32
TOP = ..
!include "$(TOP)/names.win"
TOP = ..
INCDIR = ..\include
LIBDIR = ..\lib
!include <win32.mak>
SRCS= \
aaindex.c \
aapoly.c \
aargb.c \
accanti.c \
accnot.c \
accum.c \
aim.c \
accpersp.c \
alpha.c \
alpha3D.c \
anti.c \
antiindex.c \
antipindex.c \
antipoint.c \
antipoly.c \
bezcurve.c \
bezmesh.c \
bezsurf.c \
checker.c \
checker2.c \
chess.c \
clip.c \
colormat.c \
cone.c \
cube.c \
curve.c \
depthcue.c \
disk.c \
dof.c \
dofnot.c \
double.c \
drawf.c \
feedback.c \
fog.c \
fogindex.c \
font.c \
hello.c \
image.c \
light.c \
linelist.c \
lines.c \
list.c \
list2.c \
maplight.c \
material.c \
mipmap.c \
model.c \
movelight.c \
nurbs.c \
pickdepth.c \
pickline.c \
picksquare.c \
plane.c \
planet.c \
planetup.c \
polyoff.c \
polys.c \
quadric.c \
robot.c \
sccolorlight.c \
scene.c \
@@ -64,18 +53,26 @@ SRCS= \
sceneflat.c \
select.c \
smooth.c \
sphere.c \
stencil.c \
stroke.c \
surface.c \
tea.c \
teaambient.c \
teapots.c \
tess.c \
tesswind.c \
texbind.c \
texgen.c \
texprox.c \
texsub.c \
texturesurf.c \
trim.c
EXTRALIBS = $(MESAGL).lib $(MESAGLU).lib $(MESATK).lib $(MESAAUX).lib
torus.c \
trim.c \
unproject.c \
varray.c \
wrap.c
!include "$(TOP)/mesawin32.mak"
$(EXES) : $*.obj
@echo $@
$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)

View File

@@ -143,6 +143,8 @@ void display(void)
size = glRenderMode (GL_RENDER);
printBuffer (size, feedBuffer);
glFinish();
}
/* ARGSUSED1 */

View File

@@ -103,8 +103,8 @@ drawRects(GLenum mode)
void
processHits(GLint hits, GLuint buffer[])
{
unsigned int i, j;
GLuint names, *ptr;
GLint i;
GLuint j, names, *ptr;
printf("hits = %d\n", hits);
ptr = (GLuint *) buffer;

View File

@@ -87,8 +87,8 @@ void drawSquares(GLenum mode)
*/
void processHits (GLint hits, GLuint buffer[])
{
unsigned int i, j;
GLuint ii = 0, jj = 0, names, *ptr;
GLint i;
GLuint j, ii = 0, jj = 0, names, *ptr;
printf ("hits = %d\n", hits);
ptr = (GLuint *) buffer;

View File

@@ -124,8 +124,8 @@ void drawScene (void)
*/
void processHits (GLint hits, GLuint buffer[])
{
unsigned int i, j;
GLuint names, *ptr;
GLint i;
GLuint j, names, *ptr;
printf ("hits = %d\n", hits);
ptr = (GLuint *) buffer;

View File

@@ -94,7 +94,7 @@ void CALLBACK vertexCallback(GLvoid *vertex)
pointer = (GLdouble *) vertex;
glColor3dv(pointer+3);
glVertex3dv(vertex);
glVertex3dv(pointer);
}
/* combineCallback is used to create a new vertex when edges

30
progs/samples/Makefile Normal file
View File

@@ -0,0 +1,30 @@
PROGS = prim \
star \
line \
point \
depth \
tri \
bitmap1 \
bitmap2
##### RULES #####
.SUFFIXES:
.SUFFIXES: .c
# make executable from .c file:
.c: $(LIB_DEP)
gcc -I../include -g $< -L../lib -lglut -lGL -lGLU -lm -o $@
default: $(PROGS)
clean: clean_here
clean_here:
rm -f *.o *~ $(PROGS)

View File

@@ -0,0 +1,42 @@
# $Id: Makefile.win,v 1.1 2002/01/16 00:57:54 kschultz Exp $
# Mesa 3-D graphics library
# Version: 3.5
# Copyright (C) 1995-2001 Brian Paul
# Makefile for GLUT-based demo programs for Windows
!include <win32.mak>
##### MACROS #####
TOP = ..
INCDIR = ..\include
LIBDIR = ..\lib
PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \
font line logo nurb oglinfo olympic overlay point prim quad select \
shape sphere star stencil stretch texture tri wave
SRCS = \
accum.c \
bitmap1.c \
bitmap2.c \
blendeq.c \
blendxor.c \
copy.c \
cursor.c depth.c eval.c fog.c \
font.c line.c logo.c nurb.c olympic.c overlay.c point.c prim.c quad.c select.c \
shape.c sphere.c star.c stencil.c stretch.c texture.c tri.c wave.c
!include "../mesawin32.mak"
##### TARGETS #####
clean::
clobber::
$(EXES) : $*.obj
@echo $@
$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)

View File

@@ -104,7 +104,7 @@ static void Init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glClearIndex(0.0);
/* glClearIndex(0.0); */
}
static void Reshape(int width, int height)
@@ -140,14 +140,14 @@ static void Draw(void)
mapIA[0] = 1.0;
mapIA[1] = 1.0;
glPixelMapfv(GL_PIXEL_MAP_I_TO_R, 2, mapIR);
glPixelMapfv(GL_PIXEL_MAP_I_TO_G, 2, mapI);
glPixelMapfv(GL_PIXEL_MAP_I_TO_B, 2, mapI);
glPixelMapfv(GL_PIXEL_MAP_I_TO_A, 2, mapIA);
glPixelTransferi(GL_MAP_COLOR, GL_TRUE);
/* glPixelMapfv(GL_PIXEL_MAP_I_TO_R, 2, mapIR); */
/* glPixelMapfv(GL_PIXEL_MAP_I_TO_G, 2, mapI); */
/* glPixelMapfv(GL_PIXEL_MAP_I_TO_B, 2, mapI); */
/* glPixelMapfv(GL_PIXEL_MAP_I_TO_A, 2, mapIA); */
/* glPixelTransferi(GL_MAP_COLOR, GL_TRUE); */
SetColor(COLOR_WHITE);
glRasterPos3fv(boxA);
glRasterPos2fv(boxA);
glPixelStorei(GL_UNPACK_ROW_LENGTH, 24);
glPixelStorei(GL_UNPACK_SKIP_PIXELS, 8);
glPixelStorei(GL_UNPACK_SKIP_ROWS, 2);
@@ -162,28 +162,28 @@ static void Draw(void)
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
SetColor(COLOR_WHITE);
glRasterPos3fv(boxB);
glRasterPos2fv(boxB);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,
OpenGL_bits1);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,
OpenGL_bits2);
SetColor(COLOR_YELLOW);
glRasterPos3fv(boxC);
glRasterPos2fv(boxC);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,
OpenGL_bits1);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,
OpenGL_bits2);
SetColor(COLOR_CYAN);
glRasterPos3fv(boxD);
glRasterPos2fv(boxD);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,
OpenGL_bits1);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,
OpenGL_bits2);
SetColor(COLOR_RED);
glRasterPos3fv(boxE);
glRasterPos2fv(boxE);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,
OpenGL_bits1);
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, OPENGL_WIDTH, 0.0, OPENGL_WIDTH, 0.0,

View File

@@ -620,19 +620,19 @@ static void Init(void)
GLint i;
glClearColor(0.0, 0.0, 0.0, 0.0);
glClearIndex(0.0);
/* glClearIndex(0.0); */
glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
for (i = 0; i < 7; i++) {
exp_lists[i] = glGenLists(1);
glNewList(exp_lists[i], GL_COMPILE);
glBitmap(80, 80, 40.0, 40.0, 0.0, 0.0, exp_bits[i]);
glEndList();
/* exp_lists[i] = glGenLists(1); */
/* glNewList(exp_lists[i], GL_COMPILE); */
/* glBitmap(80, 80, 40.0, 40.0, 0.0, 0.0, exp_bits[i]); */
/* glEndList(); */
}
abuse = GL_FALSE;
useLists = GL_TRUE;
useLists = GL_FALSE;
}
static void Reshape(int width, int height)
@@ -696,10 +696,10 @@ static void Draw(void)
SetColor(COLOR_RED);
break;
}
glRasterPos3i((j*3)%5, (j*3)%8, 0);
glRasterPos2i((j*3)%5, (j*3)%8);
if (useLists) {
glCallList(exp_lists[i]);
/* glCallList(exp_lists[i]); */
} else {
glBitmap(80, 80, 40.0, 40.0, 0.0, 0.0, exp_bits[i]);
}
@@ -714,9 +714,9 @@ static void Draw(void)
for (j = 0; j < 40; j++) {
SetColor(COLOR_BLACK);
glRasterPos3i((j*3)%5, (j*3)%8, 0);
glRasterPos2i((j*3)%5, (j*3)%8);
if (useLists) {
glCallList(exp_lists[i]);
/* glCallList(exp_lists[i]); */
} else {
glBitmap(80, 80, 40.0, 40.0, 0.0, 0.0, exp_bits[i]);
}

View File

@@ -11,6 +11,10 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#ifdef _WIN32
#include <windows.h>
#endif
#define GL_GLEXT_LEGACY
#include <GL/glut.h>

View File

@@ -10,6 +10,10 @@
#include <unistd.h>
#endif
#include <stdlib.h>
#ifdef _WIN32
#include <windows.h>
#endif
#define GL_GLEXT_LEGACY
#include <GL/glut.h>

View File

@@ -62,7 +62,7 @@ static void Init(void)
GLint i;
glClearColor(0.0, 0.0, 0.0, 0.0);
glClearIndex(0.0);
/* glClearIndex(0.0); */
if (!rgb) {
for (i = 0; i < 16; i++) {
@@ -71,7 +71,7 @@ static void Init(void)
}
}
glPolygonStipple(stippleBits);
/* glPolygonStipple(stippleBits); */
antiAlias = GL_FALSE;
stipple = GL_FALSE;
@@ -135,11 +135,11 @@ static void Draw(void)
}
glBegin(GL_TRIANGLES);
(rgb) ? glColor3fv(RGBMap[COLOR_BLUE]) : glIndexi(ci1);
glColor3fv(RGBMap[COLOR_BLUE]);
glVertex3f( 0.9, -0.9, -30.0);
glVertex3f( 0.9, 0.9, -30.0);
glVertex3f(-0.9, 0.0, -30.0);
(rgb) ? glColor3fv(RGBMap[COLOR_GREEN]) : glIndexi(ci2);
glColor3fv(RGBMap[COLOR_GREEN]);
glVertex3f(-0.9, -0.9, -40.0);
glVertex3f(-0.9, 0.9, -40.0);
glVertex3f( 0.9, 0.0, -25.0);

View File

@@ -141,13 +141,13 @@ static void Draw(void)
for (i = 0; i < 360; i += 5) {
glRotatef(5.0, 0,0,1);
(rgb) ? glColor3f(1.0, 1.0, 0.0) : glIndexi(ci);
glColor3f(1.0, 1.0, 0.0);
glBegin(GL_LINE_STRIP);
glVertex3fv(pntA);
glVertex3fv(pntB);
glEnd();
glPointSize(1);
/* glPointSize(1); */
SetColor(COLOR_GREEN);
glBegin(GL_POINTS);
@@ -199,7 +199,7 @@ int main(int argc, char **argv)
glutInitWindowPosition(0, 0); glutInitWindowSize( 300, 300);
windType = (rgb) ? GLUT_RGB : GLUT_INDEX;
windType = GLUT_RGB;
windType |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
glutInitDisplayMode(windType);

View File

@@ -1,6 +1,6 @@
typedef struct {
int sizeX, sizeY;
size_t sizeX, sizeY;
GLubyte *data;
} PPMImage;
@@ -30,7 +30,7 @@ static PPMImage *LoadPPM(const char *filename)
exit(1);
}
result = malloc(sizeof(PPMImage));
result = (PPMImage *) malloc(sizeof(PPMImage));
if (!result)
{
fprintf(stderr, "Unable to allocate memory\n");
@@ -52,7 +52,7 @@ static PPMImage *LoadPPM(const char *filename)
while (fgetc(fp) != '\n')
;
result->data = malloc(3 * result->sizeX * result->sizeY);
result->data = (GLubyte *) malloc(3 * result->sizeX * result->sizeY);
if (!result)
{
fprintf(stderr, "Unable to allocate memory\n");

View File

@@ -1,4 +1,4 @@
/* $Id: logo.c,v 1.2 1999/12/15 13:02:09 brianp Exp $ */
/* $Id: logo.c,v 1.3 2002/11/05 20:59:16 brianp Exp $ */
/*
* Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
@@ -1397,12 +1397,15 @@ static void Key(unsigned char key, int x, int y)
switch (polyMode) {
case GL_BACK:
polyMode = GL_FRONT;
printf("PolygonMode GL_FRONT\n");
break;
case GL_FRONT:
polyMode = GL_FRONT_AND_BACK;
printf("PolygonMode GL_FRONT_AND_BACK\n");
break;
case GL_FRONT_AND_BACK:
polyMode = GL_BACK;
printf("PolygonMode GL_BACK\n");
break;
default:
break;
@@ -1455,14 +1458,17 @@ static void Key(unsigned char key, int x, int y)
case 'q':
glDisable(GL_CULL_FACE);
printf("disable culling\n");
break;
case 'w':
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);
printf("enable front face culling\n");
break;
case 'e':
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
printf("enable back face culling\n");
break;
case 'r':

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