Compare commits
2478 Commits
mesa_3_4_1
...
vtx-0-2-24
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
027fdb8bbd | ||
|
|
3a7c3b02a3 | ||
|
|
3ec97611d2 | ||
|
|
f2f09abce4 | ||
|
|
93320957f2 | ||
|
|
374a09c4f7 | ||
|
|
1302fd3b25 | ||
|
|
5198950cde | ||
|
|
88d66b7208 | ||
|
|
701208d259 | ||
|
|
dfd3c9c40f | ||
|
|
cef9471ab2 | ||
|
|
8d8bb0679c | ||
|
|
5affcd3cbb | ||
|
|
86ac3e3c2d | ||
|
|
5c2d467e6d | ||
|
|
c00a1c4622 | ||
|
|
dad38213e7 | ||
|
|
9cbad64314 | ||
|
|
f0bf8c0ed1 | ||
|
|
6b692dc06c | ||
|
|
be3c25458b | ||
|
|
a384b0c5eb | ||
|
|
acfa4d46a4 | ||
|
|
df3b1eb5bc | ||
|
|
34a9e4adaf | ||
|
|
34f6df8b6d | ||
|
|
5fc6940aca | ||
|
|
c9c27a6efd | ||
|
|
79a49e30a1 | ||
|
|
f1582dbe52 | ||
|
|
4fc77f884c | ||
|
|
398f8d10a2 | ||
|
|
5b9ad341a0 | ||
|
|
fcd68a2b30 | ||
|
|
f1bbe8d0a5 | ||
|
|
3c0cfda46b | ||
|
|
5d80efc35e | ||
|
|
e01f56b3a8 | ||
|
|
30cd200068 | ||
|
|
e55c545d4a | ||
|
|
b101554d16 | ||
|
|
1b8c209523 | ||
|
|
d46adad5cd | ||
|
|
bfc37379cc | ||
|
|
0c390fec04 | ||
|
|
d5c9fd383b | ||
|
|
8ae69294ad | ||
|
|
46330d3aa7 | ||
|
|
c91f7ad52b | ||
|
|
5b40d6924c | ||
|
|
27b4c2d675 | ||
|
|
051a8141d1 | ||
|
|
9b6d6988c4 | ||
|
|
967fa00a7f | ||
|
|
2cdd699a77 | ||
|
|
4e5b58f483 | ||
|
|
a4fc8035f1 | ||
|
|
3e291c01ea | ||
|
|
facb597f48 | ||
|
|
5fd77da4f6 | ||
|
|
7d8eb0604a | ||
|
|
d7fe183f76 | ||
|
|
adbbea9b51 | ||
|
|
a75246f8f5 | ||
|
|
d6643331ab | ||
|
|
7214e1a1c4 | ||
|
|
e508f7f08e | ||
|
|
0f2e186926 | ||
|
|
525dda4f26 | ||
|
|
6bec5b30e1 | ||
|
|
73b0420bba | ||
|
|
5b5142b543 | ||
|
|
cafc787027 | ||
|
|
26577e4939 | ||
|
|
1a89978d83 | ||
|
|
77a505a4bb | ||
|
|
c1cbde2ae1 | ||
|
|
2c9618bb12 | ||
|
|
9b101c34da | ||
|
|
b0cde83906 | ||
|
|
d7dabacfa3 | ||
|
|
8f7141e970 | ||
|
|
d01681d6c9 | ||
|
|
d11bb2b297 | ||
|
|
f3a63d69ff | ||
|
|
ea9365b48a | ||
|
|
6872c21ace | ||
|
|
9d55394471 | ||
|
|
a13fb034cb | ||
|
|
e4fcea2e06 | ||
|
|
74c33393b4 | ||
|
|
ff750fe8cb | ||
|
|
04e6987de1 | ||
|
|
b263802bcf | ||
|
|
361a9ac966 | ||
|
|
a588e5af3b | ||
|
|
effa9af9b1 | ||
|
|
98cdf71f5a | ||
|
|
29b4076f9a | ||
|
|
1a8ebb8c2f | ||
|
|
87f858dd7c | ||
|
|
e4b40a7cf1 | ||
|
|
85be17868c | ||
|
|
84c2730866 | ||
|
|
80d719f11a | ||
|
|
315e78b0b5 | ||
|
|
2c5f5dc7fe | ||
|
|
06588db3fa | ||
|
|
3173277e20 | ||
|
|
8512074b90 | ||
|
|
bd3096edc3 | ||
|
|
99823b3744 | ||
|
|
0c415bca5c | ||
|
|
4ba2986c06 | ||
|
|
a01566e468 | ||
|
|
df8d337eec | ||
|
|
65f605849a | ||
|
|
83f57e32ca | ||
|
|
bbd9a0c2b4 | ||
|
|
66e6e3e8e1 | ||
|
|
ea7bf8b130 | ||
|
|
6296276ebe | ||
|
|
1ceeac29ec | ||
|
|
de8d410a99 | ||
|
|
d2afb39d19 | ||
|
|
1a5709dc5b | ||
|
|
9109625c03 | ||
|
|
6bced0148e | ||
|
|
57d882b684 | ||
|
|
397d1e4d57 | ||
|
|
5543901b96 | ||
|
|
84351999ec | ||
|
|
148a2847a1 | ||
|
|
4561f84183 | ||
|
|
278ce99171 | ||
|
|
b04633d727 | ||
|
|
458c900d3b | ||
|
|
978646d86f | ||
|
|
1d57658ee5 | ||
|
|
aa00d122b8 | ||
|
|
b29b8ca47d | ||
|
|
438a898dcf | ||
|
|
973da83f62 | ||
|
|
5c480a4887 | ||
|
|
90f673e3ec | ||
|
|
ca29a7c731 | ||
|
|
c7b872a277 | ||
|
|
39c65bfb93 | ||
|
|
0207b47aaf | ||
|
|
0a363f4e87 | ||
|
|
50253ea0a3 | ||
|
|
176108767d | ||
|
|
e39cbf63f6 | ||
|
|
445ecdcebd | ||
|
|
91253e7be5 | ||
|
|
054fedb455 | ||
|
|
94f944762d | ||
|
|
6c57b379a4 | ||
|
|
1ac73bc993 | ||
|
|
5f37abfc43 | ||
|
|
ade4de9b5d | ||
|
|
044f20d1ea | ||
|
|
054b5aef92 | ||
|
|
d402cb97bd | ||
|
|
0d08399d8d | ||
|
|
0ac157ddc4 | ||
|
|
9c9c2cd725 | ||
|
|
e082348a4b | ||
|
|
afc0428b5c | ||
|
|
56e9efa15d | ||
|
|
eaf2f5bb4f | ||
|
|
feb9e4c432 | ||
|
|
03f0ddbe4c | ||
|
|
67c1fd2fdb | ||
|
|
c8363a31cf | ||
|
|
886bc6f36c | ||
|
|
c86eab8478 | ||
|
|
352e0d0d27 | ||
|
|
21d956106e | ||
|
|
08dbe5664d | ||
|
|
77e85f133c | ||
|
|
0d4da529bd | ||
|
|
b3680df593 | ||
|
|
254e201721 | ||
|
|
2b7a01a39b | ||
|
|
7961e67c2a | ||
|
|
1c5ff572aa | ||
|
|
bd7a3de4b3 | ||
|
|
04a81da03b | ||
|
|
e38a55ecb2 | ||
|
|
dc24230de7 | ||
|
|
d12a871b21 | ||
|
|
e39a334f1a | ||
|
|
c769a7febf | ||
|
|
f5515cb4af | ||
|
|
760960028f | ||
|
|
9e94aaf6e3 | ||
|
|
3a604da4cc | ||
|
|
58c5df87be | ||
|
|
0b12650701 | ||
|
|
781fb93877 | ||
|
|
a6ed6f48e6 | ||
|
|
d49acd629b | ||
|
|
d2d3052378 | ||
|
|
371f7cdb7a | ||
|
|
f9dbd07e14 | ||
|
|
dc22a652c9 | ||
|
|
d620015abd | ||
|
|
2230b8518e | ||
|
|
4be6c0f04b | ||
|
|
a3a10e6dfc | ||
|
|
e28a4c147c | ||
|
|
1da1f1e4ba | ||
|
|
7c819439ba | ||
|
|
52f246bd23 | ||
|
|
724c2c7f6f | ||
|
|
ae530c2ff9 | ||
|
|
6373672367 | ||
|
|
3baefe663b | ||
|
|
5df82c82bd | ||
|
|
1a84876d79 | ||
|
|
4778beb761 | ||
|
|
12c037dbff | ||
|
|
9ec58c2c5b | ||
|
|
3dc8cc4ebc | ||
|
|
9d73b81068 | ||
|
|
d4576154e6 | ||
|
|
bb93870133 | ||
|
|
8a033fa135 | ||
|
|
01bb309cce | ||
|
|
f2dd273322 | ||
|
|
4f12be0249 | ||
|
|
3bbe68510f | ||
|
|
e17c1abd67 | ||
|
|
b5a41d6050 | ||
|
|
2c50b922d6 | ||
|
|
49555d14a8 | ||
|
|
8f44286b29 | ||
|
|
1b252a4f6f | ||
|
|
824a4fc34f | ||
|
|
93a458840c | ||
|
|
b32a036059 | ||
|
|
b93652d67e | ||
|
|
676cf71852 | ||
|
|
848ff108a0 | ||
|
|
adbec39bbf | ||
|
|
a7ea785a10 | ||
|
|
fb4d5492e0 | ||
|
|
ff56908e09 | ||
|
|
e6dea091c0 | ||
|
|
304d11e0e1 | ||
|
|
2880669853 | ||
|
|
1a615070ed | ||
|
|
f88d846255 | ||
|
|
acad0fae7f | ||
|
|
e7d9b3fdd7 | ||
|
|
1b41c0d3d8 | ||
|
|
4894df6cf2 | ||
|
|
b9d9c1f40d | ||
|
|
9b0bb3d052 | ||
|
|
fd5889f975 | ||
|
|
c2b39d0312 | ||
|
|
00d7f16dbd | ||
|
|
c2aee04666 | ||
|
|
838bb33fe1 | ||
|
|
0a5957bfb1 | ||
|
|
eb226f118f | ||
|
|
a3286498e6 | ||
|
|
bd36e5f17b | ||
|
|
4e245c334d | ||
|
|
7d3bf7f6d1 | ||
|
|
3a25e2350a | ||
|
|
df03f8ed6d | ||
|
|
adb5e0bb1d | ||
|
|
95a791bb3e | ||
|
|
c7363f7a48 | ||
|
|
c06ff13b14 | ||
|
|
5c04693a3f | ||
|
|
b6a74a4f6e | ||
|
|
fbd052efed | ||
|
|
9baab01c1f | ||
|
|
bff1bf9794 | ||
|
|
b1bc0dc3f4 | ||
|
|
341313b601 | ||
|
|
f78311ed64 | ||
|
|
6ff00f91c8 | ||
|
|
6b4716c63a | ||
|
|
9c7b81697b | ||
|
|
9f9bed9c8e | ||
|
|
d19b5db5dc | ||
|
|
ad6ecf0227 | ||
|
|
6a940e8946 | ||
|
|
05944c031c | ||
|
|
f7fda86c6d | ||
|
|
389858ee7b | ||
|
|
64da663f51 | ||
|
|
5366b01d86 | ||
|
|
08ff059f20 | ||
|
|
190c11e06d | ||
|
|
9a0d97a21c | ||
|
|
f44898c088 | ||
|
|
702ca20bf0 | ||
|
|
c19cbb58cd | ||
|
|
6dc8557500 | ||
|
|
44c699949a | ||
|
|
356959952c | ||
|
|
f6e76fe9b5 | ||
|
|
ef751eb08b | ||
|
|
92d31641d2 | ||
|
|
b464dee72b | ||
|
|
7568561fa7 | ||
|
|
235c150f0a | ||
|
|
887e2cf01a | ||
|
|
32bac60519 | ||
|
|
de4f460e20 | ||
|
|
9826ca3ef5 | ||
|
|
4e28d962ff | ||
|
|
a58214e417 | ||
|
|
fb8105fbaa | ||
|
|
ccb8284a5b | ||
|
|
642699a19f | ||
|
|
710207c46f | ||
|
|
225517aff0 | ||
|
|
8fa507592b | ||
|
|
86258034d5 | ||
|
|
b17a722ca3 | ||
|
|
0c0e583c01 | ||
|
|
93db675bd9 | ||
|
|
6a0db56269 | ||
|
|
5ac9e660a6 | ||
|
|
b1d53d909d | ||
|
|
196a90b511 | ||
|
|
5c08c5bff3 | ||
|
|
f499860de4 | ||
|
|
de5496d2a6 | ||
|
|
5f3439916b | ||
|
|
5e04bcf6de | ||
|
|
66a83c9e17 | ||
|
|
9a2121cfb6 | ||
|
|
cd0fbde699 | ||
|
|
829703316d | ||
|
|
b953bebc25 | ||
|
|
9ac51f57ef | ||
|
|
b9e1411660 | ||
|
|
3c28d1e2a9 | ||
|
|
09dbc1e5ae | ||
|
|
a189e4c1e1 | ||
|
|
c9ab99ced1 | ||
|
|
45e9a5c46b | ||
|
|
698e67d409 | ||
|
|
68155873bd | ||
|
|
c0e1189bad | ||
|
|
3ba8a49c81 | ||
|
|
8c20c7ba0c | ||
|
|
f1163a3769 | ||
|
|
236d2dbc72 | ||
|
|
80f669b9b0 | ||
|
|
882caa18c6 | ||
|
|
b2a4aecd80 | ||
|
|
f8f830d59d | ||
|
|
62dc802818 | ||
|
|
80b8665438 | ||
|
|
f98921d344 | ||
|
|
785774deb2 | ||
|
|
dc3e0f0f5d | ||
|
|
d18c08fe89 | ||
|
|
0b52018df2 | ||
|
|
e8e93e9cc6 | ||
|
|
2c5f93784e | ||
|
|
8750668ad7 | ||
|
|
a3793214e9 | ||
|
|
27358a24a0 | ||
|
|
eea72ff722 | ||
|
|
0421ce4b46 | ||
|
|
12f8fb6084 | ||
|
|
06a03bfb2a | ||
|
|
3ef8ed72ca | ||
|
|
b93df0af47 | ||
|
|
e591ad7350 | ||
|
|
0295088118 | ||
|
|
3fdb8fbfc5 | ||
|
|
ea31ca4720 | ||
|
|
baa42c3364 | ||
|
|
a96d596be9 | ||
|
|
6636a61418 | ||
|
|
7357f20b1e | ||
|
|
c784d87b0f | ||
|
|
e53aa5022f | ||
|
|
92f9785c72 | ||
|
|
09b00c5ded | ||
|
|
1a8d64e6e9 | ||
|
|
5329d0ca7a | ||
|
|
f34de59b3e | ||
|
|
370d7ad007 | ||
|
|
9e3a7cd6dd | ||
|
|
c8f2f456f9 | ||
|
|
c6506004d4 | ||
|
|
3e50d140f5 | ||
|
|
e78f823724 | ||
|
|
a83b4b1f2c | ||
|
|
464bc3b674 | ||
|
|
7bb832f9f7 | ||
|
|
e5b244ff7f | ||
|
|
2780bb824f | ||
|
|
b0b9b798ac | ||
|
|
e4eae45512 | ||
|
|
8eb2fe0e15 | ||
|
|
d93b68f17a | ||
|
|
ff389b00a5 | ||
|
|
95210bc806 | ||
|
|
e5db876329 | ||
|
|
a0ef56fd15 | ||
|
|
edd677454d | ||
|
|
9b14e0fbfd | ||
|
|
77eec61e21 | ||
|
|
5e92a7c745 | ||
|
|
3ca3ab0cd1 | ||
|
|
24339179a4 | ||
|
|
da74a60e4c | ||
|
|
5960105ca3 | ||
|
|
af0c247021 | ||
|
|
451f31093e | ||
|
|
2db8041ffe | ||
|
|
d0492cf137 | ||
|
|
6cfaff1633 | ||
|
|
bf7128a682 | ||
|
|
ebab631c9c | ||
|
|
0b77a1c635 | ||
|
|
ad80233d5d | ||
|
|
4c928471c1 | ||
|
|
ef393cbb54 | ||
|
|
aac732546a | ||
|
|
c708ac2afe | ||
|
|
38c619bf15 | ||
|
|
dcf3d8d61d | ||
|
|
36a0a3252e | ||
|
|
0cebd5822a | ||
|
|
b8ca0172e7 | ||
|
|
071a4ddd92 | ||
|
|
4cef881e1f | ||
|
|
14995b3d3b | ||
|
|
670c8780f7 | ||
|
|
0e7f2952fe | ||
|
|
e3dd0a4e7f | ||
|
|
69ffa43656 | ||
|
|
33ce405e86 | ||
|
|
c0eebd723f | ||
|
|
ce7f006e66 | ||
|
|
738318bb75 | ||
|
|
b0e90cc839 | ||
|
|
7823388744 | ||
|
|
bb5ebf1724 | ||
|
|
0983163fde | ||
|
|
27f4484fb7 | ||
|
|
dd26d02889 | ||
|
|
12fca20e1f | ||
|
|
b852f048ee | ||
|
|
8d7a2504c3 | ||
|
|
4b28b5a885 | ||
|
|
97bc3d7e78 | ||
|
|
525f04389f | ||
|
|
f0805670a1 | ||
|
|
6fafc7ad19 | ||
|
|
1e24d3318d | ||
|
|
a3f137094c | ||
|
|
926c34f894 | ||
|
|
e9f4ee87d8 | ||
|
|
8412c60451 | ||
|
|
b8b50cc5c4 | ||
|
|
dc27b33fb4 | ||
|
|
d78c57e8b5 | ||
|
|
6045b0501d | ||
|
|
05b2651066 | ||
|
|
55b0ff2193 | ||
|
|
c765d44650 | ||
|
|
a376e339a5 | ||
|
|
954a9b8885 | ||
|
|
bc6dfeb865 | ||
|
|
871a881899 | ||
|
|
7f223f2060 | ||
|
|
408722351d | ||
|
|
56fe21b3e7 | ||
|
|
1c455e4843 | ||
|
|
6061df09a4 | ||
|
|
c13a05547d | ||
|
|
c310570215 | ||
|
|
9c27050e27 | ||
|
|
997d468afe | ||
|
|
88e3ed2d81 | ||
|
|
29af3b2be6 | ||
|
|
52334967ed | ||
|
|
c6d030a597 | ||
|
|
861a60fd40 | ||
|
|
183aea64d3 | ||
|
|
a8d4963fbc | ||
|
|
8856cece54 | ||
|
|
98fc9b36b6 | ||
|
|
a5607f2a04 | ||
|
|
a46bd6f96a | ||
|
|
45bc887da2 | ||
|
|
af1bfb7281 | ||
|
|
6d6efd605f | ||
|
|
ee2b34215f | ||
|
|
bb21846b2f | ||
|
|
d40f9fa0ec | ||
|
|
efe5671eef | ||
|
|
b0f347872d | ||
|
|
4515663052 | ||
|
|
762c115242 | ||
|
|
aaa46798f1 | ||
|
|
c6dcb0fe89 | ||
|
|
54e92e8420 | ||
|
|
a79b55ae65 | ||
|
|
dec3ed69e2 | ||
|
|
b0eee79868 | ||
|
|
350353adcd | ||
|
|
add99d01ee | ||
|
|
5b8ed51501 | ||
|
|
f386f73f9e | ||
|
|
a2da1155c2 | ||
|
|
57ad382b8d | ||
|
|
971e4d6160 | ||
|
|
7954480d65 | ||
|
|
24e81fda4d | ||
|
|
08953c318e | ||
|
|
47d8adde43 | ||
|
|
f4b21ab645 | ||
|
|
0b27aceae2 | ||
|
|
dc32636cfd | ||
|
|
009bbccb69 | ||
|
|
b5a56e2480 | ||
|
|
cc9464e082 | ||
|
|
612cf792db | ||
|
|
f9b1e5241f | ||
|
|
386578c5bc | ||
|
|
42ad8664f9 | ||
|
|
078418208f | ||
|
|
a59ce9041d | ||
|
|
0168240c5c | ||
|
|
490a8b8315 | ||
|
|
27558a160a | ||
|
|
4e50ab5f70 | ||
|
|
001a3012ac | ||
|
|
7acd88c6d9 | ||
|
|
a20ed72003 | ||
|
|
13c4c046a5 | ||
|
|
e9218448ca | ||
|
|
65098ec9f5 | ||
|
|
72baa3126b | ||
|
|
6a98bef961 | ||
|
|
759c8f92e9 | ||
|
|
730c924943 | ||
|
|
ec35842990 | ||
|
|
9f4d812aa7 | ||
|
|
f9ff2657c4 | ||
|
|
8488c9f3cb | ||
|
|
1bdc52f86e | ||
|
|
adb1a2911a | ||
|
|
a10be7fb85 | ||
|
|
4039cb8ca8 | ||
|
|
b10c434a8f | ||
|
|
d804fd1f4d | ||
|
|
25fea6be0a | ||
|
|
736d10c274 | ||
|
|
25060c1f29 | ||
|
|
b8d6607acd | ||
|
|
4e44d8c4c6 | ||
|
|
14e6bbccff | ||
|
|
3a4231e132 | ||
|
|
ea20dfa7a8 | ||
|
|
19b3b0a0ff | ||
|
|
60f84fcc91 | ||
|
|
449e47f06a | ||
|
|
85109b063c | ||
|
|
04cbad84e8 | ||
|
|
2c1912fe84 | ||
|
|
a89cc0edad | ||
|
|
f2f5f4f884 | ||
|
|
095f59a303 | ||
|
|
e07618fb57 | ||
|
|
615991ac66 | ||
|
|
a4a5da745b | ||
|
|
b6b39455e3 | ||
|
|
92d7935074 | ||
|
|
b8e3eb95d0 | ||
|
|
c8e28650c9 | ||
|
|
7d0522e16a | ||
|
|
66dce0875e | ||
|
|
6cf845f338 | ||
|
|
dd5f1f43ac | ||
|
|
e5ed2f07d8 | ||
|
|
398c6b7980 | ||
|
|
657a9d64d7 | ||
|
|
95e67dc99d | ||
|
|
3d7071b8a5 | ||
|
|
c0f1a69a96 | ||
|
|
4f615d7fa3 | ||
|
|
839bef921c | ||
|
|
4c3bb69a94 | ||
|
|
5c31f8678b | ||
|
|
35d03a6b3e | ||
|
|
02de45dced | ||
|
|
f4418f4d1c | ||
|
|
45b47d079f | ||
|
|
7cac85d00a | ||
|
|
9067c26e5d | ||
|
|
9d169138d0 | ||
|
|
b7209b54f7 | ||
|
|
388781a526 | ||
|
|
b3f717037d | ||
|
|
d737ad5272 | ||
|
|
a7c52c61e5 | ||
|
|
a2473160d4 | ||
|
|
7ab14f00f0 | ||
|
|
041d5d3aee | ||
|
|
ccec647f1c | ||
|
|
418ac00e75 | ||
|
|
068a4812fc | ||
|
|
943f0c6a41 | ||
|
|
19ad3fee8c | ||
|
|
64b4298181 | ||
|
|
a12d12d119 | ||
|
|
8f95d790da | ||
|
|
2e5c1dce4e | ||
|
|
47ecdf55da | ||
|
|
5e9dd04077 | ||
|
|
1596bf398c | ||
|
|
08e1ef79cc | ||
|
|
ed96f46637 | ||
|
|
b6f2dd2a99 | ||
|
|
ec4c882e47 | ||
|
|
4fc647c397 | ||
|
|
890bcc0be3 | ||
|
|
610d59981a | ||
|
|
cf01d97dc3 | ||
|
|
e58286ccb6 | ||
|
|
3c5bfac63b | ||
|
|
e1e446bf77 | ||
|
|
44257dacc0 | ||
|
|
4097ea012a | ||
|
|
dad19f51c3 | ||
|
|
ce352387fb | ||
|
|
e27f5e5254 | ||
|
|
25e38ce9e5 | ||
|
|
9108b29dbf | ||
|
|
e772bee10b | ||
|
|
ff9ef3baed | ||
|
|
1e091f48f0 | ||
|
|
fa268adc9d | ||
|
|
95249b2d18 | ||
|
|
0070285b32 | ||
|
|
518b6f44b4 | ||
|
|
10d2259baa | ||
|
|
2df7cd4f0c | ||
|
|
03516d9efa | ||
|
|
c0fc0d4e5f | ||
|
|
866023da66 | ||
|
|
7c0e32bbf0 | ||
|
|
7956321bf1 | ||
|
|
e15fd85727 | ||
|
|
76d2a77291 | ||
|
|
6f458650bf | ||
|
|
46b99c9016 | ||
|
|
6cb5b3475d | ||
|
|
93e0ba8b80 | ||
|
|
6e179ad9ef | ||
|
|
91e98cd153 | ||
|
|
66fa33e576 | ||
|
|
2a7243481a | ||
|
|
e7cf569475 | ||
|
|
d37363d4c0 | ||
|
|
2569c3c744 | ||
|
|
0f8daaf670 | ||
|
|
1b94df053d | ||
|
|
957a0cdb13 | ||
|
|
f345c61a59 | ||
|
|
a87514f58e | ||
|
|
3ac375b174 | ||
|
|
e44bf40402 | ||
|
|
3ac8105e9c | ||
|
|
3a212032e7 | ||
|
|
d6113fc20d | ||
|
|
a8f002f4f4 | ||
|
|
1fe3b1d964 | ||
|
|
69e3c8b323 | ||
|
|
22a47c5251 | ||
|
|
4839824587 | ||
|
|
1b260aee24 | ||
|
|
9c799cdc49 | ||
|
|
b4497c5843 | ||
|
|
cdf2da368d | ||
|
|
36723b6538 | ||
|
|
e21a79bfdd | ||
|
|
4d7a1289ed | ||
|
|
9d88c7d8f4 | ||
|
|
21709b354b | ||
|
|
62d821786c | ||
|
|
101b16cf41 | ||
|
|
069ad023b5 | ||
|
|
43cb96cbf6 | ||
|
|
1e9d43f56c | ||
|
|
7069a7e3d6 | ||
|
|
d5cbe1e924 | ||
|
|
d8c6273cf6 | ||
|
|
68b1d5c315 | ||
|
|
f104619b8f | ||
|
|
04cf6f4958 | ||
|
|
ad8cd6111e | ||
|
|
e307931314 | ||
|
|
2dee6187e4 | ||
|
|
b6d90e50ea | ||
|
|
aa80f05484 | ||
|
|
af76b4280c | ||
|
|
456bc69ac4 | ||
|
|
872c9baf00 | ||
|
|
0b0245c160 | ||
|
|
2c9e7ae38b | ||
|
|
7a4a6a3c4c | ||
|
|
d1efbf0456 | ||
|
|
6e40539490 | ||
|
|
7348df5937 | ||
|
|
c542351085 | ||
|
|
1cfae1adb2 | ||
|
|
42ace1c150 | ||
|
|
cf1c860a34 | ||
|
|
8bfc9d71aa | ||
|
|
36b9b0e9d1 | ||
|
|
f48216ad0f | ||
|
|
0d88328c7e | ||
|
|
66ab727101 | ||
|
|
25af66a67f | ||
|
|
aca31cf6de | ||
|
|
c4b40cc404 | ||
|
|
aa3029bce1 | ||
|
|
8a738db519 | ||
|
|
4b01eb6e08 | ||
|
|
7d4d41a984 | ||
|
|
8115e29ddc | ||
|
|
df45a985ed | ||
|
|
d2e39bb050 | ||
|
|
969e1ac233 | ||
|
|
772752449d | ||
|
|
a85fae9cb0 | ||
|
|
034e8641bb | ||
|
|
026b40f416 | ||
|
|
561e6723cf | ||
|
|
e89f0792eb | ||
|
|
e0e6bd7ae1 | ||
|
|
36481524ba | ||
|
|
07624e347b | ||
|
|
9627ed0631 | ||
|
|
8d43976858 | ||
|
|
9167d04dea | ||
|
|
2ad5921cf3 | ||
|
|
e1e867c3b2 | ||
|
|
4663bd50f1 | ||
|
|
68a7ee5cbb | ||
|
|
36b518a7ca | ||
|
|
f16a66e97d | ||
|
|
6ec6b845fd | ||
|
|
9dc11a3e38 | ||
|
|
c5934054f3 | ||
|
|
3160edec33 | ||
|
|
b2289a944e | ||
|
|
42649700e2 | ||
|
|
ebe0b30c3e | ||
|
|
9bd8f97ea4 | ||
|
|
46b3f97654 | ||
|
|
05a4b37707 | ||
|
|
fd062077c6 | ||
|
|
153f15497c | ||
|
|
dec2a4d4b7 | ||
|
|
d3975341e7 | ||
|
|
5f1651ddc5 | ||
|
|
367d308b82 | ||
|
|
e781aec85d | ||
|
|
a4f0b6884c | ||
|
|
92c195211a | ||
|
|
c2836e9ac6 | ||
|
|
46458ba213 | ||
|
|
3c63452e64 | ||
|
|
d0add7cf1a | ||
|
|
cca4dedbfd | ||
|
|
4fbdedc0d5 | ||
|
|
47fe2fc105 | ||
|
|
8e6926f7c3 | ||
|
|
e9283774dc | ||
|
|
cf46208624 | ||
|
|
e6962b183d | ||
|
|
60b003e197 | ||
|
|
c7a219ec6f | ||
|
|
ac9a65b1dd | ||
|
|
ef31f60b12 | ||
|
|
53d30c56eb | ||
|
|
2ce0654eba | ||
|
|
8eaa290216 | ||
|
|
6ac04f2fc6 | ||
|
|
6e1ceff48b | ||
|
|
e716549618 | ||
|
|
8c2a1f0e4d | ||
|
|
798d83cf67 | ||
|
|
6afdc0bec2 | ||
|
|
3e2fa3fd5c | ||
|
|
bc36ee25d8 | ||
|
|
944ea204a8 | ||
|
|
10d343f407 | ||
|
|
673077c613 | ||
|
|
8dfc5b9863 | ||
|
|
e32b909054 | ||
|
|
2efb3029f0 | ||
|
|
10882b17c9 | ||
|
|
0977fa67b8 | ||
|
|
f7657d037e | ||
|
|
d2ec14c4aa | ||
|
|
d4ffbe4cca | ||
|
|
dfedb8b78e | ||
|
|
9d00b68482 | ||
|
|
7c5282d2a8 | ||
|
|
f2e21e1026 | ||
|
|
11fd2d7558 | ||
|
|
60b6e4fd7e | ||
|
|
795ae30787 | ||
|
|
45c569860c | ||
|
|
cb4253a546 | ||
|
|
2871f57bcf | ||
|
|
32d0d5aec4 | ||
|
|
f58826db57 | ||
|
|
8ad1076dc2 | ||
|
|
9e84910749 | ||
|
|
b110ca34f0 | ||
|
|
d54d4633fd | ||
|
|
813c96f458 | ||
|
|
fbc236b401 | ||
|
|
23cdcede5d | ||
|
|
71072be182 | ||
|
|
0670eb259d | ||
|
|
433a084130 | ||
|
|
008a5dd7bb | ||
|
|
85678e0399 | ||
|
|
c20579d651 | ||
|
|
f2c5296dd7 | ||
|
|
59c5cf35c9 | ||
|
|
614301faca | ||
|
|
ece3e63c98 | ||
|
|
5fd1cc2e0e | ||
|
|
d3f6b0559f | ||
|
|
b5974db277 | ||
|
|
8455203bc7 | ||
|
|
f72a3da697 | ||
|
|
cf69eeb1aa | ||
|
|
73029c5d75 | ||
|
|
5687740762 | ||
|
|
21666e3db4 | ||
|
|
e4656003ca | ||
|
|
fa647e8336 | ||
|
|
3265fe5f8e | ||
|
|
f42d366bb6 | ||
|
|
4b334b2db6 | ||
|
|
6640bc3bfa | ||
|
|
248b3cf727 | ||
|
|
072edaf126 | ||
|
|
fc80ad6e62 | ||
|
|
f782b8189e | ||
|
|
f8acbed50d | ||
|
|
a42e7c9172 | ||
|
|
be99e845bd | ||
|
|
0adce5d0ed | ||
|
|
641b2307ec | ||
|
|
8420ad94f2 | ||
|
|
d8419c730e | ||
|
|
54f3aab0c7 | ||
|
|
a329d68903 | ||
|
|
89fb06fcc1 | ||
|
|
1a0bfdc8c1 | ||
|
|
681b8c9d1b | ||
|
|
b7808884bb | ||
|
|
551b65f137 | ||
|
|
c5b9950660 | ||
|
|
c62aeed003 | ||
|
|
f022463aa6 | ||
|
|
5b18bb6a60 | ||
|
|
ca6647b307 | ||
|
|
473e51f2fb | ||
|
|
cbc1fb0a9a | ||
|
|
b6e04ee7c8 | ||
|
|
a9be374f82 | ||
|
|
e1cb2fb571 | ||
|
|
d5bbbd41c4 | ||
|
|
8cd2d0e782 | ||
|
|
c84e84a734 | ||
|
|
57aca2bf6e | ||
|
|
99683bd830 | ||
|
|
4991d0f9f3 | ||
|
|
3ce6dc7f1d | ||
|
|
6c25e3a111 | ||
|
|
3f25b1a358 | ||
|
|
57df24a86c | ||
|
|
28bc6cb479 | ||
|
|
2f7ef5fae8 | ||
|
|
e41c57758d | ||
|
|
7d7ec0ea91 | ||
|
|
6a1e1623fd | ||
|
|
fdaa72bc43 | ||
|
|
5f60a0b50a | ||
|
|
a2ae6faf1a | ||
|
|
e14c151f0a | ||
|
|
530d4611eb | ||
|
|
3a03211aee | ||
|
|
e7abc078ab | ||
|
|
0a7fc572a7 | ||
|
|
7e35cc53ce | ||
|
|
528afb5ff4 | ||
|
|
05ed911aca | ||
|
|
b9f75444e6 | ||
|
|
ba88dd0d92 | ||
|
|
ed00b2ef33 | ||
|
|
391876e5e6 | ||
|
|
53880a85b6 | ||
|
|
41771982c4 | ||
|
|
fb657ef91d | ||
|
|
8fefafa220 | ||
|
|
2188d002df | ||
|
|
62166908a9 | ||
|
|
1e0241d3c6 | ||
|
|
713800a495 | ||
|
|
2b930072b3 | ||
|
|
b79e99ad60 | ||
|
|
3ac01f5e47 | ||
|
|
34713c1a3c | ||
|
|
5117a8214d | ||
|
|
f569dc447a | ||
|
|
9f7011b88b | ||
|
|
af3265fabd | ||
|
|
6bf6cd3418 | ||
|
|
7ae671446a | ||
|
|
46a035f76d | ||
|
|
10730663a1 | ||
|
|
1972ac661c | ||
|
|
3efe5beefc | ||
|
|
352c13f783 | ||
|
|
ebe671cfad | ||
|
|
ea53a5b5ab | ||
|
|
946ad2720a | ||
|
|
2a1abe3b46 | ||
|
|
fb8ca95dff | ||
|
|
a4ac844979 | ||
|
|
e968686133 | ||
|
|
77df88727c | ||
|
|
2353e96c32 | ||
|
|
971df9b389 | ||
|
|
c2656d588b | ||
|
|
f1dee4fe8f | ||
|
|
54572c1b93 | ||
|
|
c712425d0d | ||
|
|
5c711e3671 | ||
|
|
e237491493 | ||
|
|
f02a5f6cc5 | ||
|
|
902d2faadf | ||
|
|
8eaffa2a1c | ||
|
|
55c82c596e | ||
|
|
3b4fbbc129 | ||
|
|
b4338e5887 | ||
|
|
89f9cf8add | ||
|
|
c2fa38d5ae | ||
|
|
4336c28c84 | ||
|
|
e201bef913 | ||
|
|
3c342ebd78 | ||
|
|
e8ed14d0c2 | ||
|
|
2525bc7d30 | ||
|
|
1074d8c361 | ||
|
|
487047c060 | ||
|
|
4e9676fb13 | ||
|
|
f1ad551604 | ||
|
|
058f319f60 | ||
|
|
7082420653 | ||
|
|
07bb9884a5 | ||
|
|
82d9f3c034 | ||
|
|
0c3f820bf0 | ||
|
|
4db3c48a13 | ||
|
|
581cc2025f | ||
|
|
8e7bd03760 | ||
|
|
2abbb660a2 | ||
|
|
d65e0beb68 | ||
|
|
455d262c55 | ||
|
|
837bf6e2df | ||
|
|
775669f6ef | ||
|
|
02c03ef6b4 | ||
|
|
f922986238 | ||
|
|
10d7f540ff | ||
|
|
85d816028a | ||
|
|
d373819b8c | ||
|
|
83b820aa98 | ||
|
|
1043a6498a | ||
|
|
d834e8da88 | ||
|
|
8816c70a61 | ||
|
|
d66ca10c53 | ||
|
|
e514cfea74 | ||
|
|
4e99da15eb | ||
|
|
9c0babf24f | ||
|
|
e769cda1eb | ||
|
|
bfa168e3fc | ||
|
|
8afe7de8de | ||
|
|
8bdd0dc8d0 | ||
|
|
9d47f3d6b8 | ||
|
|
4753d60dd0 | ||
|
|
5e54ddc3a6 | ||
|
|
f8035450bb | ||
|
|
4c4663747c | ||
|
|
d09a1d8b29 | ||
|
|
2f35d5e9d5 | ||
|
|
9a33a11d71 | ||
|
|
1013e46504 | ||
|
|
35883ceb93 | ||
|
|
4fe2f3f1a0 | ||
|
|
b58c5ad7b0 | ||
|
|
dd41748f63 | ||
|
|
3f058cd2c5 | ||
|
|
9800adaed2 | ||
|
|
112f7cdeab | ||
|
|
f21a4872e8 | ||
|
|
e0107e87a7 | ||
|
|
241afd837c | ||
|
|
af2a1c1d67 | ||
|
|
28b03c6acb | ||
|
|
f5a0781975 | ||
|
|
91d6f12b4a | ||
|
|
60f1a3c288 | ||
|
|
1d155c1dd8 | ||
|
|
4290dbac4d | ||
|
|
a078d75a27 | ||
|
|
1c40d50014 | ||
|
|
f105bc4095 | ||
|
|
6c408b4667 | ||
|
|
23d8ef3937 | ||
|
|
22538b23b4 | ||
|
|
ee29d3b42a | ||
|
|
02e0de263e | ||
|
|
002483e009 | ||
|
|
9228a9362c | ||
|
|
79cfdebbe0 | ||
|
|
30ec9dbaed | ||
|
|
a5cdf99951 | ||
|
|
056b35874b | ||
|
|
f595212336 | ||
|
|
c450d57991 | ||
|
|
18385b0f4e | ||
|
|
57c35b162e | ||
|
|
df7bd4bf11 | ||
|
|
fb68919362 | ||
|
|
dc2270b461 | ||
|
|
e694a8765a | ||
|
|
62c36a2ff3 | ||
|
|
dec0131a29 | ||
|
|
fdd631a941 | ||
|
|
62954c8c30 | ||
|
|
bcc5d46b08 | ||
|
|
f55b303fc2 | ||
|
|
61bac6014a | ||
|
|
28c61d5b49 | ||
|
|
12bab63f09 | ||
|
|
f3781eaafa | ||
|
|
b7752724d9 | ||
|
|
1113e3266f | ||
|
|
04df3bbe8e | ||
|
|
3fe2bb8933 | ||
|
|
4fa66fa85c | ||
|
|
bf80e1ed62 | ||
|
|
05be7ae125 | ||
|
|
0c527ab054 | ||
|
|
533e88824a | ||
|
|
68c48df2bf | ||
|
|
26e2fb062a | ||
|
|
4c5f8a8207 | ||
|
|
7322cccfb9 | ||
|
|
6c5b7029b3 | ||
|
|
a670c1280b | ||
|
|
db07de057f | ||
|
|
36c3df78f4 | ||
|
|
55d9ee83b4 | ||
|
|
9ff3e9d992 | ||
|
|
ef65c60d88 | ||
|
|
4c1f79264e | ||
|
|
620735af45 | ||
|
|
d60bb2fbc8 | ||
|
|
cffb351a62 | ||
|
|
8c598cfd82 | ||
|
|
cb445412fc | ||
|
|
d23de4d334 | ||
|
|
b7f5e92f17 | ||
|
|
9add9a21d8 | ||
|
|
0cd8a1ea13 | ||
|
|
306d3fcdba | ||
|
|
e503d8b56f | ||
|
|
0a79baf1bf | ||
|
|
851de7ded1 | ||
|
|
c030a18ea6 | ||
|
|
17642eddf4 | ||
|
|
ebe4e3237c | ||
|
|
14209028b6 | ||
|
|
4d030ba651 | ||
|
|
db0944b08a | ||
|
|
42f916de5c | ||
|
|
01dc182ee8 | ||
|
|
486734a5d5 | ||
|
|
09784e1e15 | ||
|
|
d5c94ef40d | ||
|
|
543381510d | ||
|
|
1d84421b7e | ||
|
|
6b50a004ff | ||
|
|
02ee456248 | ||
|
|
db30cc8d00 | ||
|
|
99aab34199 | ||
|
|
b63e8556fa | ||
|
|
31fe0ade35 | ||
|
|
9de4782e49 | ||
|
|
f9e75c31e8 | ||
|
|
17b7cc4cae | ||
|
|
01bcd83def | ||
|
|
1537b63fce | ||
|
|
86a7cc6f2c | ||
|
|
6c921af034 | ||
|
|
a97d216adb | ||
|
|
103bc0f75c | ||
|
|
23d319fc7d | ||
|
|
a68b8dfd76 | ||
|
|
f66de79365 | ||
|
|
934bee04f2 | ||
|
|
7c8b5399f0 | ||
|
|
c028617784 | ||
|
|
e6f2b4174b | ||
|
|
2161b8cf03 | ||
|
|
3c70f6f2ac | ||
|
|
636b2801d9 | ||
|
|
25b85bf02a | ||
|
|
4544bd22fd | ||
|
|
252250ae64 | ||
|
|
e69bfe74d7 | ||
|
|
6211144e05 | ||
|
|
7de02fef5b | ||
|
|
819505ad2a | ||
|
|
8334c89e70 | ||
|
|
e3af5354a6 | ||
|
|
491e573c38 | ||
|
|
80ac8d171c | ||
|
|
aeb4434563 | ||
|
|
d0570646bd | ||
|
|
f7c830e35c | ||
|
|
ac5bbe4c4a | ||
|
|
31f12f504e | ||
|
|
bc6b60c4ff | ||
|
|
93c132a058 | ||
|
|
18a285a5e2 | ||
|
|
8d687e7e58 | ||
|
|
1d822ea8cf | ||
|
|
a72edf01ba | ||
|
|
8843d52af1 | ||
|
|
612fc01293 | ||
|
|
d488af5b34 | ||
|
|
9a888bdc2a | ||
|
|
f9708e45ac | ||
|
|
1d01794e6e | ||
|
|
5033f21d05 | ||
|
|
1c91fe2e3f | ||
|
|
a3e44f4531 | ||
|
|
b43a828ad4 | ||
|
|
7fd50afbbf | ||
|
|
2b9ba3f84f | ||
|
|
5104b4d9df | ||
|
|
0b2fa873c6 | ||
|
|
c5a76cbed4 | ||
|
|
09a0cb464d | ||
|
|
aa24e9171a | ||
|
|
e0193a9425 | ||
|
|
c7a3356746 | ||
|
|
d0271502f8 | ||
|
|
ad7306b23c | ||
|
|
9ff74a0f15 | ||
|
|
711e27fda2 | ||
|
|
983bc3e018 | ||
|
|
4f252bd980 | ||
|
|
c14a5a6c62 | ||
|
|
8baae48fb7 | ||
|
|
f204c9d2bb | ||
|
|
9ac7182ec4 | ||
|
|
026c036be0 | ||
|
|
78a21f96b5 | ||
|
|
2e47ff7b9c | ||
|
|
9a3061715c | ||
|
|
4182cf60d9 | ||
|
|
c9ceef41fe | ||
|
|
a8f2efd147 | ||
|
|
70b8d304bb | ||
|
|
4ba35633d6 | ||
|
|
c4c4213b69 | ||
|
|
ce57201825 | ||
|
|
09700ee358 | ||
|
|
a048da0767 | ||
|
|
3ff07d2062 | ||
|
|
ca7596e834 | ||
|
|
95e2c72fd5 | ||
|
|
d4e02d6026 | ||
|
|
cbd9a0254e | ||
|
|
0cb28418d0 | ||
|
|
12a1024d9d | ||
|
|
38d042a4ad | ||
|
|
69d4ae7bb3 | ||
|
|
db41d2ea8c | ||
|
|
cc27365d77 | ||
|
|
bcb148de92 | ||
|
|
2784dadafc | ||
|
|
c4afba36c3 | ||
|
|
79c2f53491 | ||
|
|
ac8c241e64 | ||
|
|
b37a084357 | ||
|
|
733a4b602b | ||
|
|
ceb39f4f8d | ||
|
|
e79de014c5 | ||
|
|
e0bafefd7a | ||
|
|
1cefc83a88 | ||
|
|
eae38ca1b2 | ||
|
|
6e1666437e | ||
|
|
7956292a76 | ||
|
|
f1e2369878 | ||
|
|
2a182a9897 | ||
|
|
6a731f343e | ||
|
|
ad7e727024 | ||
|
|
6ee7a02852 | ||
|
|
8bd13de4cc | ||
|
|
4c8fadc6d9 | ||
|
|
9b681dcc17 | ||
|
|
2bc668d092 | ||
|
|
ac9aa22174 | ||
|
|
2ef866d1fc | ||
|
|
674012f083 | ||
|
|
9958ace401 | ||
|
|
658702df97 | ||
|
|
028fe46fc5 | ||
|
|
72574b959c | ||
|
|
78940758e9 | ||
|
|
b311950dde | ||
|
|
4197c0ea9b | ||
|
|
43df32e438 | ||
|
|
40fac75370 | ||
|
|
3d587f6432 | ||
|
|
164ce12202 | ||
|
|
83356781e1 | ||
|
|
858b694b64 | ||
|
|
25c5f1b448 | ||
|
|
2ff30b21bc | ||
|
|
e19f5d7cb7 | ||
|
|
47507f4464 | ||
|
|
f2e5c19a2f | ||
|
|
807aea838b | ||
|
|
24f7c0c944 | ||
|
|
03c0c2e8aa | ||
|
|
fe9f62ff18 | ||
|
|
7fc487d38b | ||
|
|
1bb17ed0f2 | ||
|
|
21cb88911a | ||
|
|
3e276d43a2 | ||
|
|
166718f749 | ||
|
|
c6755aa6d5 | ||
|
|
8e6d305c89 | ||
|
|
2edd1807f8 | ||
|
|
9927f1978d | ||
|
|
2e99cbd953 | ||
|
|
26c878ac16 | ||
|
|
0c5c1392ab | ||
|
|
a701a1445c | ||
|
|
35e5e89f56 | ||
|
|
8927fbe9c5 | ||
|
|
fd1727bd10 | ||
|
|
d599190575 | ||
|
|
97291208cb | ||
|
|
571a1ac6ee | ||
|
|
363049160d | ||
|
|
e2053d1690 | ||
|
|
bc42c19f22 | ||
|
|
bd1a9dacf6 | ||
|
|
ca209ae1f9 | ||
|
|
cab83b8aa9 | ||
|
|
f48bfd66da | ||
|
|
714cdd88a4 | ||
|
|
5e1a4fdc3c | ||
|
|
8d0499b75e | ||
|
|
735d92029c | ||
|
|
78c2aa0b51 | ||
|
|
efe2baadb8 | ||
|
|
a0f923d286 | ||
|
|
1fb0a43c16 | ||
|
|
1a6f488908 | ||
|
|
2391f4cec6 | ||
|
|
fc00cbe8d1 | ||
|
|
1643203a93 | ||
|
|
a359d3488a | ||
|
|
3f9be68dc4 | ||
|
|
fa6b2fba7a | ||
|
|
f47efb5ab3 | ||
|
|
c6a14906c6 | ||
|
|
530da27edb | ||
|
|
30f51ae067 | ||
|
|
645ced2955 | ||
|
|
aea09490f5 | ||
|
|
3ade8af7ff | ||
|
|
10f30eb438 | ||
|
|
57d6e1aebf | ||
|
|
c843a1a039 | ||
|
|
54772892bd | ||
|
|
c11120270c | ||
|
|
9cb3947c56 | ||
|
|
e3a0f39824 | ||
|
|
56790ced1a | ||
|
|
b15a3b4d13 | ||
|
|
d2237d48ec | ||
|
|
c3d90f3211 | ||
|
|
36c77a81ad | ||
|
|
9745d47991 | ||
|
|
5cbd179121 | ||
|
|
92512085d5 | ||
|
|
16e2d94cc7 | ||
|
|
c589af2fe2 | ||
|
|
7c8db694cc | ||
|
|
1668d4bab8 | ||
|
|
eaf0eac7d3 | ||
|
|
b70f5c21e7 | ||
|
|
15d4a2327d | ||
|
|
a19d7c35cd | ||
|
|
1d1635d27b | ||
|
|
b638c34381 | ||
|
|
797ea81d63 | ||
|
|
86b842790b | ||
|
|
680522f74c | ||
|
|
faaa88fc48 | ||
|
|
d313068dc8 | ||
|
|
d9331ae71e | ||
|
|
59235bd5da | ||
|
|
c3209d45ad | ||
|
|
5246b6c9d1 | ||
|
|
59e5b90452 | ||
|
|
09fc9324f6 | ||
|
|
74df2ef732 | ||
|
|
ef4f5b391e | ||
|
|
aecfb51c30 | ||
|
|
014ec1ac5e | ||
|
|
471a774f43 | ||
|
|
c34cb25bdd | ||
|
|
aa46094ca6 | ||
|
|
4ea18fc2dc | ||
|
|
a8b25ada45 | ||
|
|
3a825a85f1 | ||
|
|
bfd2ae6e99 | ||
|
|
e6373ba6d7 | ||
|
|
3ac348c17a | ||
|
|
fcc0abe6cf | ||
|
|
bce1689d5b | ||
|
|
7b2a146d3a | ||
|
|
209e1348bd | ||
|
|
8ff271548a | ||
|
|
9c8cbe6950 | ||
|
|
4e6c835210 | ||
|
|
d8af040f5e | ||
|
|
e4eba73060 | ||
|
|
253270dfcc | ||
|
|
2f3d620398 | ||
|
|
70c05e6781 | ||
|
|
20517ce040 | ||
|
|
1b2976f79b | ||
|
|
f660ec6ff8 | ||
|
|
358ed73e1d | ||
|
|
3183af39d0 | ||
|
|
cbf9731119 | ||
|
|
d4ece7b2f4 | ||
|
|
d3be982783 | ||
|
|
3f766b7a89 | ||
|
|
71340e861e | ||
|
|
71515b9175 | ||
|
|
6d9b899342 | ||
|
|
50c31d6861 | ||
|
|
5b7dab2e4c | ||
|
|
17fe22d3bf | ||
|
|
a6fdefa322 | ||
|
|
94dd6b8927 | ||
|
|
a6a997c234 | ||
|
|
b5fd886ee1 | ||
|
|
4fe0f9d2a9 | ||
|
|
6c0d72f9c0 | ||
|
|
199b931c07 | ||
|
|
0ee6a5604d | ||
|
|
1b37d6c305 | ||
|
|
cd060fc3b4 | ||
|
|
c32fe22168 | ||
|
|
853a4abab2 | ||
|
|
fe9b705a2c | ||
|
|
4b7ccad682 | ||
|
|
87c964d388 | ||
|
|
85e7d7c1d8 | ||
|
|
dc31d67c0e | ||
|
|
acf0c0a1e1 | ||
|
|
52ef4cc59a | ||
|
|
9baad8e1ff | ||
|
|
b10f995edf | ||
|
|
a4b42200e9 | ||
|
|
0878456b46 | ||
|
|
3de5462ab1 | ||
|
|
a7f8117153 | ||
|
|
45d21ca587 | ||
|
|
52d4c6ebb5 | ||
|
|
12e875ce4d | ||
|
|
5d26219288 | ||
|
|
40ba618a6f | ||
|
|
e8245c1409 | ||
|
|
ebc8b0aa5a | ||
|
|
7d63ac1e6b | ||
|
|
fca1ce3a26 | ||
|
|
e715c91000 | ||
|
|
e11f089f82 | ||
|
|
470d3cd4a2 | ||
|
|
3d16c369d9 | ||
|
|
b5bfe2f6ae | ||
|
|
439ded4e2a | ||
|
|
b66103971c | ||
|
|
bffae58175 | ||
|
|
3978d026ea | ||
|
|
8f47563559 | ||
|
|
47bcda78e2 | ||
|
|
d3788b60ae | ||
|
|
31c40f0905 | ||
|
|
954f511473 | ||
|
|
968e557dcd | ||
|
|
b1ee387ab5 | ||
|
|
220e77a3f7 | ||
|
|
0e94067d0d | ||
|
|
001f826f71 | ||
|
|
2427575c21 | ||
|
|
7bb6fcc19d | ||
|
|
5734421078 | ||
|
|
97856fd98a | ||
|
|
5ac8282a22 | ||
|
|
a573803ed3 | ||
|
|
78a03d3c45 | ||
|
|
497d6eab66 | ||
|
|
05ba9becc3 | ||
|
|
445e3cbd0d | ||
|
|
38112f5b60 | ||
|
|
80d5855692 | ||
|
|
448b88bb80 | ||
|
|
cfe52d8ae0 | ||
|
|
f2a50b141e | ||
|
|
8674e709ee | ||
|
|
62eb2e5909 | ||
|
|
fffc27015b | ||
|
|
7152305e0a | ||
|
|
7c4268176e | ||
|
|
2fc06af470 | ||
|
|
b6bcfc1f6a | ||
|
|
37f2d5e696 | ||
|
|
7b9fe820a3 | ||
|
|
c98541f54b | ||
|
|
e9479f24ab | ||
|
|
573dd2206b | ||
|
|
4742735a5c | ||
|
|
b14dcea418 | ||
|
|
94a6ec8f0c | ||
|
|
57c946096e | ||
|
|
fde5e2c5f1 | ||
|
|
1f20952a92 | ||
|
|
04120f6cce | ||
|
|
7c276329e8 | ||
|
|
edf8c06270 | ||
|
|
7cc49c2dc8 | ||
|
|
5ce1f374da | ||
|
|
675343c517 | ||
|
|
94666c4b55 | ||
|
|
ba57e5297d | ||
|
|
dcbe4d6d2f | ||
|
|
d22554d2ce | ||
|
|
097d2a025e | ||
|
|
e79f4b08d5 | ||
|
|
517903edcd | ||
|
|
306933046c | ||
|
|
30230a9cd1 | ||
|
|
9348cfc6e8 | ||
|
|
190d34874c | ||
|
|
62f75054cb | ||
|
|
7d5656bee7 | ||
|
|
7e975ba3aa | ||
|
|
9bed64cbf1 | ||
|
|
04ec0fd71e | ||
|
|
a0037ad8b3 | ||
|
|
a07e02fd01 | ||
|
|
0d6fd15840 | ||
|
|
a8b07a539b | ||
|
|
2a88946f9a | ||
|
|
afe4f5e6c1 | ||
|
|
e7df7cd6ad | ||
|
|
c123a9b2ed | ||
|
|
9babb73789 | ||
|
|
d9fc8e20e3 | ||
|
|
ac6daf97e1 | ||
|
|
df631a866d | ||
|
|
233aafbb30 | ||
|
|
fc1eadefeb | ||
|
|
976c26ca34 | ||
|
|
60174c1aef | ||
|
|
76a52525c7 | ||
|
|
bd9b4056d7 | ||
|
|
3d1df5554e | ||
|
|
9a90775010 | ||
|
|
b1a2393bb7 | ||
|
|
c8a27838a0 | ||
|
|
d922109eb3 | ||
|
|
978a2a0a43 | ||
|
|
2e5a20ae21 | ||
|
|
b22fe91cdb | ||
|
|
8b59b52297 | ||
|
|
58cfa0fd90 | ||
|
|
c6182ab54c | ||
|
|
94f494e780 | ||
|
|
ebc9f221b2 | ||
|
|
b5797a5085 | ||
|
|
696cd3d2b6 | ||
|
|
bb40d07830 | ||
|
|
5e1680ce1d | ||
|
|
636fb6cae7 | ||
|
|
84170351db | ||
|
|
76ca0f5232 | ||
|
|
554ceab8ec | ||
|
|
51184566fb | ||
|
|
c618005dcf | ||
|
|
3670e206a7 | ||
|
|
46af1f87c8 | ||
|
|
616f470629 | ||
|
|
2f65b316ff | ||
|
|
8a8d474068 | ||
|
|
dae1774e20 | ||
|
|
086f1b8428 | ||
|
|
24d9350897 | ||
|
|
73fc243420 | ||
|
|
172281dad8 | ||
|
|
e2df5de01c | ||
|
|
d4cff4f2fa | ||
|
|
bbf6a41d2f | ||
|
|
62c734f499 | ||
|
|
ae40b2281d | ||
|
|
3c03f3232d | ||
|
|
4fa5c1966a | ||
|
|
55180f4b92 | ||
|
|
f3b85c983f | ||
|
|
89480f7382 | ||
|
|
46e6c7ad54 | ||
|
|
48f3bdaeb3 | ||
|
|
fd28445e10 | ||
|
|
2a9eca0ed4 | ||
|
|
3b925120a6 | ||
|
|
277fd2e66e | ||
|
|
5356031129 | ||
|
|
4ae22b9721 | ||
|
|
461b990508 | ||
|
|
a1503b00f8 | ||
|
|
fba5e95468 | ||
|
|
96385fa155 | ||
|
|
274fc30d31 | ||
|
|
ac3958ea1b | ||
|
|
ee6cf4c6b0 | ||
|
|
601ce1d624 | ||
|
|
5b22aa1e33 | ||
|
|
f431a3fb4d | ||
|
|
bc07a99cc3 | ||
|
|
cff1cfd90d | ||
|
|
5c749d9e3c | ||
|
|
b23f5b5a5c | ||
|
|
77a4754d73 | ||
|
|
0cab1db776 | ||
|
|
1182ffeec3 | ||
|
|
fae7b778b8 | ||
|
|
571c8ecc8f | ||
|
|
ac54173414 | ||
|
|
5233ca8d30 | ||
|
|
8564f0536b | ||
|
|
47a28c0b4d | ||
|
|
206eda8b69 | ||
|
|
9c38ae35eb | ||
|
|
acc722d4b8 | ||
|
|
33170eeb18 | ||
|
|
4f76d0e215 | ||
|
|
8c2f6c5059 | ||
|
|
657323bf03 | ||
|
|
5e7591f94c | ||
|
|
9e5e5e35a0 | ||
|
|
4d99e5b2e7 | ||
|
|
f6df34ecbe | ||
|
|
d491f7bc14 | ||
|
|
1fb583c50d | ||
|
|
6738d2ac78 | ||
|
|
293b786cee | ||
|
|
af197f5f8f | ||
|
|
aba535e765 | ||
|
|
76f8274daf | ||
|
|
1b25898946 | ||
|
|
24ae7c4c1f | ||
|
|
e4276667da | ||
|
|
65c6ca9179 | ||
|
|
03d6c4c2db | ||
|
|
2db44ffe9d | ||
|
|
e9ba8e9214 | ||
|
|
cd1cefae91 | ||
|
|
cc22179cd8 | ||
|
|
1178ed817f | ||
|
|
688601911c | ||
|
|
ae47121fa3 | ||
|
|
1676268eab | ||
|
|
baace9ffca | ||
|
|
5ed63e0895 | ||
|
|
d3778fc129 | ||
|
|
a2162e4228 | ||
|
|
57b46ee6ea | ||
|
|
e67d632d99 | ||
|
|
5891a5dd55 | ||
|
|
0ce9f39d23 | ||
|
|
5fd13173a1 | ||
|
|
fabc30cfdd | ||
|
|
36822c50ad | ||
|
|
4a497e649b | ||
|
|
a5455bb374 | ||
|
|
6f365c21d7 | ||
|
|
775355a88a | ||
|
|
0fab0702b0 | ||
|
|
470a7b4874 | ||
|
|
a1164746e7 | ||
|
|
ae14499101 | ||
|
|
e4f84b4936 | ||
|
|
b20cea3902 | ||
|
|
51b36396ae | ||
|
|
abd5134965 | ||
|
|
bd58a63fe8 | ||
|
|
2c2a956a3a | ||
|
|
4b7d6f216b | ||
|
|
a7de8b6776 | ||
|
|
8a039ffe0a | ||
|
|
741c2e6434 | ||
|
|
4097590bc6 | ||
|
|
21f80baa35 | ||
|
|
e715c4a62d | ||
|
|
987caacbeb | ||
|
|
b5d3f2c521 | ||
|
|
529e48bb0f | ||
|
|
47a3c67fa6 | ||
|
|
71f2c401c5 | ||
|
|
84cac8441f | ||
|
|
e4a01fd7e1 | ||
|
|
655ba5d992 | ||
|
|
ffa10b1c3b | ||
|
|
645c1cef13 | ||
|
|
736fcbec47 | ||
|
|
5ff1c613ea | ||
|
|
b0bb4f6226 | ||
|
|
b95884c53d | ||
|
|
2a3cc7d907 | ||
|
|
c98da4d99a | ||
|
|
12c1bee87f | ||
|
|
e203c9cdd8 | ||
|
|
7cf50e137d | ||
|
|
bcebfe647f | ||
|
|
9228e17bb5 | ||
|
|
55ed11bac5 | ||
|
|
874ae72495 | ||
|
|
f6e0e92beb | ||
|
|
6f0ab1d868 | ||
|
|
e34d63f087 | ||
|
|
04a6c35819 | ||
|
|
7943b349d6 | ||
|
|
8bd0693101 | ||
|
|
6b1e4ea5a5 | ||
|
|
300e1056f5 | ||
|
|
3893e638e6 | ||
|
|
e7e38a47a8 | ||
|
|
e9482d004f | ||
|
|
d577248b89 | ||
|
|
ca78774fc7 | ||
|
|
569b5f32b9 | ||
|
|
758a21f104 | ||
|
|
1341f40dfe | ||
|
|
5439ab0683 | ||
|
|
89dae684aa | ||
|
|
47cf442c11 | ||
|
|
441a4af435 | ||
|
|
dbd0dad580 | ||
|
|
c47a5327d3 | ||
|
|
5071b0812f | ||
|
|
a51f07d5a1 | ||
|
|
9e48553ccc | ||
|
|
80532da3bf | ||
|
|
d57bcbed46 | ||
|
|
0ab16e0134 | ||
|
|
649971518c | ||
|
|
f89035b8c4 | ||
|
|
9bf68ad963 | ||
|
|
9cf779e7ac | ||
|
|
b8d091d350 | ||
|
|
53e4ebd4e3 | ||
|
|
d29e9dfe93 | ||
|
|
c6083e1dc4 | ||
|
|
b8f9980999 | ||
|
|
5759f53934 | ||
|
|
6d1055c967 | ||
|
|
1a3e034b12 | ||
|
|
a5cc6155d4 | ||
|
|
dbed202744 | ||
|
|
bd3d9b9d04 | ||
|
|
8b6a91a93f | ||
|
|
e296d7f0e4 | ||
|
|
ad51be1ad4 | ||
|
|
72deb502d7 | ||
|
|
bc69de5f21 | ||
|
|
7954a0cafd | ||
|
|
f2bcadec7c | ||
|
|
f50bbbf855 | ||
|
|
8acb7e9ea2 | ||
|
|
20dc7e6945 | ||
|
|
b9f2494bfc | ||
|
|
91979127ec | ||
|
|
7884aa151f | ||
|
|
a41edc31ce | ||
|
|
61cb081a35 | ||
|
|
78023e9808 | ||
|
|
7b9ff48d02 | ||
|
|
f2bfc66c5d | ||
|
|
cd487af90b | ||
|
|
5f2230c7bf | ||
|
|
bcf749e83a | ||
|
|
335634b807 | ||
|
|
e809379caf | ||
|
|
0a716cdff8 | ||
|
|
0ff31445f2 | ||
|
|
bc920f08f5 | ||
|
|
dae62174c5 | ||
|
|
c5e907e501 | ||
|
|
95d0fe9c11 | ||
|
|
c329f0824c | ||
|
|
43caa5c09a | ||
|
|
a2519c8aed | ||
|
|
1b3528fe63 | ||
|
|
652a14a215 | ||
|
|
a03463303d | ||
|
|
9e351d52ae | ||
|
|
5028216c81 | ||
|
|
531ac77263 | ||
|
|
fe5cb830b1 | ||
|
|
104c9fde4e | ||
|
|
70bb907286 | ||
|
|
adcc2ce92b | ||
|
|
7448e33768 | ||
|
|
5b976943ee | ||
|
|
f4a003c3ca | ||
|
|
0e14d6d68e | ||
|
|
16837e4219 | ||
|
|
ac4a41d198 | ||
|
|
3d49061bfc | ||
|
|
d92f615fe5 | ||
|
|
1018a16f39 | ||
|
|
f358988f2e | ||
|
|
04a374bd05 | ||
|
|
51c0c71811 | ||
|
|
27b0758a94 | ||
|
|
1832f1cc86 | ||
|
|
75978bd85e | ||
|
|
4dbd625eaf | ||
|
|
785c3469f4 | ||
|
|
f20ea88f88 | ||
|
|
11785d441d | ||
|
|
908be619fd | ||
|
|
8bce6a217a | ||
|
|
5a2f32b102 | ||
|
|
830bf65275 | ||
|
|
73ccfa0e9a | ||
|
|
3bfd0e6f9f | ||
|
|
31acab88f2 | ||
|
|
08b3ff10d3 | ||
|
|
df4fd765d5 | ||
|
|
8753bd8900 | ||
|
|
691f58930b | ||
|
|
29acfe5bd4 | ||
|
|
ad608fe44d | ||
|
|
cb6ae7b16b | ||
|
|
b570a180da | ||
|
|
0a31a67269 | ||
|
|
1c85aa3332 | ||
|
|
3518a7950f | ||
|
|
e3a7cc1f9e | ||
|
|
5ff4075a69 | ||
|
|
4c00e30ef0 | ||
|
|
54207dfde6 | ||
|
|
18acf6e6f1 | ||
|
|
3004bf8fd7 | ||
|
|
2b7c042525 | ||
|
|
72fc93302c | ||
|
|
bcfe3936a8 | ||
|
|
15eddf38fb | ||
|
|
a6c6fce7e8 | ||
|
|
0d47d26a68 | ||
|
|
62c24f315b | ||
|
|
a2ade36eb1 | ||
|
|
bf478280eb | ||
|
|
77ff5e038a | ||
|
|
608889d18f | ||
|
|
93de8d3d86 | ||
|
|
6ac852d45b | ||
|
|
33143303fe | ||
|
|
148bd34079 | ||
|
|
8a09c3a34b | ||
|
|
c818d6cce5 | ||
|
|
30c75badd1 | ||
|
|
d3abe14a3a | ||
|
|
2aacac9a5d | ||
|
|
01429fa46a | ||
|
|
36f3712e85 | ||
|
|
7d58f44f73 | ||
|
|
bb0830da9e | ||
|
|
bb95cf8934 | ||
|
|
bc80faa7d9 | ||
|
|
a9e2abdcfb | ||
|
|
2e1ed6447a | ||
|
|
9d205e3542 | ||
|
|
373aea11c8 | ||
|
|
67f7554232 | ||
|
|
347b3f0daf | ||
|
|
e116d3b3e5 | ||
|
|
7b0b2ec73a | ||
|
|
5e23af22f7 | ||
|
|
afc5699b08 | ||
|
|
ed39a43b8c | ||
|
|
2780ed4b97 | ||
|
|
3d5815f463 | ||
|
|
ee403ff0ba | ||
|
|
1b2fef5c28 | ||
|
|
8e48a232fe | ||
|
|
c41edfb7c4 | ||
|
|
3d9168025c | ||
|
|
f1f288182e | ||
|
|
16a8e986ce | ||
|
|
d082417dae | ||
|
|
5bfaa2f12e | ||
|
|
38e3675d7d | ||
|
|
0a59ca6cae | ||
|
|
38f28665bf | ||
|
|
53933fe9db | ||
|
|
29cded2654 | ||
|
|
c7aeb8bf1f | ||
|
|
46560b94ae | ||
|
|
3c257e187b | ||
|
|
fb8af6fc97 | ||
|
|
81e3955acf | ||
|
|
197c526d63 | ||
|
|
19d1e43261 | ||
|
|
a767bff929 | ||
|
|
5479e93031 | ||
|
|
8afa9e593b | ||
|
|
0a355dc010 | ||
|
|
25a5dc2ea7 | ||
|
|
06ed3f0a0a | ||
|
|
6dbb39025c | ||
|
|
5535aca5df | ||
|
|
0bc933a460 | ||
|
|
2bb04cad14 | ||
|
|
425fea1c34 | ||
|
|
577f318e0e | ||
|
|
63fae71713 | ||
|
|
355da23785 | ||
|
|
39557c3921 | ||
|
|
6d62d7f321 | ||
|
|
4672b2d88c | ||
|
|
b3678f1080 | ||
|
|
8b7dfa8526 | ||
|
|
7387394e59 | ||
|
|
19bf744556 | ||
|
|
3427e3547e | ||
|
|
df1e73af7a | ||
|
|
ea1bfcc80a | ||
|
|
2f177e2906 | ||
|
|
7acad72a1a | ||
|
|
8806915c3a | ||
|
|
a13df148df | ||
|
|
1a59875367 | ||
|
|
e9313a64c1 | ||
|
|
d2733fa196 | ||
|
|
8ac1f97e9e | ||
|
|
6f3178a3be | ||
|
|
1639518b64 | ||
|
|
935d5e5daa | ||
|
|
0299ad7532 | ||
|
|
c8cfbf7c19 | ||
|
|
2743def830 | ||
|
|
fa6be6e77a | ||
|
|
f5328c534d | ||
|
|
16cdc6ab12 | ||
|
|
56671022f9 | ||
|
|
b5f0de18b9 | ||
|
|
23f48064b8 | ||
|
|
815ad714b4 | ||
|
|
f3e3178751 | ||
|
|
68af9a0773 | ||
|
|
4e856077b7 | ||
|
|
6507d9249d | ||
|
|
e18599a6c3 | ||
|
|
92eac1c765 | ||
|
|
b048d8e084 | ||
|
|
7098924599 | ||
|
|
d9bf6ccce9 | ||
|
|
371ef9c058 | ||
|
|
ad7ce73609 | ||
|
|
264c6fd177 | ||
|
|
3fa4bd008c | ||
|
|
7ea33579e7 | ||
|
|
6b406bf09d | ||
|
|
2f9757f344 | ||
|
|
2c3d34c905 | ||
|
|
6e550baa0a | ||
|
|
bcc513ebf5 | ||
|
|
47489c0721 | ||
|
|
c6e2d29cde | ||
|
|
eb11fa73ec | ||
|
|
47cbbcc1b6 | ||
|
|
1bb327ebdb | ||
|
|
84c8964116 | ||
|
|
77cc447b96 | ||
|
|
24fab8e250 | ||
|
|
b082abc28f | ||
|
|
c6742cedee | ||
|
|
3709db0e17 | ||
|
|
3df1e04b10 | ||
|
|
2a938d3ab7 | ||
|
|
79b2d13ae2 | ||
|
|
d4eb665c60 | ||
|
|
467037de22 | ||
|
|
22144ab755 | ||
|
|
57ffddba98 | ||
|
|
de6a2e0d19 | ||
|
|
d8aa0269cd | ||
|
|
b1b4036656 | ||
|
|
53e4bf9afd | ||
|
|
ca8c6a0337 | ||
|
|
95e02a210e | ||
|
|
896e8bd2d7 | ||
|
|
417ed16a88 | ||
|
|
a28fa45ab7 | ||
|
|
01915e90e6 | ||
|
|
eac57f009e | ||
|
|
9cb9401e87 | ||
|
|
4da75f6d91 | ||
|
|
b51b0a847d | ||
|
|
249aebdd35 | ||
|
|
90ea526114 | ||
|
|
be3d539dac | ||
|
|
ac859a4cbd | ||
|
|
75280a2c74 | ||
|
|
89700a4abd | ||
|
|
0ceb82b838 | ||
|
|
3db5374e66 | ||
|
|
d395251b35 | ||
|
|
d49081302a | ||
|
|
3c646597cf | ||
|
|
a11c0bcf97 | ||
|
|
865322f931 | ||
|
|
d62269757b | ||
|
|
188f2949ea | ||
|
|
0883634178 | ||
|
|
19bbfc6263 | ||
|
|
85312e6db1 | ||
|
|
eb2b63877a | ||
|
|
6a2d72ecff | ||
|
|
6da33b1249 | ||
|
|
0fe593a71e | ||
|
|
d89c87ac40 | ||
|
|
b4203c1c49 | ||
|
|
0221e4d6c8 | ||
|
|
feb555af03 | ||
|
|
be3602da41 | ||
|
|
6a9851d72d | ||
|
|
bf8b5f99a1 | ||
|
|
2eb801cda2 | ||
|
|
8753b1c397 | ||
|
|
bed4c5bf58 | ||
|
|
18c516655f | ||
|
|
01a5dd879b | ||
|
|
6975540db2 | ||
|
|
806e20f463 | ||
|
|
511378b05d | ||
|
|
eb198d2702 | ||
|
|
1f57563b9d | ||
|
|
30038ecaa2 | ||
|
|
feca368c29 | ||
|
|
0d04827f6d | ||
|
|
74b775e14d | ||
|
|
dab76b4dc5 | ||
|
|
ea83bacf9c | ||
|
|
69c283e061 | ||
|
|
abe094e4a1 | ||
|
|
4eebc90a17 | ||
|
|
8bbc71f2eb | ||
|
|
0a0595f2d3 | ||
|
|
03ca5eb58f | ||
|
|
d6c3f73fb4 | ||
|
|
1399d7650d | ||
|
|
c499ce31ba | ||
|
|
0c75c4c417 | ||
|
|
2aadbf41df | ||
|
|
aaf5a9bb08 | ||
|
|
e75d2424e5 | ||
|
|
8f9a594ac8 | ||
|
|
f7e1dfeaef | ||
|
|
23e8d46e07 | ||
|
|
8a42f6b359 | ||
|
|
4539e9195d | ||
|
|
46b0988c67 | ||
|
|
2448fc7dee | ||
|
|
86ca15ece7 | ||
|
|
c6b2a92613 | ||
|
|
4e52e192b2 | ||
|
|
4de3ded28a | ||
|
|
4e492363f0 | ||
|
|
b5fb4fd55b | ||
|
|
88c5ceb650 | ||
|
|
c3a4dbfbd6 | ||
|
|
45323646bd | ||
|
|
10686f42c9 | ||
|
|
dc866313af | ||
|
|
8f28f4850b | ||
|
|
479fa1db1d | ||
|
|
a81b3532f7 | ||
|
|
3c84ab90f2 | ||
|
|
15bf1cd129 | ||
|
|
ccc8b9239c | ||
|
|
18ce0f1254 | ||
|
|
9db3f95ace | ||
|
|
1f12a07380 | ||
|
|
1ceda0f84f | ||
|
|
9a0b12ab00 | ||
|
|
b4736f5e17 | ||
|
|
5c55aa4e61 | ||
|
|
a1f1586bcb | ||
|
|
b8e1c70ec1 | ||
|
|
fb1565bcdd | ||
|
|
6830123a4c | ||
|
|
43bc364af4 | ||
|
|
03d967abb5 | ||
|
|
6628bc9cff | ||
|
|
dde2da64b5 | ||
|
|
78ad878b66 | ||
|
|
f378ab825c | ||
|
|
8e39ad2cd6 | ||
|
|
16461f7c53 | ||
|
|
d1baa05439 | ||
|
|
8fd9f1748d | ||
|
|
228748bc49 | ||
|
|
d8bc5a9eba | ||
|
|
db7a3318aa | ||
|
|
71270195d5 | ||
|
|
6e9f8b7cdb | ||
|
|
fe69cb4b9b | ||
|
|
6d689e8a69 | ||
|
|
eeb861df0b | ||
|
|
d68b699291 | ||
|
|
e56cc3970f | ||
|
|
f2515fa83e | ||
|
|
426628c374 | ||
|
|
326f9ddd8a | ||
|
|
ba70e59e82 | ||
|
|
961b7cad05 | ||
|
|
184a575a00 | ||
|
|
407b487017 | ||
|
|
d98fdad3bf | ||
|
|
5c1e7fa6ee | ||
|
|
4b90e68ac6 | ||
|
|
e5dfe384ad | ||
|
|
d6dd0fceb1 | ||
|
|
f3da389ae0 | ||
|
|
ab36c9aa1c | ||
|
|
9533fd1842 | ||
|
|
74b493a5e6 | ||
|
|
125fddc31d | ||
|
|
6140a8c65f | ||
|
|
4e3e9ac8fb | ||
|
|
2b2e62154d | ||
|
|
b6bcae5698 | ||
|
|
ab0c886a6c | ||
|
|
f2718b0966 | ||
|
|
39927e60ea | ||
|
|
c0bcd2ca99 | ||
|
|
547bbcabff | ||
|
|
d292b83d1a | ||
|
|
d43a5943d8 | ||
|
|
230928ad5f | ||
|
|
3fd01320f1 | ||
|
|
ab8b047ae5 | ||
|
|
8415686ea2 | ||
|
|
321f67c472 | ||
|
|
a087c7421b | ||
|
|
3f9ee180a8 | ||
|
|
e448d6cf0c | ||
|
|
ce656b6a0a | ||
|
|
bfa023921c | ||
|
|
d7fc376de8 | ||
|
|
7a1f3a37a1 | ||
|
|
b980b2eeb6 | ||
|
|
44d8de433e | ||
|
|
e9bf776711 | ||
|
|
78477947de | ||
|
|
ba8f6172bd | ||
|
|
c851646050 | ||
|
|
8cbc573eae | ||
|
|
2d7e25c9ff | ||
|
|
f4b02d1a26 | ||
|
|
58e9917053 | ||
|
|
f22c04cdae | ||
|
|
6517211e12 | ||
|
|
2fd9c8690f | ||
|
|
63cca75e63 | ||
|
|
1c768645c5 | ||
|
|
d14fce03f0 | ||
|
|
08dfacd425 | ||
|
|
6532db9868 | ||
|
|
3b399df638 | ||
|
|
c1d89d4391 | ||
|
|
a580e1adb7 | ||
|
|
3041d05bbc | ||
|
|
8446d1bab1 | ||
|
|
6f89984fed | ||
|
|
ef68e7bf71 | ||
|
|
88f3b89a2c | ||
|
|
e5d6fb20a5 | ||
|
|
123ff6549b | ||
|
|
bc28306f4a | ||
|
|
4e96ac080a | ||
|
|
a884b4b811 | ||
|
|
4292e9c06b | ||
|
|
20911cb17c | ||
|
|
1b686cedf4 | ||
|
|
376d022e4a | ||
|
|
ae8ec0b30d | ||
|
|
93259cdfa1 | ||
|
|
719344b23e | ||
|
|
770169f230 | ||
|
|
9ef50d5826 | ||
|
|
cab974cf6c | ||
|
|
d1ff1f6798 | ||
|
|
05ecec6f49 | ||
|
|
9da422c639 | ||
|
|
f1d6b38441 | ||
|
|
74e2dd38ed | ||
|
|
783d7dfcbf | ||
|
|
083e466f88 | ||
|
|
daabce72db | ||
|
|
4536021a62 | ||
|
|
a2003c2895 | ||
|
|
b0dbd3ed13 | ||
|
|
ac522d4756 | ||
|
|
813882526d | ||
|
|
3cbbef53bc | ||
|
|
062bc07bde | ||
|
|
75639547e7 | ||
|
|
b38ad54c41 | ||
|
|
3afb7a0f70 | ||
|
|
b04bcd14ee | ||
|
|
14586916b9 | ||
|
|
90f042ae8d | ||
|
|
8aa019d2ef | ||
|
|
ab6e78f3a0 | ||
|
|
89c9a4cbf2 | ||
|
|
2f911cdf17 | ||
|
|
67adba15a2 | ||
|
|
90f8ebfd8f | ||
|
|
2e5819270b | ||
|
|
ec15398681 | ||
|
|
23b1503d79 | ||
|
|
fed386cdc0 | ||
|
|
536ede7e00 | ||
|
|
1c6701e1e1 | ||
|
|
cba2ca94f1 | ||
|
|
06d05afdd6 | ||
|
|
fb7899bfec | ||
|
|
c1b97d91c7 | ||
|
|
83886a5a7f | ||
|
|
ab9e273c75 | ||
|
|
2ac44e2509 | ||
|
|
fac5fd258c | ||
|
|
7853901372 | ||
|
|
28861b192f | ||
|
|
7f55eb2b14 | ||
|
|
86ca491ade | ||
|
|
bfea97321c | ||
|
|
45015e4d79 | ||
|
|
4304790e3e | ||
|
|
6a35de3cc3 | ||
|
|
72ef753d5c | ||
|
|
297dfa0fbf | ||
|
|
a864432fb4 | ||
|
|
50478ded80 | ||
|
|
33b2dcf0da | ||
|
|
68656667b2 | ||
|
|
9aff6cfdc3 | ||
|
|
65dcc30599 | ||
|
|
b014986fdb | ||
|
|
ad2ac216fa | ||
|
|
00608a79dc | ||
|
|
cdfba5d375 | ||
|
|
30e5ef86a0 | ||
|
|
dbd1e2b599 | ||
|
|
22f5dc74c7 | ||
|
|
5e3bc0c2a2 | ||
|
|
fbe3726050 | ||
|
|
e3048be8ba | ||
|
|
0c000ec90c | ||
|
|
c34cea7de5 | ||
|
|
26d729581f | ||
|
|
5c0dccc896 | ||
|
|
baf3e77ee2 | ||
|
|
3c2e1022ed | ||
|
|
189476f265 | ||
|
|
ce2733b7cc | ||
|
|
2ac294e67f | ||
|
|
1487b3ea3e | ||
|
|
a852378a62 | ||
|
|
b12d8e3b0d | ||
|
|
54d7a74532 | ||
|
|
a13fab59ae | ||
|
|
ede37839ae | ||
|
|
9b5bb5939b | ||
|
|
6b2eab1869 | ||
|
|
912d3a04c1 | ||
|
|
5a9026c65d | ||
|
|
9e83e8c790 | ||
|
|
23caf20169 | ||
|
|
1795166732 | ||
|
|
0a82c75eab | ||
|
|
24a32627d9 | ||
|
|
30971cd098 | ||
|
|
4fae0260a6 | ||
|
|
f930330d5f | ||
|
|
c19d783e07 | ||
|
|
1e1aac034c | ||
|
|
6b8ae62d6b | ||
|
|
a2c4c98023 | ||
|
|
d45fdeae35 | ||
|
|
dd11e7664d | ||
|
|
7351049dba | ||
|
|
e7f55e76db | ||
|
|
bc58b7b409 | ||
|
|
b5012e1ee1 | ||
|
|
df37d5f2db | ||
|
|
8a9507442a | ||
|
|
78bb78d1c3 | ||
|
|
ba41b8afb1 | ||
|
|
6c4268204b | ||
|
|
db6aa58267 | ||
|
|
8e3366fda7 | ||
|
|
3d960a0d84 | ||
|
|
71be653edc | ||
|
|
5605385194 | ||
|
|
14425aeca1 | ||
|
|
7298e71360 | ||
|
|
2d595d7020 | ||
|
|
8d915cb6fb | ||
|
|
4f3e7cd3cf | ||
|
|
8fa6b363db | ||
|
|
790ea3dc7f | ||
|
|
861ca519ab | ||
|
|
b2ad0754b0 | ||
|
|
0070d398d1 | ||
|
|
7798374e47 | ||
|
|
14940c4ffe | ||
|
|
1e885f6e6c | ||
|
|
ec0585883a | ||
|
|
cd03ed4f54 | ||
|
|
7c20642b10 | ||
|
|
c6f348cbc9 | ||
|
|
a190221f70 | ||
|
|
8e4fa8c3e6 | ||
|
|
44bd53f259 | ||
|
|
fcb23bbd6e | ||
|
|
75d7425061 | ||
|
|
5f5632c424 | ||
|
|
861eb8eb16 | ||
|
|
563d26b247 | ||
|
|
b35ec1ca05 | ||
|
|
9f568e512f | ||
|
|
acdb6db846 | ||
|
|
fda3b1a4b1 | ||
|
|
724abeb058 | ||
|
|
e3a051e053 | ||
|
|
6e0f0f51e0 | ||
|
|
039bf534aa | ||
|
|
efeddebe81 | ||
|
|
365dc68c39 | ||
|
|
9499e017b7 | ||
|
|
caef4a35d6 | ||
|
|
6ad2c5b59a | ||
|
|
69676ac379 | ||
|
|
a96308c37d | ||
|
|
a457549967 | ||
|
|
193005393d | ||
|
|
ebb248aa5c | ||
|
|
699bc7b73d | ||
|
|
c893a015d8 | ||
|
|
ba643a2094 | ||
|
|
a897b335be | ||
|
|
1aa958bc9c | ||
|
|
1c4b3f4dfb | ||
|
|
7dd57a48e1 | ||
|
|
a14cbff8e5 | ||
|
|
fe5d67d95f | ||
|
|
ba58a6665f | ||
|
|
b4df56fcd9 | ||
|
|
7460cfabbc | ||
|
|
66202b75d5 | ||
|
|
7ceffd0e0d | ||
|
|
27a26bfc4b | ||
|
|
21d073d55a | ||
|
|
9a4a958a5c | ||
|
|
6cdf09749c | ||
|
|
0448488e11 | ||
|
|
5a501fbd09 | ||
|
|
5bb27edac0 | ||
|
|
edda9ae9fb | ||
|
|
ac018f5494 | ||
|
|
fc2427e81b | ||
|
|
e188b6e1f1 | ||
|
|
eb326f5f01 | ||
|
|
d0d7d62120 | ||
|
|
d475730357 | ||
|
|
a2d2aed64a | ||
|
|
9c7ca850fd | ||
|
|
a5b66333fb | ||
|
|
9f0bb59c53 | ||
|
|
cc50ed60b3 | ||
|
|
6aafd2491c | ||
|
|
ce938b307e | ||
|
|
d367216678 | ||
|
|
1873b567b2 | ||
|
|
1100b4daa3 | ||
|
|
35324a6c60 | ||
|
|
1791901468 | ||
|
|
fdf2033bda | ||
|
|
2c7e6334ec | ||
|
|
fa849a0e16 | ||
|
|
55590ee810 | ||
|
|
476609c539 | ||
|
|
16eb23a0cb | ||
|
|
22f1ca0131 | ||
|
|
9c05c0494d | ||
|
|
4f66498304 | ||
|
|
e92dd16605 | ||
|
|
eb6c6439ae | ||
|
|
37a6211795 | ||
|
|
574c456a5a | ||
|
|
f142a0830a | ||
|
|
643be95416 | ||
|
|
6542324cb0 | ||
|
|
b1394fa92a | ||
|
|
3b18a36f21 | ||
|
|
63c113a31b | ||
|
|
423f2b2884 | ||
|
|
b9b329d1e5 | ||
|
|
5e0bb98abd | ||
|
|
5aa1c1cd5f | ||
|
|
1c56fdc707 | ||
|
|
f3c399ec11 | ||
|
|
345a71a9cb | ||
|
|
4ed1d0b2c0 | ||
|
|
1ff933b452 | ||
|
|
98b3dd40f7 | ||
|
|
771b975528 | ||
|
|
4360bd7c76 | ||
|
|
cefc42f1ba | ||
|
|
008e4e7e39 | ||
|
|
0e52184c48 | ||
|
|
f7a4bcaf79 | ||
|
|
64a23a0f9c | ||
|
|
23316033db | ||
|
|
ae18872bc7 | ||
|
|
a94ee16534 | ||
|
|
881ec9ee67 | ||
|
|
8d4bd87c1a | ||
|
|
e4b684ce49 | ||
|
|
d49b34a233 | ||
|
|
b8cc150836 | ||
|
|
4df1f7c7ba | ||
|
|
82cfcfa63a | ||
|
|
b9466fca3e | ||
|
|
8f39dd1e62 | ||
|
|
038573aae7 | ||
|
|
b506d8753d | ||
|
|
9a2da667f3 | ||
|
|
399ae35ac6 | ||
|
|
9d3e5db9fc | ||
|
|
7f7b205259 | ||
|
|
48c6a6ecd2 | ||
|
|
e18e0e98fe | ||
|
|
46dbaec56a | ||
|
|
2bf5d9470d | ||
|
|
8ad306baf6 | ||
|
|
c4c639c9a4 | ||
|
|
18f73b622f | ||
|
|
16c3ea9459 | ||
|
|
693f81be4c | ||
|
|
38d3f3d660 | ||
|
|
724f2939f4 | ||
|
|
afa61173a8 | ||
|
|
37cfb3b5c2 | ||
|
|
f96ce6a707 | ||
|
|
c52fc9b49c | ||
|
|
9c27278acf | ||
|
|
f75d697c03 | ||
|
|
45f3634ce3 | ||
|
|
3a71d05e53 | ||
|
|
dca39e8911 | ||
|
|
01e54753ff | ||
|
|
bc6f07856f | ||
|
|
513d486e75 | ||
|
|
a805bb9691 | ||
|
|
bfc6ee1b13 | ||
|
|
e8a84a93aa | ||
|
|
bed573586e | ||
|
|
328cb0b512 | ||
|
|
b3fdfa1246 | ||
|
|
15915b03d0 | ||
|
|
5a0d3dc7b3 | ||
|
|
b92d64e150 | ||
|
|
f93b3dd69e | ||
|
|
116970154d | ||
|
|
8e053916c8 | ||
|
|
289d47eee5 | ||
|
|
148fb313c5 | ||
|
|
e8e20ae598 | ||
|
|
8aee2a3326 | ||
|
|
ef9025a641 | ||
|
|
5d3a95714c | ||
|
|
cf8eebee07 | ||
|
|
732dd6f417 | ||
|
|
147b08328a | ||
|
|
7e70874420 | ||
|
|
b5b5c52034 | ||
|
|
f4f4dab25a | ||
|
|
043654bbfb | ||
|
|
9b61162d43 | ||
|
|
3f8a70e5dd | ||
|
|
a6d46f6b99 | ||
|
|
d4b799b60c | ||
|
|
46e8a51383 | ||
|
|
6339e621f5 | ||
|
|
fa4525e289 | ||
|
|
b1097f24a8 | ||
|
|
e716184cae | ||
|
|
6f0294ca47 | ||
|
|
e98276c859 | ||
|
|
dff7924e25 | ||
|
|
094e2f1a67 | ||
|
|
7aac6d6b8e | ||
|
|
8deec7bf5f | ||
|
|
963946d3d7 | ||
|
|
d4f6695a3e | ||
|
|
042066887b | ||
|
|
507d83e4cc | ||
|
|
ddf69f247f | ||
|
|
585d191ae7 | ||
|
|
bd0f7f42d6 | ||
|
|
6f173cafbd | ||
|
|
b8d907a9bb | ||
|
|
ee2ef90b7f | ||
|
|
769439a23d | ||
|
|
00277e836d | ||
|
|
6d04725282 | ||
|
|
390488d12e | ||
|
|
85dc4e7a77 | ||
|
|
974e468e6d | ||
|
|
6998c71458 | ||
|
|
5c8de84f5f | ||
|
|
1357249aa9 |
1269
Make-config
1269
Make-config
File diff suppressed because it is too large
Load Diff
108
Makefile.DJ
Normal file
108
Makefile.DJ
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
# Mesa 3-D graphics library
|
||||||
|
# Version: 4.0
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the "Software"),
|
||||||
|
# to deal in the Software without restriction, including without limitation
|
||||||
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
# and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
# Software is furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
# DOS/DJGPP makefile v1.4 for Mesa
|
||||||
|
#
|
||||||
|
# Copyright (C) 2002 - Borca Daniel
|
||||||
|
# Email : dborca@users.sourceforge.net
|
||||||
|
# Web : http://www.geocities.com/dborca
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Available options:
|
||||||
|
#
|
||||||
|
# Environment variables:
|
||||||
|
# CPU optimize for the given processor.
|
||||||
|
# default = pentium
|
||||||
|
# GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
|
||||||
|
# or `mesa'.
|
||||||
|
# default = mesa
|
||||||
|
# GLIDE path to Glide3 SDK; used with FX.
|
||||||
|
# default = $(TOP)/glide3
|
||||||
|
# FX=1 build for 3dfx Glide3. Note that this disables
|
||||||
|
# compilation of most DMesa code and requires fxMesa.
|
||||||
|
# As a consequence, you'll need the DJGPP Glide3
|
||||||
|
# library to build any application.
|
||||||
|
# default = no
|
||||||
|
# MATROX=1 build for Matrox Millennium I (MGA2064W) cards.
|
||||||
|
# This is experimental and not intensively tested.
|
||||||
|
# default = no
|
||||||
|
# HAVE_X86=1 optimize for i386.
|
||||||
|
# default = no
|
||||||
|
# HAVE_MMX=1 allow MMX specializations, provided your assembler
|
||||||
|
# supports MMX instruction set. However, the true CPU
|
||||||
|
# capabilities are checked at run-time to avoid crashes.
|
||||||
|
# default = no
|
||||||
|
# HAVE_SSE=1 (see HAVE_MMX)
|
||||||
|
# default = no
|
||||||
|
# HAVE_3DNOW=1 (see HAVE_MMX)
|
||||||
|
# default = no
|
||||||
|
#
|
||||||
|
# Targets:
|
||||||
|
# all: build everything
|
||||||
|
# libgl: build GL
|
||||||
|
# libglu: build GLU
|
||||||
|
# libglut: build GLUT
|
||||||
|
# clean: remove object files
|
||||||
|
# realclean: remove all generated files
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY : all libgl libglu libglut clean realclean
|
||||||
|
|
||||||
|
CPU ?= pentium
|
||||||
|
|
||||||
|
GLU ?= mesa
|
||||||
|
|
||||||
|
CFLAGS = -Wall -W -pedantic
|
||||||
|
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
|
||||||
|
|
||||||
|
export CFLAGS
|
||||||
|
|
||||||
|
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||||
|
UNLINK = del $(subst /,\,$(1))
|
||||||
|
else
|
||||||
|
UNLINK = $(RM) $(1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: libgl libglu libglut
|
||||||
|
|
||||||
|
libgl: lib
|
||||||
|
$(MAKE) -f Makefile.DJ -C src/mesa
|
||||||
|
libglu: lib
|
||||||
|
$(MAKE) -f Makefile.DJ -C src/glu/$(GLU)
|
||||||
|
libglut: lib
|
||||||
|
$(MAKE) -f Makefile.DJ -C src/glut/dos
|
||||||
|
|
||||||
|
lib:
|
||||||
|
mkdir lib
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f Makefile.DJ clean -C src/mesa
|
||||||
|
$(MAKE) -f Makefile.DJ clean -C src/glu/mesa
|
||||||
|
$(MAKE) -f Makefile.DJ clean -C src/glu/sgi
|
||||||
|
$(MAKE) -f Makefile.DJ clean -C src/glut/dos
|
||||||
|
|
||||||
|
realclean: clean
|
||||||
|
-$(call UNLINK,lib/*.a)
|
||||||
|
-$(call UNLINK,lib/*.dxe)
|
||||||
994
Makefile.X11
994
Makefile.X11
File diff suppressed because it is too large
Load Diff
91
Makefile.mgw
Normal file
91
Makefile.mgw
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# Mesa 3-D graphics library
|
||||||
|
# Version: 4.0
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the "Software"),
|
||||||
|
# to deal in the Software without restriction, including without limitation
|
||||||
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
# and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
# Software is furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
# MinGW makefile v1.0 for Mesa
|
||||||
|
#
|
||||||
|
# Copyright (C) 2002 - Borca Daniel
|
||||||
|
# Email : dborca@users.sourceforge.net
|
||||||
|
# Web : http://www.geocities.com/dborca
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Available options:
|
||||||
|
#
|
||||||
|
# Environment variables:
|
||||||
|
# CPU optimize for the given processor.
|
||||||
|
# default = pentium
|
||||||
|
# GLIDE path to Glide3 SDK; used with FX.
|
||||||
|
# default = $(TOP)/glide3
|
||||||
|
# FX=1 build for 3dfx Glide3. Note that this disables
|
||||||
|
# compilation of most WMesa code and requires fxMesa.
|
||||||
|
# As a consequence, you'll need the Win32 Glide3
|
||||||
|
# library to build any application.
|
||||||
|
# default = no
|
||||||
|
# HAVE_X86=1 optimize for i386.
|
||||||
|
# default = no
|
||||||
|
# HAVE_MMX=1 allow MMX specializations, provided your assembler
|
||||||
|
# supports MMX instruction set. However, the true CPU
|
||||||
|
# capabilities are checked at run-time to avoid crashes.
|
||||||
|
# default = no
|
||||||
|
# HAVE_SSE=1 (see HAVE_MMX)
|
||||||
|
# default = no
|
||||||
|
# HAVE_3DNOW=1 (see HAVE_MMX)
|
||||||
|
# default = no
|
||||||
|
#
|
||||||
|
# Targets:
|
||||||
|
# all: build everything
|
||||||
|
# libgl: build GL
|
||||||
|
# clean: remove object files
|
||||||
|
# realclean: remove all generated files
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY : all libgl clean realclean
|
||||||
|
|
||||||
|
CPU ?= pentium
|
||||||
|
|
||||||
|
CFLAGS = -Wall -W -pedantic
|
||||||
|
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
|
||||||
|
|
||||||
|
export CFLAGS
|
||||||
|
|
||||||
|
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||||
|
UNLINK = del $(subst /,\,$(1))
|
||||||
|
else
|
||||||
|
UNLINK = $(RM) $(1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: libgl
|
||||||
|
|
||||||
|
libgl: lib
|
||||||
|
$(MAKE) -f Makefile.mgw -C src/mesa
|
||||||
|
|
||||||
|
lib:
|
||||||
|
mkdir lib
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f Makefile.mgw clean -C src/mesa
|
||||||
|
|
||||||
|
realclean: clean
|
||||||
|
-$(call UNLINK,lib/*.a)
|
||||||
|
-$(call UNLINK,lib/*.dll)
|
||||||
87
Makefile.wfx
Normal file
87
Makefile.wfx
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
# Mesa 3-D graphics library
|
||||||
|
# Version: 5.1
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the "Software"),
|
||||||
|
# to deal in the Software without restriction, including without limitation
|
||||||
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
# and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
# Software is furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
# Win32/FX makefile for Mesa
|
||||||
|
#
|
||||||
|
# Copyright (c) 2003 - Hiroshi Morii
|
||||||
|
# Email : koolsmoky@users.sourceforge.net
|
||||||
|
# URL : http://www.3dfxzone.it/koolsmoky
|
||||||
|
|
||||||
|
# Debug build : nmake -f Makefile.wfx debug
|
||||||
|
# Optimized build : nmake -f Makefile.wfx
|
||||||
|
# Remove objects : nmake -f Makefile.wfx clean
|
||||||
|
# Remove files in bin, lib : nmake -f Makefile.wfx clobber
|
||||||
|
# Remove all generated files : nmake -f Makefile.wfx realclean
|
||||||
|
|
||||||
|
# Build the libs
|
||||||
|
SUBDIRS = src\mesa.dir
|
||||||
|
DBGBUILD = $(SUBDIRS:.dir=.debug)
|
||||||
|
CLEAN = $(SUBDIRS:.dir=.clean)
|
||||||
|
CLOBBER = $(SUBDIRS:.dir=.clobber)
|
||||||
|
REALCLEAN = $(SUBDIRS:.dir=.realclean)
|
||||||
|
LIBDIR = lib
|
||||||
|
|
||||||
|
# default rule
|
||||||
|
default : $(LIBDIR) $(SUBDIRS)
|
||||||
|
|
||||||
|
# debug build rules
|
||||||
|
debug : $(LIBDIR) $(DBGBUILD)
|
||||||
|
|
||||||
|
# cleanup rules
|
||||||
|
clean : $(CLEAN)
|
||||||
|
clobber : $(CLOBBER)
|
||||||
|
realclean : $(REALCLEAN)
|
||||||
|
|
||||||
|
# inference rules
|
||||||
|
$(LIBDIR):
|
||||||
|
@echo.
|
||||||
|
@mkdir $(LIBDIR)
|
||||||
|
|
||||||
|
$(SUBDIRS):
|
||||||
|
@echo.
|
||||||
|
@cd $*
|
||||||
|
@nmake -f Makefile.wfx
|
||||||
|
@cd ..
|
||||||
|
|
||||||
|
$(DBGBUILD):
|
||||||
|
@echo.
|
||||||
|
@cd $*
|
||||||
|
@nmake -f Makefile.wfx DEBUG=1
|
||||||
|
@cd ..
|
||||||
|
|
||||||
|
$(CLEAN):
|
||||||
|
@echo.
|
||||||
|
@cd $*
|
||||||
|
@nmake -f Makefile.wfx clean
|
||||||
|
@cd ..
|
||||||
|
|
||||||
|
$(CLOBBER):
|
||||||
|
@echo.
|
||||||
|
@cd $*
|
||||||
|
@nmake -f Makefile.wfx clobber
|
||||||
|
@cd ..
|
||||||
|
|
||||||
|
$(REALCLEAN):
|
||||||
|
@echo.
|
||||||
|
@cd $*
|
||||||
|
@nmake -f Makefile.wfx realclean
|
||||||
|
@cd ..
|
||||||
179
Mesa.dsw
Normal file
179
Mesa.dsw
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||||
|
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "array_cache"=".\SRC\MESA\array_cache\array_cache.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "gdi"=".\src\mesa\drivers\windows\gdi\gdi.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name array_cache
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name main
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name math
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name swrast_setup
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name swrast
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name tnl
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name glapi
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "glapi"=".\SRC\MESA\glapi\glapi.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "glu"=".\src\glu\sgi\glu.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name gdi
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "glut"=".\src\glut\glx\glut.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name glu
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "main"=".\SRC\MESA\main\main.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "math"=".\SRC\MESA\math\math.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osmesa"=".\SRC\MESA\DRIVERS\osmesa\osmesa.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name gdi
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "swrast"=".\SRC\MESA\swrast\swrast.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "swrast_setup"=".\SRC\MESA\swrast_setup\swrast_setup.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "tnl"=".\SRC\MESA\tnl\tnl.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Global:
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<3>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
351
bin/mklib
Executable file
351
bin/mklib
Executable file
@@ -0,0 +1,351 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Make a shared library.
|
||||||
|
# Basically do a switch/case depending on the OS and make a shared
|
||||||
|
# lib conforming to that OS.
|
||||||
|
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# mklib [options] objects ...
|
||||||
|
# Options:
|
||||||
|
# -o LIBRARY specifies the name of resulting library ("GL" for example)
|
||||||
|
# -major N specifies major version number (default is 1)
|
||||||
|
# -minor N specifies minor version number (default is 0)
|
||||||
|
# -patch N specifies patch version number (default is 0)
|
||||||
|
# -lLIBRARY specifies a dependency on LIBRARY
|
||||||
|
# -LDIR search in DIR for library dependencies
|
||||||
|
# -cplusplus link with C++ runtime
|
||||||
|
# -static make a static library (default is dynamic/shared)
|
||||||
|
# -install DIR move resulting library files to DIR
|
||||||
|
# -arch ARCH override using `uname` to determine architecture
|
||||||
|
# -archopt OPT specify an extra achitecture-specific option OPT
|
||||||
|
#
|
||||||
|
# The library name should just be "GL" or "GLU", etc. The 'lib' prefix
|
||||||
|
# will be added here if needed, as well as the ".so" or ".a" suffix, etc.
|
||||||
|
#
|
||||||
|
# objects should be: foo.o bar.o etc.o
|
||||||
|
#
|
||||||
|
# Environment variables recognized:
|
||||||
|
# CC C compiler command
|
||||||
|
# CXX C++ compiler command
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Option defaults
|
||||||
|
#
|
||||||
|
LIBNAME=""
|
||||||
|
MAJOR=1
|
||||||
|
MINOR=0
|
||||||
|
PATCH=0
|
||||||
|
DEPS=""
|
||||||
|
CPLUSPLUS=0
|
||||||
|
STATIC=0
|
||||||
|
INSTALLDIR="."
|
||||||
|
ARCH="auto"
|
||||||
|
ARCHOPT=""
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Parse arguments
|
||||||
|
#
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
case $1 in
|
||||||
|
'-o') shift 1; LIBNAME=$1;;
|
||||||
|
'-major') shift 1; MAJOR=$1;;
|
||||||
|
'-minor') shift 1; MINOR=$1;;
|
||||||
|
'-patch') shift 1; PATCH=$1;;
|
||||||
|
-l*) DEPS="$DEPS $1";;
|
||||||
|
-L*) DEPS="$DEPS $1";;
|
||||||
|
'-cplusplus') CPLUSPLUS=1;;
|
||||||
|
'-static') STATIC=1;;
|
||||||
|
'-install') shift 1; INSTALLDIR=$1;;
|
||||||
|
'-arch') shift 1; ARCH=$1;;
|
||||||
|
'-archopt') shift 1; ARCHOPT=$1;;
|
||||||
|
-*) echo "mklib: Unknown option: " $1 ; exit 1;;
|
||||||
|
*) break
|
||||||
|
esac
|
||||||
|
shift 1
|
||||||
|
done
|
||||||
|
OBJECTS=$@
|
||||||
|
|
||||||
|
if [ ${ARCH} = "auto" ] ; then
|
||||||
|
ARCH=`uname`
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Error checking
|
||||||
|
#
|
||||||
|
if [ "x${LIBNAME}" = "x" ] ; then
|
||||||
|
echo "mklib: Error: no library name specified"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "x${OBJECTS}" = "x" ] ; then
|
||||||
|
echo "mklib: Error: no object files specified"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debugging info
|
||||||
|
#
|
||||||
|
if [ ] ; then
|
||||||
|
echo "-----------------"
|
||||||
|
echo ARCH is $ARCH
|
||||||
|
echo LIBNAME is $LIBNAME
|
||||||
|
echo MAJOR is $MAJOR
|
||||||
|
echo MINOR is $MINOR
|
||||||
|
echo PATCH is $PATCH
|
||||||
|
echo DEPS are $DEPS
|
||||||
|
echo "-----------------"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# OK, make the library now
|
||||||
|
#
|
||||||
|
case $ARCH in
|
||||||
|
|
||||||
|
'Linux')
|
||||||
|
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
||||||
|
|
||||||
|
if [ $STATIC = 1 ] ; then
|
||||||
|
echo "mklib: Making Linux static library: " ${LIBNAME}.a
|
||||||
|
LINK="ar"
|
||||||
|
OPTS="-ruv"
|
||||||
|
# make lib
|
||||||
|
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
||||||
|
# finish up
|
||||||
|
FINAL_LIBS="${LIBNAME}.a"
|
||||||
|
else
|
||||||
|
OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
|
||||||
|
VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
||||||
|
|
||||||
|
echo "mklib: Making Linux shared library: " ${LIBNAME}.so.${VERSION}
|
||||||
|
|
||||||
|
if [ $CPLUSPLUS = 1 ] ; then
|
||||||
|
LINK="g++"
|
||||||
|
else
|
||||||
|
LINK="gcc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# rm any old libs
|
||||||
|
rm -f ${LIBNAME}.so.${VERSION}
|
||||||
|
rm -f ${LIBNAME}.so.${MAJOR}
|
||||||
|
rm -f ${LIBNAME}.so
|
||||||
|
|
||||||
|
# make lib
|
||||||
|
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
||||||
|
# make usual symlinks
|
||||||
|
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
||||||
|
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
||||||
|
# finish up
|
||||||
|
FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
'SunOS')
|
||||||
|
LIBNAME="lib${LIBNAME}.so"
|
||||||
|
echo "mklib: Making SunOS shared library: " ${LIBNAME}
|
||||||
|
OPTS="-G"
|
||||||
|
if [ $CPLUSPLUS = 1 ] ; then
|
||||||
|
# link for C++
|
||||||
|
if [ "x${CXX}" = "xg++" ] ; then
|
||||||
|
LINK="g++"
|
||||||
|
elif [ "x${CXX}" = "xCC" ] ; then
|
||||||
|
LINK="CC"
|
||||||
|
elif [ `which c++` ] ; then
|
||||||
|
LINK="c++"
|
||||||
|
elif [ `type g++` ] ; then
|
||||||
|
LINK="g++"
|
||||||
|
else
|
||||||
|
echo "mklib: warning: can't find C++ comiler, trying CC."
|
||||||
|
LINK="CC"
|
||||||
|
fi
|
||||||
|
elif [ "x${CC}" = "xgcc" ] ; then
|
||||||
|
# use gcc for linking
|
||||||
|
LINK="gcc"
|
||||||
|
else
|
||||||
|
# use native Sun linker
|
||||||
|
LINK="ld"
|
||||||
|
fi
|
||||||
|
echo "mklib: linker is " ${LINK}
|
||||||
|
rm -f ${LIBNAME}
|
||||||
|
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
|
FINAL_LIBS=${LIBNAME}
|
||||||
|
;;
|
||||||
|
|
||||||
|
'FreeBSD')
|
||||||
|
SHLIB="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
|
||||||
|
STLIB="lib${LIBNAME}.a"
|
||||||
|
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
|
||||||
|
rm -f ${SHLIB} ${STLIB}
|
||||||
|
ar cq ${STLIB} ${OBJECTS}
|
||||||
|
ranlib ${STLIB}
|
||||||
|
ld -Bshareable -o ${SHLIB} ${OBJECTS}
|
||||||
|
# XXX make lib${LIBNAME}.so.${MAJOR} symlink?
|
||||||
|
FINAL_LIBS="${SHLIB} ${STLIB}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'OpenBSD')
|
||||||
|
LIBNAME="lib${LIBNAME}"
|
||||||
|
VERSION="${MAJOR}.${MINOR}"
|
||||||
|
echo "Building OpenBSD PIC library: " ${LIBNAME}
|
||||||
|
rm -f ${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION}
|
||||||
|
ar cq ${LIBNAME}_pic.a ${OBJECTS}
|
||||||
|
ranlib ${LIBNAME}_pic.a
|
||||||
|
ld -x -Bshareable -Bforcearchive -o ${LIBNAME}.so.${VERSION} ${LIBNAME}_pic.a
|
||||||
|
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so
|
||||||
|
FINAL_LIBS="${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION} ${LIBNAME}.so"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'NetBSD')
|
||||||
|
LIBNAME="lib${LIBNAME}"
|
||||||
|
echo "mklib: Making NetBSD PIC shared library: " ${LIBNAME}
|
||||||
|
VERSION="${MAJOR}.${MINOR}"
|
||||||
|
rm -f ${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION}
|
||||||
|
ar cq ${LIBNAME}_pic.a ${OBJECTS}
|
||||||
|
ranlib ${LIBNAME}_pic.a
|
||||||
|
ld -x -Bshareable -Bforcearchive -o ${LIBNAME}.so.${VERSION} ${LIBNAME}_pic.a
|
||||||
|
FINAL_LIBS="${LIBNAME}_pic.a ${LIBNAME}.so.${VERSION}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'IRIX')
|
||||||
|
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
||||||
|
if [ $ARCHOPTS = "64" ] ; then
|
||||||
|
# 64-bit ABI
|
||||||
|
OPTS="-64 -shared -all"
|
||||||
|
echo "mklib: Making IRIX 64-bit shared library: " ${LIBNAME}
|
||||||
|
elif [ $ARCHOPTS = "o32" ] ; then
|
||||||
|
# old 32-bit ABI
|
||||||
|
OPTS="-32 -shared -all"
|
||||||
|
echo "mklib: Making IRIX o32-bit shared library: " ${LIBNAME}
|
||||||
|
else
|
||||||
|
# new 32-bit ABI
|
||||||
|
OPTS="-n32 -shared -all"
|
||||||
|
echo "mklib: Making IRIX n32-bit shared library: " ${LIBNAME}
|
||||||
|
fi
|
||||||
|
ld ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
|
FINAL_LIBS="${LIBNAME}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'IRIX64')
|
||||||
|
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
||||||
|
echo "mklib: Making IRIX64 library: " ${LIBNAME}
|
||||||
|
# 64-bit ABI
|
||||||
|
OPTS="-64 -shared -all"
|
||||||
|
ld ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
|
FINAL_LIBS="${LIBNAME}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'linux-cygwin')
|
||||||
|
LIBNAME="lib${LIBNAME}.a"
|
||||||
|
echo "mklib: Making linux-cygwin library: " ${LIBNAME}
|
||||||
|
gnuwin32ar ruv ${LIBNAME} ${OBJECTS}
|
||||||
|
FINAL_LIBS=${LIBNAME}
|
||||||
|
;;
|
||||||
|
|
||||||
|
'HPUX')
|
||||||
|
RUNLIB="lib${LIBNAME}.${MAJOR}"
|
||||||
|
DEVLIB="lib${LIBNAME}.sl"
|
||||||
|
echo "mklib: Making HPUX library: " ${RUNLIB} ${DEVLIB}
|
||||||
|
ld -b -o ${RUNLIB} +b ${RUNLIB} ${OBJECTS} ${DEPS}
|
||||||
|
ln -s ${RUNLIB} ${DEVLIB}
|
||||||
|
FINAL_LIBS="{RUNLIB} ${DEVLIB}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'OpenSTEP')
|
||||||
|
LIBNAME="lib${LIBNAME}.a"
|
||||||
|
echo "mklib: Making OpenSTEP static library: " ${LIBNAME}
|
||||||
|
libtool -static -o ${LIBNAME} - ${OBJECTS}
|
||||||
|
FINAL_LIBS=${LIBNAME}
|
||||||
|
;;
|
||||||
|
|
||||||
|
'OSF1')
|
||||||
|
VERSION="${MAJOR}.${MINOR}"
|
||||||
|
LIBNAME="lib${LIBNAME}.so"
|
||||||
|
ARNAME="lib${LIBNAME}.a"
|
||||||
|
echo "mklib: Making OSF/1 library: " ${LIBNAME}
|
||||||
|
rm -f ${LIBNAME}.${VERSION}
|
||||||
|
ld -o ${LIBNAME}.${VERSION} -shared -no_archive -set_version ${VERSION} -soname ${LIBNAME}.${VERSION} -expect_unresolved \* -all ${OBJECTS} ${DEPS}
|
||||||
|
ln -sf ${LIBNAME}.${VERSION} ${LIBNAME}
|
||||||
|
|
||||||
|
# also make static lib
|
||||||
|
rm -f ${ARNAME}
|
||||||
|
ar clqz ${ARNAME} ${OBJECTS}
|
||||||
|
FINAL_LIBS="${ARNAME} ${LIBNAME} ${LIBNAME}.${VERSION}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'Darwin')
|
||||||
|
VERSION="${MAJOR}.${MINOR}.${TINY}"
|
||||||
|
LIBNAME="lib${LIBNAME}.dylib"
|
||||||
|
ARNAME="lib${LIBNAME}.dylib.a"
|
||||||
|
echo "mklib: Making Darwin libraries: " ${LIBNAME} ${ARNAME}
|
||||||
|
FLAGS="-dynamiclib -multiply_defined suppress"
|
||||||
|
cc ${FLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
|
# also make regular .a files,
|
||||||
|
# provided by Danek Duvall (duvall@dhduvall.student.princeton.edu)
|
||||||
|
ar ruv ${ARNAME} ${OBJECTS}
|
||||||
|
ranlib ${ARNAME}
|
||||||
|
FINAL_LIBS="${ARNAME} ${LIBNAME}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'LynxOS')
|
||||||
|
LIBNAME="lib${LIBNAME}.a"
|
||||||
|
echo "mklib: Making LynxOS library: " ${LIBNAME}
|
||||||
|
ar ru ${LIBNAME} ${OBJECTS}
|
||||||
|
FINAL_LIBS=${LIBNAME}
|
||||||
|
;;
|
||||||
|
|
||||||
|
'BeOS')
|
||||||
|
LIBNAME="lib${LIBNAME}.so"
|
||||||
|
echo "mklib: Making BeOS shared library: " ${LIBNAME}
|
||||||
|
gcc -nostart -Xlinker -soname=${LIBNAME} -L/Be/develop/lib/x86 ${OBJECTS} -lbe -o ${LIBNAME}
|
||||||
|
FINAL_LIBS=${LIBNAME}
|
||||||
|
;;
|
||||||
|
|
||||||
|
'QNX')
|
||||||
|
LIBNAME="lib${LIBNAME}.a"
|
||||||
|
echo "mklib: Making QNX library: " ${LIBNAME}
|
||||||
|
wlib ${LIBNAME} ${OBJECTS}
|
||||||
|
FINAL_LIBS=${LIBNAME}
|
||||||
|
;;
|
||||||
|
|
||||||
|
'MorphOS')
|
||||||
|
LIBNAME="lib${LIBNAME}.a"
|
||||||
|
echo "mklib: Making MorphOS library: " ${LIBNAME}
|
||||||
|
ppc-morphos-ar rc ${LIBNAME} ${OBJECTS}
|
||||||
|
FINAL_LIBS="${LIBNAME}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
'example')
|
||||||
|
# If you're adding support for a new architecture, you can
|
||||||
|
# start with this:
|
||||||
|
LIBNAME="lib${LIBNAME}.so" # prefix with "lib"
|
||||||
|
echo "mklib: Making library for example arch: " ${LIBNAME}
|
||||||
|
ld -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
|
FINAL_LIBS="${LIBNAME}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "mklib: WARNING: making library for unknown platform!"
|
||||||
|
echo "mklib: WARNING: this may not work!"
|
||||||
|
echo "mklib: WARNING: please update the bin/mklib script!"
|
||||||
|
# XXX this is a total hack for Mesa - remove someday
|
||||||
|
# fall-back to an old mklib.* script
|
||||||
|
LIBNAME="lib${LIBNAME}.a"
|
||||||
|
${TOP}/${MAKELIB} "lib${LIBNAME}.a" ${MAJOR} ${MINOR} ${PATCH} ${OBJECTS}
|
||||||
|
FINAL_LIBS="${LIBNAME}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Put library files into installation directory if specified.
|
||||||
|
#
|
||||||
|
if [ ${INSTALLDIR} != "." ] ; then
|
||||||
|
echo "mklib: Installing" ${FINAL_LIBS} "in" ${INSTALLDIR}
|
||||||
|
mv ${FINAL_LIBS} ${INSTALLDIR}/
|
||||||
|
fi
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Make a Solaris shared library
|
|
||||||
# contributed by Arno Hahma (arno@nitro.pp.utu.fi)
|
|
||||||
|
|
||||||
#--identification------------------------------------------------------
|
|
||||||
|
|
||||||
# $Id: mklib.solaris,v 1.2 1999/09/15 15:10:20 brianp Exp $
|
|
||||||
|
|
||||||
# $Log: mklib.solaris,v $
|
|
||||||
# Revision 1.2 1999/09/15 15:10:20 brianp
|
|
||||||
# added third, tiny version number to arguments
|
|
||||||
#
|
|
||||||
# Revision 1.1 1999/08/19 13:53:06 brianp
|
|
||||||
# initial check-in (post-crash)
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
#--common--------------------------------------------------------------
|
|
||||||
|
|
||||||
LIBRARY=$1
|
|
||||||
shift 1
|
|
||||||
|
|
||||||
MAJOR=$1
|
|
||||||
shift 1
|
|
||||||
|
|
||||||
MINOR=$1
|
|
||||||
shift 1
|
|
||||||
|
|
||||||
TINY=$1
|
|
||||||
shift 1
|
|
||||||
|
|
||||||
OBJECTS=$*
|
|
||||||
|
|
||||||
#--platform-------------------------------------------------------------
|
|
||||||
|
|
||||||
set -x
|
|
||||||
|
|
||||||
LIBRARY=`basename $LIBRARY .a`
|
|
||||||
|
|
||||||
VERSION=$MAJOR.$MINOR
|
|
||||||
|
|
||||||
echo "Building shared object $LIBRARY.so.$VERSION and the archive library $LIBRARY.a"
|
|
||||||
rm -f ${LIBRARY}.a ${LIBRARY}.so.${VERSION}
|
|
||||||
ar ruv ${LIBRARY}.a ${OBJECTS}
|
|
||||||
|
|
||||||
ld -G -o ${LIBRARY}.so.${VERSION} ${OBJECTS}
|
|
||||||
|
|
||||||
cp ${LIBRARY}.a ${LIBRARY}.so.${VERSION} ../lib
|
|
||||||
cd ../lib
|
|
||||||
ln -s ${LIBRARY}.so.${VERSION} ${LIBRARY}.so
|
|
||||||
|
|
||||||
21
descrip.mms
Normal file
21
descrip.mms
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Makefile for Mesa for VMS
|
||||||
|
# contributed by Jouk Jansen joukj@hrem.stm.tudelft.nl
|
||||||
|
|
||||||
|
macro :
|
||||||
|
@ macro=""
|
||||||
|
.ifdef NOSHARE
|
||||||
|
.else
|
||||||
|
@ if f$getsyi("HW_MODEL") .ge. 1024 then macro= "/MACRO=(SHARE=1)"
|
||||||
|
.endif
|
||||||
|
$(MMS)$(MMSQUALIFIERS)'macro' all
|
||||||
|
|
||||||
|
all :
|
||||||
|
if f$search("lib.dir") .eqs. "" then create/directory [.lib]
|
||||||
|
set default [.src]
|
||||||
|
$(MMS)$(MMSQUALIFIERS)
|
||||||
|
set default [-.progs.demos]
|
||||||
|
$(MMS)$(MMSQUALIFIERS)
|
||||||
|
set default [-.xdemos]
|
||||||
|
$(MMS)$(MMSQUALIFIERS)
|
||||||
|
set default [-.tests]
|
||||||
|
$(MMS)$(MMSQUALIFIERS)
|
||||||
94
docs/MESA_agp_offset.spec
Normal file
94
docs/MESA_agp_offset.spec
Normal 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
138
docs/MESA_pack_invert.spec
Normal 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
|
||||||
231
docs/MESA_packed_depth_stencil.spec
Normal file
231
docs/MESA_packed_depth_stencil.spec
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_packed_depth_stencil
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GL_MESA_packed_depth_stencil
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
|
||||||
|
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Obsolete.
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
$Id: MESA_packed_depth_stencil.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
???
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
EXT_abgr affects the definition of this extension
|
||||||
|
SGIS_texture4D affects the definition of this extension
|
||||||
|
EXT_cmyka affects the definition of this extension
|
||||||
|
ARB_packed_pixels affects the definition of this extension
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
Provides a mechanism for DrawPixels and ReadPixels to efficiently
|
||||||
|
transfer depth and stencil image data. Specifically, we defined new
|
||||||
|
packed pixel formats and types which pack both stencil and depth
|
||||||
|
into one value.
|
||||||
|
|
||||||
|
Issues:
|
||||||
|
|
||||||
|
1. Is this the right way to distinguish between 24/8 and 8/24
|
||||||
|
pixel formats? Should we instead provide both:
|
||||||
|
|
||||||
|
GL_DEPTH_STENCIL_MESA
|
||||||
|
GL_STENCIL_DEPTH_MESA
|
||||||
|
|
||||||
|
And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
|
||||||
|
|
||||||
|
2. If not, is it correct to use _REV to indicate that stencil
|
||||||
|
preceeds depth in the 1_15 and 8_24 formats?
|
||||||
|
|
||||||
|
3. Do we really want the GL_UNSIGNED_SHORT formats?
|
||||||
|
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
Accepted by the <format> parameter of ReadPixels and DrawPixels:
|
||||||
|
|
||||||
|
GL_DEPTH_STENCIL_MESA 0x8750
|
||||||
|
|
||||||
|
Accepted by the <type> parameter of ReadPixels and DrawPixels:
|
||||||
|
|
||||||
|
GL_UNSIGNED_INT_24_8_MESA 0x8751
|
||||||
|
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
|
||||||
|
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
|
||||||
|
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
|
||||||
|
|
||||||
|
One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
|
||||||
|
The new table is:
|
||||||
|
|
||||||
|
Target
|
||||||
|
Format Name Buffer Element Meaning and Order
|
||||||
|
----------- ------ -------------------------
|
||||||
|
COLOR_INDEX Color Color index
|
||||||
|
STENCIL_INDEX Stencil Stencil index
|
||||||
|
DEPTH_COMPONENT Depth Depth component
|
||||||
|
RED Color R component
|
||||||
|
GREEN Color G component
|
||||||
|
BLUE Color B component
|
||||||
|
ALPHA Color A component
|
||||||
|
RGB Color R, G, B components
|
||||||
|
RGBA Color R, G, B, A components
|
||||||
|
BGRA Color B, G, R, A components
|
||||||
|
ABGR_EXT Color A, B, G, R components
|
||||||
|
CMYK_EXT Color Cyan, Magenta, Yellow, Black components
|
||||||
|
CMYKA_EXT Color Cyan, Magenta, Yellow, Black, A components
|
||||||
|
LUMINANCE Color Luminance component
|
||||||
|
LUMINANCE_ALPHA Color Luminance, A components
|
||||||
|
DEPTH_STENCIL Depth, Depth component, stencil index.
|
||||||
|
Stencil
|
||||||
|
|
||||||
|
Table 3.5: DrawPixels and ReadPixels formats. The third column
|
||||||
|
gives a description of and the number and order of elements in a
|
||||||
|
group.
|
||||||
|
|
||||||
|
Add to the description of packed pixel formats:
|
||||||
|
|
||||||
|
<type> Parameter Data of Matching
|
||||||
|
Token Name Type Elements Pixel Formats
|
||||||
|
---------------- ---- -------- -------------
|
||||||
|
|
||||||
|
UNSIGNED_BYTE_3_3_2 ubyte 3 RGB
|
||||||
|
UNSIGNED_BYTE_2_3_3_REV ubyte 3 RGB
|
||||||
|
UNSIGNED_SHORT_5_6_5 ushort 3 RGB
|
||||||
|
UNSIGNED_SHORT_5_6_5_REV ushort 3 RGB
|
||||||
|
UNSIGNED_SHORT_4_4_4_4 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||||
|
UNSIGNED_SHORT_4_4_4_4_REV ushort 4 RGBA,BGRA
|
||||||
|
UNSIGNED_SHORT_5_5_5_1 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||||
|
UNSIGNED_SHORT_1_5_5_5_REV ushort 4 RGBA,BGRA
|
||||||
|
UNSIGNED_INT_8_8_8_8 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||||
|
UNSIGNED_INT_8_8_8_8_REV uint 4 RGBA,BGRA
|
||||||
|
UNSIGNED_INT_10_10_10_2 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
|
||||||
|
UNSIGNED_INT_2_10_10_10_REV uint 4 RGBA,BGRA
|
||||||
|
UNSIGNED_SHORT_15_1_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||||
|
UNSIGNED_SHORT_1_15_REV_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||||
|
UNSIGNED_SHORT_24_8_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||||
|
UNSIGNED_SHORT_8_24_REV_MESA ushort 2 DEPTH_STENCIL_MESA
|
||||||
|
|
||||||
|
UNSIGNED_INT_8_24:
|
||||||
|
|
||||||
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
|
+-----------------------+-----------------------------------------------------------------------+
|
||||||
|
| | |
|
||||||
|
+-----------------------+-----------------------------------------------------------------------+
|
||||||
|
|
||||||
|
first second
|
||||||
|
element element
|
||||||
|
|
||||||
|
|
||||||
|
UNSIGNED_INT_24_8:
|
||||||
|
|
||||||
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
|
+----------------------------------------------------------------------+------------------------+
|
||||||
|
| | |
|
||||||
|
+----------------------------------------------------------------------+------------------------+
|
||||||
|
|
||||||
|
first second
|
||||||
|
element element
|
||||||
|
|
||||||
|
UNSIGNED_SHORT_15_1:
|
||||||
|
|
||||||
|
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
|
+-----------------------------------------------------------+---+
|
||||||
|
| | |
|
||||||
|
+-----------------------------------------------------------+---+
|
||||||
|
|
||||||
|
first second
|
||||||
|
element element
|
||||||
|
|
||||||
|
|
||||||
|
UNSIGNED_SHORT_1_15_REV:
|
||||||
|
|
||||||
|
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
|
+---+-----------------------------------------------------------+
|
||||||
|
| | |
|
||||||
|
+---+-----------------------------------------------------------+
|
||||||
|
|
||||||
|
second first
|
||||||
|
element element
|
||||||
|
|
||||||
|
The assignment of elements to fields in the packed pixel is as
|
||||||
|
described in the table below:
|
||||||
|
|
||||||
|
First Second Third Fourth
|
||||||
|
Format Element Element Element Element
|
||||||
|
------ ------- ------- ------- -------
|
||||||
|
RGB red green blue
|
||||||
|
RGBA red green blue alpha
|
||||||
|
BGRA blue green red alpha
|
||||||
|
ABGR_EXT alpha blue green red
|
||||||
|
CMYK_EXT cyan magenta yellow black
|
||||||
|
DEPTH_STENCIL_MESA depth stencil
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
|
||||||
|
and the Frame Buffer)
|
||||||
|
|
||||||
|
The new format is added to the discussion of Obtaining Pixels from the
|
||||||
|
Framebuffer. It should read " If the <format> is one of RED, GREEN,
|
||||||
|
BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and
|
||||||
|
the GL is in color index mode, then the color index is obtained."
|
||||||
|
|
||||||
|
The new format is added to the discussion of Index Lookup. It should
|
||||||
|
read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA,
|
||||||
|
ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to
|
||||||
|
reference 4 tables of color components: PIXEL_MAP_I_TO_R,
|
||||||
|
PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A."
|
||||||
|
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to the GLX Specification
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
Version 1.0 - 23 Sep 2000
|
||||||
|
Keith's original version.
|
||||||
|
|
||||||
|
Version 1.1 - 3 Nov 2000
|
||||||
|
Brian's edits, assigned values to new enums.
|
||||||
|
|
||||||
357
docs/MESA_program_debug.spec
Normal file
357
docs/MESA_program_debug.spec
Normal file
@@ -0,0 +1,357 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_program_debug
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GL_MESA_program_debug
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Brian Paul (brian @ tungstengraphics.com)
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
XXX - Not complete yet!!!
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
Last Modified Date: July 20, 2003
|
||||||
|
Author Revision: 1.0
|
||||||
|
$Date: 2003/09/23 14:46:11 $ $Revision: 1.3 $
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
OpenGL 1.4 is required
|
||||||
|
The extension is written against the OpenGL 1.4 specification.
|
||||||
|
ARB_vertex_program or ARB_fragment_program or NV_vertex_program
|
||||||
|
or NV_fragment_program is required.
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
The extension provides facilities for implementing debuggers for
|
||||||
|
vertex and fragment programs.
|
||||||
|
|
||||||
|
The concept is that vertex and fragment program debuggers will be
|
||||||
|
implemented outside of the GL as a utility package. This extension
|
||||||
|
only provides the minimal hooks required to implement a debugger.
|
||||||
|
|
||||||
|
There are facilities to do the following:
|
||||||
|
1. Have the GL call a user-specified function prior to executing
|
||||||
|
each vertex or fragment instruction.
|
||||||
|
2. Query the current program string's execution position.
|
||||||
|
3. Query the current values of intermediate program values.
|
||||||
|
|
||||||
|
The main feature is the ProgramCallbackMESA function. It allows the
|
||||||
|
user to register a callback function with the GL. The callback will
|
||||||
|
be called prior to executing each vertex or fragment program instruction.
|
||||||
|
|
||||||
|
From within the callback, the user may issue Get* commands to
|
||||||
|
query current GL state. The GetProgramRegisterfvMESA function allows
|
||||||
|
current program values to be queried (such as temporaries, input
|
||||||
|
attributes, and result registers).
|
||||||
|
|
||||||
|
There are flags for enabling/disabling the program callbacks.
|
||||||
|
|
||||||
|
The current execution position (as an offset from the start of the
|
||||||
|
program string) can be queried with
|
||||||
|
GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or
|
||||||
|
GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos).
|
||||||
|
|
||||||
|
|
||||||
|
IP Status
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Issues
|
||||||
|
|
||||||
|
1. Is this the right model for a debugger?
|
||||||
|
|
||||||
|
It seems prudent to minimize the scope of this extension and leave
|
||||||
|
it up to the developer (or developer community) to write debuggers
|
||||||
|
that layer on top of this extension.
|
||||||
|
|
||||||
|
If the debugger were fully implemented within the GL it's not
|
||||||
|
clear how terminal and GUI-based interfaces would work, for
|
||||||
|
example.
|
||||||
|
|
||||||
|
2. There aren't any other extensions that register callbacks with
|
||||||
|
the GL. Isn't there another solution?
|
||||||
|
|
||||||
|
If we want to be able to single-step through vertex/fragment
|
||||||
|
programs I don't see another way to do it.
|
||||||
|
|
||||||
|
3. How do we prevent the user from doing something crazy in the
|
||||||
|
callback function, like trying to call glBegin (leading to
|
||||||
|
recursion)?
|
||||||
|
|
||||||
|
The rule is that the callback function can only issue glGet*()
|
||||||
|
functions and no other GL commands. It could be difficult to
|
||||||
|
enforce this, however. Therefore, calling any non-get GL
|
||||||
|
command from within the callback will result in undefined
|
||||||
|
results.
|
||||||
|
|
||||||
|
4. Is this extension amenable to hardware implementation?
|
||||||
|
|
||||||
|
Hopefully, but if not, the GL implementation will have to fall
|
||||||
|
back to a software path when debugging. This may be acceptable
|
||||||
|
for debugging.
|
||||||
|
|
||||||
|
5. What's the <data> parameter to ProgramCallbackMESA for?
|
||||||
|
|
||||||
|
It's a common programming practice to associate a user-supplied
|
||||||
|
value with callback functions.
|
||||||
|
|
||||||
|
6. Debuggers often allow one to modify intermediate program values,
|
||||||
|
then continue. Does this extension support that?
|
||||||
|
|
||||||
|
No.
|
||||||
|
|
||||||
|
|
||||||
|
New Procedures and Functions (and datatypes)
|
||||||
|
|
||||||
|
typedef void (*programcallbackMESA)(enum target, void *data)
|
||||||
|
|
||||||
|
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
|
||||||
|
void *data)
|
||||||
|
|
||||||
|
void GetProgramRegisterfvMESA(enum target, sizei len,
|
||||||
|
const ubyte *registerName, float *v)
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
|
||||||
|
GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
|
||||||
|
|
||||||
|
FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
|
||||||
|
VERTEX_PROGRAM_CALLBACK_MESA 0x8bb4
|
||||||
|
|
||||||
|
Accepted by the <pname> parameter GetBooleanv, GetDoublev,
|
||||||
|
GetFloatv and GetIntegerv:
|
||||||
|
|
||||||
|
FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
|
||||||
|
VERTEX_PROGRAM_POSITION_MESA 0x8bb4
|
||||||
|
|
||||||
|
Accepted by the <pname> parameter of GetPointerv:
|
||||||
|
|
||||||
|
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
|
||||||
|
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
|
||||||
|
VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
|
||||||
|
VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
||||||
|
Operations and the Frame Buffer)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
||||||
|
|
||||||
|
In section 5.4 "Display Lists", page 202, add the following command
|
||||||
|
to the list of those that are not compiled into display lists:
|
||||||
|
|
||||||
|
ProgramCallbackMESA.
|
||||||
|
|
||||||
|
|
||||||
|
Add a new section 5.7 "Callback Functions"
|
||||||
|
|
||||||
|
The function
|
||||||
|
|
||||||
|
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
|
||||||
|
void *data)
|
||||||
|
|
||||||
|
registers a user-defined callback function with the GL. <target>
|
||||||
|
may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. The enabled
|
||||||
|
callback functions registered with these targets will be called
|
||||||
|
prior to executing each instruction in the current fragment or
|
||||||
|
vertex program, respectively. The callbacks are enabled and
|
||||||
|
disabled by calling Enable or Disable with <cap>
|
||||||
|
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.
|
||||||
|
|
||||||
|
The callback function's signature must match the typedef
|
||||||
|
|
||||||
|
typedef void (*programcallbackMESA)(enum target, void *data)
|
||||||
|
|
||||||
|
When the callback function is called, <target> will either be
|
||||||
|
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which
|
||||||
|
program is currently executing and <data> will be the value
|
||||||
|
specified when ProgramCallbackMESA was called.
|
||||||
|
|
||||||
|
From within the callback function, only the following GL commands
|
||||||
|
may be called:
|
||||||
|
|
||||||
|
GetBooleanv
|
||||||
|
GetDoublev
|
||||||
|
GetFloatv
|
||||||
|
GetIntegerv
|
||||||
|
GetProgramLocalParameter
|
||||||
|
GetProgramEnvParameter
|
||||||
|
GetProgramRegisterfvMESA
|
||||||
|
GetProgramivARB
|
||||||
|
GetProgramStringARB
|
||||||
|
GetError
|
||||||
|
|
||||||
|
Calling any other command from within the callback results in
|
||||||
|
undefined behaviour.
|
||||||
|
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
||||||
|
State Requests)
|
||||||
|
|
||||||
|
Add a new section 6.1.3 "Program Value Queries":
|
||||||
|
|
||||||
|
The command
|
||||||
|
|
||||||
|
void GetProgramRegisterfvMESA(enum target, sizei len,
|
||||||
|
const ubyte *registerName,
|
||||||
|
float *v)
|
||||||
|
|
||||||
|
Is used to query the value of program variables and registers
|
||||||
|
during program execution. GetProgramRegisterfvMESA may only be
|
||||||
|
called from within a callback function registered with
|
||||||
|
ProgramCallbackMESA.
|
||||||
|
|
||||||
|
<registerName> and <len> specify the name a variable, input
|
||||||
|
attribute, temporary, or result register in the program string.
|
||||||
|
The current value of the named variable is returned as four
|
||||||
|
values in <v>. If <name> doesn't exist in the program string,
|
||||||
|
the error INVALID_OPERATION is generated.
|
||||||
|
|
||||||
|
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to the AGL/GLX/WGL Specifications
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
XXX TBD
|
||||||
|
|
||||||
|
Dependencies on NV_vertex_program and NV_fragment_program
|
||||||
|
|
||||||
|
If NV_vertex_program and/or NV_fragment_program are supported,
|
||||||
|
vertex and/or fragment programs defined by those extensions may
|
||||||
|
be debugged as well. Register queries will use the syntax used
|
||||||
|
by those extensions (i.e. "v[X]" to query vertex attributes,
|
||||||
|
"o[X]" for vertex outputs, etc.)
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
INVALID_OPERATION is generated if ProgramCallbackMESA is called
|
||||||
|
between Begin and End.
|
||||||
|
|
||||||
|
INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not
|
||||||
|
a supported vertex or fragment program type.
|
||||||
|
|
||||||
|
Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA,
|
||||||
|
GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between
|
||||||
|
Begin and End when a vertex or fragment program is currently executing.
|
||||||
|
|
||||||
|
INVALID_ENUM is generated by ProgramCallbackMESA,
|
||||||
|
GetProgramRegisterfvMESA if <target> is not a program target supported
|
||||||
|
by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or
|
||||||
|
NV_fragment_program).
|
||||||
|
|
||||||
|
INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName>
|
||||||
|
does not name a known program register or variable.
|
||||||
|
|
||||||
|
INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a
|
||||||
|
register query is attempted for a program target that's not currently
|
||||||
|
being executed.
|
||||||
|
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
XXX finish
|
||||||
|
|
||||||
|
(table 6.N, p. ###)
|
||||||
|
Initial
|
||||||
|
Get Value Type Get Command Value Description Sec. Attribute
|
||||||
|
--------- ---- ----------- ----- ----------- ---- ---------
|
||||||
|
FRAGMENT_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
|
||||||
|
VERTEX_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
|
||||||
|
FRAGMENT_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
|
||||||
|
VERTEX_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
|
||||||
|
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
|
||||||
|
VERTEX_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
|
||||||
|
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
|
||||||
|
VERTEX_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
|
||||||
|
|
||||||
|
XXX more?
|
||||||
|
|
||||||
|
New Implementation Dependent State
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
8 July 2003
|
||||||
|
Initial draft. (Brian Paul)
|
||||||
|
11 July 2003
|
||||||
|
Second draft. (Brian Paul)
|
||||||
|
20 July 2003
|
||||||
|
Third draft. Lots of fundamental changes. (Brian Paul)
|
||||||
|
23 July 2003
|
||||||
|
Added chapter 5 and 6 spec language. (Brian Paul)
|
||||||
|
|
||||||
|
Example Usage
|
||||||
|
|
||||||
|
The following is a very simple example of how this extension may
|
||||||
|
be used to print the values of R0, R1, R2 and R3 while executing
|
||||||
|
vertex programs.
|
||||||
|
|
||||||
|
|
||||||
|
/* This is called by the GL when the vertex program is executing.
|
||||||
|
* We can only make glGet* calls from within this function!
|
||||||
|
*/
|
||||||
|
void DebugCallback(GLenum target, GLvoid *data)
|
||||||
|
{
|
||||||
|
GLint pos;
|
||||||
|
GLuint i;
|
||||||
|
|
||||||
|
/* Get PC and current instruction string */
|
||||||
|
glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos);
|
||||||
|
|
||||||
|
printf("Current position: %d\n", pos);
|
||||||
|
|
||||||
|
printf("Current temporary registers:\n");
|
||||||
|
for (i = 0; i < 4; i++) {
|
||||||
|
GLfloat v[4];
|
||||||
|
char s[10];
|
||||||
|
sprintf(s, "R%d", i);
|
||||||
|
glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v);
|
||||||
|
printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* elsewhere...
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Register our debugger callback function */
|
||||||
|
glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL);
|
||||||
|
glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
|
||||||
|
|
||||||
|
/* define/bind a vertex program */
|
||||||
|
|
||||||
|
glEnable(GL_VERTEX_PROGRAM);
|
||||||
|
|
||||||
|
/* render something */
|
||||||
|
glBegin(GL_POINTS);
|
||||||
|
glVertex2f(0, 0);
|
||||||
|
glEnd();
|
||||||
|
|
||||||
191
docs/MESA_sprite_point.spec
Normal file
191
docs/MESA_sprite_point.spec
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_sprite_point
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GL_MESA_sprite_point
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Obsolete - see GL_ARB_point_sprite.
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
$Id: MESA_sprite_point.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
???
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
GL_EXT_point_parameters effects the definition of this extension
|
||||||
|
GL_ARB_multitexture effects the definition of this extension
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
This extension modifies the way in which points are rendered,
|
||||||
|
specifically when they're textured. When SPRITE_POINT_MESA is enabled
|
||||||
|
a point is rendered as if it were a quadrilateral with unique texture
|
||||||
|
coordinates at each vertex. This extension effectively turns points
|
||||||
|
into sprites which may be rendered more easily and quickly than using
|
||||||
|
conventional textured quadrilaterals.
|
||||||
|
|
||||||
|
When using point size > 1 or attenuated points this extension is an
|
||||||
|
effective way to render many small sprite images for particle systems
|
||||||
|
or other effects.
|
||||||
|
|
||||||
|
Issues:
|
||||||
|
|
||||||
|
1. How are the texture coordinates computed?
|
||||||
|
|
||||||
|
The lower-left corner has texture coordinate (0,0,r,q).
|
||||||
|
The lower-right, (1,0,r,q). The upper-right, (1,1,r,q).
|
||||||
|
The upper-left, (0,1,r,q).
|
||||||
|
|
||||||
|
2. What about texgen and texture matrices?
|
||||||
|
|
||||||
|
Texgen and the texture matrix have no effect on the point's s and t
|
||||||
|
texture coordinates. The r and q coordinates may have been computed
|
||||||
|
by texgen or the texture matrix. Note that with a 3D texture and/or
|
||||||
|
texgen that the r coordinate could be used to select a slice in the
|
||||||
|
3D texture.
|
||||||
|
|
||||||
|
3. What about point smoothing?
|
||||||
|
|
||||||
|
When point smoothing is enabled, a triangle fan could be rendered
|
||||||
|
to approximate a circular point. This could be problematic to
|
||||||
|
define and implement so POINT_SMOOTH is ignored when drawing sprite
|
||||||
|
points.
|
||||||
|
|
||||||
|
Smoothed points can be approximated by using an appropriate texture
|
||||||
|
images, alpha testing and blending.
|
||||||
|
|
||||||
|
POLYGON_SMOOTH does effect the rendering of the quadrilateral, however.
|
||||||
|
|
||||||
|
4. What about sprite rotation?
|
||||||
|
|
||||||
|
There is none. Sprite points are always rendered as window-aligned
|
||||||
|
squares. One could define rotated texture images if desired. A 3D
|
||||||
|
texture and appropriate texture r coordinates could be used to
|
||||||
|
effectively specify image rotation per point.
|
||||||
|
|
||||||
|
5. What about POLYGON_MODE?
|
||||||
|
|
||||||
|
POLYGON_MODE does not effect the rasterization of the quadrilateral.
|
||||||
|
|
||||||
|
6. What about POLYGON_CULL?
|
||||||
|
|
||||||
|
TBD. Polygon culling is normally specified and implemented in the
|
||||||
|
transformation stage of OpenGL. However, some rasterization hardware
|
||||||
|
implements it later during triangle setup.
|
||||||
|
|
||||||
|
Polygon culling wouldn't be useful for sprite points since the
|
||||||
|
quadrilaterals are always defined in counter-clockwise order in
|
||||||
|
window space. For that reason, polygon culling should probably be
|
||||||
|
ignored.
|
||||||
|
|
||||||
|
7. Should sprite points be alpha-attenuated if their size is below the
|
||||||
|
point parameter's threshold size?
|
||||||
|
|
||||||
|
8. Should there be an advertisized maximum sprite point size?
|
||||||
|
|
||||||
|
No. Since we're rendering the point as a quadrilateral there's no
|
||||||
|
need to limit the size.
|
||||||
|
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
Accepted by the <pname> parameter of Enable, Disable, IsEnabled,
|
||||||
|
GetIntegerv, GetBooleanv, GetFloatv and GetDoublev:
|
||||||
|
|
||||||
|
SPRITE_POINT_MESA 0x????
|
||||||
|
MAX_SPRITE_POINT_SIZE_MESA 0x???? (need this?)
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
|
||||||
|
|
||||||
|
Section ???.
|
||||||
|
|
||||||
|
When SPRITE_POINT_MESA is enabled points are rasterized as screen-
|
||||||
|
aligned quadrilaterals. If the four vertices of the quadrilateral
|
||||||
|
are labeled A, B, C, and D, starting at the lower-left corner and moving
|
||||||
|
counter-clockwise around the quadrilateral, then the vertex and
|
||||||
|
texture coordinates are computed as follows:
|
||||||
|
|
||||||
|
vertex window coordinate texture coordinate
|
||||||
|
A (x-r, y-r, z, w) (0, 0, r, q)
|
||||||
|
B (x+r, y-r, z, w) (1, 0, r, q)
|
||||||
|
C (x+r, y+r, z, w) (1, 1, r, q)
|
||||||
|
D (x-r, y+r, z, w) (0, 1, r, q)
|
||||||
|
|
||||||
|
where x, y, z, w are the point's window coordinates, r and q are the
|
||||||
|
point's 3rd and 4th texture coordinates and r is half the point's
|
||||||
|
size. The other vertex attributes (such as the color and fog coordinate)
|
||||||
|
are simply duplicated from the original point vertex.
|
||||||
|
|
||||||
|
Point size may either be specified with PointSize or computed
|
||||||
|
according to the EXT_point_parameters extension.
|
||||||
|
|
||||||
|
The new texture coordinates are not effected by texgen or the texture
|
||||||
|
matrix. Note, however, that the texture r and q coordinates are passed
|
||||||
|
unchanged and may have been computed with texgen and/or the texture
|
||||||
|
matrix.
|
||||||
|
|
||||||
|
If multiple texture units are present the same texture coordinate is
|
||||||
|
used for all texture units.
|
||||||
|
|
||||||
|
The point is then rendered as if it were a quadrilateral using the
|
||||||
|
normal point sampling rules. POLYGON_MODE does not effect the
|
||||||
|
rasterization of the quadrilateral but POLYGON_SMOOTH does.
|
||||||
|
|
||||||
|
POINT_SMOOTH has no effect when SPRITE_POINT_MESA is enabled.
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
|
||||||
|
and the Frame Buffer)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to the GLX Specification
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
Add boolean variable SPRITE_POINT_MESA to the point attribute group.
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
Version 1.0 - 4 Dec 2000
|
||||||
|
Original draft.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
132
docs/MESA_swap_control.spec
Normal file
132
docs/MESA_swap_control.spec
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_swap_control
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GLX_MESA_swap_control
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Ian Romanick, IBM, idr at us.ibm.com
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Deployed in DRI drivers post-XFree86 4.3.
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
Date: 5/1/2003 Revision: 1.1
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
???
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control
|
||||||
|
version 1.5.
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
This extension allows an application to specify a minimum periodicity
|
||||||
|
of color buffer swaps, measured in video frame periods.
|
||||||
|
|
||||||
|
Issues
|
||||||
|
|
||||||
|
* Should implementations that export GLX_MESA_swap_control also export
|
||||||
|
GL_EXT_swap_control for compatibility with WGL_EXT_swap_control?
|
||||||
|
|
||||||
|
UNRESOLVED.
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
int glXSwapIntervalMESA(int interval)
|
||||||
|
int glXGetSwapIntervalMESA(void)
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
|
||||||
|
and the Framebuffer)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to the GLX 1.3 Specification
|
||||||
|
|
||||||
|
[Add the following to Section 3.3.10 of the GLX Specification (Double
|
||||||
|
Buffering)]
|
||||||
|
|
||||||
|
glXSwapIntervalMESA specifies the minimum number of video frame periods
|
||||||
|
per buffer swap. (e.g. a value of two means that the color buffers
|
||||||
|
will be swapped at most every other video frame.) A return value
|
||||||
|
of zero indicates success; otherwise an error occurred. The interval
|
||||||
|
takes effect when glXSwapBuffers is first called subsequent to the
|
||||||
|
glXSwapIntervalMESA call.
|
||||||
|
|
||||||
|
A video frame period is the time required by the monitor to display a
|
||||||
|
full frame of video data. In the case of an interlaced monitor,
|
||||||
|
this is typically the time required to display both the even and odd
|
||||||
|
fields of a frame of video data.
|
||||||
|
|
||||||
|
If <interval> is set to a value of 0, buffer swaps are not synchron-
|
||||||
|
ized to a video frame. The <interval> value is silently clamped to
|
||||||
|
the maximum implementation-dependent value supported before being
|
||||||
|
stored.
|
||||||
|
|
||||||
|
The swap interval is not part of the render context state. It cannot
|
||||||
|
be pushed or popped. The current swap interval for the window
|
||||||
|
associated with the current context can be obtained by calling
|
||||||
|
glXGetSwapIntervalMESA. The default swap interval is 0.
|
||||||
|
|
||||||
|
On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets
|
||||||
|
the swap interval to 1.
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
glXSwapIntervalMESA returns GLX_BAD_VALUE if parameter <interval> is
|
||||||
|
less than zero.
|
||||||
|
|
||||||
|
glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current
|
||||||
|
GLXContext.
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
None. This extension only extends to direct rendering contexts.
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
Get Value Get Command Type Initial Value
|
||||||
|
--------- ----------- ---- -------------
|
||||||
|
[swap interval] GetSwapInterval Z+ 0
|
||||||
|
|
||||||
|
New Implementation Dependent State
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
1.1, 5/1/03 Added the issues section and contact information.
|
||||||
|
Changed the default swap interval to 0.
|
||||||
|
1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and
|
||||||
|
WGL_EXT_swap_control.
|
||||||
201
docs/MESA_swap_frame_usage.spec
Normal file
201
docs/MESA_swap_frame_usage.spec
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_swap_frame_usage
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GLX_MESA_swap_frame_usage
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Ian Romanick, IBM, idr at us.ibm.com
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Deployed in DRI drivers post-XFree86 4.3.
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
Date: 5/1/2003 Revision: 1.1
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
???
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
GLX_SGI_swap_control affects the definition of this extension.
|
||||||
|
GLX_MESA_swap_control affects the definition of this extension.
|
||||||
|
GLX_OML_sync_control affects the definition of this extension.
|
||||||
|
|
||||||
|
Based on WGL_I3D_swap_frame_usage version 1.3.
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
This extension allows an application to deterine what portion of the
|
||||||
|
swap period has elapsed since the last swap operation completed. The
|
||||||
|
"usage" value is a floating point value on the range [0,max] which is
|
||||||
|
calculated as follows:
|
||||||
|
|
||||||
|
td
|
||||||
|
percent = ----
|
||||||
|
tf
|
||||||
|
|
||||||
|
where td is the time measured from the last completed buffer swap (or
|
||||||
|
call to enable the statistic) to when the next buffer swap completes, tf
|
||||||
|
is the entire time for a frame which may be multiple screen refreshes
|
||||||
|
depending on the swap interval as set by the GLX_SGI_swap_control or
|
||||||
|
GLX_OML_sync_control extensions.
|
||||||
|
|
||||||
|
The value, percent, indicates the amount of time spent between the
|
||||||
|
completion of the two swaps. If the value is in the range [0,1], the
|
||||||
|
buffer swap occurred within the time period required to maintain a
|
||||||
|
constant frame rate. If the value is in the range (1,max], a constant
|
||||||
|
frame rate was not achieved. The value indicates the number of frames
|
||||||
|
required to draw.
|
||||||
|
|
||||||
|
This definition of "percent" differs slightly from
|
||||||
|
WGL_I3D_swap_frame_usage. In WGL_I3D_swap_frame_usage, the measurement
|
||||||
|
is taken from the completion of one swap to the issuance of the next.
|
||||||
|
This representation may not be as useful as measuring between
|
||||||
|
completions, as a significant amount of time may pass between the
|
||||||
|
issuance of a swap and the swap actually occuring.
|
||||||
|
|
||||||
|
There is also a mechanism to determine whether a frame swap was
|
||||||
|
missed.
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
int glXGetFrameUsageMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable,
|
||||||
|
float *usage)
|
||||||
|
|
||||||
|
int glXBeginFrameTrackingMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable)
|
||||||
|
|
||||||
|
int glXEndFrameTrackingMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable)
|
||||||
|
|
||||||
|
int glXQueryFrameTrackingMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable,
|
||||||
|
int64_t *swapCount,
|
||||||
|
int64_t *missedFrames,
|
||||||
|
float *lastMissedUsage)
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
|
||||||
|
and the Framebuffer)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to the GLX 1.3 Specification
|
||||||
|
|
||||||
|
The frame usage is measured as the percentage of the swap period elapsed
|
||||||
|
between two buffer-swap operations being commited. In unextened GLX the
|
||||||
|
swap period is the vertical refresh time. If SGI_swap_control or
|
||||||
|
MESA_swap_control are supported, the swap period is the vertical refresh
|
||||||
|
time multiplied by the swap interval (or one if the swap interval is set
|
||||||
|
to zero).
|
||||||
|
|
||||||
|
If OML_sync_control is supported, the swap period is the vertical
|
||||||
|
refresh time multiplied by the divisor parameter to
|
||||||
|
glXSwapBuffersMscOML. The frame usage in this case is less than 1.0 if
|
||||||
|
the swap is commited before target_msc, and is greater than or equal to
|
||||||
|
1.0 otherwise. The actual usage value is based on the divisor and is
|
||||||
|
never less than 0.0.
|
||||||
|
|
||||||
|
int glXBeginFrameTrackingMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable,
|
||||||
|
float *usage)
|
||||||
|
|
||||||
|
glXGetFrameUsageMESA returns a floating-point value in <usage>
|
||||||
|
that represents the current swap usage, as defined above.
|
||||||
|
|
||||||
|
Missed frame swaps can be tracked by calling the following function:
|
||||||
|
|
||||||
|
int glXBeginFrameTrackingMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable)
|
||||||
|
|
||||||
|
glXBeginFrameTrackingMESA resets a "missed frame" count and
|
||||||
|
synchronizes with the next frame vertical sync before it returns.
|
||||||
|
If a swap is missed based in the rate control specified by the
|
||||||
|
<interval> set by glXSwapIntervalSGI or the default swap of once
|
||||||
|
per frame, the missed frame count is incremented.
|
||||||
|
|
||||||
|
The current missed frame count and total number of swaps since
|
||||||
|
the last call to glXBeginFrameTrackingMESA can be obtained by
|
||||||
|
callling the following function:
|
||||||
|
|
||||||
|
int glXQueryFrameTrackingMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable,
|
||||||
|
int64_t *swapCount,
|
||||||
|
int64_t *missedFrames,
|
||||||
|
float *lastMissedUsage)
|
||||||
|
|
||||||
|
The location pointed to by <swapCount> will be updated with the
|
||||||
|
number of swaps that have been commited. This value may not match the
|
||||||
|
number of swaps that have been requested since swaps may be
|
||||||
|
queued by the implementation. This function can be called at any
|
||||||
|
time and does not synchronize to vertical blank.
|
||||||
|
|
||||||
|
The location pointed to by <missedFrames> will contain the number
|
||||||
|
swaps that missed the specified frame. The frame usage for the
|
||||||
|
last missed frame is returned in the location pointed to by
|
||||||
|
<lastMissedUsage>.
|
||||||
|
|
||||||
|
Frame tracking is disabled by calling the function
|
||||||
|
|
||||||
|
int glXEndFrameTrackingMESA(Display *dpy,
|
||||||
|
GLXDrawable drawable)
|
||||||
|
|
||||||
|
This function will not return until all swaps have occurred. The
|
||||||
|
application can call glXQueryFrameTrackingMESA for a final swap and
|
||||||
|
missed frame count.
|
||||||
|
|
||||||
|
If these functions are succesful, zero is returned. If the context
|
||||||
|
associated with dpy and drawable is not a direct context,
|
||||||
|
GLX_BAD_CONTEXT is returned.
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
If the function succeeds, zero is returned. If the function
|
||||||
|
fails, one of the following error codes is returned:
|
||||||
|
|
||||||
|
GLX_BAD_CONTEXT The current rendering context is not a direct
|
||||||
|
context.
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
None. This extension only extends to direct rendering contexts.
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
New Implementation Dependent State
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
1.1, 5/1/03 Added contact information.
|
||||||
|
1.0, 3/17/03 Initial version based on WGL_I3D_swap_frame_usage.
|
||||||
360
docs/MESA_trace.spec
Normal file
360
docs/MESA_trace.spec
Normal file
@@ -0,0 +1,360 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_trace
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GL_MESA_TRACE
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Bernd Kreimeier, Loki Entertainment, bk 'at' lokigames.com
|
||||||
|
Brian Paul, VA Linux Systems, Inc., brianp 'at' valinux.com
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Obsolete.
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
$Id: MESA_trace.spec,v 1.3 2003/09/19 14:58:21 brianp Exp $
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
none yet
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
OpenGL 1.2 is required.
|
||||||
|
The extension is written against the OpenGL 1.2 Specification
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
Provides the application with means to enable and disable logging
|
||||||
|
of GL calls including parameters as readable text. The verbosity
|
||||||
|
of the generated log can be controlled. The resulting logs are
|
||||||
|
valid (but possibly incomplete) C code and can be compiled and
|
||||||
|
linked for standalone test programs. The set of calls and the
|
||||||
|
amount of static data that is logged can be controlled at runtime.
|
||||||
|
The application can add comments and enable or disable tracing of GL
|
||||||
|
operations at any time. The data flow from the application to GL
|
||||||
|
and back is unaffected except for timing.
|
||||||
|
|
||||||
|
Application-side implementation of these features raises namespace
|
||||||
|
and linkage issues. In the driver dispatch table a simple
|
||||||
|
"chain of responsibility" pattern (aka "composable piepline")
|
||||||
|
can be added.
|
||||||
|
|
||||||
|
IP Status
|
||||||
|
|
||||||
|
The extension spec is in the public domain. The current implementation
|
||||||
|
in Mesa is covered by Mesa's XFree86-style copyright by the authors above.
|
||||||
|
This extension is partially inspired by the Quake2 QGL wrapper.
|
||||||
|
|
||||||
|
Issues
|
||||||
|
|
||||||
|
|
||||||
|
(1) Is this Extension obsolete because it can
|
||||||
|
be implemented as a wrapper DLL?
|
||||||
|
|
||||||
|
RESOLVED: No. While certain operating systems (Win32) provide linkers
|
||||||
|
that facilitate this kind of solution, other operating systems
|
||||||
|
(Linux) do not support hierarchical linking, so a wrapper solution
|
||||||
|
would result in symbol collisions.
|
||||||
|
Further, IHV's might have builtin support for tracing GL execution
|
||||||
|
that enjoys privileged access, or that they do not wish to separate
|
||||||
|
the tracing code from their driver code base.
|
||||||
|
|
||||||
|
(2) Should the Trace API explicitely support the notion of "frames?
|
||||||
|
This would require hooking into glXSwapBuffers calls as well.
|
||||||
|
|
||||||
|
RESOLVED: No. The application can use NewTraceMESA/EndTraceMESA
|
||||||
|
and TraceComment along with external parsing tools to split the
|
||||||
|
trace into frames, in whatever way considered adequate.
|
||||||
|
|
||||||
|
(2a) Should GLX calls be traced?
|
||||||
|
|
||||||
|
PBuffers and other render-to-texture solutions demonstrate that
|
||||||
|
context level commands beyond SwapBuffers might have to be
|
||||||
|
traced. The GL DLL exports the entry points, so this would not
|
||||||
|
be out of the question.
|
||||||
|
|
||||||
|
(3) Should the specification mandate the actual output format?
|
||||||
|
|
||||||
|
RESOLVED: No. It is sufficient to guarantee that all data and commands
|
||||||
|
will be traced as requested by Enable/DisableTraceMESA, in the order
|
||||||
|
encountered. Whether the resulting trace is available as a readable
|
||||||
|
text file, binary metafile, compilable source code, much less which
|
||||||
|
indentation and formatting has been used, is up to the implementation.
|
||||||
|
For the same reason this specification does not enforce or prohibit
|
||||||
|
additional information added to the trace (statistics, profiling/timing,
|
||||||
|
warnings on possible error conditions).
|
||||||
|
|
||||||
|
(4) Should the comment strings associated with names and pointer (ranges)
|
||||||
|
be considered persistent state?
|
||||||
|
|
||||||
|
RESOLVED: No. The implementation is not forced to use this information
|
||||||
|
on subsequent occurences of name/pointer, and is free to consider it
|
||||||
|
transient state.
|
||||||
|
|
||||||
|
(5) Should comment commands be prohibited between Begin/End?
|
||||||
|
|
||||||
|
RESOLVED: Yes, with the exception of TraceCommentMESA. TraceCommentMESA
|
||||||
|
is transient, the other commands might cause storage of persistent
|
||||||
|
data in the context. There is no need to have the ability mark names
|
||||||
|
or pointers between Begin and End.
|
||||||
|
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
void NewTraceMESA( bitfield mask, const ubyte * traceName )
|
||||||
|
|
||||||
|
void EndTraceMESA( void )
|
||||||
|
|
||||||
|
void EnableTraceMESA( bitfield mask )
|
||||||
|
|
||||||
|
void DisableTraceMESA( bitfield mask )
|
||||||
|
|
||||||
|
void TraceAssertAttribMESA( bitfield attribMask )
|
||||||
|
|
||||||
|
void TraceCommentMESA( const ubyte* comment )
|
||||||
|
|
||||||
|
void TraceTextureMESA( uint name, const ubyte* comment )
|
||||||
|
|
||||||
|
void TraceListMESA( uint name, const ubyte* comment )
|
||||||
|
|
||||||
|
void TracePointerMESA( void* pointer, const ubyte* comment )
|
||||||
|
|
||||||
|
void TracePointerRangeMESA( const void* first,
|
||||||
|
const void* last,
|
||||||
|
const ubyte* comment )
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
Accepted by the <mask> parameter of EnableTrace and DisableTrace:
|
||||||
|
|
||||||
|
TRACE_ALL_BITS_MESA 0xFFFF
|
||||||
|
TRACE_OPERATIONS_BIT_MESA 0x0001
|
||||||
|
TRACE_PRIMITIVES_BIT_MESA 0x0002
|
||||||
|
TRACE_ARRAYS_BIT_MESA 0x0004
|
||||||
|
TRACE_TEXTURES_BIT_MESA 0x0008
|
||||||
|
TRACE_PIXELS_BIT_MESA 0x0010
|
||||||
|
TRACE_ERRORS_BIT_MESA 0x0020
|
||||||
|
|
||||||
|
Accepted by the <pname> parameter of GetIntegerv, GetBooleanv,
|
||||||
|
GetFloatv, and GetDoublev:
|
||||||
|
|
||||||
|
TRACE_MASK_MESA 0x8755
|
||||||
|
|
||||||
|
Accepted by the <pname> parameter to GetString:
|
||||||
|
|
||||||
|
TRACE_NAME_MESA 0x8756
|
||||||
|
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the OpenGL 1.2.1 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the OpenGL 1.2.1 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
|
||||||
|
|
||||||
|
Add a new section:
|
||||||
|
|
||||||
|
5.7 Tracing
|
||||||
|
|
||||||
|
The tracing facility is used to record the execution of a GL program
|
||||||
|
to a human-readable log. The log appears as a sequence of GL commands
|
||||||
|
using C syntax. The primary intention of tracing is to aid in program
|
||||||
|
debugging.
|
||||||
|
|
||||||
|
A trace is started with the command
|
||||||
|
|
||||||
|
void NewTraceMESA( bitfield mask, const GLubyte * traceName )
|
||||||
|
|
||||||
|
<mask> may be any value accepted by PushAttrib and specifies a set of
|
||||||
|
attribute groups. The state values included in those attribute groups
|
||||||
|
is written to the trace as a sequence of GL commands.
|
||||||
|
|
||||||
|
<traceName> specifies a name or label for the trace. It is expected
|
||||||
|
that <traceName> will be interpreted as a filename in most implementations.
|
||||||
|
|
||||||
|
A trace is ended by calling the command
|
||||||
|
|
||||||
|
void EndTraceMESA( void )
|
||||||
|
|
||||||
|
It is illegal to call NewTraceMESA or EndTraceMESA between Begin and End.
|
||||||
|
|
||||||
|
The commands
|
||||||
|
|
||||||
|
void EnableTraceMESA( bitfield mask )
|
||||||
|
void DisableTraceMESA( bitfield mask )
|
||||||
|
|
||||||
|
enable or disable tracing of different classes of GL commands.
|
||||||
|
<mask> may be the union of any of TRACE_OPERATIONS_BIT_MESA,
|
||||||
|
TRACE_PRIMITIVES_BIT_MESA, TRACE_ARRAYS_BIT_MESA, TRACE_TEXTURES_BIT_MESA,
|
||||||
|
and TRACE_PIXELS_BIT_MESA. The special token TRACE_ALL_BITS_MESA
|
||||||
|
indicates all classes of commands are to be logged.
|
||||||
|
|
||||||
|
TRACE_OPERATIONS_BIT_MESA controls logging of all commands outside of
|
||||||
|
Begin/End, including Begin/End.
|
||||||
|
|
||||||
|
TRACE_PRIMITIVES_BIT_MESA controls logging of all commands inside of
|
||||||
|
Begin/End, including Begin/End.
|
||||||
|
|
||||||
|
TRACE_ARRAYS_BIT_MESA controls logging of VertexPointer, NormalPointer,
|
||||||
|
ColorPointer, IndexPointer, TexCoordPointer and EdgeFlagPointer commands.
|
||||||
|
|
||||||
|
TRACE_TEXTURES_BIT_MESA controls logging of texture data dereferenced by
|
||||||
|
TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, and
|
||||||
|
TexSubImage3D commands.
|
||||||
|
|
||||||
|
TRACE_PIXELS_BIT_MESA controls logging of image data dereferenced by
|
||||||
|
Bitmap and DrawPixels commands.
|
||||||
|
|
||||||
|
TRACE_ERRORS_BIT_MESA controls logging of all errors. If this bit is
|
||||||
|
set, GetError will be executed whereever applicable, and the result will
|
||||||
|
be added to the trace as a comment. The error returns are cached and
|
||||||
|
returned to the application on its GetError calls. If the user does not
|
||||||
|
wish the additional GetError calls to be performed, this bit should not
|
||||||
|
be set.
|
||||||
|
|
||||||
|
The command
|
||||||
|
|
||||||
|
void TraceCommentMESA( const ubyte* comment )
|
||||||
|
|
||||||
|
immediately adds the <comment> string to the trace output, surrounded
|
||||||
|
by C-style comment delimiters.
|
||||||
|
|
||||||
|
The commands
|
||||||
|
|
||||||
|
void TraceTextureMESA( uint name, const ubyte* comment )
|
||||||
|
void TraceListMESA( uint name, const ubyte* comment )
|
||||||
|
|
||||||
|
associates <comment> with the texture object or display list specified
|
||||||
|
by <name>. Logged commands which reference the named texture object or
|
||||||
|
display list will be annotated with <comment>. If IsTexture(name) or
|
||||||
|
IsList(name) fail (respectively) the command is quietly ignored.
|
||||||
|
|
||||||
|
The commands
|
||||||
|
|
||||||
|
void TracePointerMESA( void* pointer, const ubyte* comment )
|
||||||
|
|
||||||
|
void TracePointerRangeMESA( const void* first,
|
||||||
|
const void* last,
|
||||||
|
const ubyte* comment )
|
||||||
|
|
||||||
|
associate <comment> with the address specified by <pointer> or with
|
||||||
|
a range of addresses specified by <first> through <last>.
|
||||||
|
Any logged commands which reference <pointer> or an address between
|
||||||
|
<first> and <last> will be annotated with <comment>.
|
||||||
|
|
||||||
|
The command
|
||||||
|
|
||||||
|
void TraceAssertAttribMESA( bitfield attribMask )
|
||||||
|
|
||||||
|
will add GL state queries and assertion statements to the log to
|
||||||
|
confirm that the current state at the time TraceAssertAttrib is
|
||||||
|
executed matches the current state when the trace log is executed
|
||||||
|
in the future.
|
||||||
|
|
||||||
|
<attribMask> is any value accepted by PushAttrib and specifies
|
||||||
|
the groups of state variables which are to be asserted.
|
||||||
|
|
||||||
|
The commands NewTraceMESA, EndTraceMESA, EnableTraceMESA, DisableTraceMESA,
|
||||||
|
TraceAssertAttribMESA, TraceCommentMESA, TraceTextureMESA, TraceListMESA,
|
||||||
|
TracePointerMESA and TracePointerRangeMESA are not compiled into display lists.
|
||||||
|
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
The command NewTraceMESA(DEPTH_BUFFER_BIT, "log") will query the state
|
||||||
|
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
|
||||||
|
to get the values <test>, <func>, <mask>, and <clear> respectively.
|
||||||
|
Statements equivalent to the following will then be logged:
|
||||||
|
|
||||||
|
glEnable(GL_DEPTH_TEST); (if <test> is true)
|
||||||
|
glDisable(GL_DEPTH_TEST); (if <test> is false)
|
||||||
|
glDepthFunc(<func>);
|
||||||
|
glDepthMask(<mask>);
|
||||||
|
glClearDepth(<clear>);
|
||||||
|
|
||||||
|
|
||||||
|
The command TraceAssertAttribMESA(DEPTH_BUFFER_BIT) will query the state
|
||||||
|
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
|
||||||
|
to get the values <test>, <func>, <mask>, and <clear> respectively.
|
||||||
|
The resulting trace might then look will like this:
|
||||||
|
|
||||||
|
{
|
||||||
|
GLboolean b;
|
||||||
|
GLint i;
|
||||||
|
GLfloat f;
|
||||||
|
b = glIsEnabled(GL_DEPTH_TEST);
|
||||||
|
assert(b == <test>);
|
||||||
|
glGetIntegerv(GL_DEPTH_FUNC, &i);
|
||||||
|
assert(i == <func>);
|
||||||
|
glGetIntegerv(GL_DEPTH_MASK, &i);
|
||||||
|
assert(i == <mask>);
|
||||||
|
glGetFloatv(GL_DEPTH_CLEAR_VALUE, &f);
|
||||||
|
assert(f == <clear>);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the OpenGL 1.2.1 Specification
|
||||||
|
(State and State Requests)
|
||||||
|
|
||||||
|
Querying TRACE_MASK_MESA with GetIntegerv, GetFloatv, GetBooleanv or
|
||||||
|
GetDoublev returns the current command class trace mask.
|
||||||
|
|
||||||
|
Querying TRACE_NAME_MESA with GetString returns the current trace name.
|
||||||
|
|
||||||
|
|
||||||
|
Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
|
||||||
|
|
||||||
|
The MESA_trace extension can be used in a way that does not affect data
|
||||||
|
flow from application to OpenGL, as well as data flow from OpenGL to
|
||||||
|
application, except for timing, possible print I/O. TRACE_ERRORS_BIT_MESA
|
||||||
|
will add additional GetError queries. Setting a trace mask with NewTraceMESA
|
||||||
|
as well as use of TraceAssertAttribMESA might cause additional state queries.
|
||||||
|
With the possible exception of performance, OpenGL rendering should not be
|
||||||
|
affected at all by a properly chosen logging operation.
|
||||||
|
|
||||||
|
Additions to the AGL/GLX/WGL Specifications
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
None. The logging operation is carried out client-side, by exporting
|
||||||
|
entry points to the wrapper functions that execute the logging operation.
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
INVALID_OPERATION is generated if any trace command except TraceCommentMESA
|
||||||
|
is called between Begin and End.
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
The current trace name and current command class mask are stored
|
||||||
|
per-context.
|
||||||
|
|
||||||
|
New Implementation Dependent State
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
* Revision 0.1 - Initial draft from template (bk000415)
|
||||||
|
* Revision 0.2 - Draft (bk000906)
|
||||||
|
* Revision 0.3 - Draft (bk000913)
|
||||||
|
* Revision 0.4 - Reworked text, fixed typos (bp000914)
|
||||||
|
* Revision 0.5 - Assigned final GLenum values (bp001103)
|
||||||
|
* Revision 0.6 - TRACE_ERRORS_BIT_MESA (bk000916)
|
||||||
|
* Revision 0.7 - Added MESA postfix (bk010126)
|
||||||
|
|
||||||
203
docs/MESA_ycbcr_texture.spec
Normal file
203
docs/MESA_ycbcr_texture.spec
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_ycbcr_texture
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GL_MESA_ycbcr_texture
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com)
|
||||||
|
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Shipping (Mesa 4.0.4 and later)
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
1.0
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
OpenGL 1.0 or later is required
|
||||||
|
This extensions is written against the OpenGL 1.4 Specification.
|
||||||
|
NV_texture_rectangle effects the definition of this extension.
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
This extension supports texture images stored in the YCbCr format.
|
||||||
|
There is no support for converting YCbCr images to RGB or vice versa
|
||||||
|
during pixel transfer. The texture's YCbCr colors are converted to
|
||||||
|
RGB during texture sampling, after-which, all the usual per-fragment
|
||||||
|
operations take place. Only 2D texture images are supported (not
|
||||||
|
glDrawPixels, glReadPixels, etc).
|
||||||
|
|
||||||
|
A YCbCr pixel (texel) is a 16-bit unsigned short with two components.
|
||||||
|
The first component is luminance (Y). For pixels in even-numbered
|
||||||
|
image columns, the second component is Cb. For pixels in odd-numbered
|
||||||
|
image columns, the second component is Cr. If one were to convert the
|
||||||
|
data to RGB one would need to examine two pixels from columns N and N+1
|
||||||
|
(where N is even) to deduce the RGB color.
|
||||||
|
|
||||||
|
IP Status
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Issues
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
Accepted by the <internalFormat> and <format> parameters of
|
||||||
|
TexImage2D and TexSubImage2D:
|
||||||
|
|
||||||
|
YCBCR_MESA 0x8757
|
||||||
|
|
||||||
|
Accepted by the <type> parameter of TexImage2D and TexSubImage2D:
|
||||||
|
|
||||||
|
UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
|
||||||
|
UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
||||||
|
|
||||||
|
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
|
||||||
|
add the following to Table 3.8 (Packed pixel formats):
|
||||||
|
|
||||||
|
type Parameter GL Data Number of Matching
|
||||||
|
Token Name Type Components Pixel Formats
|
||||||
|
-------------- ------- ---------- -------------
|
||||||
|
UNSIGNED_SHORT_8_8_MESA ushort 3 YCBCR_422_MESA
|
||||||
|
UNSIGNED_SHORT_8_8_REV_MESA ushort 3 YCBCR_422_MESA
|
||||||
|
|
||||||
|
|
||||||
|
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
|
||||||
|
add the following to Table 3.10 (UNSIGNED_SHORT formats):
|
||||||
|
|
||||||
|
UNSIGNED_SHORT_8_8_MESA:
|
||||||
|
|
||||||
|
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
|
+-------------------------------+-------------------------------+
|
||||||
|
| 1st | 2nd |
|
||||||
|
+-------------------------------+-------------------------------+
|
||||||
|
|
||||||
|
UNSIGNED_SHORT_8_8_REV_MESA:
|
||||||
|
|
||||||
|
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
||||||
|
+-------------------------------+-------------------------------+
|
||||||
|
| 2nd | 1st |
|
||||||
|
+-------------------------------+-------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
|
||||||
|
add the following to Table 3.12 (Packed pixel fiedl assignments):
|
||||||
|
|
||||||
|
First Second Third Fourth
|
||||||
|
Format Element Element Element Element
|
||||||
|
------ ------- ------- ------- -------
|
||||||
|
YCBCR_422_MESA luminance chroma
|
||||||
|
|
||||||
|
|
||||||
|
In section 3.8.1, Texture Image Specification, on page 125, add
|
||||||
|
another item to the list of TexImage2D and TexImage3D equivalence
|
||||||
|
exceptions:
|
||||||
|
|
||||||
|
* The value of internalformat and format may be YCBCR_MESA to
|
||||||
|
indicate that the image data is in YCbCr format. type must
|
||||||
|
be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA
|
||||||
|
as seen in tables 3.8 and 3.10. Table 3.12 describes the mapping
|
||||||
|
between Y and Cb/Cr to the components.
|
||||||
|
If NV_texture_rectangle is supported target may also be
|
||||||
|
TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV.
|
||||||
|
All pixel transfer operations are bypassed. The texture is stored as
|
||||||
|
YCbCr, not RGB. Queries of the texture's red, green and blue component
|
||||||
|
sizes will return zero. The YCbCr colors are converted to RGB during
|
||||||
|
texture sampling using an implementation dependent conversion.
|
||||||
|
|
||||||
|
|
||||||
|
In section 3.8.1, Texture Image Specification, on page 126, add
|
||||||
|
another item to the list of TexImage1D and TexImage2D equivalence
|
||||||
|
exceptions:
|
||||||
|
|
||||||
|
* The value of internalformat and format can not be YCBCR_MESA.
|
||||||
|
|
||||||
|
|
||||||
|
In section 3.8.2, Alternate Texture Image Specification Commands, on
|
||||||
|
page 129, insert this paragraph after the first full paragraph on the
|
||||||
|
page:
|
||||||
|
|
||||||
|
"If the internal storage format of the image being updated by
|
||||||
|
TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA.
|
||||||
|
The error INVALID_OPERATION will be generated otherwise."
|
||||||
|
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
||||||
|
Operations and the Frame Buffer)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
||||||
|
State Requests)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to the AGL/GLX/WGL Specifications
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
INVALID_ENUM is generated by TexImage2D if <internalFormat> is
|
||||||
|
MESA_YCBCR but <format> is not MESA_YCBCR.
|
||||||
|
|
||||||
|
INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but
|
||||||
|
<internalFormat> is not MESA_YCBCR.
|
||||||
|
|
||||||
|
INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and
|
||||||
|
<internalFormat> is MESA_YCBCR and <border> is not zero.
|
||||||
|
|
||||||
|
INVALID_OPERATION is generated by TexSubImage2D if the internal image
|
||||||
|
format is YCBCR_MESA and <format> is not YCBCR_MESA.
|
||||||
|
|
||||||
|
INVALID_OPERATION is generated by CopyTexSubImage2D if the internal
|
||||||
|
image is YCBCR_MESA.
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT
|
||||||
|
from n x Z42 to n x Z43 to indicate that internal format may also be
|
||||||
|
YCBCR_MESA.
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
20 September 2002 - Initial draft
|
||||||
|
29 April 2003 - minor updates
|
||||||
|
3 September 2003 - further clarify when YCbCr->RGB conversion takes place
|
||||||
|
19 September 2003 - a few more updates prior to submitting to extension
|
||||||
|
registry.
|
||||||
547
docs/MiniGLX.html
Normal file
547
docs/MiniGLX.html
Normal file
@@ -0,0 +1,547 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Mini GLX Specification</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>
|
||||||
|
<center>Mini GLX Specification</center>
|
||||||
|
</h1>
|
||||||
|
<h2>
|
||||||
|
<center>Tungsten Graphics, Inc.<br>
|
||||||
|
<br>
|
||||||
|
January 20, 2003<br>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
</h2>
|
||||||
|
<p> Copyright © 2002-2003 by Tungsten Graphics, Inc., Cedar Park,
|
||||||
|
Texas. All Rights Reserved. <br>
|
||||||
|
<br>
|
||||||
|
Permission is granted to make and distribute verbatim copies of this
|
||||||
|
document provided the copyright notice and this permission notice are
|
||||||
|
preserved on all copies.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h1>1. Introduction</h1>
|
||||||
|
<p>The Mini GLX interface facilitates OpenGL rendering on embedded
|
||||||
|
devices. The interface is a subset of the GLX interface, plus a minimal
|
||||||
|
set of Xlib-like functions.</p>
|
||||||
|
<p>Programs written to the Mini GLX specification should run unchanged
|
||||||
|
on systems with the X Window System and the GLX extension. The intention
|
||||||
|
is to allow flexibility for prototyping and testing.</p>
|
||||||
|
<p>This document serves as both the reference guide and programming
|
||||||
|
guide for Mini GLX.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h1>2. Mini GLX Concepts</h1>
|
||||||
|
<p>The OpenGL specification does not describe how OpenGL rendering
|
||||||
|
contexts and drawing surfaces (i.e. the frame buffer) are created and
|
||||||
|
managed. Rather, this is handled by an OpenGL window system interface,
|
||||||
|
such as Mini GLX.</p>
|
||||||
|
<p>There are three main datatypes or resources managed by Mini GLX. The
|
||||||
|
resources and their corresponding GLX or Xlib data types are:</p>
|
||||||
|
<table cellspacing="10" align="center">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><u>Resource</u></td>
|
||||||
|
<td><u>Data type</u></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>pixel formats</td>
|
||||||
|
<td>X Visual and XVisualInfo</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>drawing surfaces</td>
|
||||||
|
<td>X Window or GLXDrawable</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>rendering contexts</td>
|
||||||
|
<td>GLXContext</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p>Pixel formats or X Visuals describe the per-pixel attributes of the
|
||||||
|
frame buffer. For example, bits per color component, Z buffer size,
|
||||||
|
stencil size, TrueColor vs PseudoColor, etc.</p>
|
||||||
|
<p>Drawing surfaces or X Windows typically describe a spatial
|
||||||
|
allocation of the frame buffer (i.e. the position and size of a
|
||||||
|
rectangular region of pixels). Since MiniGLX doesn't really support a
|
||||||
|
window system, the window is effectively the entire frame buffer.</p>
|
||||||
|
<p>A rendering context represents the current OpenGL state such as
|
||||||
|
current drawing color, line width, blending mode, texture parameters,
|
||||||
|
etc. Several rendering contexts can be created but only one can be in
|
||||||
|
use at any given time.</p>
|
||||||
|
<p>The Mini GLX interface provides all the functions needed for
|
||||||
|
choosing pixel formats, create drawing surfaces, creating rendering
|
||||||
|
contexts and binding rendering contexts to drawing surfaces.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h1>3. Using Mini GLX</h1>
|
||||||
|
<p>To use the Mini GLX interface in your application, include the
|
||||||
|
GL/miniglx.h header file at compile time:</p>
|
||||||
|
<blockquote><code> #include <GL/miniglx.h><br>
|
||||||
|
</code></blockquote>
|
||||||
|
<code></code>Applications should link with libGL.so (i.e. <code>gcc
|
||||||
|
myprogram.o -lGL -o myprogram</code>). libGL.so implements the
|
||||||
|
MiniGLX API functions and, in turn, loads a hardware-specific device
|
||||||
|
driver (such as <code>radeon_dri.so</code>) at runtime. The
|
||||||
|
environment variable <code>LIBGL_DRIVERS_PATH</code> should name the
|
||||||
|
directory where these modules are located.<br>
|
||||||
|
<br>
|
||||||
|
Prior to running a MiniGXL application, the following kernel modules
|
||||||
|
must be installed:<br>
|
||||||
|
<br>
|
||||||
|
<div style="margin-left: 40px;"> agpgart.o<br>
|
||||||
|
radeonfb.o (assuming Radeon hardware)<br>
|
||||||
|
radeon.o (assuming Radeon hardware)<br>
|
||||||
|
</div>
|
||||||
|
<code></code> <br>
|
||||||
|
Finally, MiniGLX reads a configuration file (by default,<code>
|
||||||
|
/etc/miniglx.conf</code>) to determine basic configuration information.
|
||||||
|
The configuration file may also be located in the directory
|
||||||
|
specified by the <code>MINIGLX_CONF</code> environment variable).<br>
|
||||||
|
<br>
|
||||||
|
The remainder of this section describes the MiniGLX API functions.<br>
|
||||||
|
<br>
|
||||||
|
<h2>3.1 Initialization</h2>
|
||||||
|
<p>The XOpenDisplay function is used to initialize the graphics system:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>Display *XOpenDisplay(const char *displayname)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>The <code>displayName</code> parameter is currently ignored in Mini
|
||||||
|
GLX. It is recommended that <code>NULL</code> be passed as the<code>displayName</code>
|
||||||
|
parameter.</p>
|
||||||
|
<p>If XOpenDisplay is able to initialize the graphics system a pointer
|
||||||
|
to a Display will be returned. Otherwise, NULL will be returned.</p>
|
||||||
|
<h2>3.2 Choosing a Visual</h2>
|
||||||
|
<p>A visual (i.e. pixel format) must be chosen before a drawing surface
|
||||||
|
or rendering context can be created. This is done with the
|
||||||
|
glXChooseVisual function:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>XVisualInfo *glXChooseVisual(Display *dpy, int screen, const int *attribList)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p><code>dpy</code> is a pointer to the display returned by
|
||||||
|
XOpenDisplay. </p>
|
||||||
|
<p><code>screen</code> is currently ignored by Mini GLX and should be
|
||||||
|
zero. </p>
|
||||||
|
<p><code>attribList</code> is a list of GLX attributes which describe
|
||||||
|
the desired pixel format. It is terminated by the token <code>None</code>.
|
||||||
|
The attributes are as follows:</p>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>GLX_USE_GL</code></dt>
|
||||||
|
<dd>This attribute should always be present in order to maintain
|
||||||
|
compatibility with GLX.</dd>
|
||||||
|
<dt><code>GLX_RGBA</code></dt>
|
||||||
|
<dd>If present, only RGBA pixel formats will be considered.
|
||||||
|
Otherwise, only color index formats are considered.</dd>
|
||||||
|
<dt><code>GLX_DOUBLEBUFFER</code></dt>
|
||||||
|
<dd>if present, only double-buffered pixel formats will be chosen.</dd>
|
||||||
|
<dt><code>GLX_RED_SIZE n</code></dt>
|
||||||
|
<dd>Must be followed by a non-negative integer indicating the
|
||||||
|
minimum number of bits per red pixel component that is acceptable.</dd>
|
||||||
|
<dt><code>GLX_GREEN_SIZE n</code></dt>
|
||||||
|
<dd>Must be followed by a non-negative integer indicating the
|
||||||
|
minimum number of bits per green pixel component that is acceptable.</dd>
|
||||||
|
<dt><code>GLX_BLUE_SIZE n</code></dt>
|
||||||
|
<dd>Must be followed by a non-negative integer indicating the
|
||||||
|
minimum number of bits per blue pixel component that is acceptable.</dd>
|
||||||
|
<dt><code>GLX_ALPHA_SIZE n</code></dt>
|
||||||
|
<dd>Must be followed by a non-negative integer indicating the
|
||||||
|
minimum number of bits per alpha pixel component that is acceptable.</dd>
|
||||||
|
<dt><code>GLX_STENCIL_SIZE n</code></dt>
|
||||||
|
<dd>Must be followed by a non-negative integer indicating the
|
||||||
|
minimum number of bits per stencil value that is acceptable.</dd>
|
||||||
|
<dt><code>None</code></dt>
|
||||||
|
<dd>This token is used to terminate the attribute list.</dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
<p>glXChooseVisual will return a pointer to an XVisualInfo object which
|
||||||
|
most closely matches the requirements of the attribute list. If there
|
||||||
|
is no visual which matches the request, NULL will be returned.</p>
|
||||||
|
<p>Note that visuals with accumulation buffers and depth buffers are
|
||||||
|
not available.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h2>3.3 Creating a Drawing Surface</h2>
|
||||||
|
<p>Drawing surfaces are created as X windows. For Mini GLX,
|
||||||
|
windows are <i>full-screen</i>; they cover the entire frame buffer.
|
||||||
|
Also, Mini GLX imposes a limit of one window. A second window
|
||||||
|
cannot be created until the first one is destroyed.</p>
|
||||||
|
<h3>3.3.1 Window Creation</h3>
|
||||||
|
<p>The XCreateWindow function is used to create a drawing surface:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>Window XCreateWindow( Display *display,<br> Window parent,<br> int x, int y,<br> unsigned int width, unsigned int height,<br> unsigned int borderWidth,<br> int depth,<br> unsigned int class,<br> Visual *visual,<br> unsigned long valuemask,<br> XSetWindowAttributes *attributes )<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>The parameters are as follows:</p>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>display</code></dt>
|
||||||
|
<dd>A Display pointer, as returned by XOpenDisplay.</dd>
|
||||||
|
<dt><code>parent</code></dt>
|
||||||
|
<dd>The parent window for the new window. For Mini GLX, this
|
||||||
|
should be<code>RootWindow(dpy, 0)</code>.</dd>
|
||||||
|
<dt><code>x, y</code></dt>
|
||||||
|
<dd>The position of the window. For Mini GLX, both values should
|
||||||
|
be zero.</dd>
|
||||||
|
<dt><code>width, height</code></dt>
|
||||||
|
<dd>The size of the window. For Mini GLX, this specifies the
|
||||||
|
desired screen size such as 1024, 768 or 1280, 1024.</dd>
|
||||||
|
<dt><code>borderWidth</code></dt>
|
||||||
|
<dd>This parameter should be zero.</dd>
|
||||||
|
<dt><code>depth</code></dt>
|
||||||
|
<dd>The pixel depth for the window. For Mini GLX this should be
|
||||||
|
the depth found in the XVisualInfo object returned by <code>glxChooseVisual</code>.</dd>
|
||||||
|
<dt><code>class</code></dt>
|
||||||
|
<dd>The window class. For Mini GLX this value should be <code>InputOutput</code>.</dd>
|
||||||
|
<dt><code>visual</code></dt>
|
||||||
|
<dd>This parameter should be the <code>visual</code> field of the <code>XVisualInfo</code>
|
||||||
|
object returned by <code>glxChooseVisual</code>.</dd>
|
||||||
|
<dt><code>valuemask</code></dt>
|
||||||
|
<dd>This parameter indicates which fields of the <code>XSetWindowAttributes</code>
|
||||||
|
are to be used. For Mini GLX this is typically the bitmask<code>CWBackPixel
|
||||||
|
| CWBorderPixel | CWColormap</code>.</dd>
|
||||||
|
<dt><code>attributes</code></dt>
|
||||||
|
<dd>Initial window attributes. Of the fields in the <code>XSetWindowAttributes</code>
|
||||||
|
structure, the<code>background_pixel</code>, <code>border_pixel</code>
|
||||||
|
and <code>colormap</code> fields should be set. See the discussion
|
||||||
|
below regarding colormaps.</dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
<p><code>XCreateWindow</code> will return a window handle if it succeeds
|
||||||
|
or zero if it fails.</p>
|
||||||
|
<h3>3.3.2 Window Mapping</h3>
|
||||||
|
<p>To display the window the XMapWindow function must be called:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void XMapWindow(Display *dpy, Window w)</pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>This function does nothing in Mini GLX but is required for Xlib/GLX
|
||||||
|
compatibility</p>
|
||||||
|
<h3>3.3.3 Colormaps<br>
|
||||||
|
</h3>
|
||||||
|
<p>Xlib requires specification of a colormap when creating a window.
|
||||||
|
For purposes of interoperability, Mini GLX requires this as well,
|
||||||
|
though the colormap is not actually used. The XCreateColormap
|
||||||
|
function is used to create a colormap:</p>
|
||||||
|
<blockquote><code>Colormap XCreateColormap(Display *dpy, Window window,
|
||||||
|
Visual *visual, int alloc)</code><br>
|
||||||
|
<code></code></blockquote>
|
||||||
|
<p>The parameters are as follows:<br>
|
||||||
|
</p>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>dpy</code></dt>
|
||||||
|
<dd>The display handle as returned by XOpenDisplay.</dd>
|
||||||
|
<dt><code>window</code></dt>
|
||||||
|
<dd> This parameter is ignored by Mini GLX but should be the value
|
||||||
|
returned by the <code>RootWindow(dpy, 0)</code> macro.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><code>visual</code></dt>
|
||||||
|
<dd>This parameter is ignored by Mini GLX but should be the visual
|
||||||
|
field of the XVisualInfo object returned by glXChooseVisual. </dd>
|
||||||
|
<dt><code>alloc</code></dt>
|
||||||
|
<dd>This parameter is ignored by Mini GLX but should be set to <code>AllocNone</code>.</dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
<br>
|
||||||
|
<h2>3.4 Creating a Rendering Context</h2>
|
||||||
|
<p>An OpenGL rendering context is created with the <code>glXCreateContext</code>
|
||||||
|
function:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>GLXContext glXCreateContext(Display *dpy, XVisualInfo *visInfo, GLXContext shareList, Bool direct)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>The parameters are as follows:</p>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>dpy</code></dt>
|
||||||
|
<dd>The display handle as returned by XOpenDisplay.</dd>
|
||||||
|
<dt><code>visInfo</code></dt>
|
||||||
|
<dd>The visual as returned by glXChooseVisual.</dd>
|
||||||
|
<dt><code>shareList</code></dt>
|
||||||
|
<dd>If non-zero, texture objects and display lists are shared with
|
||||||
|
the named rendering context. If zero, texture objects and display lists
|
||||||
|
will (initially) be private to this context. They may be shared when a
|
||||||
|
subsequent context is created.</dd>
|
||||||
|
<dt><code>direct</code></dt>
|
||||||
|
<dd>Specifies whether direct or indirect rendering is desired. For
|
||||||
|
Mini GLX this value is ignored but it should be set to <code>True</code>.</dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
<p><code>glXCreateContext</code> will return a GLXContext handle if it
|
||||||
|
succeeds or zero if it fails due to invalid parameter or insufficient
|
||||||
|
resources.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h2>3.5 Binding a Rendering Context</h2>
|
||||||
|
<p>The final step before beginning OpenGL rendering is to bind (i.e.
|
||||||
|
activate) a rendering context and drawing surface with the
|
||||||
|
glXMakeCurrent function:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>The parameters are as follows:</p>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>dpy</code></dt>
|
||||||
|
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
||||||
|
<dt><code>drawable</code></dt>
|
||||||
|
<dd>The window or drawable to bind to the rendering context. This
|
||||||
|
should be the value returned by XCreateWindow.</dd>
|
||||||
|
<dt><code>ctx</code></dt>
|
||||||
|
<dd>The rendering context to bind, as returned by glXCreateContext.</dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
<p>If glXMakeCurrent succeeds True is returned. Otherwise False is
|
||||||
|
returned to indicate an invalid display, window or context parameter.</p>
|
||||||
|
<p>After the rendering context has been bound to the drawing surface
|
||||||
|
OpenGL rendering can begin.</p>
|
||||||
|
<p>The current rendering context may be unbound by calling
|
||||||
|
glXMakeCurrent with the window and context parameters set to zero.</p>
|
||||||
|
<p>An application may create any number of rendering contexts and bind
|
||||||
|
them as needed. Note that binding a rendering context is generally not a
|
||||||
|
light-weight operation. Most simple OpenGL applications create
|
||||||
|
only one rendering context.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h2>3.6 Color Buffer Swapping</h2>
|
||||||
|
<p>A double buffered window has two color buffers: a front buffer and a
|
||||||
|
back buffer. Normally, rendering is directed to the back buffer while
|
||||||
|
the front buffer is displayed. When rendering of a frame is finished
|
||||||
|
the front and back buffers are swapped to provide the illusion of
|
||||||
|
instanteous screen updates.</p>
|
||||||
|
<p>The color buffers for a particular window (i.e. drawable) may be
|
||||||
|
swapped with the glXSwapBuffers command:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void glXSwapBuffers(Display *dpy, GLXDrawable drawable)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
Any pending rendering commands will be completed before the buffer swap
|
||||||
|
takes place.<br>
|
||||||
|
<br>
|
||||||
|
Calling glXSwapBuffers on a window which is single-buffered has no
|
||||||
|
effect.<br>
|
||||||
|
<br>
|
||||||
|
<h2>3.7 Releasing Resources</h2>
|
||||||
|
<h3>3.7.1 Releasing Rendering Contexts</h3>
|
||||||
|
<p>A rendering context may be destroyed by calling glXDestroyContext:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void glXDestroyContext(Display *dpy, GLXContext ctx)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<h3>3.7.2 Releasing Windows</h3>
|
||||||
|
<p>A window may be destroyed by calling XDestroyWindow:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void XDestroyWindow(Display *dpy, Window window)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<h3>3.7.3 Releasing Visuals</h3>
|
||||||
|
<p>An XVisualInfo object may be freed by calling XFree:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void XFree(void *data)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<h3>3.7.4 Releasing Colormaps</h3>
|
||||||
|
<p>A colormap may be freed by calling XFreeColormap:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void XFreeColormap(Display *dpy, Colormap colormap)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<h3>3.7.4 Releasing Display Resources</h3>
|
||||||
|
<p>When the application is about to exit, the resources associated with
|
||||||
|
the graphics system can be released by calling XCloseDisplay:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void XCloseDisplay(Display *dpy)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>The display handle becomes invalid at this point.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h2>3.8 Query Functions</h2>
|
||||||
|
<h3>3.8.1 Querying Available Visuals</h3>
|
||||||
|
A list of all available visuals can be obtained with the XGetVisualInfo
|
||||||
|
function:<br>
|
||||||
|
<br>
|
||||||
|
<div style="margin-left: 40px;"><code>XVisualInfo
|
||||||
|
*XGetVisualInfo(Display *dpy, long vinfo_mask, XVisualInfo
|
||||||
|
*vinfo_template, int *nitems_return)<br>
|
||||||
|
</code></div>
|
||||||
|
<br>
|
||||||
|
The parameters are as follows:<br>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>dpy</code></dt>
|
||||||
|
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
||||||
|
<dt><code>vinfo_mask</code></dt>
|
||||||
|
<dd>A bitmask indicating which fields of the vinfo_template are to
|
||||||
|
be matched. The value must be VisualScreenMask.</dd>
|
||||||
|
<dt><code>vinfo_template</code></dt>
|
||||||
|
<dd>A template whose fields indicate which visual attributes must
|
||||||
|
be matched by the results. The screen field of this structure must
|
||||||
|
be zero.</dd>
|
||||||
|
<dt><code>nitems_return</code></dt>
|
||||||
|
<dd>Returns the number of visuals returned. </dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
The return value is the address of an array of all available visuals.<br>
|
||||||
|
<br>
|
||||||
|
An example of using XGetVisualInfo to get all available visuals follows:<br>
|
||||||
|
<br>
|
||||||
|
<div style="margin-left: 40px;"><code>XVisualInfo visTemplate, *results;</code><br>
|
||||||
|
<code>int numVisuals;</code><br>
|
||||||
|
<code>Display *dpy = XOpenDisplay(NULL);</code><br>
|
||||||
|
<code>visTemplate.screen = 0;</code><br>
|
||||||
|
<code>results = XGetVisualInfo(dpy, VisualScreenMask, &visTemplate,
|
||||||
|
&numVisuals);</code><br>
|
||||||
|
<code></code></div>
|
||||||
|
<br>
|
||||||
|
<h3>3.8.2 Querying Visual Attributes</h3>
|
||||||
|
<p>The GLX attributes of an X visual may be queried with the
|
||||||
|
glXGetConfig function:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>int glXGetConfig(Display *dpy, XVisualInfo *vis, int attribute, int *value)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>The parameters are as follows:</p>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>dpy</code></dt>
|
||||||
|
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
||||||
|
<dt><code>vis</code></dt>
|
||||||
|
<dd>The visual, as returned by glXChooseVisual.</dd>
|
||||||
|
<dt><code>attribute</code></dt>
|
||||||
|
<dd>The attribute to query. The attributes are listed below.</dd>
|
||||||
|
<dt><code>value</code></dt>
|
||||||
|
<dd>Pointer to an integer in which the result of the query will be
|
||||||
|
stored. </dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
<p>The return value will be zero if no error occurs.<code>
|
||||||
|
GLX_INVALID_ATTRIBUTE</code> will be returned if the attribute
|
||||||
|
parameter is invalid.<code> GLX_BAD_VISUAL</code> will be returned
|
||||||
|
if the XVisualInfo parameter is invalid.</p>
|
||||||
|
<p>The following attributes may be queried:</p>
|
||||||
|
<blockquote>
|
||||||
|
<dl>
|
||||||
|
<dt><code>GLX_USE_GL</code></dt>
|
||||||
|
<dd>The result will be <code>True</code> or <code>False</code> to
|
||||||
|
indicate if OpenGL rendering is supported with the visual. Mini GLX
|
||||||
|
always return <code>True</code>.</dd>
|
||||||
|
<dt><code>GLX_RGBA</code></dt>
|
||||||
|
<dd>The result will be <code>True</code> for RGBA visuals or <code>False</code>
|
||||||
|
for color index visuals.</dd>
|
||||||
|
<dt><code>GLX_DOUBLEBUFFER</code></dt>
|
||||||
|
<dd>The result will be <code>True</code> if the visual has two
|
||||||
|
color buffers or <code>False</code> if the visual has one color buffer.</dd>
|
||||||
|
<dt><code>GLX_RED_SIZE</code></dt>
|
||||||
|
<dd>The result will be the number of red bits per pixel.</dd>
|
||||||
|
<dt><code>GLX_GREEN_SIZE</code></dt>
|
||||||
|
<dd>The result will be the number of green bits per pixel.</dd>
|
||||||
|
<dt><code>GLX_BLUE_SIZE</code></dt>
|
||||||
|
<dd>The result will be the number of blue bits per pixel.</dd>
|
||||||
|
<dt><code>GLX_ALPHA_SIZE</code></dt>
|
||||||
|
<dd>The result will be the number of alpha bits per pixel.</dd>
|
||||||
|
<dt><code>GLX_DEPTH_SIZE</code></dt>
|
||||||
|
<dd>The result will be the number of bits per Z value.</dd>
|
||||||
|
<dt><code>GLX_STENCIL_SIZE</code></dt>
|
||||||
|
<dd>The result will be the number of bits per stencil value.<br>
|
||||||
|
<br>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</blockquote>
|
||||||
|
<h3>3.8.3 Querying the Current Rendering Context</h3>
|
||||||
|
<p>The current rendering context can be queried with
|
||||||
|
glXGetCurrentContext: </p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>GLXContext glXGetCurrentContext(void)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>Zero will be returned if no context is currently bound.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h3>3.8.4 Querying the Current Drawable</h3>
|
||||||
|
<p>The current drawable (i.e. window or drawing surface) can be queried
|
||||||
|
with glXGetCurrentDrawable:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>GLXDrawable glXGetCurrentDrawable(void)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>Zero will be returned if no drawable is currently bound.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h3>3.8.5 Function Address Queries</h3>
|
||||||
|
<p>The glXGetProcAddress function will return the address of any
|
||||||
|
available OpenGL or Mini GLX function:</p>
|
||||||
|
<blockquote>
|
||||||
|
<pre>void *glXGetProcAddress(const GLubyte *procName)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p>If <code>procName</code> is a valid function name, a pointer to that
|
||||||
|
function will be returned. Otherwise, NULL will be returned.</p>
|
||||||
|
<p>The purpose of glXGetProcAddress is to facilitate using future
|
||||||
|
extensions to OpenGL or Mini GLX. If a future version of the library
|
||||||
|
adds new extension functions they'll be accessible via
|
||||||
|
glXGetProcAddress. The alternative is to hard-code calls to the new
|
||||||
|
functions in the application but doing so will prevent linking the
|
||||||
|
application with older versions of the library.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h2>3.9 Versioning</h2>
|
||||||
|
The Mini GLX version can be queried at run time with glXQueryVersion:
|
||||||
|
<blockquote>
|
||||||
|
<pre>Bool glXQueryVersion(Display *dpy, int *major, int *minor)<br></pre>
|
||||||
|
</blockquote>
|
||||||
|
<p><code>major</code> will be set to the major version number and<code>minor</code>
|
||||||
|
will be set to the minor version number.<code>True</code> will be
|
||||||
|
returned if the function succeeds. <code>False</code> will be returned
|
||||||
|
if the function fails due to invalid parameters. The <code>dpy</code>
|
||||||
|
argument is currently ignored, but should be the value returned by
|
||||||
|
XOpenDisplay.</p>
|
||||||
|
<p>At compile time, the Mini GLX interface version can be tested with
|
||||||
|
the MINI_GLX_VERSION_1_<i>x</i> preprocessor tokens. For example, if
|
||||||
|
version 1.0 of Mini GLX is supported, then<code> MINI_GLX_VERSION_1_0</code>
|
||||||
|
will be defined. If version 1.1 of Mini GLX is supported, then<code>
|
||||||
|
MINI_GLX_VERSION_1_1</code> will be defined.</p>
|
||||||
|
<p>At the time of writing the current Mini GLX version is 1.0.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<h1>4.0 Interoperability with GLX and Xlib</h1>
|
||||||
|
While Mini GLX strives to be compatible with GLX and Xlib there are
|
||||||
|
some unavoidable differences which must be taken into consideration.<br>
|
||||||
|
<h2>4.1 Public vs Private Structures</h2>
|
||||||
|
The structure of many X data types is public. For example, the <code>Display</code>
|
||||||
|
data type is defined as a structure in /usr/include/X11/Xlib.h and
|
||||||
|
programmers may access any fields of that structure at will. Mini
|
||||||
|
GLX also defines a Display data type but its fields are hidden and not
|
||||||
|
visiblein <code>miniglx.h</code>. Duplicating the Xlib
|
||||||
|
declaration for the <code>Display</code> data type in minigl.h would
|
||||||
|
require defining a large number of other superfluous Xlib datatypes.<br>
|
||||||
|
<br>
|
||||||
|
Mini GLX users are discouraged from directly accessing the fields of
|
||||||
|
Xlib data types to maximize portability - though this is unavoidable to
|
||||||
|
some extent. For example, the <code>XVisualInfo</code> and <code>XSetWindowAtttributes</code>
|
||||||
|
data types must be completely public.
|
||||||
|
<h2>4.2 Macros</h2>
|
||||||
|
In some cases, Xlib defines macros which are meant to be used instead
|
||||||
|
of direct structure accesses. For example, the <code>RootWindow(dpy,
|
||||||
|
screen)</code> macro returns the root window for a given screen on a
|
||||||
|
given display. Unfortunately, macros do nothing to aid in ABI
|
||||||
|
compatibility since they are resolved at compile time instead of at
|
||||||
|
link/run time.<br>
|
||||||
|
<br>
|
||||||
|
Mini GLX also defines a <code>RootWindow</code> macro since it's
|
||||||
|
essential for creating windows. But the implementation of this
|
||||||
|
macro by Xlib and Mini GLX is completely different.<br>
|
||||||
|
<h2>4.3 Summary</h2>
|
||||||
|
Because Xlib and Mini GLX define data types and macros differently,
|
||||||
|
Mini GLX applications must be recompiled when retargeting Mini GLX or
|
||||||
|
native Xlib/GLX. That is, applications can't simply be re-linked
|
||||||
|
because of ABI incompatibilities.<br>
|
||||||
|
<br>
|
||||||
|
Nevertheless, the fact that Mini GLX programs can be recompiled for
|
||||||
|
Xlib and GLX increases portability and flexibility for testing and
|
||||||
|
prototyping.<br>
|
||||||
|
<br>
|
||||||
|
<h1>5.0 Example Program</h1>
|
||||||
|
<p>This section shows an example program which uses the Mini GLX
|
||||||
|
interface. The program simply draws several frames of a rotating square.<br>
|
||||||
|
</p>
|
||||||
|
<p>The program may be compiled for use with Xlib/GLX or Mini GLX by
|
||||||
|
setting the <code>USE_MINIGLX</code> token to 0 or 1, respectively.
|
||||||
|
Note that the only difference is the header files which are
|
||||||
|
included.<br>
|
||||||
|
</p>
|
||||||
|
<p> </p>
|
||||||
|
<pre><code><br></code>#define USE_MINIGLX 1 /* 1 = use Mini GLX, 0 = use Xlib/GLX */<br><br>#include <stdio.h><br>#include <stdlib.h><br>#include <GL/gl.h><br><br>#if USE_MINIGLX<br>#include <GL/miniglx.h><br>#else<br>#include <GL/glx.h><br>#include <X11/Xlib.h><br>#endif<br><br><code>/*<br> * Create a simple double-buffered RGBA window.<br> */<br>static Window<br>MakeWindow(Display * dpy, unsigned int width, unsigned int height)<br>{<br> int visAttributes[] = {<br> GLX_RGBA,<br> GLX_RED_SIZE, 1,<br> GLX_GREEN_SIZE, 1,<br> GLX_BLUE_SIZE, 1,<br> GLX_DOUBLEBUFFER,<br> None<br> };<br> XSetWindowAttributes attr;<br> unsigned long attrMask;<br> Window root;<br> Window win;<br> GLXContext ctx;<br> XVisualInfo *visinfo;<br><br> root = RootWindow(dpy, 0);<br><br> /* Choose GLX visual / pixel format */<br> visinfo = glXChooseVisual(dpy, 0, visAttributes);<br> if (!visinfo) {<br> printf("Error: couldn't get an RGB, Double-buffered visual\n");<br> exit(1);<br> }<br><br> /* Create the window */<br> attr.background_pixel = 0;<br> attr.border_pixel = 0;<br> attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);<br> attrMask = CWBackPixel | CWBorderPixel | CWColormap;<br> win = XCreateWindow(dpy, root, 0, 0, width, height,<br> 0, visinfo->depth, InputOutput,<br> visinfo->visual, attrMask, &attr);<br> if (!win) {<br> printf("Error: XCreateWindow failed\n");<br> exit(1);<br> }<br><br> /* Display the window */<br> XMapWindow(dpy, win);<br><br> /* Create GLX rendering context */<br> ctx = glXCreateContext(dpy, visinfo, NULL, True);<br> if (!ctx) {<br> printf("Error: glXCreateContext failed\n");<br> exit(1);<br> }<br><br> /* Bind the rendering context and window */<br> glXMakeCurrent(dpy, win, ctx);<br><br> return win;<br>}<br><br><br>/*<br> * Draw a few frames of a rotating square.<br> */<br>static void<br>DrawFrames(Display * dpy, Window win)<br>{<br> int angle;<br> glShadeModel(GL_FLAT);<br> glClearColor(0.5, 0.5, 0.5, 1.0);<br> for (angle = 0; angle < 360; angle += 10) {<br> glClear(GL_COLOR_BUFFER_BIT);<br> glColor3f(1.0, 1.0, 0.0);<br> glPushMatrix();<br> glRotatef(angle, 0, 0, 1);<br> glRectf(-0.8, -0.8, 0.8, 0.8);<br> glPopMatrix();<br> glXSwapBuffers(dpy, win);<br> }<br>}<br><br><br>int<br>main(int argc, char *argv[])<br>{<br> Display *dpy;<br> Window win;<br><br> dpy = XOpenDisplay(NULL);<br> if (!dpy) {<br> printf("Error: XOpenDisplay failed\n");<br> return 1;<br> }<br><br> win = MakeWindow(dpy, 300, 300);<br><br> DrawFrames(dpy, win);<br><br> return 0;<br>}<br></code></pre>
|
||||||
|
<br>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -1,6 +1,84 @@
|
|||||||
|
|
||||||
3Dfx Glide device driver for Mesa 3.3
|
3Dfx Glide device driver
|
||||||
(see below for FAQ)
|
|
||||||
|
|
||||||
|
|
||||||
|
Mesa-5.1 release notes:
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
1) Glide2 support has been ceased; in order to keep Voodoo Graphics
|
||||||
|
and Voodoo Rush compatibility, please visit the Glide SourceForge
|
||||||
|
and help us to fix Glide3 for those cards.
|
||||||
|
2) The current release is a WIP; among other things, the Linux build works
|
||||||
|
only to some extent. Any help will be appreciated.
|
||||||
|
3) Glide3 can be found at http://sourceforge.net/projects/glide/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Known supported HW/OS:
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Voodoo^2, Voodoo Banshee, Voodoo3, Voodoo4, Voodoo5
|
||||||
|
DOS (DJGPP), Windows9x/2k (MinGW/MSVC), Linux
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
How to compile:
|
||||||
|
---------------
|
||||||
|
|
||||||
|
DJGPP/MinGW/MSVC:
|
||||||
|
Place the Glide3 SDK in the top Mesa directory:
|
||||||
|
$(MESA)/glide3/include/*.h
|
||||||
|
$(MESA)/glide3/lib/
|
||||||
|
Required headers:
|
||||||
|
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
||||||
|
Required libraries:
|
||||||
|
OS specific
|
||||||
|
Type:
|
||||||
|
make -f Makefile.DJ HAVE_MMX=1 HAVE_3DNOW=1 FX=1
|
||||||
|
or
|
||||||
|
make -f Makefile.mgw HAVE_MMX=1 HAVE_3DNOW=1 FX=1
|
||||||
|
or
|
||||||
|
nmake -f Makefile.wfx
|
||||||
|
Look into the corresponding makefiles for further information.
|
||||||
|
|
||||||
|
Linux:
|
||||||
|
Place the Glide3 SDK in /usr/local/glide
|
||||||
|
Type:
|
||||||
|
make linux-glide
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Contact:
|
||||||
|
--------
|
||||||
|
|
||||||
|
Daniel Borca <dborca@users.sourceforge.net>
|
||||||
|
Hiroshi Morii <koolsmoky@users.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The info below this line is outdated. You have been warned...
|
||||||
|
*************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -13,8 +91,6 @@ What do you need ?
|
|||||||
under Linux (more information in the "Useful Glide Environment
|
under Linux (more information in the "Useful Glide Environment
|
||||||
Variables");
|
Variables");
|
||||||
|
|
||||||
- Mesa 3.1;
|
|
||||||
|
|
||||||
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
|
- 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
|
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
|
compatible with the Glide 2.x so it doesn't work with the current
|
||||||
@@ -23,8 +99,6 @@ What do you need ?
|
|||||||
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
||||||
Watcom (tested), GCC for Linux (tested), etc.);
|
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
|
- It's nice to have two monitors - one for your normal graphics
|
||||||
card and one for your 3Dfx card. If something goes wrong with
|
card and one for your 3Dfx card. If something goes wrong with
|
||||||
an application using the 3Dfx hardware you can still see your
|
an application using the 3Dfx hardware you can still see your
|
||||||
|
|||||||
@@ -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
|
a clone of the BGLView class. This class, derived from BView, allows
|
||||||
OpenGL rendering into a BeOS window.
|
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
|
Any application which uses the BGLView should be able to use Mesa
|
||||||
instead of Be's OpenGL without changing any code.
|
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
|
SGI sample implementation, it's pretty slow. You'll see that Mesa
|
||||||
is considerably faster.
|
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
|
It's not 100% finished at this time but many GLUT-based demos are
|
||||||
working. No optimizations have been made at this time.
|
working. No optimizations have been made at this time.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Compiling
|
* Compiling
|
||||||
|
|
||||||
In the Mesa-3.x directory type "make -f Makefile.X11 beos-r4".
|
Requirements:
|
||||||
When it finishes the libMesaGL.so and libMesaGLU.so libraries for
|
- gcc version 2.95.3 for BeOS
|
||||||
BeOS will be in the Mesa-3.x/lib/ directory.
|
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-4.x/BeOS/ directory for one or two BGLView demo
|
||||||
|
|
||||||
Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
|
|
||||||
programs. They should have been compiled along with the Mesa
|
programs. They should have been compiled along with the Mesa
|
||||||
library.
|
library.
|
||||||
|
|
||||||
|
|
||||||
|
* GLUT
|
||||||
|
|
||||||
GLUT
|
A beta version of GLUT 3.7 port for BeOS can be found at
|
||||||
|
http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
|
||||||
|
|
||||||
A version of GLUT 2.5 for BeOS can be found in src-glut.beos/.
|
There's is a 2.5 version in src-glut.beos/, too.
|
||||||
The original distribution can be obtained from
|
The original distribution can be obtained from
|
||||||
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
|
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
|
believe Mark Kilgard's normal GLUT distribution includes BeOS
|
||||||
support.
|
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
|
Mesa's implementation of the BGLView class has an extra member
|
||||||
function: CopySubBufferMESA(). It basically works like SwapBuffers()
|
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.
|
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
|
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
|
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
|
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
|
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 $
|
||||||
|
|||||||
227
docs/README.DJ
Normal file
227
docs/README.DJ
Normal file
@@ -0,0 +1,227 @@
|
|||||||
|
Mesa 5.1 DOS/DJGPP Port v1.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Description:
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Well, guess what... this is the DOS port of Mesa 5.1, for DJGPP fans... Whoa!
|
||||||
|
The driver has its origins in ddsample.c, written by Brian Paul and found by me
|
||||||
|
in Mesa 3.4.2.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Legal:
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
Mesa copyright applies, provided this package is used within Mesa. For anything
|
||||||
|
else, see GPL.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Unzip and type:
|
||||||
|
|
||||||
|
make -f Makefile.DJ [OPTIONS...]
|
||||||
|
|
||||||
|
Available options:
|
||||||
|
|
||||||
|
Environment variables:
|
||||||
|
CPU optimize for the given processor.
|
||||||
|
default = pentium
|
||||||
|
GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
|
||||||
|
or `mesa'.
|
||||||
|
default = mesa
|
||||||
|
GLIDE path to Glide3 SDK; used with FX.
|
||||||
|
default = $(TOP)/glide3
|
||||||
|
FX=1 build for 3dfx Glide3. Note that this disables
|
||||||
|
compilation of most DMesa code and requires fxMesa.
|
||||||
|
As a consequence, you'll need the DJGPP Glide3
|
||||||
|
library to build any application.
|
||||||
|
default = no
|
||||||
|
MATROX=1 build for Matrox Millennium I (MGA2064W) cards.
|
||||||
|
This is experimental and not intensively tested.
|
||||||
|
default = no
|
||||||
|
HAVE_X86=1 optimize for i386.
|
||||||
|
default = no
|
||||||
|
HAVE_MMX=1 allow MMX specializations, provided your assembler
|
||||||
|
supports MMX instruction set. However, the true CPU
|
||||||
|
capabilities are checked at run-time to avoid lockups.
|
||||||
|
default = no
|
||||||
|
HAVE_SSE=1 (see HAVE_MMX)
|
||||||
|
default = no
|
||||||
|
HAVE_3DNOW=1 (see HAVE_MMX)
|
||||||
|
default = no
|
||||||
|
|
||||||
|
Targets:
|
||||||
|
all: build everything
|
||||||
|
libgl: build GL
|
||||||
|
libglu: build GLU
|
||||||
|
libglut: build GLUT
|
||||||
|
clean: remove object files
|
||||||
|
realclean: remove all generated files
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Tested on:
|
||||||
|
CPU: AMD Athlon XP 1800+
|
||||||
|
Mainboard: EP-8KTA3 w/ 128 MB SDRAM
|
||||||
|
Video card: Voodoo5 5500 AGP w/ 64 MB SDRAM
|
||||||
|
DJGPP: djdev 2.04 + gcc v3.2.2 + make v3.80
|
||||||
|
OS: DOS and Win98SE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FAQ:
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
1. Compilation
|
||||||
|
|
||||||
|
Q) `make' barfs and exits because it cannot find some stupid file.
|
||||||
|
A) You need LFN support.
|
||||||
|
A) When compiling for Glide (FX=1), pay attention to Glide path.
|
||||||
|
|
||||||
|
Q) Libraries built OK, but linker complains about `vsnprintf' every time I
|
||||||
|
compile some demo.
|
||||||
|
A) Upgrade to DJGPP 2.04.
|
||||||
|
A) Add `vsnprintf.c' to the CORE_SOURCES in `src/Makefile.DJ' (untested!).
|
||||||
|
A) Patch `src/mesa/main/imports.c' with the following line:
|
||||||
|
#define vsnprintf(buf, max, fmt, arg) vsprintf(buf, fmt, arg)
|
||||||
|
This hack should be safe in 90% of the cases, but if anything goes wrong,
|
||||||
|
don't come back to me crying.
|
||||||
|
|
||||||
|
Q) `make' complains about DXE3 or something, yet it builds the libraries.
|
||||||
|
A) DXE3 refers to the DJGPP dynamic modules. You'll need either the latest
|
||||||
|
DJGPP distro, or download the separate package from my web page. Read the
|
||||||
|
DXE3 documentation on how to use them.
|
||||||
|
A) When compiling for Glide (FX=1), make sure `glide3x.dxe' can be found in
|
||||||
|
LD_LIBRARY_PATH (or top `lib' directory).
|
||||||
|
|
||||||
|
2. Using Mesa for DJGPP
|
||||||
|
|
||||||
|
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
|
||||||
|
A) Is that a question? If you have a 3dfx Voodoo Banshee or higher card,
|
||||||
|
you're lucky (check http://sourceforge.net/projects/glide for the DJGPP
|
||||||
|
port). If you have a Matrox Millennium I card, you just MIGHT be lucky...
|
||||||
|
If you haven't, sorry; everything is done in software. Suggestions?
|
||||||
|
|
||||||
|
Q) I tried to set refresh rate w/ DMesa, but without success.
|
||||||
|
A) Refresh rate control works only for VESA 3.0. If you were compiling for
|
||||||
|
Glide, see Glide info. If not, sorry!
|
||||||
|
|
||||||
|
Q) I made a simple application and it does nothing. It exits right away. Not
|
||||||
|
even a blank screen.
|
||||||
|
A) The pure software drivers (VESA/VGA) support only double-buffered modes.
|
||||||
|
A) Another weird "feature" is that buffer width must be multiple of 8 (I'm a
|
||||||
|
lazy programmer and I found that the easiest way to keep buffer handling
|
||||||
|
at peak performance ;-).
|
||||||
|
|
||||||
|
Q) The GLUT is incomplete.
|
||||||
|
A) See below.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
libGLUT (the toolkit):
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Well, this "skeletal" GLUT implementation was taken from AllegGL project and
|
||||||
|
heavily changed. Thanks should go to Bernhard Tschirren, Mark Kilgard, Brian
|
||||||
|
Paul and probably others (or probably not ;-). GLUT functionality will be
|
||||||
|
extended only on an "as needed" basis.
|
||||||
|
|
||||||
|
GLUT talks to hardware via PC_HW package which was put together from various
|
||||||
|
pieces I wrote long time ago. It consists from the keyboard, mouse and timer
|
||||||
|
drivers.
|
||||||
|
|
||||||
|
My keyboard driver used only scancodes; as GLUT requires ASCII values for keys,
|
||||||
|
I borrowed the translation tables (and maybe more) from Allegro -- many thanks
|
||||||
|
to Shawn Hargreaves et co. Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users)
|
||||||
|
will shut down the GLUT engine unconditionally: it will raise SIGINT, which in
|
||||||
|
turn will (hopefully) call the destructors, thus cleaning up your/my mess ;-)
|
||||||
|
NB: since the DJGPP guys ensured signal handlers won't go beyond program's
|
||||||
|
space (and since dynamic modules shall) the SIGINT can't be hooked (well, it
|
||||||
|
can, but it is useless), therefore you must live with the 'Exiting due to
|
||||||
|
signal SIGINT' message...
|
||||||
|
|
||||||
|
The mouse driver is far from complete (lack of drawing, etc), but is enough to
|
||||||
|
make almost all the demos work. Supports the CuteMouse WheelAPI.
|
||||||
|
|
||||||
|
The timer is pretty versatile for it supports multiple timers with different
|
||||||
|
frequencies. While not being the most accurate timer in the known universe, I
|
||||||
|
think it's OK. Take this example: you have timer A with a very high rate, and
|
||||||
|
then you have timer B with very low rate compared to A; now, A ticks OK, but
|
||||||
|
timer B will probably loose precision!
|
||||||
|
|
||||||
|
As an addition, stdout and stderr are redirected and dumped upon exit. This
|
||||||
|
means that `printf' can be safely called during graphics. A bit of a hack, I
|
||||||
|
know, because all messages come in bulk, but I think it's better than nothing.
|
||||||
|
"Borrowed" from LIBRHUTI (Robert Hoehne).
|
||||||
|
|
||||||
|
Window creating defaults: (0, 0, 300, 300), 16bpp. However, the video mode is
|
||||||
|
chosen in such a way that first window will fit. If you need high resolution
|
||||||
|
with small windows, set initial position far to the right (or way down); then
|
||||||
|
you can move them back to any position right before the main loop.
|
||||||
|
|
||||||
|
The following environment variables can customize GLUT behaviour:
|
||||||
|
GLUT_FPS - print frames/second statistics to stderr
|
||||||
|
DMESA_GLUT_REFRESH - set vertical screen refresh rate (VESA3)
|
||||||
|
DMESA_GLUT_BPP - set default bits per pixel (VGA needs 8)
|
||||||
|
DMESA_GLUT_ALPHA - set default alpha bits (8)
|
||||||
|
DMESA_GLUT_DEPTH - set default depth bits (16)
|
||||||
|
DMESA_GLUT_STENCIL - set default stencil bits (8)
|
||||||
|
DMESA_GLUT_ACCUM - set default accum bits (16)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
History:
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
v1.0 (mar-2002)
|
||||||
|
initial release
|
||||||
|
|
||||||
|
v1.1 (sep-2002)
|
||||||
|
+ added 3dfx Glide3 support
|
||||||
|
+ added refresh rate control
|
||||||
|
+ added fonts in GLUT
|
||||||
|
* lots of minor changes
|
||||||
|
|
||||||
|
v1.2 (nov-2002)
|
||||||
|
* synced w/ Mesa-4.1
|
||||||
|
- removed dmesadxe.h
|
||||||
|
|
||||||
|
v1.3 (mar-2003)
|
||||||
|
+ enabled OpenGL 1.4 support
|
||||||
|
+ added MMX clear/blit routines
|
||||||
|
+ enabled SGI's GLU compilation
|
||||||
|
+ added samples makefile
|
||||||
|
+ added new GLUT functions
|
||||||
|
+ added color-index modes
|
||||||
|
+ added Matrox Millennium MGA2064W driver
|
||||||
|
+ added 8bit FakeColor (thanks to Neil Funk)
|
||||||
|
+ added VGA support (to keep Ben Decker happy)
|
||||||
|
! fixed some compilation errors (reported by Chan Kar Heng)
|
||||||
|
* optimized driver for faster callback access... yeah, right :)
|
||||||
|
* overhauled virtual buffer and internal video drivers
|
||||||
|
* better fxMesa integration
|
||||||
|
* revamped GLUT
|
||||||
|
* switched to DXE3
|
||||||
|
|
||||||
|
v1.4 (nov-2003)
|
||||||
|
+ enabled GLUT fonts with DXE
|
||||||
|
+ truly added multi-window support in GLUT (for Adrian Woodward)
|
||||||
|
* accomodated makefiles with the new sourcetree
|
||||||
|
* fixed some ALPHA issues
|
||||||
|
* minor changes to PC_HW/timer interface
|
||||||
|
x hacked and slashed the 3dfx driver (w/ help from Hiroshi Morii)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Contact:
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
Name: Borca Daniel
|
||||||
|
E-mail: dborca@users.sourceforge.net
|
||||||
|
WWW: http://www.geocities.com/dborca/
|
||||||
@@ -1,623 +1,91 @@
|
|||||||
|
File: docs/README.WIN32
|
||||||
Mesa/Readme.win32
|
|
||||||
|
Last updated: Sep 18, 2003 - Karl Schultz - kschultz@users.sourceforge.net
|
||||||
Last Updated: Sunday, September 19th, 1999 - tjump@tertius.com
|
|
||||||
|
Quick Start
|
||||||
*** What's New
|
|
||||||
|
Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
|
||||||
- Updated for Mesa 3.1beta3/CVS. Debug and Release command-line builds of
|
The libs and demos build separately, so if you do not care about the
|
||||||
Mesa, fxMesa, GLU, GLUT and all sample programs DLL-based. Manual
|
demos, you do not have to unzip that zip file. But if you do, it does
|
||||||
executions tests with minimum requisite results (aka: things looked like
|
need to be unzipped into the same directory as the lib zip file because
|
||||||
I expected them to).
|
the demos depend on the libs.
|
||||||
|
|
||||||
What did you expect, complete regression testing maybe?
|
The build system has been changed to use Microsoft Visual Studio project
|
||||||
|
workspaces and projects. Makefiles are no longer shipped or supported, but
|
||||||
- NASM build support. Any file in the project coded as a .S file will
|
can be generated from the projects using Visual Studio.
|
||||||
automatically be recognized and built as a NASM-source assember file.
|
|
||||||
|
Details and Notes
|
||||||
To enable building using NASM, set the environment variable NASM to
|
|
||||||
indicate that command to execute to run nasm on a file. If NASM is in
|
- To build the Mesa libraries, open the Mesa.dsw workspace file
|
||||||
your command search path then all this needs be set to is 'nasmw' -
|
in the top directory. You can build each project one-by-one,
|
||||||
otherwise you will need to include the complete drive and directory path.
|
or build the glut project to build everything except osmesa,
|
||||||
|
which needs to be built separately. The build process will
|
||||||
NASM may be retrieved here: http://www.web-sites.co.uk/nasm/
|
create a lib directory in the top directory and will put the
|
||||||
|
following files there:
|
||||||
- DevStudio projects suspended for compatability reasons: projects modified
|
OPENGL32.LIB, GLU32.LIB, GLUT32.LIB, OSMESA32.LIB
|
||||||
by DevStudio 6 are not compatible with DevStudio 5.
|
OPENGL32.DLL, GLU32.DLL, GLUT32.DLL, OSMESA32.DLL
|
||||||
|
|
||||||
These will slowly be rebuilt and put into CVS as I can.
|
- After building, you can copy the above DLL files to a place in your PATH
|
||||||
|
such as $SystemRoot/SYSTEM32. If you don't like putting things in a
|
||||||
- Build environment change: The Glide SDK is no longer assumed to be in
|
system directory, place them in the same directory as the executable(s).
|
||||||
the global INCLUDE/LIB environment vars, it is required that you set the
|
Be careful about accidentially overwriting files of the same name in
|
||||||
value 'GLIDE2X' as either an environment variable pointing to your Glide
|
the SYSTEM32 directory.
|
||||||
SDK install directory or that you configure that as a build option to
|
|
||||||
nmake.exe when building fxmesagl32. Examples:
|
- Build the demos by opening the appropriate *.dsw file in the
|
||||||
|
progs directory tree. For example, to build the demos, use
|
||||||
nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x fxmesagl32
|
progs/demos/Windows/demos.dsw. The Windows directory contains
|
||||||
|
the workspace and all the projects for each demo program. Each
|
||||||
<or>
|
project places the executable in the same directory as its source
|
||||||
|
code, which is required for some demos.
|
||||||
nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x allfx
|
|
||||||
|
- The demo projects also copy the Mesa library DLL files from the lib
|
||||||
<or>
|
directory into the same directory as the demo executables, so that
|
||||||
|
the demos use the Mesa libs you just built.
|
||||||
nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x progs.3dfx.demos
|
|
||||||
|
- The DLL files are built so that the external entry points use the
|
||||||
The DevStudio workspace files for 3Dfx OpenGL require the definition of
|
stdcall calling convention.
|
||||||
GLIDE2SDK as an environment variable pointing to where your copy of the
|
|
||||||
Glide SDK has been installed. Adding this to your AUTOEXEC.BAT would do
|
- Static LIB files are not built. The LIB files that are built with
|
||||||
so (change the directories to match):
|
are the linker import files associated with the DLL files.
|
||||||
|
|
||||||
SET GLIDE2SDK=G:\SDK\GLIDE2X
|
- The si-glu sources are used to build the GLU libs. This was done
|
||||||
|
mainly to get the better tessellator code.
|
||||||
*** Legalese
|
|
||||||
|
- The osmesa driver builds and should work on Windows as well as
|
||||||
These build files are provided as-is and are submitted to be included with
|
any other platform.
|
||||||
the "Mesa 3-D Graphics Library" package as (currently) maintained by Brian
|
|
||||||
Paul. These project build files are free software; you can redistribute it
|
- The Windows driver (in src/Windows) builds and runs at least at
|
||||||
and/or modify it under the terms of the GNU Library General Public License
|
a minimal level. I modified this driver to work with the new
|
||||||
as published by the Free Software Foundation; either version 2 of the
|
Mesa 4.0 code and driver architecture, but I did not do a great
|
||||||
License, or (at your option) any later version.
|
deal of optimization and testing. There are many opportunities
|
||||||
|
for optimization, many of which can be done by coding more specific
|
||||||
These project files are distributed in the hope that they will be useful,
|
paths for the rasterizers. See src/osmesa/osmesa.c for some good
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
examples.
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
|
||||||
General Public License for more details.
|
- There is DirectDraw support in the Windows driver, updated by
|
||||||
|
Daniel Slater. You'll need to uncomment the #define DDRAW line
|
||||||
You should have received a copy of the GNU Library General Public License
|
in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries.
|
||||||
along with this library; if not, write to the Free Software Foundation,
|
On some systems, you will acheive significantly higher framerates
|
||||||
Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
with DirectDraw.
|
||||||
|
|
||||||
*** Maintenance Responsiblity and Technical Support
|
- Some of the more specialized code like FX drivers, stereo, and
|
||||||
|
parallel support isn't compiled or tested. I left much of this
|
||||||
While these files are now part of the Mesa core distribution please do NOT
|
code alone, but it may need some work to get it 'turned on' again.
|
||||||
contact Mr. Paul for help with them if you encounter problems as he can't
|
|
||||||
help you (currently). I will, however, attempt my straightforward best in
|
- No assembly code is compiled or assembled. Again, this may need
|
||||||
assisting anyone with using these files on their system. I can NOT
|
some work to turn it back on or use it again.
|
||||||
guarantee instant responses owing to other responsiblities, but I do try
|
|
||||||
dang hard to answer any mail w/in 24 hours. I may be contacted at the
|
- To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
|
||||||
above email address for the forseeable future.
|
to the project settings. You will also need to edit src/mesa.def to change
|
||||||
|
all the gl* symbols to mgl*. Because this is easy to do with a global
|
||||||
-Ted
|
replace operation in a text editor, no additional mangled version of mesa.def
|
||||||
mailto://tjump@tertius.com
|
is maintained or shipped.
|
||||||
http://www.tertius.com/tjump
|
|
||||||
|
If you have a Windows-related build problem or question, it is
|
||||||
*** General Information
|
probably better to direct it to me (kschultz@users.sourceforge.net),
|
||||||
|
rather than directly to the other Mesa developers. I will help you
|
||||||
These build files facilitate convenient building of many variants of Mesa,
|
as much as I can. I also monitor the Mesa mailing lists and will
|
||||||
both as static link libraries (including mesaglu) and as dynamic link
|
answer questions in this area there as well.
|
||||||
libraries that in some cases may be used as "drop-in" replacements for
|
|
||||||
OpenGL32.DLL on both Windows95 and Windows NT.
|
|
||||||
|
Karl Schultz
|
||||||
The construction of the Win32 command-line build files and projects has
|
|
||||||
been something of a pet project of mine, and is based upon my own
|
|
||||||
"standard" Win32 build environment as supplied by the "nmake.mif" file.
|
|
||||||
They have been tested under Windows95 OSR2, Windows NT 4.0SP3, and Windows
|
|
||||||
NT 5.0 beta 1. The libraries that they generated have been tested (via the
|
|
||||||
demo programs) in a *limited* fashion on the above three systems, including
|
|
||||||
the 3Dfx versions.
|
|
||||||
|
|
||||||
The reason I went with command-line build environment instead of the more
|
|
||||||
convenient IDE-based project files is for two reasons: 1. These appear to
|
|
||||||
have some amount of portability between versions (the nmake syntax hasn't
|
|
||||||
changed much since Microsoft C 7.0) while the IDE project files seem to
|
|
||||||
change drastically each version. and 2. These are readable with any ascii
|
|
||||||
editor and such are better self-documentation of the file relationships for
|
|
||||||
more people such that it will facilitate supporting other Win32 compilers.
|
|
||||||
|
|
||||||
While these files only deal with building for x86 targeted code it *should*
|
|
||||||
be possible to add the necessary logic to them to build for the other MSVC
|
|
||||||
supported CPU targets, I simply have no hardware to test them on nor the
|
|
||||||
alternative compilers to build with.
|
|
||||||
|
|
||||||
*** Prerequisites for use
|
|
||||||
|
|
||||||
1. You must have a 32-bit Microsoft compiler installed. I have tested
|
|
||||||
this with Visual C 5.0 (SP3) and Visual C 4.2, but with minor
|
|
||||||
(possibly no) modification to the nmake.mak and nmake.mif files this
|
|
||||||
sequence should work on Visual C 2.0 also. The workspace files
|
|
||||||
(mesalib.dsw and mesademos-*.dsw) and their included project files
|
|
||||||
(*.dsp) are specific to the DevStudio IDE - I have made no attempt at
|
|
||||||
building a VC4 IDE project set as I do not use that any more. Note
|
|
||||||
that the VC workspace files NO LONGER use NORE are dependant upon the
|
|
||||||
nmake.mak and nmake.mif files for construction of definition (*.DEF)
|
|
||||||
and resource (*.RC) files.
|
|
||||||
|
|
||||||
*** Visual C 4.x Users Warning ****
|
|
||||||
|
|
||||||
Note that early editions of VC4 do NOT have header files current enough
|
|
||||||
for use building this code base. If you are using VC4 you will either need
|
|
||||||
to get an update to version 4.2 *or* you may download the Platform SDK
|
|
||||||
directly from Microsoft's web site (www.microsoft.com) and update your
|
|
||||||
build environment that way.
|
|
||||||
|
|
||||||
*** Visual C 4.x Users Warning ****
|
|
||||||
|
|
||||||
2. You must have the PATH, INCLUDE, and LIB environment variables set
|
|
||||||
properly. With VC5 you can easily get this by executing the VCVARS32.BAT
|
|
||||||
file that was created for you upon installation. It is found in the
|
|
||||||
DevStudio\VC\BIN directory, wherever you installed DevStudio. VC4 provides
|
|
||||||
a similar batch file in it's BIN directory also.
|
|
||||||
|
|
||||||
3. (optional) If you're going to build for 3Dfx/Voodoo you will need to
|
|
||||||
have previously installed the Glide SDK version 2.3 or later, if I
|
|
||||||
recall. This may be retrieved from www.3dfx.com for no money and some
|
|
||||||
download time. ;-) These build files assume that you have the Glide SDK
|
|
||||||
added to the respective environment variables (LIB and INCLUDE).
|
|
||||||
|
|
||||||
4. (optional) If you're going to build for S3/Virge you will need the S3
|
|
||||||
Developers Toolkit which may be downloaded from www.s3.com for the price of
|
|
||||||
registering on-line and some time. NOTE: I can build the s3mesa.dll file to
|
|
||||||
completion, however the compilation of s3mesa.c currently generates a large
|
|
||||||
amount of compiler warnings and between that and the fact that I can not at
|
|
||||||
all test it I can make no claims to it's ability to execute. Again, like
|
|
||||||
the 3Dfx version before this, these build files assume you have the S3Dtk H
|
|
||||||
and LIB files in the path of their respective environment variables.
|
|
||||||
Note 2: As of Mesa3.0beta6 I have build files, both command-line and IDE,
|
|
||||||
which should be able to build the s3mesa code base if it weren't for updates
|
|
||||||
being required in the S3 DD code support (Mesa-3.0/src/s3 directory).
|
|
||||||
|
|
||||||
I advise putting any include and lib files for secondary toolkits (Glide,
|
|
||||||
S3Tk, whatever) in their respective environment variables *before* the
|
|
||||||
Microsoft-assigned default values.
|
|
||||||
|
|
||||||
*** FAQ: Frequenty Asked Questions and Other Important Information ***
|
|
||||||
|
|
||||||
- When running the 3Dfx demos under Windows NT, they crash on exit, what's
|
|
||||||
up?
|
|
||||||
|
|
||||||
This is apparently a problem in Glide itself. The workaround is to go to
|
|
||||||
your C:\WINNT\SYSTEM32 directory and rename the file FXOEM2X.DLL to
|
|
||||||
FXOEM2X.DL_ to prevent Glide from loading and initializing it upon
|
|
||||||
startup. This is known to be an issue with cards that do not have "TV
|
|
||||||
out" and is known to cause crashes on Diamond Monster II 8M and 3Dfx
|
|
||||||
Reference boards, all using 3Dfx Reference Drivers version 2.53. Other
|
|
||||||
hardware/driver combinations will also likely exhibit this behavior.
|
|
||||||
|
|
||||||
- I'm having a problem building Mesa for static library linking.
|
|
||||||
|
|
||||||
This was caused by some incomplete testing on my part, and a fix is now
|
|
||||||
available in the form of an add-on to the base Mesa 3.0 release. The
|
|
||||||
file to get is:
|
|
||||||
|
|
||||||
via FTP download from: iris.ssec.wisc.edu
|
|
||||||
you want to go here: /pub/Mesa/patches_to_3.0/
|
|
||||||
you want to get file: Mesa-3.0-w32-static-fixes.tar.gz
|
|
||||||
|
|
||||||
This required a minor addition to INCLUDE/GL for a clean solution, the
|
|
||||||
file "include/gl/mesa_wgl.h" is automatically included by
|
|
||||||
"include/gl/gl.h" when a Win32 non-DLL build is in progress to provide
|
|
||||||
prototypes for the various wgl functions.
|
|
||||||
|
|
||||||
The only remaining hitch in this setup is that the 3Dfx build is not yet
|
|
||||||
running as a static build, because of problems with conflicts in
|
|
||||||
existance of the various GDI functions like ChoosePixelFormat,
|
|
||||||
etc. *sigh*
|
|
||||||
|
|
||||||
Anyway, the "allstatic" target now works as expected and builds all
|
|
||||||
book/sample/demos programs to boot. ;^)
|
|
||||||
|
|
||||||
- How do I get fxMesa to render in a window on the desktop instead of only
|
|
||||||
full-screen?
|
|
||||||
|
|
||||||
Use the Microsoft Windows fxMesa-in-a-window hack!
|
|
||||||
|
|
||||||
Seriously, if you want fxMesaGL to render using the 3Dfx Voodoo1 or
|
|
||||||
Voodoo2 hardware into a window on the desktop then all you need to do is
|
|
||||||
set the MESA_WGL_FX environment variable to anything other than
|
|
||||||
"fullscreen" and it will render into a window. If you wish to go
|
|
||||||
fullscreen then you only need to NOT have the environment variable, or
|
|
||||||
have it set to "fullscreen". You may also switch at runtime between
|
|
||||||
fullscreen-mode and windowed by pressing ALT-ENTER on the keyboard
|
|
||||||
(unless the application using Mesa does something with those keystrokes,
|
|
||||||
of course).
|
|
||||||
|
|
||||||
As of 8/13/98 this should be running a LOT better for more people as a
|
|
||||||
low-compatability item was cleaned up which prevented it from working on
|
|
||||||
many (most?) display drivers under Windows 9x.
|
|
||||||
|
|
||||||
- I have my 3Dfx card hooked to it's own monitor and I want the output to
|
|
||||||
stay on even if I switch to another program, is this possible?
|
|
||||||
|
|
||||||
If the Glide environment variable SST_DUALHEAD is set to '1' then fxMesa
|
|
||||||
will never disable the Voodoo output on a Voodoo1 or Voodoo2 display
|
|
||||||
regardless of whether the fxMesa application is "current" or not. This
|
|
||||||
works regardless of whether it's rendering using the window hack
|
|
||||||
mentioned above or not.
|
|
||||||
|
|
||||||
- I want to run the Mesa demos on my Intel740 card using it's own OpenGL
|
|
||||||
acceleration, how do I do this?
|
|
||||||
|
|
||||||
Build GLUT standalone for use with system OpenGL and GLU drivers!
|
|
||||||
|
|
||||||
The Command-line project supports building all test/demo programs against
|
|
||||||
these drivers also! This allows you full use of GLUT on Windows using
|
|
||||||
hardware accelerated OpenGL. Wheee! This includes the "3dfx/demos"
|
|
||||||
directory of which only two programs will not run on "standard"
|
|
||||||
opengl. Note that there are a few of the sample programs which will NOT
|
|
||||||
work without Mesa as they directly call into Mesa instead of using the
|
|
||||||
extension mechanism.
|
|
||||||
|
|
||||||
*** Included programs that exhibit unfortunate or bad behavior
|
|
||||||
|
|
||||||
- demos/bounce - doesn't run on high-colors screens? It's requesting an
|
|
||||||
INDEX display from GLUT and that fails on my true-color desktop. Changing
|
|
||||||
this to _RGB let's the program work, but it doesn't display
|
|
||||||
properly. This is probably just an idiosyncracy of my machine though, as
|
|
||||||
if I test the program using GLUT for System OpenGL on my Intel740 OpenGL
|
|
||||||
accelerated machine it's just hunky-dory.
|
|
||||||
|
|
||||||
- demos/glutfx - runs, but crashes on exit (but not on my Intel740 machine)
|
|
||||||
|
|
||||||
- demos/texobj - runs, but crashes on exit if ESC is pressed. Exits cleanly
|
|
||||||
if the Close box on the window frame is pressed with the mouse. Go figure.
|
|
||||||
|
|
||||||
- book/aaindex - doesn't run, can't get pixel format, because it wants an
|
|
||||||
INDEX display maybe (but is okay on my Intel740 machine)?
|
|
||||||
|
|
||||||
- most of the book/* demos don't respond to ESC being pressed.
|
|
||||||
|
|
||||||
- 3dfx/demos/* - all demos run, however they all crash on exit. I've traced
|
|
||||||
this so far as to determine the call it's happening with. The crash comes
|
|
||||||
from within Glide during the processing of the grGlideShutdown() call, as
|
|
||||||
in invalid memory reference exception. I'm wondering if this is because
|
|
||||||
of some state or processing not being completed before the call. Dunno,
|
|
||||||
but putting grSstIdle() in just before grGlideShutdown() does NOT fix the
|
|
||||||
problem.
|
|
||||||
|
|
||||||
- 3dfx/demos/tunnel2 - does not run on my system even with SLI mode
|
|
||||||
disabled. Hmmmm, maybe I need to disconnect my Voodoo2 cards?
|
|
||||||
|
|
||||||
*** Important Notes and Changing Default values
|
|
||||||
|
|
||||||
- The optimizer settings have been manually reworked in both command line
|
|
||||||
and DevStudio IDE files to hopefully prevent possible irrational code on
|
|
||||||
the part of the code generator. Formerly, it was configured for "/Ox",
|
|
||||||
now it is configured for safer handling at a slight potential performance
|
|
||||||
cost. This may not be required for Visual Studio 6 but I can't test that
|
|
||||||
(yet).
|
|
||||||
|
|
||||||
- These files build with the code targeted for Pentium processors and
|
|
||||||
8-byte structure padding.
|
|
||||||
|
|
||||||
- The IDE-built programs seem to be "happier" in that the command line
|
|
||||||
build of the 3Dfx demo "fire" will grenade on exit (?). Otherwise pretty
|
|
||||||
much everything may be built with either interface.
|
|
||||||
|
|
||||||
- The currently configured Mesa version is 3.1, and MesaDemos version is
|
|
||||||
the same. To change this permanently you will need to edit NMAKE.MAK and
|
|
||||||
change the lines that look like this (they start o/a line 116):
|
|
||||||
|
|
||||||
# Currently, Mesa is at rev 3.1 ...
|
|
||||||
#
|
|
||||||
!IF "$(MESAVER)" == ""
|
|
||||||
MESAVER=3.1
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# used in building all of the resource files for the Mesa DLLs
|
|
||||||
#
|
|
||||||
!IF "$(MESAFILEVER)" == ""
|
|
||||||
MESAFILEVER=3,1,0,0
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
- Currently the build files are configured to be used from a Win32
|
|
||||||
directory that is included inside the main Mesa-3.1 heirarchy.
|
|
||||||
|
|
||||||
- The build files are smart enough to find the files for the core lib, glu,
|
|
||||||
glut, and the various demo programs if they are unpacked in the current
|
|
||||||
Mesa-3.1 heirarchy, like this:
|
|
||||||
|
|
||||||
\Mesa-3.1
|
|
||||||
\Mesa-3.1\src
|
|
||||||
\Mesa-3.1\src-glu
|
|
||||||
\Mesa-3.1\src-glut
|
|
||||||
\Mesa-3.1\Win32
|
|
||||||
\Mesa-3.1\samples
|
|
||||||
\Mesa-3.1\demos
|
|
||||||
\Mesa-3.1\book
|
|
||||||
\Mesa-3.1\3Dfx\demos
|
|
||||||
|
|
||||||
... should work. This arose because my initial build tests for the
|
|
||||||
demo files were done before MesaDemos 2.6 had been released.
|
|
||||||
|
|
||||||
- With the exception of the static link libraries generated by this file
|
|
||||||
set (mesagl.lib, mesaglu.lib, mesaglut.lib) all DLLs and executables are
|
|
||||||
built against the "Multithreaded DLL" runtime - this means that they
|
|
||||||
require MSVCRT.DLL or MSVCRTD.DLL in the path to execute.
|
|
||||||
|
|
||||||
** CHANGED 8/11/98 ***
|
|
||||||
|
|
||||||
Note also that the demos are all built aginst the "OpenGL32, GLU32, and
|
|
||||||
GLUT32" and as such they are fairly agnostic wrt: building against Mesa
|
|
||||||
for CPU-rendering, Mesa-for-3Dfx, Mesa-for-S3, or System OpenGL.
|
|
||||||
|
|
||||||
If you want to build them for use on your system and your display card
|
|
||||||
provides full OpenGL acceleration (Permedia, Intel740, Intergraph,
|
|
||||||
whatever) then you only need to build GLUT prior to building any of the
|
|
||||||
demo programs. For convenience, the GLUT project is included in each of
|
|
||||||
the demo projects Workspace files for the DevStudio IDE builds BUT it is
|
|
||||||
not automatically built - you still need to build it first manually.
|
|
||||||
|
|
||||||
Note that if you have GLUT already installed on your system (gl/glut.h in
|
|
||||||
yoru INCLUDE path, glut32.lib/glut32d.lib in your LIB path, and the DLL
|
|
||||||
in your PATH) then you do NOT need to build GLUT prior to the test
|
|
||||||
programs.
|
|
||||||
|
|
||||||
- The 3Dfx build of Mesa has primarily been tested with Quake 2 and it runs
|
|
||||||
(mostly) fine on my PC (take that for what you want it)...
|
|
||||||
|
|
||||||
** CHANGED 8/11/98 ***
|
|
||||||
|
|
||||||
There is still something going on that causes Glide to crash on shutdown,
|
|
||||||
when I run fxMesa under Windows NT, however it does not appear to occur
|
|
||||||
under Windows 9x on either Voodoo1 or Voodoo2 cards. *sigh*
|
|
||||||
|
|
||||||
- I can not test the S3 build as I have no machines available with Virge
|
|
||||||
based display cards.
|
|
||||||
|
|
||||||
- The multithreaded test code is *not* built as it requires pthreads and I
|
|
||||||
have as of yet spent not time trying to get that running. The latest word
|
|
||||||
that I saw WRT threading support on win32 was that they are intending to
|
|
||||||
support it natively within Win32 - so I'm waiting it out until they get
|
|
||||||
it done.
|
|
||||||
|
|
||||||
- Similarly, the 'xdemos' are not currently built because I haven't gotten
|
|
||||||
around to building the client libs for native win32 and getting it all
|
|
||||||
setup for use.
|
|
||||||
|
|
||||||
*** Output Files
|
|
||||||
|
|
||||||
All final output files (DLL/LIB) are placed in the Mesa-3.1/lib directory,
|
|
||||||
with the exception of the fxMesaGL32 build which is placed in
|
|
||||||
Mesa-3./lib/FX and the executable images which are placed in their source
|
|
||||||
directories.
|
|
||||||
|
|
||||||
To be able to execute the various test programs, you will need to copy the
|
|
||||||
requisite DLL files into the same directory as the EXE files. Note that
|
|
||||||
most of the 3Dfx/demos/* programs WILL run with the non-FX build of Mesa -
|
|
||||||
just very slowly. The two programs which are hard-linked with the FX build
|
|
||||||
and will not run without it are "glbpaltx" which uses "gl3DfxSetPaletteEXT"
|
|
||||||
directly instead of via the extensions mechanism and "tunnel2" which uses
|
|
||||||
"fxMesaSelectCurrentBoard" API for selecting between multiple 3Dfx cards
|
|
||||||
installed in one system. Likewise, "paltex" directly uses the
|
|
||||||
"glColorTableEXT" extension and thus may not run on anything except
|
|
||||||
Mesa. If these applications used the proper extension mechanism they could
|
|
||||||
then be used on more than "just" fxMesa to good effect (for example, the
|
|
||||||
rest of the "3Dfx/demos" run just peachy on the Intel740 card in my test
|
|
||||||
machine) under WinNT.
|
|
||||||
|
|
||||||
Because I'm anal about my computer and it's organization, and I like to
|
|
||||||
prevent collision between builds, each of the subprojects has their own
|
|
||||||
intermediate file directory inside .\win32\release (for example, when
|
|
||||||
building mesagl.lib all of it's intermediate files will be found in
|
|
||||||
.\win32\release\lib.mesagl). This makes it very easy to cleanup as you
|
|
||||||
only need to remove .\win32\release.
|
|
||||||
|
|
||||||
*** Okay, Enough, how do I build with this stuff already Ted!
|
|
||||||
|
|
||||||
Okay, no major calamity here. The basic way to use the project file is to
|
|
||||||
call it via NMAKE from the command line. The format is:
|
|
||||||
|
|
||||||
nmake[.exe] /f nmake.mak [options] [target]
|
|
||||||
|
|
||||||
The most likely [options] values you will use may be any combination of the
|
|
||||||
following:
|
|
||||||
|
|
||||||
DEBUG=1 or DEBUG=0
|
|
||||||
USE_CRTDLL=1 or USE_CRTDLL=0
|
|
||||||
|
|
||||||
Note that all three of these options are OFF by default.
|
|
||||||
|
|
||||||
The [target] includes but is not limited to the following (for full details
|
|
||||||
please peruse the NMAKE.MAK and NMAKE.MIF files - but be warned that
|
|
||||||
NMAKE.MIF is rather large and sometimes hard to follow):
|
|
||||||
|
|
||||||
--- convenience targets ---
|
|
||||||
|
|
||||||
all - builds everything
|
|
||||||
libfiles - builds all linking library files
|
|
||||||
progs - builds all executable images
|
|
||||||
|
|
||||||
--- library files, static and dynamic ---
|
|
||||||
|
|
||||||
mesagl - static lib build of Mesa core.
|
|
||||||
mesaglu - static lib build of MesaGLU core.
|
|
||||||
mesaglut - static lib build of Mesa GLUT core.
|
|
||||||
|
|
||||||
mesagl32 - dynamic lib build of Mesa core.
|
|
||||||
|
|
||||||
mesaglu32 - dynamic lib build of GLU core, generates
|
|
||||||
GLU32.DLL and/or GLU32d.DLL.
|
|
||||||
|
|
||||||
mesaglut32 - dynamic lib build of GLUT core, generates
|
|
||||||
GLUT32.DLL and/or GLUT32d.dll.
|
|
||||||
|
|
||||||
--- hardware accelerated mesa builds ---
|
|
||||||
|
|
||||||
fxmesagl32 - builds Mesa for use on top of the 3Dfx
|
|
||||||
Glide runtime libs
|
|
||||||
|
|
||||||
s3mesagl32 - builds mesa for use on top of the S3
|
|
||||||
'S3Tk' runtime libs.
|
|
||||||
|
|
||||||
--- executable images ---
|
|
||||||
|
|
||||||
progs.book - builds all programs in \book directory
|
|
||||||
progs.demos - builds all programs in \demos directory
|
|
||||||
progs.samples - builds all programs in \samples directory
|
|
||||||
|
|
||||||
These targets generate all of the programs in their respective
|
|
||||||
directories and link the executables against OpenGL32.DLL,
|
|
||||||
GLU32.DLL, and GLUT32.DLL (or their debug equivalents).
|
|
||||||
|
|
||||||
progs.3dfx.demos - builds all programs in \3dfx\demos directory
|
|
||||||
|
|
||||||
This target generates the 3Dfx/Demo executables, linking them
|
|
||||||
against GLUT32.DLL, GLU32.DLL, OPENGL32.DLL and are thus NOT
|
|
||||||
hard-bound to using Mesa per-se as you can simply NOT build the
|
|
||||||
Mesa core and GLU libraries.
|
|
||||||
|
|
||||||
--- Microsoft/SGI OpenGL-based GLUT and Demo program builds ----
|
|
||||||
|
|
||||||
*** IMPORTANT SAFETY TIP: If you're going to build these variants of
|
|
||||||
GLUT then DO NOT build any other target libraries in this package
|
|
||||||
first, OR from the command line run the "nmake /f nmake.mak clean"
|
|
||||||
command first! This is because generation of the GLUT for SGI
|
|
||||||
OpenGL target libraries conflicts in naming with the static build
|
|
||||||
libraries of Mesa and it's supporting GLUT build.
|
|
||||||
|
|
||||||
Currently, you may build GLUT as either GLUT32.DLL or GLUT.DLL for
|
|
||||||
use running against either Microsoft or SGI OpenGL for Window,
|
|
||||||
respectively. This allows for the general use of GLUT 3.7 on Windows
|
|
||||||
systems with fully compliant OpenGL.
|
|
||||||
|
|
||||||
You can build the GLUT DLL files either with the command line by
|
|
||||||
issuing either of these commands:
|
|
||||||
|
|
||||||
nmake /f nmake.mak glut.sysgl
|
|
||||||
|
|
||||||
<or>
|
|
||||||
|
|
||||||
nmake /f nmake.mak glut.sgigl
|
|
||||||
|
|
||||||
OR by using the DevStudio MesaLib Worksapce build the GLUT_SGIGL or
|
|
||||||
GLUT_SYSGL projects within the DevStudio IDE.
|
|
||||||
|
|
||||||
Unfortunately, the only way to build the test programs against this
|
|
||||||
build of GLUT is via the command line, and I will NOT be making
|
|
||||||
duplicate demo program projects for the IDE as it's just not worth it,
|
|
||||||
sorry.
|
|
||||||
|
|
||||||
To build the test programs against either MS or SGI OpenGL, you do so
|
|
||||||
via either of these two commands:
|
|
||||||
|
|
||||||
nmake /f nmake.mak progs.sysgl
|
|
||||||
|
|
||||||
<or>
|
|
||||||
|
|
||||||
nmake /f nmake.mak progs.sgigl
|
|
||||||
|
|
||||||
To use the GLUT-for-system-OpenGL in your own programs, you need to do
|
|
||||||
three things by way of preparation, after building GLUT of course:
|
|
||||||
|
|
||||||
1. Copy include\gl\glut.h to somewhere in your %INCLUDE% path, one
|
|
||||||
likely candidate location would be in your
|
|
||||||
"DevStudio\VC\INCLUDE\GL" directory.
|
|
||||||
|
|
||||||
2. Copy the linking libraries to somewhere in your %LIB% path, one
|
|
||||||
likely candidate location would be in your "DevStudio\VC\LIB"
|
|
||||||
directory. The linking libraries you need to copy are as
|
|
||||||
follows:
|
|
||||||
|
|
||||||
.\Release\GLUT32.LIB
|
|
||||||
.\Release\GLUT.LIB
|
|
||||||
.\Debug\GLUT32.LIB
|
|
||||||
.\Debug\GLUT.LIB
|
|
||||||
|
|
||||||
3. Copy the runtime libraries to somewhere in your %PATH%, one
|
|
||||||
likely candidate location would be in WINDOWS\SYSTEM. the files
|
|
||||||
that you should copy are as follows:
|
|
||||||
|
|
||||||
.\Release\GLUT32.DLL
|
|
||||||
.\Release\GLUT32.PDB
|
|
||||||
.\Release\GLUT.DLL
|
|
||||||
.\Release\GLUT.PDB
|
|
||||||
.\Debug\GLUT32d.DLL
|
|
||||||
.\Debug\GLUT32d.PDB
|
|
||||||
.\Debug\GLUTd.DLL
|
|
||||||
.\Debug\GLUTd.PDB
|
|
||||||
|
|
||||||
Some examples are in order ...
|
|
||||||
|
|
||||||
... build all dynamic-link libs using MSVCRT.DLL for C runtime:
|
|
||||||
|
|
||||||
nmake /f nmake.mak USE_CRTDLL=1 alldynamic
|
|
||||||
|
|
||||||
... To build all library variants and all test and demonstration
|
|
||||||
programs with the default settings you do this:
|
|
||||||
|
|
||||||
nmake /f nmake.mak all
|
|
||||||
|
|
||||||
... to build all static link libs and nothing else you do this:
|
|
||||||
|
|
||||||
nmake /f nmake.mak allstatic
|
|
||||||
|
|
||||||
... to build all non-accelerated dynamic link libs you do this:
|
|
||||||
|
|
||||||
nmake /f nmake.mak alldynamic
|
|
||||||
|
|
||||||
... to build all 3Dfx targeted dynamic link libs you do this:
|
|
||||||
|
|
||||||
nmake /f nmake.mak allaccel
|
|
||||||
|
|
||||||
... to build all S3 Virge targetd dynamic link libs you do this:
|
|
||||||
|
|
||||||
nmake /f nmake.mak alls3
|
|
||||||
|
|
||||||
... to build all libraries, static and dynamic, in all versions
|
|
||||||
you do this:
|
|
||||||
|
|
||||||
nmake /f nmake.mak libfiles
|
|
||||||
|
|
||||||
... to subsequently build all demo and test programs you do this:
|
|
||||||
|
|
||||||
nmake /f nmake.mak progs
|
|
||||||
|
|
||||||
... to cleanup all intermediate files you do this:
|
|
||||||
|
|
||||||
nmake /f clean
|
|
||||||
|
|
||||||
You get the picture. (I hope) ;^) You may also specify specify
|
|
||||||
single targets in a convenient fashion. The rule is simple, any of the
|
|
||||||
above named lib files, static or dynamic, may be built by providing it's
|
|
||||||
name on the command line as the target. Examples:
|
|
||||||
|
|
||||||
... to build only Mesa as OpenGL32.DLL ...
|
|
||||||
|
|
||||||
nmake /f nmake.mak opengl32
|
|
||||||
|
|
||||||
... to build only Mesa on top of the 3Dfx Glide API ...
|
|
||||||
|
|
||||||
nmake /f nmake.mak fxMesaGL32
|
|
||||||
<or>
|
|
||||||
nmake /f nmake.mak fxMesaGL
|
|
||||||
|
|
||||||
... to build only Mesa on top of the S3 Toolkit ...
|
|
||||||
|
|
||||||
nmake /f nmake.mak s3MesaGL32
|
|
||||||
<or>
|
|
||||||
nmake /f nmake.mak s3mesaGL
|
|
||||||
|
|
||||||
*** Revision history for ./win32 project files
|
|
||||||
|
|
||||||
1/18/98 - initial cut submitted and included with core mesa
|
|
||||||
2/5/98 - fixed internal dependency within nmake.mif upon there being
|
|
||||||
a $(DEVDIR) variable to make some temporary batch files
|
|
||||||
dependant upon (thanks to Keven T. McDonnell for finding
|
|
||||||
that there was this particular bug). I also updated the
|
|
||||||
build files for 2.6beta6.
|
|
||||||
2/8/98 - added DevStudio workspace and project files for all lib
|
|
||||||
files and some test programs. Updated readme.win32.
|
|
||||||
6/25/98 - initial revision for Mesa 3.0, does not include IDE files,
|
|
||||||
not everything is running. *sigh*
|
|
||||||
7/20/98 - Mesa 3.0beta6 rev of all build files, all libs built and
|
|
||||||
minimally tested, all demo programs built and minimally
|
|
||||||
tested to within limits of my PC. ;^) Eveything looks
|
|
||||||
MUCH better now ...
|
|
||||||
7/30/98 - Minor updates/edits based upon feedback from
|
|
||||||
Eero Pajarre <epajarre@koti.tpo.fi>. These updates include a fix
|
|
||||||
to the Mesa-on-3Dfx build such that Quake-II now runs almost
|
|
||||||
properly on my system. It runs, just *very* slowly and with *no*
|
|
||||||
textures. Hmmm. Doesn't make any difference whether Quake is set
|
|
||||||
to use 8-bit textures or not.
|
|
||||||
8/13/98 - Lots of build cleanups, minor bug fixes in fxwgl.c, and
|
|
||||||
compatability fix in fxapi.c for in-window rendering using 3Dfx
|
|
||||||
hardware.
|
|
||||||
8/26/98 - Final revisions for Mesa 3 release checked
|
|
||||||
9/22/98 - Fixed static builds for all but fxMesaGL32 and s3MesaGL32 targets
|
|
||||||
9/29/98 - Reorganized FAQ information and added Added faq entry about Glide
|
|
||||||
bug under NT (crash on exit) and a workaround.
|
|
||||||
11/21/98 - Updated files for Mesa 3.1 beta 1
|
|
||||||
Updated fxMesa window-hack code
|
|
||||||
Updated fxMesa resolution support to handle 1600x1200 & 1280x1024
|
|
||||||
7/9/99 - Rev'd for Mesa 3.1 beta 2
|
|
||||||
|
|||||||
146
docs/README.WINDML
Normal file
146
docs/README.WINDML
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
|
||||||
|
WindML Driver for Mesa 4.0
|
||||||
|
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
------------
|
||||||
|
|
||||||
|
Tornado 2 + WindML, Cumulative Patchs are recommended.
|
||||||
|
|
||||||
|
I suppose you have a valid WindML installation. Double buffer hardware
|
||||||
|
gives better performance than double buffer software so if you can
|
||||||
|
compile your WindML driver with this option, just do it. I/O
|
||||||
|
redirection is adviced in target server.
|
||||||
|
|
||||||
|
|
||||||
|
Tested on
|
||||||
|
---------
|
||||||
|
|
||||||
|
During the development, my main target was a CoolMonster:
|
||||||
|
- Video card: CT69000
|
||||||
|
- CPU: PENTIUM 266MHz
|
||||||
|
|
||||||
|
and my host a Windows NT + Tornado 2.
|
||||||
|
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
1. Mesa sources must be in root directory (C:\)
|
||||||
|
|
||||||
|
2. Add the following line to your torVars.bat:
|
||||||
|
set MESA_BASE=C:\Mesa
|
||||||
|
|
||||||
|
OR copy the new torVars.bat in your bin path:
|
||||||
|
c:/Mesa/src/ugl/tornado/torVars.sample ->
|
||||||
|
/mnt/nt/Tornado/host/x86-win32/bin/torVars (for example)
|
||||||
|
|
||||||
|
3. In a command prompt:
|
||||||
|
$ torVars
|
||||||
|
$ cd c:\Mesa
|
||||||
|
$ make -f Makefile.ugl CPU=PENTIUM
|
||||||
|
|
||||||
|
Take a long while...
|
||||||
|
|
||||||
|
5. Include all the files from ugldemos folder to build some downloadable
|
||||||
|
application modules
|
||||||
|
|
||||||
|
4. Download UGL/Mesa object files on target
|
||||||
|
|
||||||
|
For example via the WindShell:
|
||||||
|
ld < c:\Tornado\target\lib\objMesaGL.o
|
||||||
|
ld < c:\Tornado\target\lib\objMesaUGL.o
|
||||||
|
ld < c:\Tornado\target\lib\objMesaGLU.o
|
||||||
|
ld < c:\Tornado\target\lib\objGLUTshapes.o
|
||||||
|
ld < c:\Tornado\target\lib\objMesaOS.o
|
||||||
|
|
||||||
|
You can put the previous lines in a file and use:
|
||||||
|
< filename
|
||||||
|
|
||||||
|
6. Download the application modules.
|
||||||
|
|
||||||
|
7. In WindShell, run:
|
||||||
|
-> uglalldemos
|
||||||
|
|
||||||
|
During the show some messages will appear, it provides some useful
|
||||||
|
information on key management.
|
||||||
|
|
||||||
|
|
||||||
|
Coding
|
||||||
|
------
|
||||||
|
|
||||||
|
Sample Usage:
|
||||||
|
|
||||||
|
In addition to the usual ugl calls to initialize UGL, (may be find an
|
||||||
|
input driver), you must do the following to use the UGL/Mesa interface:
|
||||||
|
|
||||||
|
1. Call uglMesaCreateContext() to create a UGL/Mesa rendering context,
|
||||||
|
given the display format.
|
||||||
|
|
||||||
|
2. Call uglMesaMakeCurrent() to bind the UGL/Mesa buffers to an
|
||||||
|
UGL/Mesa Context and to make the context the current one.
|
||||||
|
|
||||||
|
3. Make gl* calls to render your graphics.
|
||||||
|
|
||||||
|
4. Use uglMesaSwapBuffers() when double buffering to swap front/back buffers.
|
||||||
|
|
||||||
|
5. Before the UGL is destroyed, call MesaDestroyContext().
|
||||||
|
|
||||||
|
6. Before exiting, call if required uglEventQDestroy and then
|
||||||
|
uglDeinitialize();
|
||||||
|
|
||||||
|
Limitations
|
||||||
|
-----------
|
||||||
|
|
||||||
|
I found the following limitations in my driver :
|
||||||
|
- Color Indexed management is only in 8 bits
|
||||||
|
- It's possible to mix UGL/OpenGL application with a software
|
||||||
|
double buffer
|
||||||
|
|
||||||
|
Modifications
|
||||||
|
------------
|
||||||
|
|
||||||
|
New files in Mesa:
|
||||||
|
- Makefile.ugl
|
||||||
|
- rules.windmlmesa
|
||||||
|
- docs/README.UGL
|
||||||
|
- include/GL/uglmesa.h
|
||||||
|
- si-glu/Makefile.ugl
|
||||||
|
- src/Makefile.ugl
|
||||||
|
- src/ugl/torGLUTShapesInit.c
|
||||||
|
- src/ugl/torMesaUGLInit.c
|
||||||
|
- src/ugl/ugl_api.c
|
||||||
|
- src/ugl/ugl_dd.c
|
||||||
|
- src/ugl/ugl_glutshapes.c
|
||||||
|
- src/ugl/ugl_line.c
|
||||||
|
- src/ugl/ugl_span.c
|
||||||
|
- src/ugl/ugl_tri.c
|
||||||
|
- src/ugl/uglmesaP.h
|
||||||
|
- ugldemos/*
|
||||||
|
|
||||||
|
Modified files in Tornado 2.0:
|
||||||
|
- c:\Tornado\host\x86-win32\bin\torVars.bat
|
||||||
|
rem Command line build environments
|
||||||
|
set WIND_HOST_TYPE=x86-win32
|
||||||
|
set WIND_BASE=C:\Tornado
|
||||||
|
set MESA_BASE=C:\Mesa
|
||||||
|
set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH%
|
||||||
|
- c:\Tornado\target\config\comps\VxWorks\01uglmesa.cdf
|
||||||
|
- c:\Tornado\target\h\GL\*
|
||||||
|
|
||||||
|
Todo
|
||||||
|
----
|
||||||
|
- GCC 2.96, ASM compilation
|
||||||
|
|
||||||
|
Thanks to:
|
||||||
|
----------
|
||||||
|
|
||||||
|
Precision Insight team for their great job around Mesa, XFree, and DRI.
|
||||||
|
Wind River Systems to take me as an intern.
|
||||||
|
|
||||||
|
|
||||||
|
Stephane Raimbault
|
||||||
|
<stephane.raimbault@windriver.com>
|
||||||
|
<stephane.raimbault@deesse.univ-lemans.fr>
|
||||||
|
|
||||||
|
July 24, 2001
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Mesa 3.3 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
|
the top-level Makefile and Make-config files. There are instructions in
|
||||||
each file.
|
each file.
|
||||||
|
|
||||||
|
When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory.
|
||||||
|
|
||||||
|
|
||||||
2. The new way:
|
2. The new way:
|
||||||
Type './configure' and then 'make'. This uses GNU autoconfig.
|
Type './configure' and then 'make'. This uses GNU autoconfig.
|
||||||
|
Run 'make check' to build the demos.
|
||||||
See docs/INSTALL for more details.
|
See docs/INSTALL for more details.
|
||||||
|
When finished, the Mesa libraries will be in the Mesa-x.y/src/.libs/,
|
||||||
|
Mesa-x.y/si-glu/.libs, etc directories.
|
||||||
The top-level makefile will execute the makefiles in a number of sub-
|
|
||||||
directories. When finished, the Mesa libraries will be in the Mesa-3.3/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.
|
|
||||||
|
|
||||||
|
|
||||||
Notes on assembly language optimizations:
|
Notes on assembly language optimizations:
|
||||||
@@ -256,15 +250,9 @@ HPCR glClear(GL_COLOR_BUFFER_BIT) dithering
|
|||||||
to HP systems with the HPCR (Color Recovery) system.
|
to HP systems with the HPCR (Color Recovery) system.
|
||||||
|
|
||||||
|
|
||||||
Extensions:
|
Extensions
|
||||||
The following OpenGL GLX extensions are currently implemented:
|
==========
|
||||||
|
There are three Mesa-specific GLX extensions at this time.
|
||||||
GLX_EXT_visual_info - GLX visual and transparent pixel extension
|
|
||||||
GLX_EXT_visual_rating - GLX visual caveats
|
|
||||||
|
|
||||||
For detailed information about the extensions see www.opengl.org
|
|
||||||
|
|
||||||
There are four Mesa-specific GL/GLX extensions at this time.
|
|
||||||
|
|
||||||
GLX_MESA_pixmap_colormap
|
GLX_MESA_pixmap_colormap
|
||||||
|
|
||||||
@@ -323,4 +311,4 @@ Summary of X-related environment variables:
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: README.X11,v 3.5 2000/04/04 15:14:48 brianp Exp $
|
$Id: README.X11,v 3.10 2003/03/08 17:38:57 brianp Exp $
|
||||||
|
|||||||
22
docs/RELNOTES-3.4
Normal file
22
docs/RELNOTES-3.4
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
Mesa 3.4 release notes
|
||||||
|
|
||||||
|
November 3, 2000
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.3) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
Mesa 3.4 simply fixes bugs found in the Mesa 3.3 release. For details,
|
||||||
|
see the VERSIONS file.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $
|
||||||
22
docs/RELNOTES-3.4.1
Normal file
22
docs/RELNOTES-3.4.1
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
Mesa 3.4.1 release notes
|
||||||
|
|
||||||
|
February 9, 2001
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.3) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
Mesa 3.4.1 is a maintenance release that simply fixes bugs found since
|
||||||
|
the Mesa 3.4 release. For details, see the VERSIONS file.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-3.4.1,v 1.2 2001/05/23 14:45:01 brianp Exp $
|
||||||
22
docs/RELNOTES-3.4.2
Normal file
22
docs/RELNOTES-3.4.2
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
Mesa 3.4.2 release notes
|
||||||
|
|
||||||
|
May 17, 2001
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.3) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
Mesa 3.4.2 is a maintenance release that simply fixes bugs found since
|
||||||
|
the Mesa 3.4.1 release. For details, see the VERSIONS file.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-3.4.2,v 1.2 2001/05/23 14:45:01 brianp Exp $
|
||||||
228
docs/RELNOTES-3.5
Normal file
228
docs/RELNOTES-3.5
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
|
||||||
|
Mesa 3.5 release notes
|
||||||
|
|
||||||
|
June 21, 2001
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.5) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
The biggest change in Mesa 3.5 is a complete overhaul of the source
|
||||||
|
code in order to make it more modular. This was driven by the DRI
|
||||||
|
hardware drivers. It simplifies the DRI drivers and opens the door
|
||||||
|
to hardware transform/clip/lighting (TCL). Keith Whitwell can take
|
||||||
|
the credit for that.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Driver Support
|
||||||
|
--------------
|
||||||
|
|
||||||
|
The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4
|
||||||
|
Not all of the older Mesa drivers have been updated. Here's the status:
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- -----------
|
||||||
|
XMesa (Xlib) updated
|
||||||
|
OSMesa (off-screen) updated
|
||||||
|
FX (3dfx Voodoo1/2) updated
|
||||||
|
SVGA updated
|
||||||
|
GGI not updated
|
||||||
|
Windows/Win32 not updated
|
||||||
|
DOS/DJGPP not updated
|
||||||
|
BeOS not updated
|
||||||
|
Allegro not updated
|
||||||
|
D3D not updated
|
||||||
|
DOS not updated
|
||||||
|
|
||||||
|
We're looking for volunteers to update the remaining drivers. Please
|
||||||
|
post to the Mesa3d-dev mailing list if you can help.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GLU 1.3
|
||||||
|
-------
|
||||||
|
|
||||||
|
Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
|
||||||
|
This version of GLU supports the GLU 1.3 specification. The old
|
||||||
|
Mesa GLU library implemented the 1.1 specification. The SI GLU
|
||||||
|
library should work much better.
|
||||||
|
|
||||||
|
You'll need a C++ compiler to compile the SI GLU library. This may
|
||||||
|
be a problem on some systems.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
New Extensions
|
||||||
|
--------------
|
||||||
|
|
||||||
|
GL_EXT_convolution
|
||||||
|
Adds image convolution to glRead/Copy/DrawPixels/TexImage.
|
||||||
|
|
||||||
|
GL_ARB_imaging
|
||||||
|
This is the optional imaging subset of OpenGL 1.2.
|
||||||
|
It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
|
||||||
|
GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
|
||||||
|
GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
|
||||||
|
and GL_SGI_color_matrix extensions all rolled together.
|
||||||
|
This is supported in all software renderers but not in all
|
||||||
|
hardware drivers (3dfx for example).
|
||||||
|
|
||||||
|
GL_ARB_texture_compression
|
||||||
|
This is supported in Mesa but only used by the 3dfx DRI drivers
|
||||||
|
for Voodoo4 and later.
|
||||||
|
|
||||||
|
GL_ARB_texture_env_add
|
||||||
|
This is identical to GL_EXT_texture_env_add.
|
||||||
|
|
||||||
|
GL_NV_blend_square
|
||||||
|
Adds extra blend source and dest factors which allow squaring
|
||||||
|
of color values.
|
||||||
|
|
||||||
|
GL_EXT_fog_coord
|
||||||
|
Allows specification of a per-vertex fog coordinate instead of
|
||||||
|
having fog always computed from the eye distance.
|
||||||
|
|
||||||
|
GL_EXT_secondary_color
|
||||||
|
Allows specifying the secondary (specular) color for each vertex
|
||||||
|
instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
|
||||||
|
mode.
|
||||||
|
|
||||||
|
GL_ARB_texture_env_combine
|
||||||
|
Basically the same as GL_EXT_texture_env_combine
|
||||||
|
|
||||||
|
GL_ARB_texture_env_add extension
|
||||||
|
Texture addition mode.
|
||||||
|
|
||||||
|
GL_ARB_texture_env_dot3 extension
|
||||||
|
Dot product texture environment.
|
||||||
|
|
||||||
|
GL_ARB_texture_border_clamp
|
||||||
|
Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode
|
||||||
|
|
||||||
|
GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient
|
||||||
|
Implements a shadow casting algorithm based on depth map textures
|
||||||
|
|
||||||
|
GL_SGIS_generate_mipmap
|
||||||
|
Automatically generate lower mipmap images whenever the base mipmap
|
||||||
|
image is changed with glTexImage, glCopyTexImage, etc.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
libOSMesa.so
|
||||||
|
------------
|
||||||
|
|
||||||
|
libOSMesa.so is a new library which contains the OSMesa interface for
|
||||||
|
off-screen rendering. Apps which need the OSMesa interface should link
|
||||||
|
with both -lOSMesa and -lGL. This change was made so that stand-alone
|
||||||
|
Mesa works the same way as XFree86/DRI's libGL.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Device Driver Changes / Core Mesa Changes
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
The ctx->Driver.LogicOp() function has been removed. It used to
|
||||||
|
be called during state update in order to determine if the driver
|
||||||
|
could do glLogicOp() operations, and if not, set the SWLogicOpEnabled
|
||||||
|
flag. Drivers should instead examine the LogicOp state themselves
|
||||||
|
and choose specialized point, line, and triangle functions appropriately,
|
||||||
|
or fall back to software rendering. The Xlib driver was the only driver
|
||||||
|
to use this function. And since the Xlib driver no longer draws
|
||||||
|
points, lines or triangles using Xlib, the LogicOp function isn't needed.
|
||||||
|
|
||||||
|
The ctx->Driver.Dither() function has been removed. Drivers should
|
||||||
|
detect dither enable/disable via ctx->Driver.Enable() instead.
|
||||||
|
|
||||||
|
The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
|
||||||
|
are now just called from glIndexMask and glColorMask like the other
|
||||||
|
GL state-changing functions. They are no longer called from inside
|
||||||
|
gl_update_state(). Also, they now return void. The change was made
|
||||||
|
mostly for sake of uniformity.
|
||||||
|
|
||||||
|
The NEW_DRVSTATE[0123] flags have been removed. They weren't being used
|
||||||
|
and are obsolete w.r.t. the way state updates are done in DRI drivers.
|
||||||
|
|
||||||
|
|
||||||
|
Removed obsolete gl_create_visual() and gl_destroy_visual().
|
||||||
|
|
||||||
|
Renamed functions (new namespace):
|
||||||
|
|
||||||
|
old new
|
||||||
|
gl_create_framebuffer _mesa_create_framebuffer
|
||||||
|
gl_destroy_framebuffer _mesa_destroy_framebuffer
|
||||||
|
gl_create_context _mesa_create_context
|
||||||
|
gl_destroy_context _mesa_destroy_context
|
||||||
|
gl_context_initialize _mesa_context_initialize
|
||||||
|
gl_copy_context _mesa_copy_context
|
||||||
|
gl_make_current _mesa_make_current
|
||||||
|
gl_make_current2 _mesa_make_current2
|
||||||
|
gl_get_current_context _mesa_get_current_context
|
||||||
|
gl_flush_vb _mesa_flush_vb
|
||||||
|
gl_warning _mesa_warning
|
||||||
|
gl_compile_error _mesa_compile_error
|
||||||
|
|
||||||
|
|
||||||
|
All the drivers have been updated, but not all of them have been
|
||||||
|
tested since I can't test some platforms (DOS, Windows, Allegro, etc).
|
||||||
|
|
||||||
|
|
||||||
|
X/Mesa Driver
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The source files for the X/Mesa driver in src/X have been renamed.
|
||||||
|
The xmesa[1234].c files are gone. The new files are xm_api.c,
|
||||||
|
xm_dd.c, xm_line.c, xm_span.c and xm_tri.c.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Multitexture
|
||||||
|
------------
|
||||||
|
|
||||||
|
Eight texture units are now supported by default.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OpenGL SI related changes
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
In an effort to make Mesa's internal interfaces more like the OpenGL
|
||||||
|
SI interfaces, a number of changes have been made:
|
||||||
|
|
||||||
|
1. Importing the SI's glcore.h file which defines a number of
|
||||||
|
interface structures like __GLimports and __GLexports.
|
||||||
|
|
||||||
|
2. Renamed "struct gl_context" to "struct __GLcontextRec".
|
||||||
|
|
||||||
|
3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
|
||||||
|
|
||||||
|
4. The GLcontext member Visual is no longer a pointer.
|
||||||
|
|
||||||
|
5. New file: imports.c to setup default import functions for Mesa.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
16-bit color channels
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
There's experimental support for 16-bit color channels (64-bit pixels)
|
||||||
|
in Mesa 3.5. Only the OSMesa interface can be used for 16-bit rendering.
|
||||||
|
Type "make linux-osmesa16" in the top-level directory to build the
|
||||||
|
special libOSMesa16.so library.
|
||||||
|
|
||||||
|
This hasn't been tested very thoroughly yet so please file bug reports
|
||||||
|
if you have trouble.
|
||||||
|
|
||||||
|
In the future I hope to implement support for 32-bit, floating point
|
||||||
|
color channels.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-3.5,v 1.14 2001/06/20 19:02:48 brianp Exp $
|
||||||
163
docs/RELNOTES-4.0
Normal file
163
docs/RELNOTES-4.0
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
|
||||||
|
Mesa 4.0 release notes
|
||||||
|
|
||||||
|
October 18, 2001
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.3) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
Mesa version 4.0 signifies two things:
|
||||||
|
|
||||||
|
1. A stabilization of the 3.5 development release
|
||||||
|
2. Implementation of the OpenGL 1.3 specification
|
||||||
|
|
||||||
|
|
||||||
|
Note that the Mesa major version number is incremented with the OpenGL
|
||||||
|
minor version number:
|
||||||
|
|
||||||
|
Mesa 1.x == OpenGL 1.0
|
||||||
|
Mesa 2.x == OpenGL 1.1
|
||||||
|
Mesa 3.x == OpenGL 1.2
|
||||||
|
Mesa 4.x == OpenGL 1.3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
New Features
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa 3.5 already had all the new features of OpenGL 1.3, implemented as
|
||||||
|
extensions. These extensions were simply promoted to standard features:
|
||||||
|
|
||||||
|
GL_ARB_multisample
|
||||||
|
GL_ARB_multitexture
|
||||||
|
GL_ARB_texture_border_clamp
|
||||||
|
GL_ARB_texture_compression
|
||||||
|
GL_ARB_texture_cube_map
|
||||||
|
GL_ARB_texture_env_add
|
||||||
|
GL_ARB_texture_env_combine
|
||||||
|
GL_ARB_texture_env_dot3
|
||||||
|
GL_ARB_transpose_matrix
|
||||||
|
|
||||||
|
In Mesa 4.0 the functions defined by these extensions are now available
|
||||||
|
without the "ARB" suffix. For example, glLoadTransposeMatrixf() is now
|
||||||
|
a standard API function. The new functions in OpenGL 1.3 and Mesa 4.0 are:
|
||||||
|
|
||||||
|
glActiveTexture
|
||||||
|
glClientActiveTexture
|
||||||
|
glCompressedTexImage1D
|
||||||
|
glCompressedTexImage2D
|
||||||
|
glCompressedTexImage3D
|
||||||
|
glCompressedTexSubImage1D
|
||||||
|
glCompressedTexSubImage2D
|
||||||
|
glCompressedTexSubImage3D
|
||||||
|
glGetCompressedTexImage
|
||||||
|
glLoadTransposeMatrixd
|
||||||
|
glLoadTransposeMatrixf
|
||||||
|
glMultiTexCoord1d
|
||||||
|
glMultiTexCoord1dv
|
||||||
|
glMultiTexCoord1f
|
||||||
|
glMultiTexCoord1fv
|
||||||
|
glMultiTexCoord1i
|
||||||
|
glMultiTexCoord1iv
|
||||||
|
glMultiTexCoord1s
|
||||||
|
glMultiTexCoord1sv
|
||||||
|
glMultiTexCoord2d
|
||||||
|
glMultiTexCoord2dv
|
||||||
|
glMultiTexCoord2f
|
||||||
|
glMultiTexCoord2fv
|
||||||
|
glMultiTexCoord2i
|
||||||
|
glMultiTexCoord2iv
|
||||||
|
glMultiTexCoord2s
|
||||||
|
glMultiTexCoord2sv
|
||||||
|
glMultiTexCoord3d
|
||||||
|
glMultiTexCoord3dv
|
||||||
|
glMultiTexCoord3f
|
||||||
|
glMultiTexCoord3fv
|
||||||
|
glMultiTexCoord3i
|
||||||
|
glMultiTexCoord3iv
|
||||||
|
glMultiTexCoord3s
|
||||||
|
glMultiTexCoord3sv
|
||||||
|
glMultiTexCoord4d
|
||||||
|
glMultiTexCoord4dv
|
||||||
|
glMultiTexCoord4f
|
||||||
|
glMultiTexCoord4fv
|
||||||
|
glMultiTexCoord4i
|
||||||
|
glMultiTexCoord4iv
|
||||||
|
glMultiTexCoord4s
|
||||||
|
glMultiTexCoord4sv
|
||||||
|
glMultTransposeMatrixd
|
||||||
|
glMultTransposeMatrixf
|
||||||
|
glSampleCoverage
|
||||||
|
glSamplePass
|
||||||
|
|
||||||
|
|
||||||
|
GLX 1.4 is the companion to OpenGL 1.3. The only new features in GLX 1.4
|
||||||
|
are support for multisampling and the GLX_ARB_get_proc_address extension.
|
||||||
|
glXGetProcAddress() is the only new function in GLX 1.4.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Multisample and Texture Compression
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
The OpenGL 1.3 specification allows the multisample and texture compression
|
||||||
|
features to essentially be no-ops. For example, if you query for multisample
|
||||||
|
support you'll find none, but the API functions work.
|
||||||
|
|
||||||
|
Similarly, texture compression is not implemented by any of the software
|
||||||
|
drivers but you can specify a generic compressed texture format (like
|
||||||
|
GL_COMPRESSED_RGBA) to glTexImage2D and it'll be accepted.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Device Drivers
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
|
||||||
|
device driver. If the driver enables all the ARB extensions which are part
|
||||||
|
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
|
||||||
|
it'll return "1.2".
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of the drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.3
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.3
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.3
|
||||||
|
GGI needs updating
|
||||||
|
DOS/DJGPP needs updating
|
||||||
|
BeOS needs updating
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
DOS needs updating
|
||||||
|
|
||||||
|
Special thanks go to Karl Schultz for updating the Windows driver.
|
||||||
|
|
||||||
|
The XFree86/DRI drivers have not yet been updated to use Mesa 4.0 as of
|
||||||
|
September 2001, but that should happen eventually.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Other Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
See the VERSIONS file for more details about bug fixes, etc. in Mesa 4.0.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-4.0,v 3.2 2001/10/17 14:59:21 brianp Exp $
|
||||||
22
docs/RELNOTES-4.0.1
Normal file
22
docs/RELNOTES-4.0.1
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
Mesa 4.0.1 release notes
|
||||||
|
|
||||||
|
December 17, 2001
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.3) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
Mesa 4.0.1 only contains bug fixes since version 4.0.
|
||||||
|
|
||||||
|
See the docs/VERSIONS file for the list of bug fixes.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $
|
||||||
50
docs/RELNOTES-4.0.2
Normal file
50
docs/RELNOTES-4.0.2
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
|
||||||
|
Mesa 4.0.2 release notes
|
||||||
|
|
||||||
|
March 25, 2002
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.3) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
Mesa 4.0.2 only contains bug fixes and a new DOS driver since version 4.0.1.
|
||||||
|
|
||||||
|
See the docs/VERSIONS file for the list of bug fixes.
|
||||||
|
|
||||||
|
|
||||||
|
Device Drivers
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
|
||||||
|
device driver. If the driver enables all the ARB extensions which are part
|
||||||
|
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
|
||||||
|
it'll return "1.2".
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of the drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.3
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.3
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.3
|
||||||
|
DOS/DJGPP implements OpenGL 1.3 (new in Mesa 4.0.2)
|
||||||
|
GGI needs updating
|
||||||
|
BeOS needs updating
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-4.0.2,v 1.2 2002/03/23 02:38:39 brianp Exp $
|
||||||
52
docs/RELNOTES-4.0.3
Normal file
52
docs/RELNOTES-4.0.3
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
Mesa 4.0.3 release notes
|
||||||
|
|
||||||
|
June 25, 2002
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Odd numbered versions (such as 3.3) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 3.4) designate stable releases.
|
||||||
|
|
||||||
|
Mesa 4.0.3 basically just contains bug fixes version 4.0.2.
|
||||||
|
|
||||||
|
See the docs/VERSIONS file for the list of bug fixes.
|
||||||
|
|
||||||
|
The GGI driver has been updated, thanks to Filip Spacek.
|
||||||
|
|
||||||
|
|
||||||
|
Device Drivers
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
|
||||||
|
device driver. If the driver enables all the ARB extensions which are part
|
||||||
|
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
|
||||||
|
it'll return "1.2".
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of the drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.3
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.3
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.3
|
||||||
|
DOS/DJGPP implements OpenGL 1.3 (new in Mesa 4.0.2)
|
||||||
|
GGI implements OpenGL 1.3
|
||||||
|
BeOS needs updating
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-4.0.3,v 1.2 2002/06/26 02:36:34 brianp Exp $
|
||||||
308
docs/RELNOTES-4.1
Normal file
308
docs/RELNOTES-4.1
Normal file
@@ -0,0 +1,308 @@
|
|||||||
|
|
||||||
|
Mesa 4.1 release notes
|
||||||
|
|
||||||
|
October 29, 2002
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Even numbered versions (such as 4.0) designate stable releases.
|
||||||
|
Odd numbered versions (such as 4.1) designate new developmental releases.
|
||||||
|
|
||||||
|
|
||||||
|
New Features in Mesa 4.1
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
New extensions. Docs at http://oss.sgi.com/projects/ogl-sample/registry/
|
||||||
|
|
||||||
|
GL_NV_vertex_program
|
||||||
|
|
||||||
|
NVIDIA's vertex programming extension
|
||||||
|
|
||||||
|
GL_NV_vertex_program1_1
|
||||||
|
|
||||||
|
A few features built on top of GL_NV_vertex_program
|
||||||
|
|
||||||
|
GL_ARB_window_pos
|
||||||
|
|
||||||
|
This is the ARB-approved version of GL_MESA_window_pos
|
||||||
|
|
||||||
|
GL_ARB_depth_texture
|
||||||
|
|
||||||
|
This is the ARB-approved version of GL_SGIX_depth_texture.
|
||||||
|
It allows depth (Z buffer) data to be stored in textures.
|
||||||
|
This is used by GL_ARB_shadow
|
||||||
|
|
||||||
|
GL_ARB_shadow
|
||||||
|
|
||||||
|
Shadow mapping with depth textures.
|
||||||
|
This is the ARB-approved version of GL_SGIX_shadow.
|
||||||
|
|
||||||
|
GL_ARB_shadow_ambient
|
||||||
|
|
||||||
|
Allows one to specify the luminance of shadowed pixels.
|
||||||
|
This is the ARB-approved version of GL_SGIX_shadow_ambient.
|
||||||
|
|
||||||
|
GL_EXT_shadow_funcs
|
||||||
|
|
||||||
|
Extends the set of GL_ARB_shadow texture comparision functions to
|
||||||
|
include all eight of standard OpenGL dept-test functions.
|
||||||
|
|
||||||
|
GL_ARB_point_parameters
|
||||||
|
|
||||||
|
This is basically the same as GL_EXT_point_parameters.
|
||||||
|
|
||||||
|
GL_ARB_texture_env_crossbar
|
||||||
|
|
||||||
|
Allows any texture combine stage to reference any texture source unit.
|
||||||
|
|
||||||
|
GL_NV_point_sprite
|
||||||
|
|
||||||
|
For rendering points as textured quads. Useful for particle effects.
|
||||||
|
|
||||||
|
GL_NV_texture_rectangle (new in 4.0.4 actually)
|
||||||
|
|
||||||
|
Allows one to use textures with sizes that are not powers of two.
|
||||||
|
Note that mipmapping and several texture wrap modes are not allowed.
|
||||||
|
|
||||||
|
GL_EXT_multi_draw_arrays
|
||||||
|
|
||||||
|
Allows arrays of vertex arrays to be rendered with one call.
|
||||||
|
|
||||||
|
GL_EXT_stencil_two_side
|
||||||
|
|
||||||
|
Separate stencil modes for front and back-facing polygons.
|
||||||
|
|
||||||
|
GLX_SGIX_fbconfig & GLX_SGIX_pbuffer
|
||||||
|
|
||||||
|
Off-screen rendering support.
|
||||||
|
|
||||||
|
GL_ATI_texture_mirror_once
|
||||||
|
|
||||||
|
Adds two new texture wrap modes: GL_MIRROR_CLAMP_ATI and
|
||||||
|
GL_MIRROR_CLAMP_TO_EDGE_ATI.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Device Driver Status
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of these drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.3
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.3
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.3
|
||||||
|
DOS/DJGPP implements OpenGL 1.3
|
||||||
|
GGI implements OpenGL 1.3
|
||||||
|
BeOS needs updating (underway)
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
DOS needs updating
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
New features in GLUT
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
1. Frames per second printing
|
||||||
|
|
||||||
|
GLUT now looks for an environment variable called "GLUT_FPS". If it's
|
||||||
|
set, GLUT will print out a frames/second statistic to stderr when
|
||||||
|
glutSwapBuffers() is called. By default, frames/second is computed
|
||||||
|
and displayed once every 5 seconds. You can specify a different
|
||||||
|
interval (in milliseconds) when you set the env var. For example
|
||||||
|
'export GLUT_FPS=1000' or 'setenv GLUT_FPS 1000' will set the interval
|
||||||
|
to one second.
|
||||||
|
|
||||||
|
NOTE: the demo or application must call the glutInit() function for
|
||||||
|
this to work. Otherwise, the env var will be ignored.
|
||||||
|
|
||||||
|
Finally, this feature may not be reliable in multi-window programs.
|
||||||
|
|
||||||
|
|
||||||
|
2. glutGetProcAddress() function
|
||||||
|
|
||||||
|
The new function:
|
||||||
|
|
||||||
|
void *glutGetProcAddress(const char *procName)
|
||||||
|
|
||||||
|
is a wrapper for glXGetProcAddressARB() and wglGetProcAddress(). It
|
||||||
|
lets you dynamically get the address of an OpenGL function at runtime.
|
||||||
|
The GLUT_API_VERSION has been bumped to 5, but I haven't bumped the
|
||||||
|
GLUT version number from 3.7 since that's probably Mark Kilgard's role.
|
||||||
|
|
||||||
|
This function should probably also be able to return the address of
|
||||||
|
GLUT functions themselves, but it doesn't do that yet.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
XXX Things To Do Yet XXXX
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
isosurf with vertex program exhibits some missing triangles (probably
|
||||||
|
when recycling the vertex buffer for long prims).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Porting Info
|
||||||
|
------------
|
||||||
|
|
||||||
|
If you're porting a DRI or other driver from Mesa 4.0.x to Mesa 4.1 here
|
||||||
|
are some things to change:
|
||||||
|
|
||||||
|
1. ctx->Texture._ReallyEnabled is obsolete.
|
||||||
|
|
||||||
|
Since there are now 5 texture targets (1D, 2D, 3D, cube and rect) that
|
||||||
|
left room for only 6 units (6*5 < 32) in this field.
|
||||||
|
This field is being replaced by ctx->Texture._EnabledUnits which has one
|
||||||
|
bit per texture unit. If the bit k of _EnabledUnits is set, that means
|
||||||
|
ctx->Texture.Unit[k]._ReallyEnabled is non-zero. You'll have to look at
|
||||||
|
ctx->Texture.Unit[k]._ReallyEnabled to learn if the 1D, 2D, 3D, cube or
|
||||||
|
rect texture is enabled for unit k.
|
||||||
|
|
||||||
|
This also means that the constants TEXTURE1_*, TEXTURE2_*, etc are
|
||||||
|
obsolete.
|
||||||
|
|
||||||
|
The tokens TEXTURE0_* have been replaced as well (since there's no
|
||||||
|
significance to the "0" part:
|
||||||
|
|
||||||
|
old token new token
|
||||||
|
TEXTURE0_1D TEXTURE_1D_BIT
|
||||||
|
TEXTURE0_2D TEXTURE_2D_BIT
|
||||||
|
TEXTURE0_3D TEXTURE_3D_BIT
|
||||||
|
TEXTURE0_CUBE TEXTURE_CUBE_BIT
|
||||||
|
<none> TEXTURE_RECT_BIT
|
||||||
|
|
||||||
|
These tokens are only used for the ctx->Texture.Unit[i].Enabled and
|
||||||
|
ctx->Texture.Unit[i]._ReallyEnabled fields. Exactly 0 or 1 bits will
|
||||||
|
be set in _ReallyEnabled at any time!
|
||||||
|
|
||||||
|
Q: "What's the purpose of Unit[i].Enabled vs Unit[i]._ReallyEnabled?"
|
||||||
|
A: The user can enable GL_TEXTURE_1D, GL_TEXTURE_2D, etc for any
|
||||||
|
texure unit all at once (an unusual thing to do).
|
||||||
|
OpenGL defines priorities that basically say GL_TEXTURE_2D has
|
||||||
|
higher priority than GL_TEXTURE_1D, etc. Also, just because a
|
||||||
|
texture target is enabled by the user doesn't mean we'll actually
|
||||||
|
use that texture! If a texture object is incomplete (missing mip-
|
||||||
|
map levels, etc) it's as if texturing is disabled for that target.
|
||||||
|
The _ReallyEnabled field will have a bit set ONLY if the texture
|
||||||
|
target is enabled and complete. This spares the driver writer from
|
||||||
|
examining a _lot_ of GL state to determine which texture target is
|
||||||
|
to be used.
|
||||||
|
|
||||||
|
|
||||||
|
2. Tnl tokens changes
|
||||||
|
|
||||||
|
During the implementation of GL_NV_vertex_program some of the vertex
|
||||||
|
buffer code was changed. Specifically, the VERT_* bits defined in
|
||||||
|
tnl/t_context.h have been renamed to better match the conventions of
|
||||||
|
GL_NV_vertex_program. The old names are still present but obsolete.
|
||||||
|
Drivers should use the newer names.
|
||||||
|
|
||||||
|
For example: VERT_RGBA is now VERT_BIT_COLOR0 and
|
||||||
|
VERT_SPEC_RGB is now VERT_BIT_COLOR1.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. Read/Draw Buffer changes
|
||||||
|
|
||||||
|
The business of setting the current read/draw buffers in Mesa 4.0.x
|
||||||
|
was complicated. It's much simpler now in Mesa 4.1.
|
||||||
|
|
||||||
|
Here are the changes:
|
||||||
|
|
||||||
|
- Renamed ctx->Color.DrawDestMask to ctx->Color._DrawDestMask
|
||||||
|
- Removed ctx->Color.DriverDrawBuffer
|
||||||
|
- Removed ctx->Pixel.DriverReadBuffer
|
||||||
|
- Removed ctx->Color.MultiDrawBuffer
|
||||||
|
- Removed ctx->Driver.SetDrawBuffer()
|
||||||
|
- Removed swrast->Driver.SetReadBuffer().
|
||||||
|
- Added ctx->Color._DrawDestMask - a bitmask of FRONT/BACK_LEFT/RIGHT_BIT
|
||||||
|
values to indicate the current draw buffers.
|
||||||
|
- Added ctx->Pixel._ReadSrcMask to indicate the source for pixel reading.
|
||||||
|
The value is _one_ of the FRONT/BACK_LEFT/RIGHT_BIT values.
|
||||||
|
- Added ctx->Driver.DrawBuffer() and ctx->Driver.ReadBuffer().
|
||||||
|
These functions exactly correspond to glDrawBuffer and glReadBuffer calls.
|
||||||
|
Many drivers will set ctx->Driver.DrawBuffer = _swrast_DrawBuffer and
|
||||||
|
leave ctx->Draw.ReadBuffer NULL.
|
||||||
|
DRI drivers should implement their own function for ctx->Driver.DrawBuffer
|
||||||
|
and use it to set the current hardware drawing buffer. You'll probably
|
||||||
|
also want to check for GL_FRONT_AND_BACK mode and fall back to software.
|
||||||
|
Call _swrast_DrawBuffer() too, to update the swrast state.
|
||||||
|
- Added swrast->Driver.SetBuffer().
|
||||||
|
This function should be implemented by all device drivers that use swrast.
|
||||||
|
Mesa will call it to specify the buffer to use for span reading AND
|
||||||
|
writing and point/line/triangle rendering.
|
||||||
|
There should be no confusion between current read or draw buffer anymore.
|
||||||
|
- Added swrast->CurrentBuffer to indicate which color buffer to read/draw.
|
||||||
|
Will be FRONT_LEFT_BIT, BACK_LEFT_BIT, FRONT_RIGHT_BIT or BACK_RIGHT_BIT.
|
||||||
|
This value is usually passed to swrast->Driver.SetBuffer().
|
||||||
|
|
||||||
|
|
||||||
|
4. _mesa_create_context() changes. This function now takes a pointer to
|
||||||
|
a __GLimports object. The __GLimports structure contains function
|
||||||
|
pointers to system functions like fprintf(), malloc(), etc.
|
||||||
|
The _mesa_init_default_imports() function can be used to initialize
|
||||||
|
a __GLimports object. Most device drivers (like the DRI drivers)
|
||||||
|
should use this.
|
||||||
|
|
||||||
|
|
||||||
|
5. In tnl's struct vertex_buffer, the field "ProjectedClipCoords"
|
||||||
|
has been replaced by "NdcPtr" to better match the OpenGL spec's
|
||||||
|
terminology.
|
||||||
|
|
||||||
|
|
||||||
|
6. Since GL_EXT_stencil_two_side has been implemented, many of the
|
||||||
|
ctx->Stencil fields are now 2-element arrays. For example,
|
||||||
|
"GLenum Ref" is now "GLenum Ref[2]" The [0] elements are the front-face
|
||||||
|
values and the [1] elements are the back-face values.
|
||||||
|
ctx->Stencil.ActiveFace is 0 or 1 to indicate the current face for
|
||||||
|
the glStencilOp/Func/Mask() functions.
|
||||||
|
ctx->Stencil.TestTwoSide controls whether or not 1 or 2-sided stenciling
|
||||||
|
is enabled.
|
||||||
|
|
||||||
|
|
||||||
|
7. Removed ctx->Polygon._OffsetAny. Removed ctx->Polygon.OffsetMRD.
|
||||||
|
|
||||||
|
|
||||||
|
8. GLfloat / GLchan changes:
|
||||||
|
|
||||||
|
- Changed ctx->Driver.ClearColor() to take GLfloat[4] instead of GLchan[4].
|
||||||
|
ctx->Color.ClearColor is now GLfloat[4] too.
|
||||||
|
- Changed ctx->Driver.AlphaRef() to take GLfloat instead of GLchan.
|
||||||
|
- ctx->Color.AlphaRef is now GLfloat.
|
||||||
|
- texObj->BorderColor is now GLfloat[4]. texObj->_BorderChan is GLchan[4].
|
||||||
|
|
||||||
|
This is part of an effort to remove all GLchan types from core Mesa so
|
||||||
|
that someday we can support 8, 16 and 32-bit color channels dynamically
|
||||||
|
at runtime, instead of at compile-time.
|
||||||
|
|
||||||
|
|
||||||
|
9. GLboolean ctx->Tranform.ClipEnabled[MAX_CLIP_PLANES] has been replaced
|
||||||
|
by GLuint ctx->Transform.ClipPlanesEnabled. The later is a bitfield.
|
||||||
|
|
||||||
|
|
||||||
|
10. There's a new matrix_stack type in mtypes.h used for the Modelview,
|
||||||
|
Projection, Color and Texcoord matrix stacks.
|
||||||
|
|
||||||
|
|
||||||
|
11. The ctx->Current.* fields have changed a lot. Now, there's a
|
||||||
|
ctx->Current.Attrib[] array for all vertex attributes which matches
|
||||||
|
the NV vertex program conventions.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-4.1,v 1.22 2002/10/29 15:06:37 brianp Exp $
|
||||||
85
docs/RELNOTES-5.0
Normal file
85
docs/RELNOTES-5.0
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
|
||||||
|
Mesa 5.0 release notes
|
||||||
|
|
||||||
|
November 13, 2002
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Even-numbered versions (such as 5.0) designate stable releases.
|
||||||
|
Odd-numbered versions (such as 4.1) designate new developmental releases.
|
||||||
|
|
||||||
|
Mesa 5.0 is basically just a stabilization of Mesa 4.1. To see a list of
|
||||||
|
bug fixes, etc. see the VERSIONS file.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
New Features in Mesa 5.0
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Mesa 5.0 supports OpenGL 1.4. Note Mesa's versioning convention:
|
||||||
|
|
||||||
|
OpenGL Version Mesa Version
|
||||||
|
------------------------------
|
||||||
|
1.0 1.x
|
||||||
|
1.1 2.x
|
||||||
|
1.2 3.x
|
||||||
|
1.3 4.x
|
||||||
|
1.4 5.x
|
||||||
|
|
||||||
|
OpenGL 1.4 (and Mesa 5.0) incorporates the following OpenGL extensions as
|
||||||
|
standard features:
|
||||||
|
|
||||||
|
GL_ARB_depth_texture
|
||||||
|
GL_ARB_shadow
|
||||||
|
GL_ARB_texture_env_crossbar
|
||||||
|
GL_ARB_texture_mirror_repeat
|
||||||
|
GL_ARB_window_pos
|
||||||
|
GL_EXT_blend_color
|
||||||
|
GL_EXT_blend_func_separate
|
||||||
|
GL_EXT_blend_logic_op
|
||||||
|
GL_EXT_blend_minmax
|
||||||
|
GL_EXT_blend_subtract
|
||||||
|
GL_EXT_fog_coord
|
||||||
|
GL_EXT_multi_draw_arrays
|
||||||
|
GL_EXT_point_parameters
|
||||||
|
GL_EXT_secondary_color
|
||||||
|
GL_EXT_stencil_wrap
|
||||||
|
GL_SGIS_generate_mipmap
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Device Driver Status
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of these drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.4
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.4
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.4
|
||||||
|
DOS/DJGPP implements OpenGL 1.3
|
||||||
|
GGI implements OpenGL 1.3
|
||||||
|
DOS implements OpenGL 1.4
|
||||||
|
BeOS needs updating (underway)
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
|
||||||
|
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
|
||||||
|
driver call the _mesa_enable_1_4_extensions() function.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-5.0,v 3.2 2002/11/13 15:33:51 brianp Exp $
|
||||||
46
docs/RELNOTES-5.0.1
Normal file
46
docs/RELNOTES-5.0.1
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
|
||||||
|
Mesa 5.0.1 release notes
|
||||||
|
|
||||||
|
March 30, 2003
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Even-numbered versions (such as 5.0.x) designate stable releases.
|
||||||
|
Odd-numbered versions (such as 4.1.x) designate new developmental releases.
|
||||||
|
|
||||||
|
Mesa 5.0.1 just fixes bugs found since the 5.0 release. See the VERSIONS
|
||||||
|
file for details.
|
||||||
|
|
||||||
|
|
||||||
|
Device Driver Status
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of these drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.4
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.4
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.4
|
||||||
|
DJGPP implements OpenGL 1.4
|
||||||
|
GGI implements OpenGL 1.3
|
||||||
|
BeOS implements OpenGL 1.4
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
|
||||||
|
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
|
||||||
|
driver call the _mesa_enable_1_4_extensions() function.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-5.0.1,v 3.1 2003/03/30 16:17:54 brianp Exp $
|
||||||
46
docs/RELNOTES-5.0.2
Normal file
46
docs/RELNOTES-5.0.2
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
|
||||||
|
Mesa 5.0.2 release notes
|
||||||
|
|
||||||
|
September 5, 2003
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Even-numbered versions (such as 5.0.x) designate stable releases.
|
||||||
|
Odd-numbered versions (such as 4.1.x) designate new developmental releases.
|
||||||
|
|
||||||
|
Mesa 5.0.2 just fixes bugs found since the 5.0.1 release. See the VERSIONS
|
||||||
|
file for details.
|
||||||
|
|
||||||
|
|
||||||
|
Device Driver Status
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of these drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.4
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.4
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.4
|
||||||
|
DJGPP implements OpenGL 1.4
|
||||||
|
GGI implements OpenGL 1.3
|
||||||
|
BeOS implements OpenGL 1.4
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
|
||||||
|
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
|
||||||
|
driver call the _mesa_enable_1_4_extensions() function.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
$Id: RELNOTES-5.0.2,v 1.1 2003/09/04 23:10:38 brianp Exp $
|
||||||
228
docs/RELNOTES-5.1
Normal file
228
docs/RELNOTES-5.1
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
|
||||||
|
Mesa 5.1 release notes
|
||||||
|
|
||||||
|
Month day, 2003
|
||||||
|
|
||||||
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
|
Even-numbered versions (such as 5.0) designate stable releases.
|
||||||
|
Odd-numbered versions (such as 5.1) designate new developmental releases.
|
||||||
|
|
||||||
|
|
||||||
|
Bug fixes
|
||||||
|
---------
|
||||||
|
See the VERSIONS file for a list of bugs fixed in this release.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
New Features in Mesa 5.1
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
GL_ATI_texture_env_combine3 extension
|
||||||
|
This adds a few new texture combine modes.
|
||||||
|
Contributed by Ian Romanick.
|
||||||
|
|
||||||
|
GL_SGI_texture_color_table
|
||||||
|
Adds a color table lookup to the RGBA texture path. There's a separate
|
||||||
|
color table for each texture unit.
|
||||||
|
Contributed by Eric Plante.
|
||||||
|
|
||||||
|
GL_NV_fragment_program
|
||||||
|
NVIDIA's fragment-level programming feature.
|
||||||
|
Possible lurking bugs:
|
||||||
|
- the DDX and DDY commands aren't fully tested
|
||||||
|
- there may be bugs in the parser
|
||||||
|
- the TEX and TXP instructions both do perspective correction
|
||||||
|
- the pack/unpack instructions may not be correct
|
||||||
|
|
||||||
|
GL_EXT_depth_bounds_test
|
||||||
|
This extension adds a scissor-like test for the Z axis. It's used to
|
||||||
|
optimize stencil-volume shadow algorithms.
|
||||||
|
|
||||||
|
GL_NV_light_max_exponent
|
||||||
|
Lifts the 128 limit for max light exponent.
|
||||||
|
|
||||||
|
GL_EXT_texture_rectangle
|
||||||
|
Identical to GL_NV_texture_rectangle
|
||||||
|
|
||||||
|
GL_ARB_occlusion_query
|
||||||
|
Useful for visibility-based culling.
|
||||||
|
|
||||||
|
GL_ARB_texture_non_power_of_two
|
||||||
|
Removes the restriction that texture dimensions must be powers of two.
|
||||||
|
|
||||||
|
GL_ARB_vertex_buffer_object
|
||||||
|
Allows server-side vertex arrays, optimized host/card data transfers, etc.
|
||||||
|
|
||||||
|
GL_ARB_point_sprite
|
||||||
|
ARB-approved version of GL_NV_point_sprite. Basically allows textures
|
||||||
|
to be applied to points.
|
||||||
|
|
||||||
|
GL_IBM_multimode_draw_arrays
|
||||||
|
Allows multiple vertex arrays to be drawn with one call, including arrays
|
||||||
|
of different types of primitives.
|
||||||
|
|
||||||
|
GL_SUN_multi_draw_arrays
|
||||||
|
An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4.
|
||||||
|
|
||||||
|
|
||||||
|
With the addition of GL_ARB_occlusion_query, GL_ARB_vertex_buffer_object,
|
||||||
|
GL_ARB_texture_non_power_of_two and GL_EXT_shadow_funcs, Mesa 5.1 supports
|
||||||
|
all the new features of OpenGL 1.5. Mesa 6.0 (the next stable release)
|
||||||
|
will advertise GL_VERSION = "1.5".
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Vertex/Fragment program debugger
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
GL_MESA_program_debug is an experimental extension to support
|
||||||
|
interactive debugging of vertex and fragment programs. See the
|
||||||
|
docs/MESA_program_debug.spec file for details.
|
||||||
|
|
||||||
|
The bulk of the vertex/fragment program debugger is implemented
|
||||||
|
outside of Mesa. The GL_MESA_program_debug extension just has minimal
|
||||||
|
hooks for stopping running programs and inspecting programs.
|
||||||
|
|
||||||
|
The progs/tests/debugger.c (only in CVS) program is an example of how
|
||||||
|
the extension can be used. Presently, the debugger code and demo code
|
||||||
|
is in the same file. Eventually the debugger code should be moved
|
||||||
|
into a reusable module.
|
||||||
|
|
||||||
|
As it is now, the demo lets you set breakpoings in vertex/fragment
|
||||||
|
programs, single step, and print intermediate register values. It's
|
||||||
|
basically just a proof of concept.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Directory tree reorganization
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
The directory structure for Mesa has been overhauled to improve its layout.
|
||||||
|
All source code for Mesa, GLU, GLUT, etc is now under the src/ directory
|
||||||
|
in appropriate subdirectories.
|
||||||
|
|
||||||
|
The Mesa source code and drivers has been reorganized under src/mesa/.
|
||||||
|
|
||||||
|
All demonstration programs and tests are now in subdirectories under progs/.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Build System Changes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
The GNU automake/autoconf support has been removed. As it was, it seldom
|
||||||
|
worked on anything but Linux. The Mesa developers aren't big fans of
|
||||||
|
automake/autoconf/libtool and didn't have the time to maintain it.
|
||||||
|
If someone wants to contribute new automake/autoconf support (and is
|
||||||
|
willing to maintain it), it may be re-incorporated into Mesa, subject
|
||||||
|
to some requirements.
|
||||||
|
|
||||||
|
The "old style" makefile system has been updated:
|
||||||
|
1. Make-config has been trimmed down to fewer, modern configurations.
|
||||||
|
2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
|
||||||
|
script that works on all sorts of systems. There are probably some
|
||||||
|
bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
|
||||||
|
Improvements/contributes are greatly appreciated.
|
||||||
|
3. The Makefile.X11 files have been cleaned up in various ways
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Source File Changes
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
The mmath.[ch] files are obsolete. Their contents have been moved
|
||||||
|
into the imports.[ch] and macros.[ch] files.
|
||||||
|
|
||||||
|
The files related to vertex and fragment programming have changed.
|
||||||
|
Old files:
|
||||||
|
vpexec.[ch]
|
||||||
|
vpparse.[ch]
|
||||||
|
vpstate.[ch]
|
||||||
|
New files:
|
||||||
|
program.[ch] - generic ARB/NV program code
|
||||||
|
arbprogram.[ch] - ARB program API functions
|
||||||
|
nvprogram.[ch] - NV program API functions
|
||||||
|
nvvertprog.h - NV vertex program definitions
|
||||||
|
nvfragprog.h - NV fragment program definitions
|
||||||
|
nvvertparse.[ch] - NV vertex program parser
|
||||||
|
nvfragparse.[ch] - NV fragment program parser
|
||||||
|
nvvertexec.[ch] - NV vertex program execution
|
||||||
|
swrast/s_nvfragprog.[ch] - NV fragment program execution
|
||||||
|
|
||||||
|
Removed files:
|
||||||
|
swrast/s_histogram.[ch] - moved into src/histogram.c
|
||||||
|
|
||||||
|
Other New files:
|
||||||
|
bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
|
||||||
|
version.h - defines the Mesa version info
|
||||||
|
|
||||||
|
|
||||||
|
Other Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The ctx->Driver.CreateTexture function has been removed - it wasn't used.
|
||||||
|
|
||||||
|
New device driver hook functions:
|
||||||
|
NewTextureObject - used to allocate struct gl_texture_objects
|
||||||
|
NewTextureImage - used to allocate struct gl_texture_images
|
||||||
|
|
||||||
|
New ctx->Texture._EnabledCoordUnits field:
|
||||||
|
With the addition of GL_NV_fragment_program we may need to interpolate
|
||||||
|
various sets of texture coordinates even when the corresponding texture
|
||||||
|
unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
|
||||||
|
called but we still may have to interpolate texture coordinates across
|
||||||
|
triangles so that the fragment program will get them.
|
||||||
|
This new field indicates which sets of texture coordinates are needed.
|
||||||
|
If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
|
||||||
|
same bit MUST be set in ctx->Texture._EnabledCoordUnits.
|
||||||
|
|
||||||
|
The ctx->_TriangleCaps field is deprecated.
|
||||||
|
Instead of testing the DD_* bits in _TriangleCaps, you should instead
|
||||||
|
directly test the relevant state variables, or use one of the helper
|
||||||
|
functions like NEED_SECONDARY_COLOR() at the bottom of context.h
|
||||||
|
While testing _TriangleCaps bits was fast, it was kludgey, and setting
|
||||||
|
the bits in the first place could be error prone.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To Do
|
||||||
|
-----
|
||||||
|
Add screen-awareness to fakeglx.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Device Driver Status
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
A number of Mesa's software drivers haven't been actively maintained for
|
||||||
|
some time. We rely on volunteers to maintain many of these drivers.
|
||||||
|
Here's the current status of all included drivers:
|
||||||
|
|
||||||
|
|
||||||
|
Driver Status
|
||||||
|
---------------------- ---------------------
|
||||||
|
XMesa (Xlib) implements OpenGL 1.4
|
||||||
|
OSMesa (off-screen) implements OpenGL 1.4
|
||||||
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA implements OpenGL 1.3
|
||||||
|
Wind River UGL implements OpenGL 1.3
|
||||||
|
Windows/Win32 implements OpenGL 1.4
|
||||||
|
DJGPP implements OpenGL 1.4
|
||||||
|
GGI implements OpenGL 1.3
|
||||||
|
BeOS implements OpenGL 1.4
|
||||||
|
Allegro needs updating
|
||||||
|
D3D needs updating
|
||||||
|
|
||||||
|
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
|
||||||
|
driver call the _mesa_enable_1_4_extensions() function.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
436
docs/VERSIONS
436
docs/VERSIONS
@@ -1,4 +1,3 @@
|
|||||||
$Id: VERSIONS,v 1.38 2000/07/21 15:41:59 brianp Exp $
|
|
||||||
|
|
||||||
|
|
||||||
Mesa Version History
|
Mesa Version History
|
||||||
@@ -746,3 +745,438 @@ Mesa Version History
|
|||||||
- gl.h now uses #defines instead of C enums for all tokens
|
- gl.h now uses #defines instead of C enums for all tokens
|
||||||
- glu.h now uses #defines instead of C enums for all tokens
|
- glu.h now uses #defines instead of C enums for all tokens
|
||||||
- moved programs from 3Dfx/demos/ into demos/ directory
|
- moved programs from 3Dfx/demos/ into demos/ directory
|
||||||
|
|
||||||
|
|
||||||
|
3.4 November 3, 2000
|
||||||
|
New:
|
||||||
|
- optimized glDrawPixels for glPixelZoom(1,-1)
|
||||||
|
Bug Fixes:
|
||||||
|
- widgets-mesa/src/*.c files were missing from 3.3 distro
|
||||||
|
- include/GL/mesa_wgl.h file was missing from 3.3 distro
|
||||||
|
- fixed some Win32 compile problems
|
||||||
|
- texture object priorities weren't getting initialized to 1.0
|
||||||
|
- glAreTexturesResident return value was wrong when using hardware
|
||||||
|
- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
|
||||||
|
- glReadPixels with GLushort packed types was broken
|
||||||
|
- fixed a few bugs in the GL_EXT_texture_env_combine texture code
|
||||||
|
- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
|
||||||
|
- fixed some typos/bugs in the VB code
|
||||||
|
- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
|
||||||
|
- optimized glDrawPixels paths weren't being used
|
||||||
|
- per-fragment fog calculation didn't work without a Z buffer
|
||||||
|
- improved blending accuracy, fixes Glean blendFunc test failures
|
||||||
|
- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
|
||||||
|
- glXGetProcAddressARB() didn't always return the right address
|
||||||
|
- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
|
||||||
|
- texture matrix changes weren't always detected (GLUT projtex demo)
|
||||||
|
- fixed random color problem in vertex fog code
|
||||||
|
- fixed Glide-related bug that let Quake get a 24-bit Z buffer
|
||||||
|
Changes:
|
||||||
|
- finished internal support for compressed textures for DRI
|
||||||
|
|
||||||
|
|
||||||
|
3.4.1 February 14, 2001
|
||||||
|
New:
|
||||||
|
- fixed some Linux build problems
|
||||||
|
- fixed some Windows build problems
|
||||||
|
- GL_EXT_texture_env_dot3 extension (Gareth Hughes)
|
||||||
|
Bug fixes:
|
||||||
|
- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
|
||||||
|
- various state-update code changes needed for DRI bugs
|
||||||
|
- disabled pixel transfer ops in glColorTable commands, not needed
|
||||||
|
- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
|
||||||
|
- updated sources and fixed compile problems in widgets-mesa/
|
||||||
|
- GLX_PBUFFER enum value was wrong in glx.h
|
||||||
|
- fixed a glColorMaterial lighting bug
|
||||||
|
- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
|
||||||
|
- glXCopySubBufferMESA() Y position was off by one
|
||||||
|
- Error checking of glTexSubImage3D() was broken (bug 128775)
|
||||||
|
- glPopAttrib() didn't restore all derived Mesa state correctly
|
||||||
|
- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
|
||||||
|
conformance problems at 16bpp.
|
||||||
|
- clearing depth buffer with scissoring was broken, would segfault
|
||||||
|
- OSMesaGetDepthBuffer() returned bad bytesPerValue value
|
||||||
|
- fixed a line clipping bug (reported by Craig McDaniel)
|
||||||
|
- fixed RGB color over/underflow bug for very tiny triangles
|
||||||
|
Known problems:
|
||||||
|
- NURBS or evaluator surfaces inside display lists don't always work
|
||||||
|
|
||||||
|
|
||||||
|
3.4.2 May 17, 2001
|
||||||
|
Bug fixes:
|
||||||
|
- deleting the currently bound texture could cause bad problems
|
||||||
|
- using fog could result in random vertex alpha values
|
||||||
|
- AA triangle rendering could touch pixels outside right window bound
|
||||||
|
- fixed byteswapping problem in clear_32bit_ximage() function
|
||||||
|
- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
|
||||||
|
- fixed memory leak in glXUseXFont()
|
||||||
|
- fragment sampling in AA triangle function was off by 1/2 pixel
|
||||||
|
- Windows: reading pixels from framebuffer didn't always work
|
||||||
|
- glConvolutionFilter2D could segfault or cause FP exception
|
||||||
|
- fixed segfaults in FX and X drivers when using tex unit 1 but not 0
|
||||||
|
- GL_NAND logicop didn't work right in RGBA mode
|
||||||
|
- fixed a memory corruption bug in vertex buffer reset code
|
||||||
|
- clearing the softwara alpha buffer with scissoring was broken
|
||||||
|
- fixed a few color index mode fog bugs
|
||||||
|
- fixed some bad assertions in color index mode
|
||||||
|
- fixed FX line 'stipple' bug #420091
|
||||||
|
- fixed stencil buffer clear width/height typo
|
||||||
|
- fixed GL error glitches in gl[Client]ActiveTextureARB()
|
||||||
|
- fixed Windows compilation problem in texutil.c
|
||||||
|
- fixed 1/8-pixel AA triangle sampling error
|
||||||
|
Changes:
|
||||||
|
- optimized writing mono-colored pixel spans to X pixmaps
|
||||||
|
- increased max viewport size to 2048 x 2048
|
||||||
|
|
||||||
|
|
||||||
|
3.5 June 21, 2001
|
||||||
|
New:
|
||||||
|
- internals of Mesa divided into modular pieces (Keith Whitwell)
|
||||||
|
- 100% OpenGL 1.2 conformance (passes all conformance tests)
|
||||||
|
- new AA line algorithm
|
||||||
|
- GL_EXT_convolution extension
|
||||||
|
- GL_ARB_imaging subset
|
||||||
|
- OSMesaCreateContextExt() function
|
||||||
|
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
|
||||||
|
- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
|
||||||
|
- GL_EXT_fog_coord extension (Keith Whitwell)
|
||||||
|
- GL_EXT_secondary_color extension (Keith Whitwell)
|
||||||
|
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
|
||||||
|
- GL_SGIX_depth_texture extension
|
||||||
|
- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
|
||||||
|
- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
|
||||||
|
- GL_ARB_texture_env_combine extension
|
||||||
|
- GL_ARB_texture_env_dot3 extension
|
||||||
|
- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
|
||||||
|
- OSMesaCreateContextExt() function
|
||||||
|
- libOSMesa.so library, contains the OSMesa driver interface
|
||||||
|
- GL/glxext.h header file for GLX extensions
|
||||||
|
- somewhat faster software texturing, fogging, depth testing
|
||||||
|
- all color-index conformance tests now pass (only 8bpp tested)
|
||||||
|
- SPARC assembly language TCL optimizations (David Miller)
|
||||||
|
- GL_SGIS_generate_mipmap extension
|
||||||
|
Bug Fixes:
|
||||||
|
- fbiRev and tmuRev were unitialized when using Glide3
|
||||||
|
- fixed a few color index mode conformance failures; all pass now
|
||||||
|
- now appling antialiasing coverage to alpha after texturing
|
||||||
|
- colors weren't getting clamped to [0,1] before color table lookup
|
||||||
|
- fixed RISC alignment errors caused by COPY_4UBV macro
|
||||||
|
- drawing wide, flat-shaded lines could cause a segfault
|
||||||
|
- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
|
||||||
|
Changes:
|
||||||
|
- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
|
||||||
|
- new libOSMesa.so library, contains the OSMesa driver interface
|
||||||
|
|
||||||
|
|
||||||
|
4.0 October 22, 2001
|
||||||
|
New:
|
||||||
|
- Mesa 4.0 implements the OpenGL 1.3 specification
|
||||||
|
- GL_IBM_rasterpos_clip extension
|
||||||
|
- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
|
||||||
|
- GL_ARB_texture_mirrored_repeat extension
|
||||||
|
- WindML UGL driver (Stephane Raimbault)
|
||||||
|
- added OSMESA_MAX_WIDTH/HEIGHT queries
|
||||||
|
- attempted compiliation fixes for Solaris 5, 7 and 8
|
||||||
|
- updated glext.h and glxext.h files
|
||||||
|
- updated Windows driver (Karl Schultz)
|
||||||
|
Bug fixes:
|
||||||
|
- added some missing GLX 1.3 tokens to include/GL/glx.h
|
||||||
|
- GL_COLOR_MATRIX changes weren't recognized by teximage functions
|
||||||
|
- glCopyPixels with scale and bias was broken
|
||||||
|
- glRasterPos with lighting could segfault
|
||||||
|
- glDeleteTextures could leave a dangling pointer
|
||||||
|
- Proxy textures for cube maps didn't work
|
||||||
|
- fixed a number of 16-bit color channel bugs
|
||||||
|
- fixed a few minor memory leaks
|
||||||
|
- GLX context sharing was broken in 3.5
|
||||||
|
- fixed state-update bugs in glPopClientAttrib()
|
||||||
|
- fixed glDrawRangeElements() bug
|
||||||
|
- fixed a glPush/PopAttrib() bug related to texture binding
|
||||||
|
- flat-shaded, textured lines were broken
|
||||||
|
- fixed a dangling pointer problem in the XMesa code (Chris Burghart)
|
||||||
|
- lighting didn't always produce the correct alpha value
|
||||||
|
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
|
||||||
|
|
||||||
|
|
||||||
|
4.0.1 December 17, 2001
|
||||||
|
New:
|
||||||
|
- better sub-pixel sample positions for AA triangles (Ray Tice)
|
||||||
|
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
|
||||||
|
Bug fixes:
|
||||||
|
- added missing break statements in glGet*() for multisample cases
|
||||||
|
- fixed uninitialized hash table mutex bug (display lists / texobjs)
|
||||||
|
- fixed bad teximage error check conditional (bug 476846)
|
||||||
|
- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
|
||||||
|
- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
|
||||||
|
- silence some compiler warnings (gcc 2.96)
|
||||||
|
- enable the #define GL_VERSION_1_3 in GL/gl.h
|
||||||
|
- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
|
||||||
|
- fixed glu.h typedef problem found with MSDev 6.0
|
||||||
|
- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
|
||||||
|
- added missing 'const' to glXGetContextIDEXT() in glxext.h
|
||||||
|
- fixed a few glXGetProcAddress() errors (texture compression, etc)
|
||||||
|
- fixed start index bug in compiled vertex arrays (Keith)
|
||||||
|
- fixed compilation problems in src/SPARC/glapi_sparc.S
|
||||||
|
- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
|
||||||
|
- use glXGetProcAddressARB in GLUT to avoid extension linking problems
|
||||||
|
- provoking vertex of flat-shaded, color-index triangles was wrong
|
||||||
|
- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
|
||||||
|
- glTexParameter didn't flush the vertex buffer (Ray Tice)
|
||||||
|
- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
|
||||||
|
- fixed bug in normal length caching (ParaView lighting bug)
|
||||||
|
- fixed separate_specular color bug found in Chimera (18 Dec 2001)
|
||||||
|
|
||||||
|
|
||||||
|
4.0.2 April 2, 2002
|
||||||
|
New:
|
||||||
|
- New DOS (DJGPP) driver written by Daniel Borca
|
||||||
|
- New driver interface functions for TCL drivers (such as Radeon DRI)
|
||||||
|
- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
|
||||||
|
if using deep color channels
|
||||||
|
- latest GL/glext.h and GL/glxext.h headers from SGI
|
||||||
|
Bug fixes:
|
||||||
|
- GL_BLEND with non-black texture env color wasn't always correct
|
||||||
|
- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
|
||||||
|
- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
|
||||||
|
- glReadPixels was sometimes mistakenly clipped by the scissor box
|
||||||
|
- glDraw/ReadPixels didn't catch all the errors that they should have
|
||||||
|
- Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
|
||||||
|
- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
|
||||||
|
- Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
|
||||||
|
- glColorMask as sometimes effecting glXSwapBuffers()
|
||||||
|
- fixed a potential bug in XMesaGarbageCollect()
|
||||||
|
- N threads rendering into one window didn't work reliably
|
||||||
|
- glCopyPixels didn't work for deep color channels
|
||||||
|
- improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
|
||||||
|
- glPopAttrib() didn't correctly restore user clip planes
|
||||||
|
- user clip planes failed for some perspective projections (Chromium)
|
||||||
|
Known bugs:
|
||||||
|
- mipmap LOD computation
|
||||||
|
|
||||||
|
|
||||||
|
4.0.3 June 25, 2002
|
||||||
|
New:
|
||||||
|
- updated GL/glext.h file (version 15)
|
||||||
|
- corrected MMX blend code (Jose Fonseca)
|
||||||
|
- support for software-based alpha planes in Windows driver
|
||||||
|
- updated GGI driver (Filip Spacek)
|
||||||
|
Bug fixes:
|
||||||
|
- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
|
||||||
|
- OSMesaMakeCurrent() didn't recognize buffer size changes
|
||||||
|
- assorted conformance fixes for 16-bit/channel rendering
|
||||||
|
- texcombine alpha subtraction mode was broken
|
||||||
|
- fixed lighting bug with non-uniform scaling and display lists
|
||||||
|
- fixed bug when deleting shared display lists
|
||||||
|
- disabled SPARC cliptest assembly code (Mesa bug 544665)
|
||||||
|
- fixed a couple Solaris compilation/link problems
|
||||||
|
- blending clipped glDrawPixels didn't always work
|
||||||
|
- glGetTexImage() didn't accept packed pixel types
|
||||||
|
- glPixelMapu[is]v() could explode given too large of pixelmap
|
||||||
|
- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
|
||||||
|
- glXCopyContext() could lead to segfaults
|
||||||
|
- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
|
||||||
|
Changes:
|
||||||
|
- lots of C++ (g++) code clean-ups
|
||||||
|
- lots of T&L updates for the Radeon DRI driver
|
||||||
|
Known bugs:
|
||||||
|
- mipmap LOD computation (fixed for Mesa 4.1)
|
||||||
|
|
||||||
|
|
||||||
|
4.0.4 October 3, 2002
|
||||||
|
New:
|
||||||
|
- GL_NV_texture_rectangle extension
|
||||||
|
- updated glext.h header (version 17)
|
||||||
|
- updated DOS driver (Daniel Borca)
|
||||||
|
- updated BeOS R5 driver (Philippe Houdoin)
|
||||||
|
- added GL_IBM_texture_mirror_repeat
|
||||||
|
- glxinfo now takes -l option to print interesting OpenGL limits info
|
||||||
|
- GL_MESA_ycbcr_texture extension
|
||||||
|
- GL_APPLE_client_storage extension (for some DRI drivers only)
|
||||||
|
- GL_MESA_pack_invert extension
|
||||||
|
Bug fixes:
|
||||||
|
- fixed GL_LINEAR fog bug by adding clamping
|
||||||
|
- fixed FP exceptions found using Alpha CPU
|
||||||
|
- 3dfx MESA_GLX_FX=window (render to window) didn't work
|
||||||
|
- fixed memory leak in wglCreateContest (Karl Schultz)
|
||||||
|
- define GLAPIENTRY and GLAPI if undefined in glu.h
|
||||||
|
- wglGetProcAddress didn't handle all API functions
|
||||||
|
- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
|
||||||
|
- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
|
||||||
|
- error checking in compressed tex image functions had some glitches
|
||||||
|
- fixed AIX compile problem in src/config.c
|
||||||
|
- glGetTexImage was using pixel unpacking instead of packing params
|
||||||
|
- auto-mipmap generation for cube maps was incorrect
|
||||||
|
Changes:
|
||||||
|
- max texture units reduced to six to accomodate texture rectangles
|
||||||
|
- removed unfinished GL_MESA_sprite_point extension code
|
||||||
|
|
||||||
|
|
||||||
|
4.1 October 29, 2002
|
||||||
|
New:
|
||||||
|
- GL_NV_vertex_program extension
|
||||||
|
- GL_NV_vertex_program1_1 extension
|
||||||
|
- GL_ARB_window_pos extension
|
||||||
|
- GL_ARB_depth_texture extension
|
||||||
|
- GL_ARB_shadow extension
|
||||||
|
- GL_ARB_shadow_ambient extension
|
||||||
|
- GL_EXT_shadow_funcs extension
|
||||||
|
- GL_ARB_point_parameters extension
|
||||||
|
- GL_ARB_texture_env_crossbar
|
||||||
|
- GL_NV_point_sprite extension
|
||||||
|
- GL_NV_texture_rectangle extension
|
||||||
|
- GL_EXT_multi_draw_arrays extension
|
||||||
|
- GL_EXT_stencil_two_side extension
|
||||||
|
- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
|
||||||
|
- GL_ATI_texture_mirror_once extension (Ian Romanick)
|
||||||
|
- massive overhaul/simplification of software rasterizer module,
|
||||||
|
many contributions from Klaus Niederkrueger
|
||||||
|
- faster software texturing in some cases (i.e. trilinear filtering)
|
||||||
|
- new OSMesaGetProcAddress() function
|
||||||
|
- more blend modes implemented with MMX code (Jose Fonseca)
|
||||||
|
- added glutGetProcAddress() to GLUT
|
||||||
|
- added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
|
||||||
|
- pbinfo and pbdemo PBuffer programs
|
||||||
|
- glxinfo -v prints transprent pixel info (Gerd Sussner)
|
||||||
|
Bug fixes:
|
||||||
|
- better mipmap LOD computation (prevents excessive blurriness)
|
||||||
|
- OSMesaMakeCurrent() didn't recognize buffer size changes
|
||||||
|
- assorted conformance fixes for 16-bit/channel rendering
|
||||||
|
- texcombine alpha subtraction mode was broken
|
||||||
|
- fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
|
||||||
|
- clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma)
|
||||||
|
- fixed divide by zero error in NURBS tessellator (Jon Perry)
|
||||||
|
- fixed GL_LINEAR fog bug by adding clamping
|
||||||
|
- fixed FP exceptions found using Alpha CPU
|
||||||
|
- 3dfx/glide driver render-to-window feature was broken
|
||||||
|
- added missing GLX_TRANSPARENT_RGB token to glx.h
|
||||||
|
- fixed error checking related to paletted textures
|
||||||
|
- fixed reference count error in glDeleteTextures (Randy Fayan)
|
||||||
|
Changes:
|
||||||
|
- New spec file and Python code to generate some GL dispatch files
|
||||||
|
- Glide driver defaults to "no" with autoconf/automake
|
||||||
|
- updated demos/stex3d with new options
|
||||||
|
|
||||||
|
|
||||||
|
5.0 November 13, 2002
|
||||||
|
New:
|
||||||
|
- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
|
||||||
|
- removed some overlooked debugging code
|
||||||
|
- glxinfo updated to support GLX_ARB_multisample
|
||||||
|
- GLUT now support GLX_ARB_multisample
|
||||||
|
- updated DOS driver (Daniel Borca)
|
||||||
|
Bug fixes:
|
||||||
|
- GL_POINT and GL_LINE-mode polygons didn't obey cull state
|
||||||
|
- fixed potential bug in _mesa_align_malloc/calloc()
|
||||||
|
- fixed missing triangle bug when running vertex programs
|
||||||
|
- fixed a few HPUX compilation problems
|
||||||
|
- FX (Glide) driver didn't compile
|
||||||
|
- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
|
||||||
|
- a few EXT functions, like glGenTexturesEXT, were no-ops
|
||||||
|
- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
|
||||||
|
glMultiDrawArrays and glMultiDrawElements were missing
|
||||||
|
- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
|
||||||
|
- Pentium 4 Mobile was mistakenly identified as having 3DNow!
|
||||||
|
- fixed one-bit error in point/line fragment Z calculation
|
||||||
|
- fixed potential segfault in fakeglx code
|
||||||
|
- fixed color overflow problem in DOT3 texture env mode
|
||||||
|
|
||||||
|
|
||||||
|
5.0.1 March 30, 2003
|
||||||
|
New:
|
||||||
|
- DOS driver updates from Daniel Borca
|
||||||
|
- updated GL/gl_mangle.h file (Bill Hoffman)
|
||||||
|
Bug fixes:
|
||||||
|
- auto mipmap generation for cube maps was broken (bug 641363)
|
||||||
|
- writing/clearing software alpha channels was unreliable
|
||||||
|
- minor compilation fixes for OS/2 (Evgeny Kotsuba)
|
||||||
|
- fixed some bad assertions found with shadowtex demo
|
||||||
|
- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
|
||||||
|
- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
|
||||||
|
- fixed potential segfault in texture object validation (bug 659012)
|
||||||
|
- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
|
||||||
|
- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
|
||||||
|
- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
|
||||||
|
- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
|
||||||
|
- fixed compilation problem on Solaris7/x86 (bug 536406)
|
||||||
|
- fixed prefetch bug in 3DNow! code (Felix Kuhling)
|
||||||
|
- fixed NeXT build problem (FABSF macro)
|
||||||
|
- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
|
||||||
|
- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
|
||||||
|
- AA line and triangle Z values are now rounded, not truncated
|
||||||
|
- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
|
||||||
|
- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
|
||||||
|
- fixed a minor GL_COLOR_MATERIAL bug
|
||||||
|
- NV vertex program EXP instruction was broken
|
||||||
|
- glColorMask misbehaved with X window / pixmap rendering
|
||||||
|
- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
|
||||||
|
- attempt to fix GGI compilation problem when MesaDemos not present
|
||||||
|
- NV vertex program ARL-relative fetches didn't work
|
||||||
|
Changes:
|
||||||
|
- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
|
||||||
|
- updated winpos and pointblast demos to use ARB extensions
|
||||||
|
- disable SPARC normal transformation code (bug 673938)
|
||||||
|
- GLU fixes for OS/2 (Evgeny Kotsuba)
|
||||||
|
|
||||||
|
|
||||||
|
5.0.2 September 5, 2003
|
||||||
|
Bug fixes:
|
||||||
|
- fixed texgen problem causing texcoord's Q to be zero (stex3d)
|
||||||
|
- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
|
||||||
|
- GL_CURRENT_MATRIX_NV query was wrong
|
||||||
|
- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
|
||||||
|
- GL_LIST_MODE query wasn't correct
|
||||||
|
- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
|
||||||
|
- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
|
||||||
|
- blended, wide lines didn't always work correctly (bug 711595)
|
||||||
|
- glVertexAttrib4svNV w component was always 1
|
||||||
|
- fixed bug in GL_IBM_rasterpos_clip (missing return)
|
||||||
|
- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
|
||||||
|
- a few Solaris compilation fixes
|
||||||
|
- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
|
||||||
|
- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
|
||||||
|
- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
|
||||||
|
- glFog() didn't clamp fog colors
|
||||||
|
- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
|
||||||
|
gl[Get]TexParameteri[v] functions
|
||||||
|
- fixed invalid memory references in glTexGen functions (bug 781602)
|
||||||
|
- integer-valued color arrays weren't handled correctly
|
||||||
|
- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
|
||||||
|
- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
|
||||||
|
Changes:
|
||||||
|
- build GLUT with -fexceptions so C++ apps propogate exceptions
|
||||||
|
|
||||||
|
|
||||||
|
5.1 Month day, 2003 (NOT RELEASED YET)
|
||||||
|
New:
|
||||||
|
- reorganized directory tree
|
||||||
|
- GL_ATI_texture_env_combine3 extension (Ian Romanick)
|
||||||
|
- GL_SGI_texture_color_table extension (Eric Plante)
|
||||||
|
- GL_NV_fragment_program extension
|
||||||
|
- GL_NV_light_max_exponent extension
|
||||||
|
- GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
|
||||||
|
- GL_ARB_occlusion_query extension
|
||||||
|
- GL_ARB_point_sprite extension
|
||||||
|
- GL_ARB_texture_non_power_of_two extension
|
||||||
|
- GL_IBM_multimode_draw_arrays extension
|
||||||
|
- GL_EXT_texture_mirror_clamp extension (Ian Romanick)
|
||||||
|
- GL_ARB_vertex_buffer_object extension
|
||||||
|
- new X86 feature detection code (Petr Sebor)
|
||||||
|
- less memory used for display lists and vertex buffers
|
||||||
|
- demo of per-pixel lighting with a fragment program (demos/fplight.c)
|
||||||
|
- new version (18) of glext.h header
|
||||||
|
- new spriteblast.c demo of GL_ARB_point_sprite
|
||||||
|
Bug fixes:
|
||||||
|
- really enable OpenGL 1.4 features in DOS driver.
|
||||||
|
- fixed issues in glDrawPixels and glCopyPixels for very wide images
|
||||||
|
- glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
|
||||||
|
- fixed some texgen bugs reported by Daniel Borca
|
||||||
|
- fixed wglMakeCurrent(NULL, NULL) bug (#835861)
|
||||||
|
- fixed glTexSubImage3D z-offset bug (Cedric Gautier)
|
||||||
|
- fixed RGBA blend enable bug (Ville Syrjala)
|
||||||
|
- glAccum is supposed to be a no-op in selection/feedback mode
|
||||||
|
- fixed texgen bug #597589 (John Popplewell)
|
||||||
|
Changes:
|
||||||
|
- dropped API trace feature (src/Trace/)
|
||||||
|
- documentation overhaul. merged with website content. more html.
|
||||||
|
- glxgears.c demo updated to use GLX swap rate extensions
|
||||||
|
- glTexImage1/2/3D now allows width/height/depth = 0
|
||||||
|
|||||||
15
docs/banner.html
Normal file
15
docs/banner.html
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<title>Banner</title>
|
||||||
|
|
||||||
|
|
||||||
|
<body text="#ffffff" bgcolor="#aa4444">
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<p>
|
||||||
|
<font size="5">The Mesa 3D Graphics Library</font>
|
||||||
|
</p>
|
||||||
|
</center>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
35
docs/bugs.html
Normal file
35
docs/bugs.html
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Bug Reporting</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Bug Database</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Bug reports can be filed in the <a
|
||||||
|
href="http://sourceforge.net/bugs/?group_id=3" target="_parent">Bug
|
||||||
|
Database</a> on sourceforge.net. Please follow these guidelines:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Make sure you're using the most recent version of Mesa
|
||||||
|
<li>Make sure your bug isn't already reported
|
||||||
|
<li>Include as much information as possible in the report
|
||||||
|
<li>Provide a simple GLUT-based test program if possible
|
||||||
|
<li>Check back for follow-ups to the report
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Bug reports will automatically be forwarded to the Mesa developer's list.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The easier a bug is to reproduce, the sooner it will be fixed.
|
||||||
|
Please do everything you can to facilitate quickly fixing bugs.
|
||||||
|
If your bug report is vague or your test program doesn't compile
|
||||||
|
easily, the problem may not be fixed very quickly.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
693
docs/conform.html
Normal file
693
docs/conform.html
Normal file
@@ -0,0 +1,693 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Conformance</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Conformance</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The SGI OpenGL conformance tests verify correct operation of OpenGL
|
||||||
|
implementations. I, Brian Paul, have been given a copy of the tests
|
||||||
|
for testing Mesa. The tests are not publically available.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This file has the latest results of testing Mesa with the OpenGL 1.2
|
||||||
|
conformance tests. Testing with the preliminary OpenGL 1.3 tests has
|
||||||
|
also been done. Mesa passes all the 1.3 tests.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The tests were run using the software X11 device driver on 24-bpp
|
||||||
|
and 16-bpp displays.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Mesa 4.0 and later pass all conformance tests at all path levels.
|
||||||
|
Note that this says nothing about the conformance of hardware drivers
|
||||||
|
based upon Mesa.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
|
||||||
|
COVERAGE TESTS
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Test that all API functions accept the legal parameters and reject
|
||||||
|
illegal parameters. The result of each test is either pass or fail.
|
||||||
|
|
||||||
|
% covgl
|
||||||
|
OpenGL Coverage Test.
|
||||||
|
Version 1.2
|
||||||
|
|
||||||
|
covgl passed.
|
||||||
|
|
||||||
|
covgl passed at 1.1 level.
|
||||||
|
|
||||||
|
covgl passed at 1.2 level.
|
||||||
|
|
||||||
|
covgl passed for ARB_multitexture.
|
||||||
|
|
||||||
|
|
||||||
|
% covglu
|
||||||
|
OpenGL GLU Coverage Test.
|
||||||
|
Version 1.3
|
||||||
|
|
||||||
|
covglu passed.
|
||||||
|
|
||||||
|
covglu passed at 1.1 level.
|
||||||
|
|
||||||
|
|
||||||
|
% covglx
|
||||||
|
OpenGL X Coverage Test.
|
||||||
|
Version 1.1.1
|
||||||
|
|
||||||
|
covglx passed.
|
||||||
|
|
||||||
|
|
||||||
|
% primtest -v
|
||||||
|
Open GL Primitives Test.
|
||||||
|
Version 1.2
|
||||||
|
|
||||||
|
[lots of output deleted]
|
||||||
|
|
||||||
|
292159 Combinations.
|
||||||
|
primtest passed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GL CONFORMANCE TEST
|
||||||
|
===================
|
||||||
|
|
||||||
|
Render test images, read them back, then test for expected results.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
% conform -v 2
|
||||||
|
|
||||||
|
OpenGL Conformance Test
|
||||||
|
Version 1.2
|
||||||
|
|
||||||
|
Setup Report.
|
||||||
|
Verbose level = 2.
|
||||||
|
Random number seed = 1.
|
||||||
|
Path inactive.
|
||||||
|
|
||||||
|
Visual Report.
|
||||||
|
Display ID = 35. Indirect Rendering.
|
||||||
|
Double Buffered.
|
||||||
|
RGBA (5, 6, 5, 0).
|
||||||
|
Stencil (8).
|
||||||
|
Depth (16).
|
||||||
|
Accumulation (16, 16, 16, 16).
|
||||||
|
|
||||||
|
Epsilon Report.
|
||||||
|
zero error epsilon = 0.000122.
|
||||||
|
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||||
|
Depth buffer error epsilon = 0.000137.
|
||||||
|
Stencil plane error epsilon = 0.00404.
|
||||||
|
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||||
|
|
||||||
|
Default State test passed.
|
||||||
|
Must Pass test passed.
|
||||||
|
Divide By Zero test passed.
|
||||||
|
Viewport Clamp test passed.
|
||||||
|
Matrix Stack test passed.
|
||||||
|
Matrix Stack Mixing test passed.
|
||||||
|
Vertex Order test passed.
|
||||||
|
Transformations test passed.
|
||||||
|
Transformation Normal test passed.
|
||||||
|
Viewport Transformation test passed.
|
||||||
|
Buffer Clear test passed.
|
||||||
|
Buffer Corners test passed.
|
||||||
|
Buffer Color test passed.
|
||||||
|
Color Ramp test passed.
|
||||||
|
Mask test passed.
|
||||||
|
Buffer Invariance test passed.
|
||||||
|
Accumulation Buffer test passed.
|
||||||
|
Select test passed.
|
||||||
|
Feedback test passed.
|
||||||
|
Scissor test passed.
|
||||||
|
Alpha Plane Function test passed.
|
||||||
|
Stencil Plane Clear test passed.
|
||||||
|
Stencil Plane Corners test passed.
|
||||||
|
Stencil Plane Operation test passed.
|
||||||
|
Stencil Plane Function test passed.
|
||||||
|
Depth Buffer Clear test passed.
|
||||||
|
Depth Buffer Function test passed.
|
||||||
|
Blend test passed.
|
||||||
|
Dither test passed.
|
||||||
|
LogicOp Function test does not exist for an RGB visual.
|
||||||
|
DrawPixels test passed.
|
||||||
|
CopyPixels test passed.
|
||||||
|
Bitmap Rasterization test passed.
|
||||||
|
Point Rasterization test passed.
|
||||||
|
Anti-aliased Point test passed.
|
||||||
|
Line Rasterization test passed.
|
||||||
|
Line Stipple test passed.
|
||||||
|
Anti-aliased Line test passed.
|
||||||
|
Horizontal and Vertical Line test passed.
|
||||||
|
Triangle Rasterization test passed.
|
||||||
|
Triangle Tile test passed.
|
||||||
|
Triangle Stipple test passed.
|
||||||
|
Anti-aliased Triangles test passed.
|
||||||
|
Quad Rasterization test passed.
|
||||||
|
Polygon Face test passed.
|
||||||
|
Polygon Cull test passed.
|
||||||
|
Polygon Stipple test passed.
|
||||||
|
Polygon Edge test passed.
|
||||||
|
Ambient Material test passed.
|
||||||
|
Ambient Scene test passed.
|
||||||
|
Attenuation Position test passed.
|
||||||
|
Diffuse Light test passed.
|
||||||
|
Diffuse Material test passed.
|
||||||
|
Diffuse Material Normal test passed.
|
||||||
|
Diffuse Material Positioning test passed.
|
||||||
|
Emissive Material test passed.
|
||||||
|
Specular Exponent test passed.
|
||||||
|
Specular Exponent Normal test passed.
|
||||||
|
Specular Local Eye Half Angle test passed.
|
||||||
|
Specular Light test passed.
|
||||||
|
Specular Material test passed.
|
||||||
|
Specular Normal test passed.
|
||||||
|
Spot Positioning test passed.
|
||||||
|
Spot Exponent and Positioning test passed.
|
||||||
|
Spot Exponent and Direction test passed.
|
||||||
|
Fog Exponential test passed.
|
||||||
|
Fog Linear test passed.
|
||||||
|
Texture Decal test passed.
|
||||||
|
Texture Border test passed.
|
||||||
|
Mipmaps Selection test passed.
|
||||||
|
Mipmaps Interpolation test passed.
|
||||||
|
Display Lists test passed.
|
||||||
|
Evaluator test passed.
|
||||||
|
Evaluator Color test passed.
|
||||||
|
Texture Edge Clamp test passed.
|
||||||
|
Packed Pixels test passed.
|
||||||
|
Texture LOD test passed.
|
||||||
|
Rescale Normal test passed.
|
||||||
|
Color Table test passed.
|
||||||
|
Convolution test passed.
|
||||||
|
Convolution Border test passed.
|
||||||
|
Histogram test passed.
|
||||||
|
MinMax test passed.
|
||||||
|
MultiTexture test passed.
|
||||||
|
|
||||||
|
Conform passed.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
% conform -v 2 -p 1
|
||||||
|
|
||||||
|
OpenGL Conformance Test
|
||||||
|
Version 1.2
|
||||||
|
|
||||||
|
Setup Report.
|
||||||
|
Verbose level = 2.
|
||||||
|
Random number seed = 1.
|
||||||
|
Path level = 1.
|
||||||
|
|
||||||
|
Visual Report.
|
||||||
|
Display ID = 35. Indirect Rendering.
|
||||||
|
Double Buffered.
|
||||||
|
RGBA (5, 6, 5, 0).
|
||||||
|
Stencil (8).
|
||||||
|
Depth (16).
|
||||||
|
Accumulation (16, 16, 16, 16).
|
||||||
|
|
||||||
|
Epsilon Report.
|
||||||
|
zero error epsilon = 0.000122.
|
||||||
|
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||||
|
Depth buffer error epsilon = 0.000137.
|
||||||
|
Stencil plane error epsilon = 0.00404.
|
||||||
|
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||||
|
|
||||||
|
Default State test passed.
|
||||||
|
Must Pass test passed.
|
||||||
|
Divide By Zero test passed.
|
||||||
|
Viewport Clamp test passed.
|
||||||
|
Matrix Stack test passed.
|
||||||
|
Matrix Stack Mixing test passed.
|
||||||
|
Vertex Order test passed.
|
||||||
|
Transformations test passed.
|
||||||
|
Transformation Normal test passed.
|
||||||
|
Viewport Transformation test passed.
|
||||||
|
Buffer Clear test passed.
|
||||||
|
Buffer Corners test passed.
|
||||||
|
Buffer Color test passed.
|
||||||
|
Color Ramp test passed.
|
||||||
|
Mask test passed.
|
||||||
|
Buffer Invariance test passed.
|
||||||
|
Accumulation Buffer test passed.
|
||||||
|
Select test passed.
|
||||||
|
Feedback test passed.
|
||||||
|
Scissor test passed.
|
||||||
|
Alpha Plane Function test passed.
|
||||||
|
Stencil Plane Clear test passed.
|
||||||
|
Stencil Plane Corners test passed.
|
||||||
|
Stencil Plane Operation test passed.
|
||||||
|
Stencil Plane Function test passed.
|
||||||
|
Depth Buffer Clear test passed.
|
||||||
|
Depth Buffer Function test passed.
|
||||||
|
Blend test passed.
|
||||||
|
Dither test passed.
|
||||||
|
LogicOp Function test does not exist for an RGB visual.
|
||||||
|
DrawPixels test passed.
|
||||||
|
CopyPixels test passed.
|
||||||
|
Bitmap Rasterization test passed.
|
||||||
|
Point Rasterization test passed.
|
||||||
|
Anti-aliased Point test passed.
|
||||||
|
Line Rasterization test passed.
|
||||||
|
Line Stipple test passed.
|
||||||
|
Anti-aliased Line test passed.
|
||||||
|
Horizontal and Vertical Line test passed.
|
||||||
|
Triangle Rasterization test passed.
|
||||||
|
Triangle Tile test passed.
|
||||||
|
Triangle Stipple test passed.
|
||||||
|
Anti-aliased Triangles test passed.
|
||||||
|
Quad Rasterization test passed.
|
||||||
|
Polygon Face test passed.
|
||||||
|
Polygon Cull test passed.
|
||||||
|
Polygon Stipple test passed.
|
||||||
|
Polygon Edge test passed.
|
||||||
|
Ambient Material test passed.
|
||||||
|
Ambient Scene test passed.
|
||||||
|
Attenuation Position test passed.
|
||||||
|
Diffuse Light test passed.
|
||||||
|
Diffuse Material test passed.
|
||||||
|
Diffuse Material Normal test passed.
|
||||||
|
Diffuse Material Positioning test passed.
|
||||||
|
Emissive Material test passed.
|
||||||
|
Specular Exponent test passed.
|
||||||
|
Specular Exponent Normal test passed.
|
||||||
|
Specular Local Eye Half Angle test passed.
|
||||||
|
Specular Light test passed.
|
||||||
|
Specular Material test passed.
|
||||||
|
Specular Normal test passed.
|
||||||
|
Spot Positioning test passed.
|
||||||
|
Spot Exponent and Positioning test passed.
|
||||||
|
Spot Exponent and Direction test passed.
|
||||||
|
Fog Exponential test passed.
|
||||||
|
Fog Linear test passed.
|
||||||
|
Texture Decal test passed.
|
||||||
|
Texture Border test passed.
|
||||||
|
Mipmaps Selection test passed.
|
||||||
|
Mipmaps Interpolation test passed.
|
||||||
|
Display Lists test passed.
|
||||||
|
Evaluator test passed.
|
||||||
|
Evaluator Color test passed.
|
||||||
|
Texture Edge Clamp test passed.
|
||||||
|
Packed Pixels test passed.
|
||||||
|
Texture LOD test passed.
|
||||||
|
Rescale Normal test passed.
|
||||||
|
Color Table test passed.
|
||||||
|
Convolution test passed.
|
||||||
|
Convolution Border test passed.
|
||||||
|
Histogram test passed.
|
||||||
|
MinMax test passed.
|
||||||
|
MultiTexture test passed.
|
||||||
|
|
||||||
|
Conform passed.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
% conform -v 2 -p 2
|
||||||
|
|
||||||
|
OpenGL Conformance Test
|
||||||
|
Version 1.2
|
||||||
|
|
||||||
|
Setup Report.
|
||||||
|
Verbose level = 2.
|
||||||
|
Random number seed = 1.
|
||||||
|
Path level = 2.
|
||||||
|
|
||||||
|
Visual Report.
|
||||||
|
Display ID = 35. Indirect Rendering.
|
||||||
|
Double Buffered.
|
||||||
|
RGBA (5, 6, 5, 0).
|
||||||
|
Stencil (8).
|
||||||
|
Depth (16).
|
||||||
|
Accumulation (16, 16, 16, 16).
|
||||||
|
|
||||||
|
Epsilon Report.
|
||||||
|
zero error epsilon = 0.000122.
|
||||||
|
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||||
|
Depth buffer error epsilon = 0.000137.
|
||||||
|
Stencil plane error epsilon = 0.00404.
|
||||||
|
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||||
|
|
||||||
|
Default State test passed.
|
||||||
|
Must Pass test passed.
|
||||||
|
Divide By Zero test passed.
|
||||||
|
Viewport Clamp test passed.
|
||||||
|
Matrix Stack test passed.
|
||||||
|
Matrix Stack Mixing test passed.
|
||||||
|
Vertex Order test passed.
|
||||||
|
Transformations test passed.
|
||||||
|
Transformation Normal test passed.
|
||||||
|
Viewport Transformation test passed.
|
||||||
|
Buffer Clear test passed.
|
||||||
|
Buffer Corners test passed.
|
||||||
|
Buffer Color test passed.
|
||||||
|
Color Ramp test passed.
|
||||||
|
Mask test passed.
|
||||||
|
Buffer Invariance test passed.
|
||||||
|
Accumulation Buffer test passed.
|
||||||
|
Select test passed.
|
||||||
|
Feedback test passed.
|
||||||
|
Scissor test passed.
|
||||||
|
Alpha Plane Function test passed.
|
||||||
|
Stencil Plane Clear test passed.
|
||||||
|
Stencil Plane Corners test passed.
|
||||||
|
Stencil Plane Operation test passed.
|
||||||
|
Stencil Plane Function test passed.
|
||||||
|
Depth Buffer Clear test passed.
|
||||||
|
Depth Buffer Function test passed.
|
||||||
|
Blend test passed.
|
||||||
|
Dither test passed.
|
||||||
|
LogicOp Function test does not exist for an RGB visual.
|
||||||
|
DrawPixels test passed.
|
||||||
|
CopyPixels test passed.
|
||||||
|
Bitmap Rasterization test passed.
|
||||||
|
Point Rasterization test passed.
|
||||||
|
Anti-aliased Point test passed.
|
||||||
|
Line Rasterization test passed.
|
||||||
|
Line Stipple test passed.
|
||||||
|
Anti-aliased Line test passed.
|
||||||
|
Horizontal and Vertical Line test passed.
|
||||||
|
Triangle Rasterization test passed.
|
||||||
|
Triangle Tile test passed.
|
||||||
|
Triangle Stipple test passed.
|
||||||
|
Anti-aliased Triangles test passed.
|
||||||
|
Quad Rasterization test passed.
|
||||||
|
Polygon Face test passed.
|
||||||
|
Polygon Cull test passed.
|
||||||
|
Polygon Stipple test passed.
|
||||||
|
Polygon Edge test passed.
|
||||||
|
Ambient Material test passed.
|
||||||
|
Ambient Scene test passed.
|
||||||
|
Attenuation Position test passed.
|
||||||
|
Diffuse Light test passed.
|
||||||
|
Diffuse Material test passed.
|
||||||
|
Diffuse Material Normal test passed.
|
||||||
|
Diffuse Material Positioning test passed.
|
||||||
|
Emissive Material test passed.
|
||||||
|
Specular Exponent test passed.
|
||||||
|
Specular Exponent Normal test passed.
|
||||||
|
Specular Local Eye Half Angle test passed.
|
||||||
|
Specular Light test passed.
|
||||||
|
Specular Material test passed.
|
||||||
|
Specular Normal test passed.
|
||||||
|
Spot Positioning test passed.
|
||||||
|
Spot Exponent and Positioning test passed.
|
||||||
|
Spot Exponent and Direction test passed.
|
||||||
|
Fog Exponential test passed.
|
||||||
|
Fog Linear test passed.
|
||||||
|
Texture Decal test passed.
|
||||||
|
Texture Border test passed.
|
||||||
|
Mipmaps Selection test passed.
|
||||||
|
Mipmaps Interpolation test passed.
|
||||||
|
Display Lists test passed.
|
||||||
|
Evaluator test passed.
|
||||||
|
Evaluator Color test passed.
|
||||||
|
Texture Edge Clamp test passed.
|
||||||
|
Packed Pixels test passed.
|
||||||
|
Texture LOD test passed.
|
||||||
|
Rescale Normal test passed.
|
||||||
|
Color Table test passed.
|
||||||
|
Convolution test passed.
|
||||||
|
Convolution Border test passed.
|
||||||
|
Histogram test passed.
|
||||||
|
MinMax test passed.
|
||||||
|
MultiTexture test passed.
|
||||||
|
|
||||||
|
Conform passed.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
% conform -v 2 -p 3
|
||||||
|
|
||||||
|
OpenGL Conformance Test
|
||||||
|
Version 1.2
|
||||||
|
|
||||||
|
Setup Report.
|
||||||
|
Verbose level = 2.
|
||||||
|
Random number seed = 1.
|
||||||
|
Path level = 3.
|
||||||
|
|
||||||
|
Visual Report.
|
||||||
|
Display ID = 35. Indirect Rendering.
|
||||||
|
Double Buffered.
|
||||||
|
RGBA (5, 6, 5, 0).
|
||||||
|
Stencil (8).
|
||||||
|
Depth (16).
|
||||||
|
Accumulation (16, 16, 16, 16).
|
||||||
|
|
||||||
|
Epsilon Report.
|
||||||
|
zero error epsilon = 0.000122.
|
||||||
|
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||||
|
Depth buffer error epsilon = 0.000137.
|
||||||
|
Stencil plane error epsilon = 0.00404.
|
||||||
|
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||||
|
|
||||||
|
Default State test passed.
|
||||||
|
Must Pass test passed.
|
||||||
|
Divide By Zero test passed.
|
||||||
|
Viewport Clamp test passed.
|
||||||
|
Matrix Stack test passed.
|
||||||
|
Matrix Stack Mixing test passed.
|
||||||
|
Vertex Order test passed.
|
||||||
|
Transformations test passed.
|
||||||
|
Transformation Normal test passed.
|
||||||
|
Viewport Transformation test passed.
|
||||||
|
Buffer Clear test passed.
|
||||||
|
Buffer Corners test passed.
|
||||||
|
Buffer Color test passed.
|
||||||
|
Color Ramp test passed.
|
||||||
|
Mask test passed.
|
||||||
|
Buffer Invariance test passed.
|
||||||
|
Accumulation Buffer test passed.
|
||||||
|
Select test passed.
|
||||||
|
Feedback test passed.
|
||||||
|
Scissor test passed.
|
||||||
|
Alpha Plane Function test passed.
|
||||||
|
Stencil Plane Clear test passed.
|
||||||
|
Stencil Plane Corners test passed.
|
||||||
|
Stencil Plane Operation test passed.
|
||||||
|
Stencil Plane Function test passed.
|
||||||
|
Depth Buffer Clear test passed.
|
||||||
|
Depth Buffer Function test passed.
|
||||||
|
Blend test passed.
|
||||||
|
Dither test passed.
|
||||||
|
LogicOp Function test does not exist for an RGB visual.
|
||||||
|
DrawPixels test passed.
|
||||||
|
CopyPixels test passed.
|
||||||
|
Bitmap Rasterization test passed.
|
||||||
|
Point Rasterization test passed.
|
||||||
|
Anti-aliased Point test passed.
|
||||||
|
Line Rasterization test passed.
|
||||||
|
Line Stipple test passed.
|
||||||
|
Anti-aliased Line test passed.
|
||||||
|
Horizontal and Vertical Line test passed.
|
||||||
|
Triangle Rasterization test passed.
|
||||||
|
Triangle Tile test passed.
|
||||||
|
Triangle Stipple test passed.
|
||||||
|
Anti-aliased Triangles test passed.
|
||||||
|
Quad Rasterization test passed.
|
||||||
|
Polygon Face test passed.
|
||||||
|
Polygon Cull test passed.
|
||||||
|
Polygon Stipple test passed.
|
||||||
|
Polygon Edge test passed.
|
||||||
|
Ambient Material test passed.
|
||||||
|
Ambient Scene test passed.
|
||||||
|
Attenuation Position test passed.
|
||||||
|
Diffuse Light test passed.
|
||||||
|
Diffuse Material test passed.
|
||||||
|
Diffuse Material Normal test passed.
|
||||||
|
Diffuse Material Positioning test passed.
|
||||||
|
Emissive Material test passed.
|
||||||
|
Specular Exponent test passed.
|
||||||
|
Specular Exponent Normal test passed.
|
||||||
|
Specular Local Eye Half Angle test passed.
|
||||||
|
Specular Light test passed.
|
||||||
|
Specular Material test passed.
|
||||||
|
Specular Normal test passed.
|
||||||
|
Spot Positioning test passed.
|
||||||
|
Spot Exponent and Positioning test passed.
|
||||||
|
Spot Exponent and Direction test passed.
|
||||||
|
Fog Exponential test passed.
|
||||||
|
Fog Linear test passed.
|
||||||
|
Texture Decal test passed.
|
||||||
|
Texture Border test passed.
|
||||||
|
Mipmaps Selection test passed.
|
||||||
|
Mipmaps Interpolation test passed.
|
||||||
|
Display Lists test passed.
|
||||||
|
Evaluator test passed.
|
||||||
|
Evaluator Color test passed.
|
||||||
|
Texture Edge Clamp test passed.
|
||||||
|
Packed Pixels test passed.
|
||||||
|
Texture LOD test passed.
|
||||||
|
Rescale Normal test passed.
|
||||||
|
Color Table test passed.
|
||||||
|
Convolution test passed.
|
||||||
|
Convolution Border test passed.
|
||||||
|
Histogram test passed.
|
||||||
|
MinMax test passed.
|
||||||
|
MultiTexture test passed.
|
||||||
|
|
||||||
|
Conform passed.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
% conform -v 2 -p 4
|
||||||
|
|
||||||
|
OpenGL Conformance Test
|
||||||
|
Version 1.2
|
||||||
|
|
||||||
|
Setup Report.
|
||||||
|
Verbose level = 2.
|
||||||
|
Random number seed = 1.
|
||||||
|
Path level = 4.
|
||||||
|
|
||||||
|
Visual Report.
|
||||||
|
Display ID = 35. Indirect Rendering.
|
||||||
|
Double Buffered.
|
||||||
|
RGBA (5, 6, 5, 0).
|
||||||
|
Stencil (8).
|
||||||
|
Depth (16).
|
||||||
|
Accumulation (16, 16, 16, 16).
|
||||||
|
|
||||||
|
Epsilon Report.
|
||||||
|
zero error epsilon = 0.000122.
|
||||||
|
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||||
|
Depth buffer error epsilon = 0.000137.
|
||||||
|
Stencil plane error epsilon = 0.00404.
|
||||||
|
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||||
|
|
||||||
|
Default State test passed.
|
||||||
|
Must Pass test passed.
|
||||||
|
Divide By Zero test passed.
|
||||||
|
Viewport Clamp test passed.
|
||||||
|
Matrix Stack test passed.
|
||||||
|
Matrix Stack Mixing test passed.
|
||||||
|
Vertex Order test passed.
|
||||||
|
Transformations test passed.
|
||||||
|
Transformation Normal test passed.
|
||||||
|
Viewport Transformation test passed.
|
||||||
|
Buffer Clear test passed.
|
||||||
|
Buffer Corners test passed.
|
||||||
|
Buffer Color test passed.
|
||||||
|
Color Ramp test passed.
|
||||||
|
Mask test passed.
|
||||||
|
Buffer Invariance test passed.
|
||||||
|
Accumulation Buffer test passed.
|
||||||
|
Select test passed.
|
||||||
|
Feedback test passed.
|
||||||
|
Scissor test passed.
|
||||||
|
Alpha Plane Function test passed.
|
||||||
|
Stencil Plane Clear test passed.
|
||||||
|
Stencil Plane Corners test passed.
|
||||||
|
Stencil Plane Operation test passed.
|
||||||
|
Stencil Plane Function test passed.
|
||||||
|
Depth Buffer Clear test passed.
|
||||||
|
Depth Buffer Function test passed.
|
||||||
|
Blend test passed.
|
||||||
|
Dither test passed.
|
||||||
|
LogicOp Function test does not exist for an RGB visual.
|
||||||
|
DrawPixels test passed.
|
||||||
|
CopyPixels test passed.
|
||||||
|
Bitmap Rasterization test passed.
|
||||||
|
Point Rasterization test passed.
|
||||||
|
Anti-aliased Point test passed.
|
||||||
|
Line Rasterization test passed.
|
||||||
|
Line Stipple test passed.
|
||||||
|
Anti-aliased Line test passed.
|
||||||
|
Horizontal and Vertical Line test passed.
|
||||||
|
Triangle Rasterization test passed.
|
||||||
|
Triangle Tile test passed.
|
||||||
|
Triangle Stipple test passed.
|
||||||
|
Anti-aliased Triangles test passed.
|
||||||
|
Quad Rasterization test passed.
|
||||||
|
Polygon Face test passed.
|
||||||
|
Polygon Cull test passed.
|
||||||
|
Polygon Stipple test passed.
|
||||||
|
Polygon Edge test passed.
|
||||||
|
Ambient Material test passed.
|
||||||
|
Ambient Scene test passed.
|
||||||
|
Attenuation Position test passed.
|
||||||
|
Diffuse Light test passed.
|
||||||
|
Diffuse Material test passed.
|
||||||
|
Diffuse Material Normal test passed.
|
||||||
|
Diffuse Material Positioning test passed.
|
||||||
|
Emissive Material test passed.
|
||||||
|
Specular Exponent test passed.
|
||||||
|
Specular Exponent Normal test passed.
|
||||||
|
Specular Local Eye Half Angle test passed.
|
||||||
|
Specular Light test passed.
|
||||||
|
Specular Material test passed.
|
||||||
|
Specular Normal test passed.
|
||||||
|
Spot Positioning test passed.
|
||||||
|
Spot Exponent and Positioning test passed.
|
||||||
|
Spot Exponent and Direction test passed.
|
||||||
|
Fog Exponential test passed.
|
||||||
|
Fog Linear test passed.
|
||||||
|
Texture Decal test passed.
|
||||||
|
Texture Border test passed.
|
||||||
|
Mipmaps Selection test passed.
|
||||||
|
Mipmaps Interpolation test passed.
|
||||||
|
Display Lists test passed.
|
||||||
|
Evaluator test passed.
|
||||||
|
Evaluator Color test passed.
|
||||||
|
Texture Edge Clamp test passed.
|
||||||
|
Packed Pixels test passed.
|
||||||
|
Texture LOD test passed.
|
||||||
|
Rescale Normal test passed.
|
||||||
|
Color Table test passed.
|
||||||
|
Convolution test passed.
|
||||||
|
Convolution Border test passed.
|
||||||
|
Histogram test passed.
|
||||||
|
MinMax test passed.
|
||||||
|
MultiTexture test passed.
|
||||||
|
|
||||||
|
Conform passed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GLX CONFORMANCE TEST
|
||||||
|
====================
|
||||||
|
|
||||||
|
% conformx -v 2
|
||||||
|
|
||||||
|
OpenGL X Conformance Test
|
||||||
|
Version 1.1.1
|
||||||
|
|
||||||
|
Setup Report.
|
||||||
|
Verbose level = 2.
|
||||||
|
Random number seed = 1.
|
||||||
|
Path inactive.
|
||||||
|
|
||||||
|
Visual Report.
|
||||||
|
Display ID = 34. Direct Rendering.
|
||||||
|
Double Buffered.
|
||||||
|
RGBA (8, 8, 8, 0).
|
||||||
|
Stencil (8).
|
||||||
|
Depth (16).
|
||||||
|
Accumulation (16, 16, 16, 16).
|
||||||
|
|
||||||
|
Epsilon Report.
|
||||||
|
zero error epsilon = 0.000122.
|
||||||
|
RGBA error epsilon = 0.00404, 0.00404, 0.00404, 0.000122.
|
||||||
|
Depth buffer error epsilon = 0.000137.
|
||||||
|
Stencil plane error epsilon = 0.00404.
|
||||||
|
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||||
|
|
||||||
|
Default State test passed.
|
||||||
|
glReadPixels() test passed.
|
||||||
|
Font test passed.
|
||||||
|
|
||||||
|
Conformx passed.
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
NOTE: conformx passes for all machine path levels (-p option).
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
78
docs/contents.html
Normal file
78
docs/contents.html
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<title>Contents</title>
|
||||||
|
|
||||||
|
<body text="#ffffff" bgcolor="#119955" link="#ffffff" vlink="#dddddd" alink="#ffffff">
|
||||||
|
|
||||||
|
<b>Documentation</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href="intro.html" target="MainFrame">Introduction</a>
|
||||||
|
<li><a href="news.html" target="MainFrame">News</a>
|
||||||
|
<li><a href="systems.html" target="MainFrame">Platforms and Drivers</a>
|
||||||
|
<li><a href="license.html" target="MainFrame">License & Copyright</a>
|
||||||
|
<li><a href="faq.html" target="MainFrame">FAQ</a>
|
||||||
|
<li><a href="VERSIONS" target="MainFrame">Version History</a>
|
||||||
|
<li><a href="relnotes.html" target="MainFrame">Release Notes</a>
|
||||||
|
<li><a href="thanks.html" target="MainFrame">Acknowledgements</a>
|
||||||
|
<li><a href="conform.html" target="MainFrame">Conformance Testing</a>
|
||||||
|
<li>more docs below...
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<b>Download / Install</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">Stable Release (5.0.2)</a>
|
||||||
|
<li><a href="download.html" target="MainFrame">Downloading/Unpacking</a>
|
||||||
|
<li><a href="install.html" target="MainFrame">Compilation/Installation</a>
|
||||||
|
<li><a href="glu.html" target="MainFrame">SGI's GLU</a>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<b>Resources</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href="lists.html" target="MainFrame">Mailing Lists</a>
|
||||||
|
<li><a href="bugs.html" target="MainFrame">Bug Database</a>
|
||||||
|
<li><a href="webmaster.html" target="MainFrame">Webmaster</a>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<b>User Topics</b>
|
||||||
|
<ul>
|
||||||
|
<LI><A HREF="envvars.html" target="MainFrame">Environment Variables</A>
|
||||||
|
<LI><A HREF="osmesa.html" target="MainFrame">Off-Screen Rendering</A>
|
||||||
|
<LI><A HREF="pbuffers.html" target="MainFrame">Pbuffer Rendering</A>
|
||||||
|
<LI><A HREF="debugging.html" target="MainFrame">Debugging Tips</A>
|
||||||
|
<LI><A HREF="perf.html" target="MainFrame">Performance Tips</A>
|
||||||
|
<LI><A HREF="extensions.html" target="MainFrame">Mesa Extensions</A>
|
||||||
|
<LI><A HREF="mangling.html" target="MainFrame">Function Name Mangling</A>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<b>Developer Topics</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://sourceforge.net/projects/mesa3d" target="_parent">SourceForge homepage</a>
|
||||||
|
<li><a href="cvs_branches.html" target="MainFrame">CVS Branch Info</a>
|
||||||
|
<li><a href="cvs_anonymous.html" target="MainFrame">Anonymous CVS Access</a>
|
||||||
|
<li><a href="utilities.html" target="MainFrame">Utilities</a>
|
||||||
|
<li><a href="helpwanted.html" target="MainFrame">Help Wanted</a>
|
||||||
|
<li><a href="devinfo.html" target="MainFrame">Development Notes</a>
|
||||||
|
<li><a href="sourcedocs.html" target="MainFrame">Source Documentation</a>
|
||||||
|
<li><a href="subset.html" target="MainFrame">Subset Information</a>
|
||||||
|
<li><a href="fbdev-dri.html" target="MainFrame">fbdev/DRI Environment</a>
|
||||||
|
<LI><A HREF="custom.html" target="MainFrame">Custom Development</A>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<b>Links</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.opengl.org" target="_parent">OpenGL website</a>
|
||||||
|
<li><a href="http://dri.sourceforge.net" target="_parent">DRI website</a>
|
||||||
|
<li><a href="games.html" target="MainFrame">Games and Entertainment</a>
|
||||||
|
<li><a href="libraries.html" target="MainFrame">Libraries and Toolkits</a>
|
||||||
|
<li><a href="modelers.html" target="MainFrame">Modeling and Rendering</a>
|
||||||
|
<li><a href="science.html" target="MainFrame">Science and Technical</a>
|
||||||
|
<li><a href="utility.html" target="MainFrame">Utilities</a>
|
||||||
|
<li><a href="demos.html" target="MainFrame">Demos / other</a>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<A HREF="http://sourceforge.net"
|
||||||
|
target="_parent"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
|
||||||
|
WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
25
docs/custom.html
Normal file
25
docs/custom.html
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Custom Development</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Custom Development</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa is primarily developed and maintained on a volunteer basis.
|
||||||
|
Some Mesa development work has been done in conjuction with contracted
|
||||||
|
projects, such as the XFree86/DRI drivers.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<pre>[Begin shameless plug]</pre>
|
||||||
|
If you have a need for specific or custom Mesa development work,
|
||||||
|
<a href="http://www.tungstengraphics.com/" target="_parent">
|
||||||
|
Tungsten Graphics, Inc.</a> may be able to help you.
|
||||||
|
<pre>[End shameless plug]</pre>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
37
docs/cvs_anonymous.html
Normal file
37
docs/cvs_anonymous.html
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Anonymous CVS</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Anonymous CVS</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Anonymous, public, read-only access to the code in CVS is
|
||||||
|
available. Here are the basic instructions for Unix systems:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Install CVS client software on your computer. Version 1.9.28 is known to work.
|
||||||
|
</li><li>Login as an anonymous user: <code>cvs -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
|
||||||
|
login</code>
|
||||||
|
</li><li>Just hit return at the <code>CVS password:</code> prompt.
|
||||||
|
</li><li>Then checkout mesa: <code>cvs -z3 -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
|
||||||
|
co Mesa-newtree</code>
|
||||||
|
</li></ol>
|
||||||
|
|
||||||
|
<p>To update your Mesa CVS source to the latest CVS source:
|
||||||
|
|
||||||
|
</p><ol>
|
||||||
|
<li><code>cd Mesa</code>
|
||||||
|
</li><li><code>cvs -z3 -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
|
||||||
|
update</code>
|
||||||
|
</li></ol>
|
||||||
|
|
||||||
|
<p>You can browse the Mesa source code in CVS
|
||||||
|
<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mesa3d/">here.
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
59
docs/cvs_branches.html
Normal file
59
docs/cvs_branches.html
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>CVS Branches</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>CVS Branch Information</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The Mesa3d sources are split up into two branches. A branch that is to
|
||||||
|
remain as stable as possible, and an unstable branch where development
|
||||||
|
work for new versions will be done. The current stable branch is
|
||||||
|
tagged <code>mesa_3_4_branch</code> while the unstable branch is just
|
||||||
|
the default. The goal is to adopt and even/odd stable/unstable
|
||||||
|
versioning scheme similar to the Linux kernel. Hence releases of Mesa
|
||||||
|
3.2.X should be more stable than Mesa 3.3.X.<p></p> <p>All versions of
|
||||||
|
Mesa after 3.0 will also be tagged with a branch id. Mesa 3.1 has the
|
||||||
|
tag <code>mesa_3_1</code>, Mesa 3.2 will be <code>mesa_3_2</code>,
|
||||||
|
Mesa 3.3 <code>mesa_3_3</code>, etc..</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To checkout a specific branch of mesa just pass <code>-r</code> and
|
||||||
|
the branch tag after your cvs command. For example <code>cvs checkout
|
||||||
|
-r mesa_3_4_branch Mesa</code> will checkout the 3.4 branch and
|
||||||
|
<code>cvs update -r mesa_3_4_branch</code> will convert your current
|
||||||
|
branch to the 3.4 dev branch.
|
||||||
|
Consult <a href="http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54"
|
||||||
|
target="_parent">http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54</a>
|
||||||
|
for more on branching in cvs.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To see a list of all the CVS branchs run <code>cvs log README</code> (or any
|
||||||
|
other file) and look for the section labeled <code>symbolic names</code>.
|
||||||
|
You'll see something like this:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre> symbolic names:
|
||||||
|
mesa_4_0: 1.3
|
||||||
|
mesa_4_0_branch: 1.3.0.6
|
||||||
|
mesa_3_5: 1.3
|
||||||
|
mesa_3_4_2: 1.3
|
||||||
|
mesa_3_4_1: 1.3
|
||||||
|
mesa_3_4: 1.3
|
||||||
|
mesa_3_4_branch: 1.3.0.4
|
||||||
|
mesa_3_3: 1.3
|
||||||
|
mesa_3_2_1: 1.1.1.1
|
||||||
|
mesa_3_3_texture_env_combine2: 1.3.0.2
|
||||||
|
mesa_3_2: 1.1.1.1
|
||||||
|
mesa_3_2_beta_1: 1.1.1.1
|
||||||
|
mesa_3_1: 1.1.1.1
|
||||||
|
mesa_3_2_dev: 1.1.1.1.0.2
|
||||||
|
mesa_3_1_beta_3: 1.1.1.1
|
||||||
|
start: 1.1.1.1
|
||||||
|
mesa: 1.1.1
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
36
docs/debugging.html
Normal file
36
docs/debugging.html
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Debugging Tips</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Debugging Tips</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Normally Mesa (and OpenGL) records but does not notify the user of
|
||||||
|
errors. It is up to the application to call
|
||||||
|
<code>glGetError</code> to check for errors. Mesa supports an
|
||||||
|
environment variable, MESA_DEBUG, to help with debugging. If
|
||||||
|
MESA_DEBUG is defined, a message will be printed to stdout whenever
|
||||||
|
an error occurs.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
More extensive error checking is done when Mesa is compiled with the
|
||||||
|
DEBUG symbol defined. You'll have to edit the Make-config file and
|
||||||
|
add -DDEBUG to the CFLAGS line for your system configuration. You may
|
||||||
|
also want to replace any optimization flags with the -g flag so you can
|
||||||
|
use your debugger. After you've edited Make-config type 'make clean'
|
||||||
|
before recompiling.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
In your debugger you can set a breakpoint in _mesa_error() to trap Mesa
|
||||||
|
errors.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
There is a display list printing/debugging facility. See the end of
|
||||||
|
src/dlist.c for details.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
16
docs/demos.html
Normal file
16
docs/demos.html
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Demos</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Demos</H1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.geocities.com/shobhand/homepage.html">Shobhan Dutta's Geartrain and Walkthrough Demos</a>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
230
docs/devinfo.html
Normal file
230
docs/devinfo.html
Normal file
@@ -0,0 +1,230 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Development Notes</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Development Notes</H1>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Adding Extentions</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To add a new GL extension to Mesa you have to do the following.
|
||||||
|
<pre>
|
||||||
|
If glext.h doesn't define the extension, edit include/GL/gl.h and add:
|
||||||
|
- new enum tokens
|
||||||
|
- new API function entry points
|
||||||
|
- #define GL_EXT_the_extension_name 1
|
||||||
|
|
||||||
|
If adding a new API function (call it glNewFunctionEXT):
|
||||||
|
- insert glNewFunctionEXT()into src/apiext.h
|
||||||
|
- edit src/types.h and add NewFunction to the gl_api_table struct
|
||||||
|
- implement gl_NewFunction() in the appropriate src file
|
||||||
|
- hook gl_NewFunction() into pointers.c
|
||||||
|
- add display list support in dlist.c for save_NewFunction()
|
||||||
|
- add glNewFunctionEXT to gl_GetProcAddress() in extensions.c or
|
||||||
|
in the device driver's GetProcAddress() function if appropriate
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
If adding new GL state be sure to update get.c and enable.c
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
In general, look for an extension similar to the new one that's already
|
||||||
|
implemented in Mesa and follow it by example.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Coding Style</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa's code style has changed over the years. Here's the latest.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Comment your code! It's extremely important that open-source code be
|
||||||
|
well documented. Also, strive to write clean, easily understandable code.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
3-space indentation
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you use tabs, set them to 8 columns
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Brace example:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
if (condition) {
|
||||||
|
foo;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bar;
|
||||||
|
}
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Here's the GNU indent command which will best approximate my preferred style:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
indent -br -i3 -npcs infile.c -o outfile.c
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Local variable name example: localVarName (no underscores)
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Constants and macros are ALL_UPPERCASE, with _ between words
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Global vars not allowed.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Function name examples:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
glFooBar() - a public GL entry point (in dispatch.c)
|
||||||
|
_mesa_FooBar() - the internal immediate mode function
|
||||||
|
save_FooBar() - retained mode (display list) function in dlist.c
|
||||||
|
foo_bar() - a static (private) function
|
||||||
|
_mesa_foo_bar() - an internal non-static Mesa function
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Writing a Device Driver</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
XXX to do
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Making a New Mesa Release</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
These are the instructions for making a new Mesa release.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prerequisites (later versions may work):
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li> autoconf 2.50
|
||||||
|
<li> automake 1.4-p2
|
||||||
|
<li> libtool 1.4
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Be sure to do a "cvs update -d ." in the Mesa directory to
|
||||||
|
get all the latest files.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Update the version definitions in src/version.h
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Create/edit the docs/RELNOTES-X.Y file to document what's new in the release.
|
||||||
|
Edit the docs/VERSIONS file too.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Edit Make-config and change the MESA_MAJOR and/or MESA_MINOR versions.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Edit the GNU configure stuff to change versions numbers as needed:
|
||||||
|
Update the version string (second argument) in the line
|
||||||
|
"AM_INIT_AUTOMAKE(Mesa, 3.3)" in the configure.in file.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Remove the leading `dnl' from the line "dnl AM_MAINTAINER_MODE".
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Verify the version numbers near the top of configure.in
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Run "fixam -f" to disable automatic dependency tracking.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Run the bootstrap script to generate the configure script.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Edit Makefile.X11 and verify DIRECTORY is set correctly. The Mesa
|
||||||
|
sources must be in that directory (or there must be a symbolic link).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Edit Makefile.X11 and verify that LIB_NAME and DEMO_NAME are correct.
|
||||||
|
If it's a beta release, be sure the bump up the beta release number.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
cp Makefile.X11 to Makefile so that the old-style Mesa makefiles
|
||||||
|
still work. ./configure will overwrite it if that's what the user runs.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Make a symbolic link from $(DIRECTORY) to Mesa. For example,
|
||||||
|
ln -s Mesa Mesa-3.3 This is needed in order to make a correct
|
||||||
|
tar file in the next step.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Make the distribution files. From inside the Mesa directory:
|
||||||
|
<pre>
|
||||||
|
make -f Makefile.X11 lib_tar
|
||||||
|
make -f Makefile.X11 demo_tar
|
||||||
|
make -f Makefile.X11 lib_zip
|
||||||
|
make -f Makefile.X11 demo_zip
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Copy the distribution files to a temporary directory, unpack them,
|
||||||
|
compile everything, and run some demos to be sure everything works.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Upload the *.tar.gz and *.zip files to ftp.mesa3d.org
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Update the web site.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Make an announcement on the mailing lists:
|
||||||
|
<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>,
|
||||||
|
<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>
|
||||||
|
and
|
||||||
|
<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Autoconf info</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
In order to run the bootstrap script you'll need:
|
||||||
|
<p>
|
||||||
|
<pre>
|
||||||
|
autoconf 2.50
|
||||||
|
automake 1.4-p5
|
||||||
|
libtool 1.4
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
104
docs/download.html
Normal file
104
docs/download.html
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Getting Mesa</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Downloading / Unpacking</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa can be downloaded from the
|
||||||
|
<a href="http://www.sourceforge.net/projects/mesa3d" target="_parent">
|
||||||
|
SourceForge download area</A>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Since version 2.3, Mesa is distributed in two pieces: main library code
|
||||||
|
and demos. If you're upgrading from a previous version of Mesa or you're not
|
||||||
|
interested in the demos you can just download the core Mesa archive file.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa is available in at least three archive formats:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
1. GNU zip/tar
|
||||||
|
|
||||||
|
Download MesaLib-X.Y.tar.gz and optionally MesaDemos-X.Y.tar.gz
|
||||||
|
Unpack with:
|
||||||
|
gzcat MesaLib-X.Y.tar.gz | tar xf -
|
||||||
|
gzcat MesaDemos-X.Y.tar.gz | tar xf -
|
||||||
|
or
|
||||||
|
gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
|
||||||
|
gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
|
||||||
|
or
|
||||||
|
tar zxf MesaLib-X.Y.tar.gz
|
||||||
|
tar zxf MesaDemos-X.Y.tar.gz
|
||||||
|
|
||||||
|
If you don't have gzcat try zcat instead.
|
||||||
|
|
||||||
|
2. Unix compressed/tar
|
||||||
|
|
||||||
|
Download MesaLib-X.Y.tar.Z and optionally MesaDemos-X.Y.tar.Z
|
||||||
|
Unpack with:
|
||||||
|
zcat MesaLib-X.Y.tar.Z | tar xf -
|
||||||
|
zcat MesaDemos-X.Y.tar.Z | tar xf -
|
||||||
|
|
||||||
|
3. ZIP format
|
||||||
|
|
||||||
|
Download MesaLib-X.Y.zip and optionally MesaDemos-X.Y.zip
|
||||||
|
Unpack with:
|
||||||
|
unzip MesaLib-X.Y.zip
|
||||||
|
unzip MesaDemos-X.Y.zip
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
After unpacking you'll have these directories (and more):
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
Makefile.X11 - top-level Makefile for X11-based systems
|
||||||
|
Make-config - system configurations used by the Makefile.X11
|
||||||
|
include/ - GL header (include) files
|
||||||
|
bin/ - shell scripts for making shared libraries, etc
|
||||||
|
lib/ - final client libraries, created during compilation
|
||||||
|
docs/ - documentation
|
||||||
|
src/ - source code for libraries
|
||||||
|
src/mesa - sources for the main Mesa library and device drivers
|
||||||
|
src/glu - libGLU source code
|
||||||
|
src/glw - Xt/Motif/OpenGL widget code
|
||||||
|
|
||||||
|
|
||||||
|
and if you downloaded and unpacked the MesaDemos.X.Y archive:
|
||||||
|
|
||||||
|
src/glut - GLUT source code
|
||||||
|
progs/ - OpenGL programs
|
||||||
|
progs/demos - original Mesa demos
|
||||||
|
progs/xdemos - GLX OpenGL/Mesa demos
|
||||||
|
progs/redbook - examples from the OpenGL Programming Guide
|
||||||
|
progs/samples - examples from SGI
|
||||||
|
progs/images/ - image files
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Proceed to <a href="install.html">compilation and installation
|
||||||
|
instructions</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<H1>GLUT</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 2.5 and later includes Mark Kilgard's GLUT library (GL Utility Toolkit).
|
||||||
|
GLUT is built automatically on systems which support it.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The GLUT tests, demos, examples, etc are not included, just the main library.
|
||||||
|
To obtain the latest complete release of GLUT please visit the
|
||||||
|
<a href="http://www.opengl.org/developers/documentation/glut/index.html"
|
||||||
|
target ="_parent">GLUT homepage</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
42
docs/enums.txt
Normal file
42
docs/enums.txt
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
|
||||||
|
Blocks allocated to Mesa:
|
||||||
|
0x8750-0x875F
|
||||||
|
0x8BB0-0x8BBF
|
||||||
|
|
||||||
|
|
||||||
|
GL_MESA_packed_depth_stencil
|
||||||
|
GL_DEPTH_STENCIL_MESA 0x8750
|
||||||
|
GL_UNSIGNED_INT_24_8_MESA 0x8751
|
||||||
|
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
|
||||||
|
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
|
||||||
|
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
|
||||||
|
|
||||||
|
GL_MESA_trace.spec:
|
||||||
|
GL_TRACE_ALL_BITS_MESA 0xFFFF
|
||||||
|
GL_TRACE_OPERATIONS_BIT_MESA 0x0001
|
||||||
|
GL_TRACE_PRIMITIVES_BIT_MESA 0x0002
|
||||||
|
GL_TRACE_ARRAYS_BIT_MESA 0x0004
|
||||||
|
GL_TRACE_TEXTURES_BIT_MESA 0x0008
|
||||||
|
GL_TRACE_PIXELS_BIT_MESA 0x0010
|
||||||
|
GL_TRACE_ERRORS_BIT_MESA 0x0020
|
||||||
|
GL_TRACE_MASK_MESA 0x8755
|
||||||
|
GL_TRACE_NAME_MESA 0x8756
|
||||||
|
|
||||||
|
MESA_ycbcr_texture.spec:
|
||||||
|
GL_YCBCR_MESA 0x8757
|
||||||
|
GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
|
||||||
|
GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
|
||||||
|
|
||||||
|
GL_MESA_pack_invert.spec
|
||||||
|
GL_PACK_INVERT_MESA 0x8758
|
||||||
|
|
||||||
|
GL_MESA_program_debug.spec:
|
||||||
|
GL_FRAGMENT_PROGRAM_CALLBACK_MESA 0x????
|
||||||
|
GL_VERTEX_PROGRAM_CALLBACK_MESA 0x????
|
||||||
|
GL_FRAGMENT_PROGRAM_POSITION_MESA 0x????
|
||||||
|
GL_VERTEX_PROGRAM_POSITION_MESA 0x????
|
||||||
|
GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x????
|
||||||
|
GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x????
|
||||||
|
GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x????
|
||||||
|
GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x????
|
||||||
|
|
||||||
25
docs/envvars.html
Normal file
25
docs/envvars.html
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Environment Variables</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Environment Variables</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa supports the following environment variables:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>MESA_DEBUG - if defined, error messages are printed to stderr
|
||||||
|
<li>MESA_NO_DITHER - disable dithering, overriding glEnable(GL_DITHER)
|
||||||
|
<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
|
||||||
|
<li>MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
|
||||||
|
<li>MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
|
||||||
|
<li>MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
|
||||||
|
<li>MESA_GAMMA - gamma correction coefficients (X only)
|
||||||
|
<li>MESA_XSYNC - enable synchronous X behavior (for X debugging only)
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
32
docs/extensions.html
Normal file
32
docs/extensions.html
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Extensions</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Mesa Extensions</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
A number of extensions have been developed especially for Mesa.
|
||||||
|
The specifications follow.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<UL>
|
||||||
|
<LI><A HREF="MESA_agp_offset.spec">MESA_agp_offset.spec</A>
|
||||||
|
<LI><A HREF="MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</A>
|
||||||
|
<LI><A HREF="MESA_packed_depth_stencil.spec">MESA_packed_depth_stencil.spec</A>
|
||||||
|
<LI><A HREF="MESA_pack_invert.spec">MESA_pack_invert.spec</A>
|
||||||
|
<LI><A HREF="MESA_pixmap_colormap.spec">MESA_pixmap_colormap.spec</A>
|
||||||
|
<LI><A HREF="MESA_release_buffers.spec">MESA_release_buffers.spec</A>
|
||||||
|
<LI><A HREF="MESA_resize_buffers.spec">MESA_resize_buffers.spec</A>
|
||||||
|
<LI><A HREF="MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</A>
|
||||||
|
<LI><A HREF="MESA_sprite_point.spec">MESA_sprite_point.spec</A> (obsolete)
|
||||||
|
<LI><A HREF="MESA_trace.spec">MESA_trace.spec</A> (obsolete)
|
||||||
|
<LI><A HREF="MESA_window_pos.spec">MESA_window_pos.spec</A>
|
||||||
|
<LI><A HREF="MESA_ycbcr_texture.spec">MESA_ycbcr_texture.spec</A>
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
343
docs/faq.html
Normal file
343
docs/faq.html
Normal file
@@ -0,0 +1,343 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head><title>Mesa FAQ</title></head>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<h1>Mesa Frequently Asked Questions</h1>
|
||||||
|
Last updated: 6 August 2003
|
||||||
|
</center>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<h2>Index</h2>
|
||||||
|
<a href="#part1">1. High-level Questions and Answers</a>
|
||||||
|
<br>
|
||||||
|
<a href="#part2">2. Compilation and Installation Problems</a>
|
||||||
|
<br>
|
||||||
|
<a href="#part3">3. Runtime / Rendering Problems</a>
|
||||||
|
<br>
|
||||||
|
<a href="#part4">4. Developer Questions</a>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="part1">
|
||||||
|
</a><h1><a name="part1">1. High-level Questions and Answers</a></h1>
|
||||||
|
|
||||||
|
<h2><a name="part1">1.1 What is Mesa?</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part1">Mesa is an open-source implementation of the OpenGL specification.
|
||||||
|
OpenGL is a programming library for writing interactive 3D applications.
|
||||||
|
See the </a><a href="http://www.opengl.org/">OpenGL website</a> for more
|
||||||
|
information.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Mesa 5.x supports the OpenGL 1.4 specification.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>1.2 Does Mesa support/use graphics hardware?</h2>
|
||||||
|
<p>
|
||||||
|
Yes. Specifically, Mesa serves as the OpenGL core for the open-source
|
||||||
|
XFree86/DRI OpenGL drivers. See the <a href="http://dri.sf.net/">DRI
|
||||||
|
website</a> for more information.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
There have been other hardware drivers for Mesa over the years (such as
|
||||||
|
the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers
|
||||||
|
are the modern ones.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>1.3 What purpose does Mesa (software-based rendering) serve today?</h2>
|
||||||
|
<p>
|
||||||
|
Hardware-accelerated OpenGL implementations are available for most popular
|
||||||
|
operating systems today.
|
||||||
|
Still, Mesa serves at least these purposes:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Mesa is used as the core of the open-source XFree86/DRI hardware drivers.
|
||||||
|
</li>
|
||||||
|
<li>Mesa is quite portable and allows OpenGL to be used on systems
|
||||||
|
that have no other OpenGL solution.
|
||||||
|
</li>
|
||||||
|
<li>Software rendering with Mesa serves as a reference for validating the
|
||||||
|
hardware drivers.
|
||||||
|
</li>
|
||||||
|
<li>A software implementation of OpenGL is useful for experimentation,
|
||||||
|
such as testing new rendering techniques.
|
||||||
|
</li>
|
||||||
|
<li>Mesa can render images with deep color channels: 16-bit integer
|
||||||
|
and 32-bit floating point color channels are supported.
|
||||||
|
This capability is only now appearing in hardware.
|
||||||
|
</li>
|
||||||
|
<li>Mesa's internal limits (max lights, clip planes, texture size, etc) can be
|
||||||
|
changed for special needs (hardware limits are hard to overcome).
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>1.4 How do I upgrade my DRI installation to use a new Mesa release?</h2>
|
||||||
|
<p>
|
||||||
|
You don't! A copy of the Mesa source code lives inside the XFree86/DRI source
|
||||||
|
tree and gets compiled into the individual DRI driver modules.
|
||||||
|
If you try to install Mesa over an XFree86/DRI installation, you'll lose
|
||||||
|
hardware rendering (because stand-alone Mesa's libGL.so is different than
|
||||||
|
the XFree86 libGL.so).
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The DRI developers will incorporate the latest release of Mesa into the
|
||||||
|
DRI drivers when the time is right.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
To upgrade, either look for a new release of <a href="http://www.xfree86.org"
|
||||||
|
target="_parent">XFree86</a> or visit the
|
||||||
|
<a href="http://dri.sf.net" target="_parent">DRI website</a> to see
|
||||||
|
if there's newer drivers.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>1.5 Are there other open-source implementations of OpenGL?</h2>
|
||||||
|
<p>
|
||||||
|
Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html">
|
||||||
|
OpenGL Sample Implemenation (SI)</a> is available.
|
||||||
|
The SI was written during the time that OpenGL was originally designed.
|
||||||
|
Unfortunately, development of the SI has stagnated.
|
||||||
|
Mesa is much more up to date with modern features and extensions.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="http://www.dsbox.com/minigl.html">miniGL</a> is a subset of OpenGL
|
||||||
|
for PalmOS devices.
|
||||||
|
|
||||||
|
<a href="http://fabrice.bellard.free.fr/TinyGL/">TinyGL</a> is another
|
||||||
|
subset of OpenGL.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
There may be others but Mesa is the most popular and feature-complete.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="part2">
|
||||||
|
</a><h1><a name="part2">2. Compilation and Installation Problems</a></h1>
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a name="part2">2.1 What's the easiest way to install Mesa?</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part2">If you're using a Linux-based system, your distro CD most likely already
|
||||||
|
has Mesa packages (like RPM or DEB) which you can easily install.
|
||||||
|
</a></p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a name="part2">2.2 Running <code>configure; make</code> Doesn't Work</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part2">Unfortunately, the GNU autoconf/automake/libtool system doesn't seem to work
|
||||||
|
too well on non GNU/Linux systems, even after installing gmake, gcc, etc.
|
||||||
|
For that reason, Mesa's <b>old-style</b> makefile system is still included.
|
||||||
|
The old-style system uses good old traditional Makefiles. Try the following:
|
||||||
|
</a></p><pre><a name="part2"> cd Mesa-x.y.z
|
||||||
|
cp Makefile.X11 Makefile
|
||||||
|
make
|
||||||
|
</a></pre>
|
||||||
|
<a name="part2">You'll see a list of system configurations from which to choose.
|
||||||
|
For example:
|
||||||
|
</a><pre><a name="part2"> make linux-x86
|
||||||
|
</a></pre>
|
||||||
|
<p>
|
||||||
|
<a name="part2">If you're experienced with GNU autoconf/automake/libtool and think you can help
|
||||||
|
with maintence, contact the Mesa developers.
|
||||||
|
FYI, the Mesa developers generally don't use the autoconf/automake system.
|
||||||
|
We're especially annoyed with the fact that a +5000-line script (libtool)
|
||||||
|
is needed to make shared libraries (ugh).
|
||||||
|
</a></p>
|
||||||
|
|
||||||
|
<h2><a name="part2">2.3 Mesa still doesn't compile</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part2">If the old-style Makefile system doesn't work either, make sure you have
|
||||||
|
the most recent version of Mesa.
|
||||||
|
Otherwise, file a bug report or post to the Mesa3d-users mailing list.
|
||||||
|
Give as much info as possible when describing your problem.
|
||||||
|
</a></p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a name="part2">2.4 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part2">You're application is written in IRIS GL, not OpenGL.
|
||||||
|
IRIS GL was the predecessor to OpenGL and is a different thing (almost)
|
||||||
|
entirely.
|
||||||
|
Mesa's not the solution.
|
||||||
|
</a></p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a name="part2">2.5 Where is the GLUT library?</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaDemos-x.y.z.tar.gz file.
|
||||||
|
If you don't already have GLUT installed, you should grab the MesaDemos
|
||||||
|
package and unpack it before compiling Mesa.
|
||||||
|
</a></p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a name="part2">2.6 What's the proper place for the libraries and headers?</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part2">On Linux-based systems you'll want to follow the
|
||||||
|
</a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html">Linux ABI</a>
|
||||||
|
standard.
|
||||||
|
Basically you'll want the following:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>/usr/include/GL/gl.h - the main OpenGL header
|
||||||
|
</li><li>/usr/include/GL/glu.h - the OpenGL GLU (utility) header
|
||||||
|
</li><li>/usr/include/GL/glx.h - the OpenGL GLX header
|
||||||
|
</li><li>/usr/include/GL/glext.h - the OpenGL extensions header
|
||||||
|
</li><li>/usr/include/GL/glxext.h - the OpenGL GLX extensions header
|
||||||
|
</li><li>/usr/include/GL/osmesa.h - the Mesa off-screen rendering header
|
||||||
|
</li><li>/usr/lib/libGL.so - a symlink to libGL.so.1
|
||||||
|
</li><li>/usr/lib/libGL.so.1 - a symlink to libGL.so.1.xyz
|
||||||
|
</li><li>/usr/lib/libGL.so.xyz - the actual OpenGL/Mesa library. xyz denotes the
|
||||||
|
Mesa version number.
|
||||||
|
</li><li>/usr/lib/libGLU.so - a symlink to libGLU.so.1
|
||||||
|
</li><li>/usr/lib/libGLU.so.1 - a symlink to libGLU.so.1.3.xyz
|
||||||
|
</li><li>/usr/lib/libGLU.so.xyz - the OpenGL Utility library. xyz denotes the Mesa
|
||||||
|
version number.
|
||||||
|
</li></ul>
|
||||||
|
<p>
|
||||||
|
After installing XFree86 and the DRI drivers, some of these files
|
||||||
|
may be symlinks into the /usr/X11R6/ tree.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The old-style Makefile system doesn't install the Mesa libraries; it's
|
||||||
|
up to you to copy them (and the headers) to the right place.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The GLUT header and library should go in the same directories.
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="part3">
|
||||||
|
</a><h1><a name="part3">3. Runtime / Rendering Problems</a></h1>
|
||||||
|
|
||||||
|
<h2><a name="part3">3.1 Rendering is slow / why isn't my graphics hardware being used?</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part3">Stand-alone Mesa (downloaded as MesaLib-x.y.z.tar.gz) doesn't have any
|
||||||
|
support for hardware acceleration (with the exception of the 3DFX Voodoo
|
||||||
|
driver).
|
||||||
|
</a></p>
|
||||||
|
<p>
|
||||||
|
<a name="part3">What you really want is a DRI or NVIDIA (or another vendor's OpenGL) driver
|
||||||
|
for your particular hardware.
|
||||||
|
</a></p>
|
||||||
|
<p>
|
||||||
|
<a name="part3">You can run the <code>glxinfo</code> program to learn about your OpenGL
|
||||||
|
library.
|
||||||
|
Look for the GL_VENDOR and GL_RENDERER values.
|
||||||
|
That will identify who's OpenGL library you're using and what sort of
|
||||||
|
hardware it has detected.
|
||||||
|
</a></p>
|
||||||
|
<p>
|
||||||
|
<a name="part3">If your DRI-based driver isn't working, go to the
|
||||||
|
</a><a href="http://dri.sf.net/">DRI website</a> for trouble-shooting information.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>3.2 I'm seeing errors in depth (Z) buffering. Why?</h2>
|
||||||
|
<p>
|
||||||
|
Make sure the ratio of the far to near clipping planes isn't too great.
|
||||||
|
Look
|
||||||
|
<a href="http://www.sgi.com/software/opengl/advanced97/notes/node18.html">
|
||||||
|
here</a> for details.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Mesa uses a 16-bit depth buffer by default which is smaller and faster
|
||||||
|
to clear than a 32-bit buffer but not as accurate.
|
||||||
|
If you need a deeper you can modify the parameters to
|
||||||
|
<code> glXChooseVisual</code> in your code.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>3.3 Why Isn't depth buffering working at all?</h2>
|
||||||
|
<p>
|
||||||
|
Be sure you're requesting a depth buffered-visual. If you set the MESA_DEBUG
|
||||||
|
environment variable it will warn you about trying to enable depth testing
|
||||||
|
when you don't have a depth buffer.
|
||||||
|
</p>
|
||||||
|
<p>Specifically, make sure <code>glutInitDisplayMode</code> is being called
|
||||||
|
with <code>GLUT_DEPTH</code> or <code>glXChooseVisual</code> is being
|
||||||
|
called with a non-zero value for GLX_DEPTH_SIZE.
|
||||||
|
</p>
|
||||||
|
<p>This discussion applies to stencil buffers, accumulation buffers and
|
||||||
|
alpha channels too.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>3.4 Why does glGetString() always return NULL?</h2>
|
||||||
|
<p>
|
||||||
|
Be sure you have an active/current OpenGL rendering context before
|
||||||
|
calling glGetString.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>3.5 GL_POINTS and GL_LINES don't touch the right pixels</h2>
|
||||||
|
<p>
|
||||||
|
If you're trying to draw a filled region by using GL_POINTS or GL_LINES
|
||||||
|
and seeing holes or gaps it's because of a float-to-int rounding problem.
|
||||||
|
But this is not a bug.
|
||||||
|
See Appendix H of the OpenGL Programming Guide - "OpenGL Correctness Tips".
|
||||||
|
Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates
|
||||||
|
will fix the problem.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="part4">
|
||||||
|
</a><h1><a name="part4">4. Developer Questions</a></h1>
|
||||||
|
|
||||||
|
<h2><a name="part4">4.1 How can I contribute?</a></h2>
|
||||||
|
<p>
|
||||||
|
<a name="part4">First, join the Mesa3d-dev mailing list. That's where Mesa development
|
||||||
|
is discussed.
|
||||||
|
</a></p>
|
||||||
|
<p>
|
||||||
|
<a name="part4">The </a><a href="http://www.opengl.org/developers/documentation/specs.html">
|
||||||
|
OpenGL Specification</a> is the bible for OpenGL implemention work.
|
||||||
|
You should read it.
|
||||||
|
</p>
|
||||||
|
<p>Most of the Mesa development work involves implementing new OpenGL
|
||||||
|
extensions, writing hardware drivers (for the DRI), and code optimization.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>4.2 How do I write a new device driver?</h2>
|
||||||
|
<p>
|
||||||
|
Unfortunately, writing a device driver isn't easy.
|
||||||
|
It requires detailed understanding of OpenGL, the Mesa code, and your
|
||||||
|
target hardware/operating system.
|
||||||
|
3D graphics are not simple.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The best way to get started is to use an existing driver as your starting
|
||||||
|
point.
|
||||||
|
For a software driver, the X11 and OSMesa drivers are good examples.
|
||||||
|
For a hardware driver, the Radeon and R200 DRI drivers are good examples.
|
||||||
|
</p>
|
||||||
|
<p>The DRI website has more information about writing hardware drivers.
|
||||||
|
The process isn't well document because the Mesa driver interface changes
|
||||||
|
over time, and we seldome have spare time for writing documentation.
|
||||||
|
That being said, many people have managed to figure out the process.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Joining the appropriate mailing lists and asking questions (and searching
|
||||||
|
the archives) is a good way to get information.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
223
docs/fbdev-dri.html
Normal file
223
docs/fbdev-dri.html
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa fbdev/DRI Environment</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<center><H1>Mesa fbdev/DRI Drivers</H1></center>
|
||||||
|
|
||||||
|
|
||||||
|
<H1>1. Introduction</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The fbdev/DRI sub-project within Mesa brings hardware accelerated OpenGL
|
||||||
|
rendering to the Linux fbdev environment.
|
||||||
|
The X Window System / XFree86 is not needed.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Basically, the <a href="http://dri.sf.net/">DRI</a> drivers for hardware
|
||||||
|
accelerated OpenGL for XFree86 have been ported to fbdev so that X is
|
||||||
|
not needed.
|
||||||
|
This means fbdev/DRI works in full-screen mode only.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
DRI driver writers may find this simplified environment easier to work in,
|
||||||
|
compared to the full XFree86/DRI environment.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Much of the work for this project has been done by Jon Smirl and
|
||||||
|
Keith Whitwell.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To use fbdev/DRI, you'll need a Linux 2.4 or 2.6 kernel.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The fbdev/DRI Mesa code is in the Mesa CVS trunk (to be released as Mesa
|
||||||
|
5.1 in the future).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h1>2. Compilation</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Assuming you're starting with a fresh Mesa CVS checkout, do the following:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
cd Mesa-newtree
|
||||||
|
cp Makefile.X11 Makefile # or use a symlink
|
||||||
|
make linux-solo
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
When this is finished, check the <code>Mesa-newtree/lib</code> directory
|
||||||
|
to verify that the following files were made:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><code>libGL.so.1.2</code> - the client-side OpenGL library
|
||||||
|
(and a few symlinks to it).
|
||||||
|
<li><code>libGLU.so.1.1</code> - the GLU library (and a few symlinks to it).
|
||||||
|
<li><code>libglut.so.3.7</code> - the GLUT library (and a few symlinks to it).
|
||||||
|
<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards.
|
||||||
|
<li><code>r128_dri.so</code> - DRI driver for ATI Rage 128 cards.
|
||||||
|
<li><code>r200_dri.so</code> - DRI driver for ATI R200 Radeon cards.
|
||||||
|
<li><code>radeon_dri.so</code> - DRI driver for original ATI Radeon cards.
|
||||||
|
<li><code>fb_dri.so</code> - software-only fbdev driver.
|
||||||
|
<li><code>miniglx.conf</code> - configuration file for the MiniGLX interface
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h1>3. Using fbdev/DRI</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If XFree86 is currently running, exit/stop the X server so you're
|
||||||
|
working from the console.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>3.1 Kernel Modules</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You'll need to load kernel modules specific to your graphics hardware.
|
||||||
|
The following kernel modules should be included with your kernel.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you have ATI Radeon/R200 hardware, run as root:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
modprobe agpgart # the AGP GART module
|
||||||
|
modprobe radeonfb # the Radeon fbdev driver
|
||||||
|
modprobe radeon # the Radeon DRI kernel module
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you have ATI Rage 128 hardware, run as root:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
modprobe agpgart # the AGP GART module
|
||||||
|
modprobe aty128fb # the Rage 128 fbdev driver
|
||||||
|
modprobe r128 # the Rage 128 DRI kernel module
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you have Matrox G200/G400 hardware, run as root:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
modprobe agpgart # the AGP GART module
|
||||||
|
modprobe mgafb # the Matrox fbdev driver
|
||||||
|
modprobe mga # the Matrox DRI kernel module
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Then run <code>lsmod</code> to be sure the modules are loaded.
|
||||||
|
For a Radeon card, you should see something like this:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
Module Size Used by Not tainted
|
||||||
|
radeon 110308 0 (unused)
|
||||||
|
radeonfb 21900 0 (unused)
|
||||||
|
agpgart 43072 1
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>3.2 Configuration File</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The <code>Mesa-newtree/lib/miniglx.conf</code> file should be installed
|
||||||
|
in <code>/etc/</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Edit <code>/etc/miniglx.conf</code> to be sure it's set up correctly
|
||||||
|
for your hardware.
|
||||||
|
Comments in the file explain the options.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>3.3 Running fbdev/DRI Programs</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Make sure your LD_LIBRARY_PATH environment variable is set to the
|
||||||
|
<code>Mesa-newtree/lib/</code> directory.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Change to the <code>Mesa-newtree/progs/miniglx/</code> directory and
|
||||||
|
start the sample_server program in the background:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
./sample_server &
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Then try running the <code>miniglxtest</code> program:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
./miniglxtest
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
You should see a rotating quadrilateral which changes color as it rotates.
|
||||||
|
It will exit automatically after a bit.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you run other tests in the miniglx/ directory, you may want to run
|
||||||
|
them from a remote shell so that you can stop them with ctrl-C.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1>4.0 Troubleshooting</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you try to run miniglxtest and get the following:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
[miniglx] failed to probe chipset
|
||||||
|
connect: Connection refused
|
||||||
|
server connection lost
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
It means that the sample_server process is not running.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1>5.0 Programming Information</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The full OpenGL API is available with fbdev/DRI.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
OpenGL/Mesa is interfaced to fbdev via the <a href="MiniGLX.html">MiniGLX</a>
|
||||||
|
interface.
|
||||||
|
MiniGLX is a subset of Xlib and GLX API functions which provides just
|
||||||
|
enough functionality to setup OpenGL rendering and respond to simple
|
||||||
|
input events.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Since MiniGLX is a subset of the usual Xlib and GLX APIs, programs written
|
||||||
|
to the MiniGLX API can also be run on full Xlib/GLX implementations.
|
||||||
|
This allows some degree of flexibility for software development and testing.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
However, the MiniGLX API is not binary-compatible with full Xlib/GLX.
|
||||||
|
Some of the structures are different and some macros/functions work
|
||||||
|
differently.
|
||||||
|
See the <code>GL/miniglx.h</code> header file for details.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
62
docs/games.html
Normal file
62
docs/games.html
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Games</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Games</H1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.psc.edu/%7Esmp/a3d/">Asteroids3D</a> - 3D asteroids game
|
||||||
|
</li><li><a href="http://evlweb.eecs.uic.edu/aej/AndyBattalion.html" target="_parent">Battalion</a>
|
||||||
|
- battle game
|
||||||
|
</li><li><a href="http://bzflag.sourceforge.net/" target="_parent">BZFLAG</a> - 3-D tank
|
||||||
|
battle game
|
||||||
|
</li><li><a href="http://www.speakeasy.org/%7Emorse/copter-commander">Copter Commander</a> - 2d multiplayer side scroller
|
||||||
|
</li><li><a href="http://www.crystalspace.org/" target="_parent">CrystalSpace</a> - Free
|
||||||
|
3d game engine
|
||||||
|
</li><li><a href="http://www.afn.org/%7Ecthugha/" target="_parent">Cthugha</a> - music-sync'ed
|
||||||
|
graphical effects
|
||||||
|
</li><li><a href="http://www.sics.se/dive/" target="_parent">DIVE</a> - Distributed Interactive
|
||||||
|
Virtual Environment
|
||||||
|
</li><li><a href="http://www.newdoom.com/doomlegacy/" target="_parent">Doom Legacy</a>
|
||||||
|
- an OpenGL port of id software's popular game, Doom
|
||||||
|
</li><li><a href="http://www.asimov.de/intern_dropit.html" target="_parent">DropIt</a> - 3-D tetris game
|
||||||
|
</li><li><a href="http://www.flightgear.org/" target="_parent">Flight Gear</a> - Flight
|
||||||
|
simulator
|
||||||
|
</li><li><a href="http://freetrek.linuxgames.com/" target="_parent">Free Trek</a> - Star
|
||||||
|
Trek battle simulator
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">Gepetto</a> - Dance Choreography
|
||||||
|
</li><li><a href="http://glchess.sourceforge.net/" target="_parent">GLChess</a> - chess game
|
||||||
|
</li><li><a href="http://heretic.linuxgames.com/" target="_parent">GLHeretic</a> - Heretic
|
||||||
|
for Linux
|
||||||
|
</li><li><a href="http://glider3d.free.fr/" target="_parent">Glider3D</a> - flight simulator
|
||||||
|
</li><li><a href="http://www.gltron.org/" target="_parent">glTron</a> - Tron lightcycles
|
||||||
|
game
|
||||||
|
</li><li><a href="http://gracer.sourceforge.net/" target="_parent">GRacer</a> - 3D Motor
|
||||||
|
Sports Simulator
|
||||||
|
</li><li><a href="http://jongl.home.pages.de/" target="_parent">JONGL</a> - Juggling simulator
|
||||||
|
</li><li><a href="http://samba.anu.edu.au/KnightCap/" target="_parent">KnightCap</a> -
|
||||||
|
chess game
|
||||||
|
</li><li><a href="http://www.hackcraft.de/games/linwarrior_3d/">LinWarrior 3D</a> - A Battle Mech Simulator
|
||||||
|
</li><li><a href="http://www.nada.kth.se/%7Ef96-lfo/lunar/" target="_parent">Lunar Lander
|
||||||
|
2000</a> - 3D version of the classis lunar lander game
|
||||||
|
</li><li><a href="http://www.majik3d.org/" target="_parent">Majik 3D</a> - an online role-playing
|
||||||
|
world
|
||||||
|
</li><li><a href="http://www.pobox.com/%7Eshankel/opentrek.html" target="_parent">OpenTrek</a>
|
||||||
|
- Super Star Trek
|
||||||
|
</li><li><a href="http://www.idsoftware.com/" target="_parent">Quake(2,3)</a> - the popular
|
||||||
|
games from id software
|
||||||
|
</li><li><a href="http://torcs.free.fr/indexm.html" target="_parent">TORCS</a> - car racing
|
||||||
|
simulator
|
||||||
|
</li><li><a href="http://www.woodsoup.org/projs/tux_aqfh" target="_parent">TUX-AQFH</a>
|
||||||
|
- Tux the Penguin - a Quest for Herring
|
||||||
|
</li><li><a href="http://mordred.8m.com/voidrunner/" target="_parent">Void Runner</a>
|
||||||
|
- freeware arcade style game
|
||||||
|
</li><li><a href="http://xracer.annexia.org/" target="_parent">XRacer</a> - Free spaceship
|
||||||
|
racing game, similar to Wipeout
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
||||||
43
docs/glu.html
Normal file
43
docs/glu.html
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>SGI GLU</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>SGI SI GLU</H1>
|
||||||
|
|
||||||
|
(Silicon Graphics, Inc. Sample Implementation of the OpenGL Utility library)
|
||||||
|
|
||||||
|
<p>
|
||||||
|
SGI open-sourced their OpenGL Sample Implementation (SI) in January, 2000.
|
||||||
|
This includes the GLU library.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The SI GLU library implements GLU version 1.3 whereas the original
|
||||||
|
Mesa GLU library only implemented version 1.2.
|
||||||
|
We recommend using the SI GLU library instead of Mesa's GLU library
|
||||||
|
since it's more up-to-date, complete and reliable.
|
||||||
|
We're no longer developing the original Mesa GLU library.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The new SI GLU library code is included in the Mesa package.
|
||||||
|
You don't have to download it separately.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>Olivier Michel</b> has made Linux RPMs of GLU for i386 and PowerPC.
|
||||||
|
You can download them from the
|
||||||
|
<a href="http://www.sourceforge.net/project/showfiles.php?group_id=3"
|
||||||
|
target="_parent">download area</a> under <b>Miscellaneous</b>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Visit the <a href="http://oss.sgi.com/projects/ogl-sample/" target="_parent">
|
||||||
|
OpenGL Sample Implementation home page</a> for more information about the SI.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
62
docs/helpwanted.html
Normal file
62
docs/helpwanted.html
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Help Wanted</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Help Wanted</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We can always use more help with the Mesa project. Here are some
|
||||||
|
specific areas. If you think you can help out, post to the mesa3d-dev
|
||||||
|
mailing list.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Windows 98/NT build/driver maintenance and testing (Karl Schultz has been
|
||||||
|
doing a great job of this lately)
|
||||||
|
<li>DOS/DJGPP build/driver maintenance and testing
|
||||||
|
<li>GGI driver/build maintenance and testing
|
||||||
|
<li>GNU autoconfig/libtool maintenance (esp. on non-Linux systems)
|
||||||
|
<li>x86, SSE, 3DNow! and SPARC assembly language programming
|
||||||
|
<li>Implement WGL font functions in the WGL interface code
|
||||||
|
<li>Implement off-screen bitmap rendering support in the WGL interface code
|
||||||
|
<li>Help with writing/testing the new NV_fragment_program extension code
|
||||||
|
<li>Implement the ARB_vertex/fragment extensions
|
||||||
|
<li>Download/compile/test Mesa and report any bugs found
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you want to help with Mesa, first join the Mesa developer's
|
||||||
|
mailing list. Then post a message explaining what you might like
|
||||||
|
to help with. The Mesa web page has a list of a few work items
|
||||||
|
which you may consider.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</p>
|
||||||
|
Anyone is welcome to contribute code to the Mesa project, provided you
|
||||||
|
agree to the copyright terms of the relevant code. See the COPYRIGHT
|
||||||
|
file.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Unfortunately, all the easy work in Mesa was done years ago. Nowadays, the
|
||||||
|
work is rather complicated and not suited to beginners.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you're contribution code to the Mesa library itself:
|
||||||
|
<p>
|
||||||
|
<ol>
|
||||||
|
<li>Try to write clean code (uniform indentation, comments, meaningful
|
||||||
|
identifiers, etc). It must be readable and maintainable!
|
||||||
|
|
||||||
|
<li>Test your code. On several occations I've incorporated code from
|
||||||
|
users which later turned out to have bugs. Now, I'm pretty hesitant
|
||||||
|
to use code which doesn't look good.
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
23
docs/index.html
Normal file
23
docs/index.html
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<title>Mesa Home Page</title></head>
|
||||||
|
|
||||||
|
|
||||||
|
<frameset rows="50,100% " border="1" framespacing="1" frameborder="yes">
|
||||||
|
<frame src="banner.html" name="BannerFrame" scrolling="no" marginwidth="1" marginheight="1" resize="">
|
||||||
|
<frameset cols="28%,72% " border="1" framespacing="1" frameborder="yes">
|
||||||
|
<frame src="contents.html" name="ContentsFrame" marginwidth="2" marginheight="1" resize="">
|
||||||
|
<frame src="news.html" name="MainFrame" marginwidth="3" marginheight="1" resize="">
|
||||||
|
</frameset>
|
||||||
|
</frameset>
|
||||||
|
|
||||||
|
<noframes>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</noframes>
|
||||||
|
</html>
|
||||||
255
docs/install.html
Normal file
255
docs/install.html
Normal file
@@ -0,0 +1,255 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Compilation and Installation</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
|
||||||
|
<H1>Compilation and Installation</H1>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li><a href="#unix-x11">Unix / X11</a>
|
||||||
|
<li><a href="#windows">Windows</a>
|
||||||
|
<li><a href="#vms">VMS</a>
|
||||||
|
<li><a href="#other">Other</a>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="unix-x11">
|
||||||
|
<H2>1. Unix/X11 Compilation and Installation</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa uses a rather conventional Makefile system.
|
||||||
|
A GNU autoconf/automake system used to be included, but was discarded
|
||||||
|
in Mesa 5.1 because:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>It seldom worked on IRIX, Solaris, AIX, etc.
|
||||||
|
<li>It was very compilicated
|
||||||
|
<li>Nobody maintained it
|
||||||
|
<li>libtool was just too weird
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
If someone strongly feels that Mesa should have a autoconf/automake
|
||||||
|
system and wants to contribute one and maintain it, we'll consider
|
||||||
|
adding it again.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h3>1.1 Compilation</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you've obtained Mesa through CVS, do this to first:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
cd Mesa-newtree
|
||||||
|
cp Makefile.X11 Makefile
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Now, just type <b>make</b>.
|
||||||
|
You'll see a list of supported system configurations.
|
||||||
|
Choose one from the list (such as linux-x86), and type:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
make linux-x86
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
That's it.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>1.2 The libraries</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
When compilation has finished, look in the top-level <b>lib/</b> directory.
|
||||||
|
You'll see a set of library files similar to this:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
lrwxrwxrwx 1 brian users 10 Sep 4 17:55 libGL.so -> libGL.so.1*
|
||||||
|
lrwxrwxrwx 1 brian users 19 Sep 4 17:55 libGL.so.1 -> libGL.so.1.4.050100*
|
||||||
|
-rwxr-xr-x 1 brian users 13940317 Sep 4 17:55 libGL.so.1.4.050100*
|
||||||
|
lrwxrwxrwx 1 brian users 11 Sep 4 17:54 libGLU.so -> libGLU.so.1*
|
||||||
|
lrwxrwxrwx 1 brian users 20 Sep 4 17:54 libGLU.so.1 -> libGLU.so.1.3.050100*
|
||||||
|
-rwxr-xr-x 1 brian users 324746 Sep 3 13:54 libGLU.so.1.1*
|
||||||
|
-rwxr-xr-x 1 brian users 2830539 Sep 4 17:54 libGLU.so.1.3.050100*
|
||||||
|
lrwxrwxrwx 1 brian users 12 Sep 4 17:53 libglut.so -> libglut.so.3*
|
||||||
|
lrwxrwxrwx 1 brian users 16 Sep 4 17:53 libglut.so.3 -> libglut.so.3.7.1*
|
||||||
|
-rwxr-xr-x 1 brian users 2426683 Sep 4 17:53 libglut.so.3.7.1*
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>libGL</b> is the main OpenGL library (i.e. Mesa).
|
||||||
|
<br>
|
||||||
|
<b>libGLU</b> is the OpenGL Utility library.
|
||||||
|
<br>
|
||||||
|
<b>libglut</b> is the GLUT library.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h3>1.3 Running the demos</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you downloaded/unpacked the MesaDemos-x.y.z.tar.gz archive or
|
||||||
|
obtained Mesa from CVS, the <b>progs/</b> directory will contain a
|
||||||
|
bunch of demonstration programs.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Before running a demo, you may have to set an environment variable
|
||||||
|
(such as <b>LD_LIBRARY_PATH</b> on Linux) to indicate where the
|
||||||
|
libraries are located. For example:
|
||||||
|
<p>
|
||||||
|
<blockquote>
|
||||||
|
<b>cd</b> into the Mesa <b>lib/</b> directory.
|
||||||
|
<br>
|
||||||
|
<b>setenv LD_LIBRARY_PATH ${cwd}</b> (if using csh or tcsh shell)
|
||||||
|
<br>
|
||||||
|
or,
|
||||||
|
<br>
|
||||||
|
<b>export LD_LIBRARY_PATH=${PWD}</b> (if using bash or sh shell)
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Next, change to the Mesa/demos/ directory:
|
||||||
|
</p>
|
||||||
|
<blockquote>
|
||||||
|
<b>cd ../progs/demos</b>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Run a demo such as gears:
|
||||||
|
</p>
|
||||||
|
<blockquote>
|
||||||
|
<b>./gears</b>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If this doesn't work, try the <b>Mesa/progs/xdemos/glxinfo</b> program
|
||||||
|
and see that it prints the expected Mesa version number.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you're using Linux or a similar OS, verify that the demo program is
|
||||||
|
being linked with the proper library files:
|
||||||
|
</p>
|
||||||
|
<blockquote>
|
||||||
|
<b>ldd gears</b>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You should see something like this:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
libglut.so.3 => /home/brian/Mesa/lib/libglut.so.3 (0x40013000)
|
||||||
|
libGLU.so.1 => /home/brian/Mesa/lib/libGLU.so.1 (0x40051000)
|
||||||
|
libGL.so.1 => /home/brian/Mesa/lib/libGL.so.1 (0x400e0000)
|
||||||
|
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
|
||||||
|
libm.so.6 => /lib/i686/libm.so.6 (0x403da000)
|
||||||
|
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x403fc000)
|
||||||
|
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x404da000)
|
||||||
|
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404f1000)
|
||||||
|
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40543000)
|
||||||
|
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4054b000)
|
||||||
|
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x405fd000)
|
||||||
|
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40605000)
|
||||||
|
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40613000)
|
||||||
|
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
|
||||||
|
libdl.so.2 => /lib/libdl.so.2 (0x40644000)
|
||||||
|
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40647000)
|
||||||
|
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40650000)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Retrace your steps if this doesn't look right.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H3>1.4 Installing the header and library files</H3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The standard location for the OpenGL header files on Unix-type systems is
|
||||||
|
in <code>/usr/include/GL/</code>.
|
||||||
|
The standard location for the libraries is <code>/usr/lib/</code>.
|
||||||
|
For more information see, the
|
||||||
|
<a href="http://oss.sgi.com/projects/ogl-sample/ABI/" target="_parent">
|
||||||
|
Linux/OpenGL ABI specification</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you'd like Mesa to co-exist with another implementation of OpenGL that's
|
||||||
|
already installed, you'll have to choose different directories, like
|
||||||
|
<code>/usr/local/include/GL/</code> and <code>/usr/local/lib/</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To install the Mesa headers, do this:
|
||||||
|
<blockquote>
|
||||||
|
<b>cp -r include/GL /usr/include</b>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To install the Mesa libraries, do this:
|
||||||
|
</p>
|
||||||
|
<blockquote>
|
||||||
|
<b>cp -pd lib/* /usr/lib</b>
|
||||||
|
<br>
|
||||||
|
(The -pd options preserve symbolic links)
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you install the libraries in a non-standard location you can use
|
||||||
|
LD_LIBRARY_PATH (on Linux) to switch between the Mesa libs and another
|
||||||
|
vendor libs whenever you want.
|
||||||
|
This is a handy way to compare multiple OpenGL implementations.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="windows">
|
||||||
|
<H2>2. Windows Compilation and Installation</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Please see the <a href="README.WIN32">README.WIN32</a> file.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="vms">
|
||||||
|
<H2>3. VMS Compilation and Installation</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Please see the <a href="README.VMS">README.VMS</a> file.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="other">
|
||||||
|
<H2>4. Other systems</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Documentation for other environments (some may be very out of date):
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<UL>
|
||||||
|
<LI><A HREF="README.GGI">README.GGI</A> - GGI
|
||||||
|
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
|
||||||
|
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
|
||||||
|
<LI><A HREF="README.BEOS">README.BEOS</A> - BeOS
|
||||||
|
<LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver
|
||||||
|
<LI><A HREF="README.DJ">README.DJ</A> - DJGPP
|
||||||
|
<LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS
|
||||||
|
<LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32
|
||||||
|
<LI><A HREF="README.NeXT">README.NeXT</A> - NeXT
|
||||||
|
<LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep
|
||||||
|
<LI><A HREF="README.OS2">README.OS2</A> - OS/2
|
||||||
|
<LI><A HREF="README.WINDML">README.WINDML</A> - WindML
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
256
docs/intro.html
Normal file
256
docs/intro.html
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Introduction</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff">
|
||||||
|
|
||||||
|
<H1>Introduction</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa is a 3-D graphics library with an API which is very similar to
|
||||||
|
that of <a href="http://www.opengl.org/" target="_parent">OpenGL</a>.*
|
||||||
|
To the extent that Mesa utilizes the OpenGL command syntax or state
|
||||||
|
machine, it is being used with authorization from <a
|
||||||
|
href="http://www.sgi.com/" target="_parent">Silicon Graphics,
|
||||||
|
Inc.</a>(SGI). However, the author does not possess an OpenGL license
|
||||||
|
from SGI, and makes no claim that Mesa is in any way a compatible
|
||||||
|
replacement for OpenGL or associated with SGI. Those who want a
|
||||||
|
licensed implementation of OpenGL should contact a licensed
|
||||||
|
vendor.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Please do not refer to the library as <em>MesaGL</em> (for legal
|
||||||
|
reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
|
||||||
|
library</em>. <br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
* OpenGL is a trademark of <a href="http://www.sgi.com/"
|
||||||
|
target="_parent">Silicon Graphics Incorporated</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H1>Project History</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The Mesa project was founded by me, Brian Paul. Here's a short history
|
||||||
|
of the project.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
August, 1993: I begin working on Mesa in my spare time. The project
|
||||||
|
has no name at that point. I was simply interested in writing a simple
|
||||||
|
3D graphics library that used the then-new OpenGL API. I was partially
|
||||||
|
inspired by the <em>VOGL</em> library which emulated a subset of IRIS GL.
|
||||||
|
I had been programming with IRIS GL since 1991.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
November 1994: I contact SGI to ask permission to distribute my OpenGL-like
|
||||||
|
graphics library on the internet. SGI was generally receptive to the
|
||||||
|
idea and after negotiations with SGI's legal department, I get permission
|
||||||
|
to release it.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
February 1995: Mesa 1.0 is released on the internet. I expected that
|
||||||
|
a few people would be interested in it, but not thousands.
|
||||||
|
I was soon receiving patches, new features and thank-you notes on a
|
||||||
|
daily basis. That encouraged me to continue working on Mesa. The
|
||||||
|
name Mesa just popped into my head one day. SGI had asked me not to use
|
||||||
|
the terms <em>"Open"</em> or <em>"GL"</em> in the project name and I didn't
|
||||||
|
want to make up a new acronym. Later, I heard of the Mesa programming
|
||||||
|
language and the Mesa spreadsheet for NeXTStep.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
In the early days, OpenGL wasn't available on too many systems.
|
||||||
|
It even took a while for SGI to support it across their product line.
|
||||||
|
Mesa filled a big hole during that time.
|
||||||
|
For a lot of people, Mesa was their first introduction to OpenGL.
|
||||||
|
I think SGI recognized that Mesa actually helped to promote
|
||||||
|
the OpenGL API, so they didn't feel threatened by the project.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
1995-1996: I continue working on Mesa both during my spare time and during
|
||||||
|
my work hours at the Space Science and Engineering Center at the University
|
||||||
|
of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me do this because
|
||||||
|
Mesa is now being using for the <a href="http://www.ssec.wisc.edu/%7Ebillh/vis.html" target="_parent">Vis5D</a> project.
|
||||||
|
</p><p>
|
||||||
|
October 1996: Mesa 2.0 is released. It implementes the OpenGL 1.1 specification.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo graphics
|
||||||
|
card via the Glide library. It's the first really popular hardware OpenGL
|
||||||
|
implementation for Linux.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
September 1998: Mesa 3.0 is released. It's the first publicly-available
|
||||||
|
implementation of the OpenGL 1.2 API.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
March 1999: I attend my first OpenGL ARB meeting. I contribute to the
|
||||||
|
development of several official OpenGL extensions over the years.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
September 1999: I'm hired by Precision Insight, Inc. Mesa is a key
|
||||||
|
component of 3D hardware acceleration in the new DRI project for XFree86.
|
||||||
|
Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon follow.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
October 2001: Mesa 4.0 is released.
|
||||||
|
It implements the OpenGL 1.3 specification.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
November 2001: I cofound <a href="http://www.tungstengraphics.com" target="_parent">
|
||||||
|
Tungsten Graphics, Inc.</a> with Keith Whitwell, Jens Owen, David Dawes and
|
||||||
|
Frank LaMonica.
|
||||||
|
I continue to develop Mesa as part of my resposibilities with Tungsten
|
||||||
|
Graphics and as a spare-time project.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
November 2002: Mesa 5.0 is released.
|
||||||
|
It implements the OpenGL 1.4 specification.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for XFree86
|
||||||
|
within the
|
||||||
|
<A href="http://dri.sourceforge.net/" target="_parent">DRI project</A>.
|
||||||
|
I continue to enhance Mesa with new extensions and features.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<H1>Major Versions</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This is a summary of the major versions of Mesa. Note that Mesa's major
|
||||||
|
version number tracks OpenGL's minor version number.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Version 5.x features</H2>
|
||||||
|
<p>
|
||||||
|
Version 5.x of Mesa implements the OpenGL 1.4 API with the following
|
||||||
|
extensions incorporated as standard features:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>GL_ARB_depth_texture
|
||||||
|
<li>GL_ARB_shadow
|
||||||
|
<li>GL_ARB_texture_env_crossbar
|
||||||
|
<li>GL_ARB_texture_mirror_repeat
|
||||||
|
<li>GL_ARB_window_pos
|
||||||
|
<li>GL_EXT_blend_color
|
||||||
|
<li>GL_EXT_blend_func_separate
|
||||||
|
<li>GL_EXT_blend_logic_op
|
||||||
|
<li>GL_EXT_blend_minmax
|
||||||
|
<li>GL_EXT_blend_subtract
|
||||||
|
<li>GL_EXT_fog_coord
|
||||||
|
<li>GL_EXT_multi_draw_arrays
|
||||||
|
<li>GL_EXT_point_parameters
|
||||||
|
<li>GL_EXT_secondary_color
|
||||||
|
<li>GL_EXT_stencil_wrap
|
||||||
|
<li>GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
|
||||||
|
<li>GL_SGIS_generate_mipmap
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Version 4.x features</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Version 4.x of Mesa implements the OpenGL 1.3 API with the following
|
||||||
|
extensions incorporated as standard features:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>GL_ARB_multisample
|
||||||
|
<li>GL_ARB_multitexture
|
||||||
|
<li>GL_ARB_texture_border_clamp
|
||||||
|
<li>GL_ARB_texture_compression
|
||||||
|
<li>GL_ARB_texture_cube_map
|
||||||
|
<li>GL_ARB_texture_env_add
|
||||||
|
<li>GL_ARB_texture_env_combine
|
||||||
|
<li>GL_ARB_texture_env_dot3
|
||||||
|
<li>GL_ARB_transpose_matrix
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<H2>Version 3.x features</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Version 3.x of Mesa implements the OpenGL 1.2 API with the following
|
||||||
|
features:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>BGR, BGRA and packed pixel formats
|
||||||
|
<li>New texture border clamp mode
|
||||||
|
<li>glDrawRangeElements()
|
||||||
|
<li>standard 3-D texturing
|
||||||
|
<li>advanced MIPMAP control
|
||||||
|
<li>separate specular color interpolation
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Version 2.x features</H2>
|
||||||
|
<p>
|
||||||
|
Version 2.x of Mesa implements the OpenGL 1.1 API with the following
|
||||||
|
features.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Texture mapping:
|
||||||
|
<ul>
|
||||||
|
<li>glAreTexturesResident
|
||||||
|
<li>glBindTexture
|
||||||
|
<li>glCopyTexImage1D
|
||||||
|
<li>glCopyTexImage2D
|
||||||
|
<li>glCopyTexSubImage1D
|
||||||
|
<li>glCopyTexSubImage2D
|
||||||
|
<li>glDeleteTextures
|
||||||
|
<li>glGenTextures
|
||||||
|
<li>glIsTexture
|
||||||
|
<li>glPrioritizeTextures
|
||||||
|
<li>glTexSubImage1D
|
||||||
|
<li>glTexSubImage2D
|
||||||
|
</ul>
|
||||||
|
<li>Vertex Arrays:
|
||||||
|
<ul>
|
||||||
|
<li>glArrayElement
|
||||||
|
<li>glColorPointer
|
||||||
|
<li>glDrawElements
|
||||||
|
<li>glEdgeFlagPointer
|
||||||
|
<li>glIndexPointer
|
||||||
|
<li>glInterleavedArrays
|
||||||
|
<li>glNormalPointer
|
||||||
|
<li>glTexCoordPointer
|
||||||
|
<li>glVertexPointer
|
||||||
|
</ul>
|
||||||
|
<li>Client state management:
|
||||||
|
<ul>
|
||||||
|
<li>glDisableClientState
|
||||||
|
<li>glEnableClientState
|
||||||
|
<li>glPopClientAttrib
|
||||||
|
<li>glPushClientAttrib
|
||||||
|
</ul>
|
||||||
|
<li>Misc:
|
||||||
|
<ul>
|
||||||
|
<li>glGetPointer
|
||||||
|
<li>glIndexub
|
||||||
|
<li>glIndexubv
|
||||||
|
<li>glPolygonOffset
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
55
docs/libraries.html
Normal file
55
docs/libraries.html
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Libraries and Toolkits</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Libraries and Toolkits</H1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://mrpowers.com/Apprentice/">Apprentice</a> - free OpenInventor work-alike
|
||||||
|
<li><a href="http://www.coin3d.org/coin.html" target="_parent">Coin</a> - OSS Open Inventor clone
|
||||||
|
<li><a href="http://www.softintegration.com/products/toolkit/opengl/" target="_parent">Ch</a> - OpenGL bindings for the Ch C/C++ interpreter
|
||||||
|
<li><a href="http://www.cfdrc.com/FOX/fox.html" target="_parent">FOX</a> - GUI Library
|
||||||
|
<li><a href="http://www.jausoft.com/gl4java.html" target="_parent">GL4Java</a> - a Java wrapper for OpenGL
|
||||||
|
<li><a href="http://www.student.oulu.fi/%7Ejlof/gtkglarea/" target="_parent">GtkGLArea</a> - OpenGL Gtk widget
|
||||||
|
<li><a href="http://www.ece.ucdavis.edu/%7Ekenelson/gtk-glarea/" target="_parent">GtkGLArea--</a> - OpenGL Gtk-- widget for C++
|
||||||
|
<li><a href="http://gtkpas.sourceforge.net/" target="_parent">GTKpas</a> - OpenGL Gtk widget for <a href="http://www.freepascal.org/" target="_parent">FreePascal</a>
|
||||||
|
<li><a href="http://freeglut.sourceforge.net/" target="_parent">FreeGLUT</a> - a GLUT work-alike
|
||||||
|
<li><a href="http://math.nist.gov/f90gl" target="_parent">Fortran77/90 bindings for OpenGL and Mesa</a> - by William Mitchell
|
||||||
|
<li><a href="http://glow.sourceforge.net/" target="_parent">GLOW</a> - a GUI toolkit for GLUT and OpenGL
|
||||||
|
<li><a href="http://www.nigels.com/glt/">Glt</a> - an OpenGL C++ toolkit
|
||||||
|
<li><a href="http://www.opengl.org/developers/documentation/glut/" target="_parent">GLUT (GL Utility Toolkit)</a> - by Mark Kilgard
|
||||||
|
<li><a href="http://atrey.karlin.mff.cuni.cz/%7E0rfelyus/guileGL/" target="_parent">GuileGL</a> - OpenGL and GtkGLArea language bindings for Guile
|
||||||
|
<li><a href="http://www.rsinc.com/" target="_parent">IDL</a> - Interactive Data Language
|
||||||
|
<li><a href="http://www.newplanetsoftware.com/jx/" target="_parent">JX</a> - C++ application framework and GUI library
|
||||||
|
<li><a href="http://www.vrs3d.org/" target="_parent">MAM/VRS</a> - object-oriented toolkit for 3D graphics
|
||||||
|
<li><a href="http://www.jwdt.com/%7Epaysan/bigforth.html" target="_parent">MINOS</a> - GUI library
|
||||||
|
<li><a href="http://sourceforge.net/project/?group_id=2795" target="_parent">OglCLib</a> - C++ wrapper for OpenGL
|
||||||
|
<li><a href="http://oss.sgi.com/projects/inventor" target="_parent"> Open Inventor</a> - the Open Inventor toolkit from SGI
|
||||||
|
<li><a href="http://www.tgs.com/" target="_parent">Open Inventor</a> - the Open Inventor toolkit from Template Graphics Software, Inc.
|
||||||
|
<li><a href="http://openrm.sourceforge.net/" target="_parent">OpenRM</a>
|
||||||
|
- Open Source, multithreaded, parallel scene graph API
|
||||||
|
<li><a href="http://www.opensg.org/OpenSGPLUS/index.EN.html" target="_parent">
|
||||||
|
Open SG PLUS</a> - a scene-graph library
|
||||||
|
<li><a href="http://www.openscenegraph.org/" target="_parent">Open Scene Graph
|
||||||
|
</a> - a scene-graph library
|
||||||
|
<li><a href="http://www.openvrml.org/" target="_parent">OpenVRML</a>
|
||||||
|
- a VRML parsing/display library with "lookat" - an example VRML browser
|
||||||
|
<li><a href="http://www.woodsoup.org/projs/plib" target="_parent">PLIB</a> - A collection of portable games libraries, including an OpenGL GUI and a simple Scene Graph API
|
||||||
|
<li><a href="ftp://ftp.troll.no/contest/Pryan-1.2.tar.gz" target="_parent">Pryan</a> - an OpenInventor-like toolkit
|
||||||
|
<li><a href="http://starship.python.net:9673/crew/da/Code/PyOpenGL" target="_parent">PyOpenGL</a> - OpenGL interface for Python
|
||||||
|
<li><a href="http://www.quesa.org/" target="_parent">Quesa</a> - QuickDraw3D-compatible library based on OpenGL, Mesa or Direct3D
|
||||||
|
<li><a href="http://www.mesa3d.org/brianp/repgl.txt" target="_parent">repGL</a> - IRIS GL emulated with OpenGL
|
||||||
|
<li><a href="http://www.scitechsoft.com/dp_mgl.html" target="_parent">SciTech MGL</a> - A multiplatform (Windows, Linux, OS/2, DOS, QNX, SMX, RT-Target & more) graphics library
|
||||||
|
<li><a href="http://sgl.sourceforge.net/" target="_parent">SGL</a> - a 3D Scene Graph Library
|
||||||
|
<li><a href="http://www.lal.in2p3.fr/SI/SoFree/" target="_parent">SoFree</a> - a free implementation of Open Inventor
|
||||||
|
<li><a href="http://togl.sourceforge.net/" target="_parent">Togl</a> - Tcl/Tk widget for OpenGL
|
||||||
|
<li><a href="http://mesa3d.sourceforge.net/notfound.html">VLE</a> - Virtual Reality Toolkit
|
||||||
|
<li><a href="http://www.int.com/" target="_parent">View3D Widget</a> - 3-D GUI widget
|
||||||
|
<li><a href="http://www.kitware.com/vtk.html" target="_parent">VTK</a> - Visualization Toolkit
|
||||||
|
<li><a href="http://home.earthlink.net/%7Erzeh/YAJOGLB/doc/YAJOGLB.html" target="_parent">YAJOGL</a> - Yet Another Java GL Binding.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
||||||
115
docs/license.html
Normal file
115
docs/license.html
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>License / Cppyright Information</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>License / Copyright Information</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The Mesa distribution consists of several components. Different copyrights
|
||||||
|
and licenses apply to different components. For example, GLUT is copyrighted
|
||||||
|
by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
|
||||||
|
device drivers are copyrighted by their authors. See below for a list of
|
||||||
|
Mesa's components and the copyright/license for each.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The core Mesa library is licensed according to the terms of the XFree86
|
||||||
|
copyright (an MIT-style license). This allows integration with the
|
||||||
|
XFree86/DRI project. Unless otherwise stated, the Mesa source code and
|
||||||
|
documentation is licensed as follows:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and associated documentation files (the "Software"),
|
||||||
|
to deal in the Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<H1>Attention, Contributors</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
When contributing to the Mesa project you must agree to relinquish your
|
||||||
|
work to the holder of the copyright for the particular component you're
|
||||||
|
contributing to. That is, you can't put your own copyright on the code,
|
||||||
|
unless it's a modular piece that can be omitted from Mesa (like a new
|
||||||
|
device driver). If for example, you contribute a bug fix to Mesa's
|
||||||
|
texture mapping code, your code will become a part of the body of work
|
||||||
|
which is copyrighted by Brian Paul and licensed by the above terms.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
Mesa Component Licenses:
|
||||||
|
|
||||||
|
Component Files Primary Author License
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
core Mesa code src/*.[ch] Brian Paul Mesa
|
||||||
|
include/GL/gl.h
|
||||||
|
|
||||||
|
GLX driver src/X/* Brian Paul Mesa
|
||||||
|
include/GL/glx.h
|
||||||
|
include/GL/xmesa.h
|
||||||
|
|
||||||
|
OS/Mesa driver src/OSmesa/* Brian Paul Mesa
|
||||||
|
include/GL/osmesa.h
|
||||||
|
|
||||||
|
3Dfx driver src/FX/* David Bucciarelli Mesa
|
||||||
|
include/GL/fxmesa.h
|
||||||
|
|
||||||
|
BeOS R4 driver src/BeOS/* Brian Paul Mesa
|
||||||
|
|
||||||
|
MGL driver src/MGL/* SciTech, Inc SciTech copyright
|
||||||
|
include/GL/mglmesa.h
|
||||||
|
|
||||||
|
Windows driver src/Windows/* Li Wei copyright by Li Wei
|
||||||
|
include/GL/wmesa.h
|
||||||
|
|
||||||
|
SVGA driver src/SVGA/* Brian Paul GNU-LGPL
|
||||||
|
include/GL/svgamesa.h
|
||||||
|
|
||||||
|
DOS driver src/DOS/* Charlie Wallace GNU-LGPL
|
||||||
|
include/GL/dosmesa.h
|
||||||
|
|
||||||
|
GGI driver src/GGI/* Uwe Maurer GNU-LGPL
|
||||||
|
include/GL/ggimesa.h
|
||||||
|
|
||||||
|
S3 driver src/S3/* S3, Inc. S3 copyright
|
||||||
|
|
||||||
|
GLUT src-glut/* Mark Kilgard Mark's copyright
|
||||||
|
include/GL/*glut*.h
|
||||||
|
|
||||||
|
GLU library src-glu/* Brian Paul GNU-LGPL
|
||||||
|
|
||||||
|
SI GLU library si-glu/* SGI SGI Free B
|
||||||
|
include/GL/glu.h
|
||||||
|
|
||||||
|
Ext registry include/GL/glext.h SGI SGI Free B
|
||||||
|
include/GL/glxext.h
|
||||||
|
|
||||||
|
demo programs demos/* various see source files
|
||||||
|
|
||||||
|
X demos xdemos/* Brian Paul see source files
|
||||||
|
|
||||||
|
SGI demos samples/* SGI SGI copyright
|
||||||
|
|
||||||
|
RedBook demos book/* SGI SGI copyright
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
51
docs/lists.html
Normal file
51
docs/lists.html
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Mailing Lists</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Mailing Lists</H1>
|
||||||
|
|
||||||
|
|
||||||
|
<p>There are four Mesa mailing lists:</p>
|
||||||
|
<ul>
|
||||||
|
<li><b>mesa3d-users</b> - intended for users of the Mesa library.
|
||||||
|
Newbie questions are appropriate, but please try reading the Mesa documentation first.
|
||||||
|
</li><li><b>mesa3d-dev</b> - intended for developers of the Mesa library.
|
||||||
|
This is not for beginners.
|
||||||
|
</li><li><b>mesa3d-cvs</b> - CVS check-in messages are sent to this list.
|
||||||
|
This is useful for tracking ongoing development changes.
|
||||||
|
</li><li><b>mesa3d-announce</b> - announcements of new Mesa versions are sent to this list.
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To subscribe or unsubscribe, go to the
|
||||||
|
<a href="http://www.sourceforge.net/mail/?group_id=3" target="_parent">
|
||||||
|
SourceForge lists page.</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>The mailing lists are managed by SourceForge. If you're having trouble
|
||||||
|
with the mailing lists please contact the SourceForge administrators for help.</p>
|
||||||
|
|
||||||
|
<p>Archives of the old Mesa mailing list which was hosted by unicamp.br
|
||||||
|
are available <a href="http://groups.yahoo.com/group/mesa/messages/">here</a>.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Here are some other OpenGL-related forums you might find useful:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Usenet newsgroups:
|
||||||
|
<ul>
|
||||||
|
<li>comp.graphics.algorithms
|
||||||
|
<li>comp.graphics.api.opengl
|
||||||
|
<li>comp.os.linux.x
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://www.opengl.org/">OpenGL discussion forums</A> at www.opengl.org
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</HTML>
|
||||||
|
</BODY>
|
||||||
26
docs/mangling.html
Normal file
26
docs/mangling.html
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Function Name Mangling</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Function Name Mangling</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you want to use Mesa and native OpenGL in the same application at
|
||||||
|
the same time you may find it useful to compile Mesa with
|
||||||
|
<i>name mangling</i>.
|
||||||
|
This results in all the Mesa functions being prefixed with
|
||||||
|
<b>mgl</b> instead of <b>gl</b>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To do this, recompile Mesa with the compiler flag -DUSE_MGL_NAMESPACE.
|
||||||
|
Add the flag to the other compiler flags in Make-config (if using the
|
||||||
|
old-style build system) or in src/Makefile if using GNU autoconf/
|
||||||
|
automake to build Mesa.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
70
docs/modelers.html
Normal file
70
docs/modelers.html
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Modelers, Renderers and Viewers</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Modelers, Renderers and Viewers</H1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.ac3d.org/" target="_parent">AC3D</a> - 3-D modeler
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">ARCAD</a> - CAD program
|
||||||
|
</li><li><a href="http://www.mediascape.com/" target="_parent">Artstream</a> - provides
|
||||||
|
functionality like Corel Draw and Illustrator
|
||||||
|
</li><li><a href="http://www.blender.nl/" target="_parent">Blender</a> - 3-D animation
|
||||||
|
software
|
||||||
|
</li><li><a href="http://www.bmrt.org/" target="_parent">BMRT</a> - Blue Moon Rendering
|
||||||
|
Tools
|
||||||
|
</li><li><a href="http://www.arq.net/%7Ekasten/demtools/" target="_parent">Demtools</a>
|
||||||
|
- Map viewer
|
||||||
|
</li><li><a href="http://www.holometric.de/dimension/" target="_parent">DIMENSION</a>
|
||||||
|
- freeform surface reconstruction
|
||||||
|
</li><li><a href="http://www.vectaport.com/vhclmaps/demviewer.html" target="_parent">demviewer</a>
|
||||||
|
- interactive terrain viewer
|
||||||
|
</li><li><a href="http://www.crc.ca/FreeWRL" target="_parent">FreeWRL</a> - VRML browser
|
||||||
|
</li><li><a href="http://www.geomview.org/" target="_parent">Geomview</a> - 3-D geometry
|
||||||
|
exploration
|
||||||
|
</li><li><a href="http://innovation3d.sourceforge.net/" target="_parent">Innovation3D</a>
|
||||||
|
- 3D modeling program
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">KWRL</a> - VRML browser
|
||||||
|
</li><li><a href="http://www.vermontel.com/%7Ecmorley/vrml.html" target="_parent">LibVRML97/Lookat</a>
|
||||||
|
- VRML viewer
|
||||||
|
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
|
||||||
|
- VR graphics and interaction system
|
||||||
|
</li><li><a href="http://www.swissquake.ch/chumb.alum-soft" target="_parent">MD2 Viewer</a>
|
||||||
|
- View .MD2 files
|
||||||
|
</li><li><a href="http://www.megacads.dlr.de/" target="_parent">MegaCads</a>
|
||||||
|
- Multiblock-Elliptic-Grid-Generation-And-CAD-System
|
||||||
|
</li><li><a href="http://www.swissquake.ch/chumbalum-soft/" target="_parent">MilkShape
|
||||||
|
3D</a> - 3D modeler/animator
|
||||||
|
</li><li><a href="http://mindseye.sourceforge.net/" target="_parent">Mindseye</a> - Rendering/Modeling
|
||||||
|
Package
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">Moonlight Atelier</a> - modeling and rendering package
|
||||||
|
</li><li><a href="http://www.bittco.com/" target="_parent">NetReality</a> - Virtual Reality
|
||||||
|
web organizer
|
||||||
|
</li><li><a href="http://www.sim.no/reducer.html" target="_parent">Rational Reducer</a>
|
||||||
|
- polygon reduction tool
|
||||||
|
</li><li><a href="http://www.cs.kuleuven.ac.be/cwis/research/graphics/RENDERPARK/" target="_parent">RenderPark</a>
|
||||||
|
- photorealistic rendering
|
||||||
|
</li><li><a href="http://www.hardgeus.com/revolution" target="_parent">Revolution 3D Engine</a>
|
||||||
|
- .3ds rendering engine
|
||||||
|
</li><li><a href="http://www.dgp.toronto.edu/%7Emjmcguff/eversion/" target="_parent">sphereEversion</a>
|
||||||
|
- inside-out sphere visualization
|
||||||
|
</li><li><a href="http://www.cs.kuleuven.ac.be/cwis/research/graphics/3DOM/" target="_parent">3Dom</a>
|
||||||
|
- 3-D modeler
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">3D Studio file viewer</a> - by David Farrell
|
||||||
|
</li><li><a href="http://www.microform.se/" target="_parent">VARKON</a> - product engineering,
|
||||||
|
design, modeling
|
||||||
|
</li><li><a href="http://www.sim.no/vrmlview.html" target="_parent">VRMLview</a> - VRML
|
||||||
|
model viewer
|
||||||
|
</li><li><a href="http://www.iicm.edu/vrwave/" target="_parent">VRWave</a> - a VRML 2.0
|
||||||
|
browser
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">VRweb</a> - VRML browser
|
||||||
|
</li><li><a href="http://www.csv.ica.uni-stuttgart.de/vrml/dune/" target="_parent">white_dune</a>
|
||||||
|
- graphical VRML97 Editor and animation tool
|
||||||
|
</li><li><a href="http://www.wings3d.org/" target="_parent">Wings 3D</a> - static 3D modeller
|
||||||
|
with VRML export. Uses SDL library.
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
||||||
686
docs/news.html
Normal file
686
docs/news.html
Normal file
@@ -0,0 +1,686 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa News</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff">
|
||||||
|
|
||||||
|
<H1>News</H1>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>November 12, 2003</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
New Mesa 5.0.2 tarballs have been uploaded to SourceForge which fix a
|
||||||
|
number of automake/libtool problems.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The new MD5 checksums are:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
a9dcf3ff9ad1b7d6ce73a0df7cff8b5b MesaLib-5.0.2.tar.gz
|
||||||
|
7b4bf9261657c2fca03796d4955e6f50 MesaLib-5.0.2.tar.bz2
|
||||||
|
79c141bddcbad557647535d02194f346 MesaLib-5.0.2.zip
|
||||||
|
952d9dc823dd818981d1a648d7b2668a MesaDemos-5.0.2.tar.gz
|
||||||
|
b81fafff90995025d2f25ea02b786642 MesaDemos-5.0.2.tar.bz2
|
||||||
|
a21be975589e8a2d1871b6bb7874fffa MesaDemos-5.0.2.zip
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>September 5, 2003</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 5.0.2 has been released. This is a stable, bug-fix release.
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
Bug fixes:
|
||||||
|
- fixed texgen problem causing texcoord's Q to be zero (stex3d)
|
||||||
|
- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
|
||||||
|
- GL_CURRENT_MATRIX_NV query was wrong
|
||||||
|
- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
|
||||||
|
- GL_LIST_MODE query wasn't correct
|
||||||
|
- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
|
||||||
|
- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
|
||||||
|
- blended, wide lines didn't always work correctly (bug 711595)
|
||||||
|
- glVertexAttrib4svNV w component was always 1
|
||||||
|
- fixed bug in GL_IBM_rasterpos_clip (missing return)
|
||||||
|
- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
|
||||||
|
- a few Solaris compilation fixes
|
||||||
|
- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
|
||||||
|
- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
|
||||||
|
- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
|
||||||
|
- glFog() didn't clamp fog colors
|
||||||
|
- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
|
||||||
|
gl[Get]TexParameteri[v] functions
|
||||||
|
- fixed invalid memory references in glTexGen functions (bug 781602)
|
||||||
|
- integer-valued color arrays weren't handled correctly
|
||||||
|
- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
|
||||||
|
- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
|
||||||
|
Changes:
|
||||||
|
- build GLUT with -fexceptions so C++ apps propogate exceptions
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>June 2003</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa's directory tree has been overhauled.
|
||||||
|
Things are better organized now with some thought toward future needs.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
In CVS, the latest Mesa 5.1 development code is now rooted under the
|
||||||
|
<b>Mesa-newtree/</b> directory. The old top-level <b>Mesa/</b> directory
|
||||||
|
holds the Mesa 5.0.x code which will be abandoned at some point.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>March 30, 2003</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 5.0.1 has been released. This is a stable, bug-fix release.
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
New:
|
||||||
|
- DOS driver updates from Daniel Borca
|
||||||
|
- updated GL/gl_mangle.h file (Bill Hoffman)
|
||||||
|
Bug fixes:
|
||||||
|
- auto mipmap generation for cube maps was broken (bug 641363)
|
||||||
|
- writing/clearing software alpha channels was unreliable
|
||||||
|
- minor compilation fixes for OS/2 (Evgeny Kotsuba)
|
||||||
|
- fixed some bad assertions found with shadowtex demo
|
||||||
|
- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
|
||||||
|
- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
|
||||||
|
- fixed potential segfault in texture object validation (bug 659012)
|
||||||
|
- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
|
||||||
|
- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
|
||||||
|
- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
|
||||||
|
- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
|
||||||
|
- fixed compilation problem on Solaris7/x86 (bug 536406)
|
||||||
|
- fixed prefetch bug in 3DNow! code (Felix Kuhling)
|
||||||
|
- fixed NeXT build problem (FABSF macro)
|
||||||
|
- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
|
||||||
|
- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
|
||||||
|
- AA line and triangle Z values are now rounded, not truncated
|
||||||
|
- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
|
||||||
|
- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
|
||||||
|
- fixed a minor GL_COLOR_MATERIAL bug
|
||||||
|
- NV vertex program EXP instruction was broken
|
||||||
|
- glColorMask misbehaved with X window / pixmap rendering
|
||||||
|
- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
|
||||||
|
- attempt to fix GGI compilation problem when MesaDemos not present
|
||||||
|
- NV vertex program ARL-relative fetches didn't work
|
||||||
|
Changes:
|
||||||
|
- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
|
||||||
|
- updated winpos and pointblast demos to use ARB extensions
|
||||||
|
- disable SPARC normal transformation code (bug 673938)
|
||||||
|
- GLU fixes for OS/2 (Evgeny Kotsuba)
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
MD5 checksums follow:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
b80f8b5d53a3e9f19b9fde5af0c542f0 MesaLib-5.0.1.tar.gz
|
||||||
|
513b4bbd7d38951f05027179063d876b MesaLib-5.0.1.tar.bz2
|
||||||
|
eebd395678f4520d33b267e5d5c22651 MesaLib-5.0.1.zip
|
||||||
|
49d7feaec6dc1d2091d7c3cc72a9b320 MesaDemos-5.0.1.tar.gz
|
||||||
|
37190374a98c3c892f0698be9ca3acf0 MesaDemos-5.0.1.tar.bz2
|
||||||
|
becd8bf17f5791361b4a54ba2a78e5c9 MesaDemos-5.0.1.zip
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>March 7, 2003</h2>
|
||||||
|
<p>
|
||||||
|
Website and documentation overhaul.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The website content and Mesa documentation (from the doc/ directory) have
|
||||||
|
been merged together.
|
||||||
|
All the documentation files have been entered into the CVS repository.
|
||||||
|
Many of the old plain-text files have been converted to html and modernized.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>November 13, 2002</h2>
|
||||||
|
<p>Mesa 5.0 has been released. This is a stable release which
|
||||||
|
implements the OpenGL 1.4 specification.
|
||||||
|
</p><pre>New:
|
||||||
|
- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
|
||||||
|
- removed some overlooked debugging code
|
||||||
|
- glxinfo updated to support GLX_ARB_multisample
|
||||||
|
- GLUT now support GLX_ARB_multisample
|
||||||
|
- updated DOS driver (Daniel Borca)
|
||||||
|
Bug fixes:
|
||||||
|
- GL_POINT and GL_LINE-mode polygons didn't obey cull state
|
||||||
|
- fixed potential bug in _mesa_align_malloc/calloc()
|
||||||
|
- fixed missing triangle bug when running vertex programs
|
||||||
|
- fixed a few HPUX compilation problems
|
||||||
|
- FX (Glide) driver didn't compile
|
||||||
|
- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
|
||||||
|
- a few EXT functions, like glGenTexturesEXT, were no-ops
|
||||||
|
- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
|
||||||
|
glMultiDrawArrays and glMultiDrawElements were missing
|
||||||
|
- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
|
||||||
|
- Pentium 4 Mobile was mistakenly identified as having 3DNow!
|
||||||
|
- fixed one-bit error in point/line fragment Z calculation
|
||||||
|
- fixed potential segfault in fakeglx code
|
||||||
|
- fixed color overflow problem in DOT3 texture env mode
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>October 29, 2002</h2>
|
||||||
|
<p>Mesa 4.1 has been released. This is a new development release.
|
||||||
|
For a stable release, get 4.0.4.
|
||||||
|
</p><pre>New:
|
||||||
|
- GL_NV_vertex_program extension
|
||||||
|
- GL_NV_vertex_program1_1 extension
|
||||||
|
- GL_ARB_window_pos extension
|
||||||
|
- GL_ARB_depth_texture extension
|
||||||
|
- GL_ARB_shadow extension
|
||||||
|
- GL_ARB_shadow_ambient extension
|
||||||
|
- GL_EXT_shadow_funcs extension
|
||||||
|
- GL_ARB_point_parameters extension
|
||||||
|
- GL_ARB_texture_env_crossbar
|
||||||
|
- GL_NV_point_sprite extension
|
||||||
|
- GL_NV_texture_rectangle extension
|
||||||
|
- GL_EXT_multi_draw_arrays extension
|
||||||
|
- GL_EXT_stencil_two_side extension
|
||||||
|
- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
|
||||||
|
- GL_ATI_texture_mirror_once extension (Ian Romanick)
|
||||||
|
- massive overhaul/simplification of software rasterizer module,
|
||||||
|
many contributions from Klaus Niederkrueger
|
||||||
|
- faster software texturing in some cases (i.e. trilinear filtering)
|
||||||
|
- new OSMesaGetProcAddress() function
|
||||||
|
- more blend modes implemented with MMX code (Jose Fonseca)
|
||||||
|
- added glutGetProcAddress() to GLUT
|
||||||
|
- added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
|
||||||
|
- pbinfo and pbdemo PBuffer programs
|
||||||
|
- glxinfo -v prints transprent pixel info (Gerd Sussner)
|
||||||
|
Bug fixes:
|
||||||
|
- better mipmap LOD computation (prevents excessive blurriness)
|
||||||
|
- OSMesaMakeCurrent() didn't recognize buffer size changes
|
||||||
|
- assorted conformance fixes for 16-bit/channel rendering
|
||||||
|
- texcombine alpha subtraction mode was broken
|
||||||
|
- fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
|
||||||
|
- clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
|
||||||
|
- fixed divide by zero error in NURBS tessellator (Jon Perry)
|
||||||
|
- fixed GL_LINEAR fog bug by adding clamping
|
||||||
|
- fixed FP exceptions found using Alpha CPU
|
||||||
|
- 3dfx/glide driver render-to-window feature was broken
|
||||||
|
- added missing GLX_TRANSPARENT_RGB token to glx.h
|
||||||
|
- fixed error checking related to paletted textures
|
||||||
|
- fixed reference count error in glDeleteTextures (Randy Fayan)
|
||||||
|
Changes:
|
||||||
|
- New spec file and Python code to generate some GL dispatch files
|
||||||
|
- Glide driver defaults to "no" with autoconf/automake
|
||||||
|
- floating point color channels now clamped to [0,inf)
|
||||||
|
- updated demos/stex3d with new options
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>October 4, 2002</h2>
|
||||||
|
<p>
|
||||||
|
The <a href="http://mesa3d.sourceforge.net/docs/MesaFAQ.html">Mesa FAQ</a> has been rewritten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>October 3, 2002</h2>
|
||||||
|
<p>Mesa 4.0.4 has been released. This is a stable bug-fix release.
|
||||||
|
</p><pre> New:
|
||||||
|
- GL_NV_texture_rectangle extension
|
||||||
|
- updated glext.h header (version 17)
|
||||||
|
- updated DOS driver (Daniel Borca)
|
||||||
|
- updated BeOS R5 driver (Philippe Houdoin)
|
||||||
|
- added GL_IBM_texture_mirror_repeat
|
||||||
|
- glxinfo now takes -l option to print interesting OpenGL limits info
|
||||||
|
- GL_MESA_ycbcr_texture extension
|
||||||
|
- GL_APPLE_client_storage extension (for some DRI drivers only)
|
||||||
|
- GL_MESA_pack_invert extension
|
||||||
|
Bug fixes:
|
||||||
|
- fixed GL_LINEAR fog bug by adding clamping
|
||||||
|
- fixed FP exceptions found using Alpha CPU
|
||||||
|
- 3dfx MESA_GLX_FX=window (render to window) didn't work
|
||||||
|
- fixed memory leak in wglCreateContest (Karl Schultz)
|
||||||
|
- define GLAPIENTRY and GLAPI if undefined in glu.h
|
||||||
|
- wglGetProcAddress didn't handle all API functions
|
||||||
|
- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
|
||||||
|
- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
|
||||||
|
- error checking in compressed tex image functions had some glitches
|
||||||
|
- fixed AIX compile problem in src/config.c
|
||||||
|
- glGetTexImage was using pixel unpacking instead of packing params
|
||||||
|
- auto-mipmap generation for cube maps was incorrect
|
||||||
|
Changes:
|
||||||
|
- max texture units reduced to six to accomodate texture rectangles
|
||||||
|
- removed unfinished GL_MESA_sprite_point extension code
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>June 25, 2002</h2>
|
||||||
|
<p>Mesa 4.0.3 has been released. This is a stable bug-fix release.
|
||||||
|
</p><pre> New:
|
||||||
|
- updated GL/glext.h file (version 15)
|
||||||
|
- corrected MMX blend code (Jose Fonseca)
|
||||||
|
- support for software-based alpha planes in Windows driver
|
||||||
|
- updated GGI driver (Filip Spacek)
|
||||||
|
Bug fixes:
|
||||||
|
- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
|
||||||
|
- OSMesaMakeCurrent() didn't recognize buffer size changes
|
||||||
|
- assorted conformance fixes for 16-bit/channel rendering
|
||||||
|
- texcombine alpha subtraction mode was broken
|
||||||
|
- fixed lighting bug with non-uniform scaling and display lists
|
||||||
|
- fixed bug when deleting shared display lists
|
||||||
|
- disabled SPARC cliptest assembly code (Mesa bug 544665)
|
||||||
|
- fixed a couple Solaris compilation/link problems
|
||||||
|
- blending clipped glDrawPixels didn't always work
|
||||||
|
- glGetTexImage() didn't accept packed pixel types
|
||||||
|
- glPixelMapu[is]v() could explode given too large of pixelmap
|
||||||
|
- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
|
||||||
|
- glXCopyContext() could lead to segfaults
|
||||||
|
- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
|
||||||
|
Changes:
|
||||||
|
- lots of C++ (g++) code clean-ups
|
||||||
|
- lots of T&L updates for the Radeon DRI driver
|
||||||
|
Known bugs:
|
||||||
|
- mipmap LOD computation (fixed for Mesa 4.1)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>April 2, 2002</h2>
|
||||||
|
<p>Mesa 4.0.2 has been released. This is a stable bug-fix release.
|
||||||
|
</p><pre> New:
|
||||||
|
- New DOS (DJGPP) driver written by Daniel Borca
|
||||||
|
- New driver interface functions for TCL drivers (such as Radeon DRI)
|
||||||
|
- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
|
||||||
|
if using deep color channels
|
||||||
|
- latest GL/glext.h and GL/glxext.h headers from SGI
|
||||||
|
Bug fixes:
|
||||||
|
- GL_BLEND with non-black texture env color wasn't always correct
|
||||||
|
- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
|
||||||
|
- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
|
||||||
|
- glReadPixels was sometimes mistakenly clipped by the scissor box
|
||||||
|
- glDraw/ReadPixels didn't catch all the errors that they should have
|
||||||
|
- Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
|
||||||
|
- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
|
||||||
|
- Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
|
||||||
|
- glColorMask as sometimes effecting glXSwapBuffers()
|
||||||
|
- fixed a potential bug in XMesaGarbageCollect()
|
||||||
|
- N threads rendering into one window didn't work reliably
|
||||||
|
- glCopyPixels didn't work for deep color channels
|
||||||
|
- improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
|
||||||
|
- glPopAttrib() didn't correctly restore user clip planes
|
||||||
|
- user clip planes failed for some perspective projections (Chromium)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>December 17, 2001</h2>
|
||||||
|
<p>Mesa 4.0.1 has been released. This is a stable bug-fix release.
|
||||||
|
</p><pre> New:
|
||||||
|
- better sub-pixel sample positions for AA triangles (Ray Tice)
|
||||||
|
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
|
||||||
|
Bug fixes:
|
||||||
|
- added missing break statements in glGet*() for multisample cases
|
||||||
|
- fixed uninitialized hash table mutex bug (display lists / texobjs)
|
||||||
|
- fixed bad teximage error check conditional (bug 476846)
|
||||||
|
- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
|
||||||
|
- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
|
||||||
|
- silence some compiler warnings (gcc 2.96)
|
||||||
|
- enable the #define GL_VERSION_1_3 in GL/gl.h
|
||||||
|
- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
|
||||||
|
- fixed glu.h typedef problem found with MSDev 6.0
|
||||||
|
- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
|
||||||
|
- added missing 'const' to glXGetContextIDEXT() in glxext.h
|
||||||
|
- fixed a few glXGetProcAddress() errors (texture compression, etc)
|
||||||
|
- fixed start index bug in compiled vertex arrays (Keith)
|
||||||
|
- fixed compilation problems in src/SPARC/glapi_sparc.S
|
||||||
|
- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
|
||||||
|
- use glXGetProcAddressARB in GLUT to avoid extension linking problems
|
||||||
|
- provoking vertex of flat-shaded, color-index triangles was wrong
|
||||||
|
- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
|
||||||
|
- glTexParameter didn't flush the vertex buffer (Ray Tice)
|
||||||
|
- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
|
||||||
|
- fixed bug in normal length caching (ParaView lighting bug)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>October 22, 2001</h2>
|
||||||
|
<p>Mesa 4.0 has been released. This is a stable release.
|
||||||
|
</p><pre> New:
|
||||||
|
- Mesa 4.0 implements the OpenGL 1.3 specification
|
||||||
|
- GL_IBM_rasterpos_clip extension
|
||||||
|
- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
|
||||||
|
- GL_ARB_texture_mirrored_repeat extension
|
||||||
|
- WindML UGL driver (Stephane Raimbault)
|
||||||
|
- added OSMESA_MAX_WIDTH/HEIGHT queries
|
||||||
|
- attempted compiliation fixes for Solaris 5, 7 and 8
|
||||||
|
- updated glext.h and glxext.h files
|
||||||
|
- updated Windows driver (Karl Schultz)
|
||||||
|
Bug fixes:
|
||||||
|
- added some missing GLX 1.3 tokens to include/GL/glx.h
|
||||||
|
- GL_COLOR_MATRIX changes weren't recognized by teximage functions
|
||||||
|
- glCopyPixels with scale and bias was broken
|
||||||
|
- glRasterPos with lighting could segfault
|
||||||
|
- glDeleteTextures could leave a dangling pointer
|
||||||
|
- Proxy textures for cube maps didn't work
|
||||||
|
- fixed a number of 16-bit color channel bugs
|
||||||
|
- fixed a few minor memory leaks
|
||||||
|
- GLX context sharing was broken in 3.5
|
||||||
|
- fixed state-update bugs in glPopClientAttrib()
|
||||||
|
- fixed glDrawRangeElements() bug
|
||||||
|
- fixed a glPush/PopAttrib() bug related to texture binding
|
||||||
|
- flat-shaded, textured lines were broken
|
||||||
|
- fixed a dangling pointer problem in the XMesa code (Chris Burghart)
|
||||||
|
- lighting didn't always produce the correct alpha value
|
||||||
|
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>June 21, 2001</h2>
|
||||||
|
<p>Mesa 3.5 has been released. This is a new development release.
|
||||||
|
</p><pre> New:
|
||||||
|
- internals of Mesa divided into modular pieces (Keith Whitwell)
|
||||||
|
- 100% OpenGL 1.2 conformance (passes all conformance tests)
|
||||||
|
- new AA line algorithm
|
||||||
|
- GL_EXT_convolution extension
|
||||||
|
- GL_ARB_imaging subset
|
||||||
|
- OSMesaCreateContextExt() function
|
||||||
|
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
|
||||||
|
- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
|
||||||
|
- GL_EXT_fog_coord extension (Keith Whitwell)
|
||||||
|
- GL_EXT_secondary_color extension (Keith Whitwell)
|
||||||
|
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
|
||||||
|
- GL_SGIX_depth_texture extension
|
||||||
|
- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
|
||||||
|
- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
|
||||||
|
- GL_ARB_texture_env_combine extension
|
||||||
|
- GL_ARB_texture_env_dot3 extension
|
||||||
|
- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
|
||||||
|
- OSMesaCreateContextExt() function
|
||||||
|
- libOSMesa.so library, contains the OSMesa driver interface
|
||||||
|
- GL/glxext.h header file for GLX extensions
|
||||||
|
- somewhat faster software texturing, fogging, depth testing
|
||||||
|
- all color-index conformance tests now pass (only 8bpp tested)
|
||||||
|
- SPARC assembly language TCL optimizations (David Miller)
|
||||||
|
- GL_SGIS_generate_mipmap extension
|
||||||
|
Bug Fixes:
|
||||||
|
- fbiRev and tmuRev were unitialized when using Glide3
|
||||||
|
- fixed a few color index mode conformance failures; all pass now
|
||||||
|
- now appling antialiasing coverage to alpha after texturing
|
||||||
|
- colors weren't getting clamped to [0,1] before color table lookup
|
||||||
|
- fixed RISC alignment errors caused by COPY_4UBV macro
|
||||||
|
- drawing wide, flat-shaded lines could cause a segfault
|
||||||
|
- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
|
||||||
|
Changes:
|
||||||
|
- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
|
||||||
|
- new libOSMesa.so library, contains the OSMesa driver interface
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>May 17, 2001</h2>
|
||||||
|
<p>Mesa 3.4.2 has been released. This is basically just a bug-fix release.
|
||||||
|
Here's what's new:</p>
|
||||||
|
<pre> Bug fixes:
|
||||||
|
- deleting the currently bound texture could cause bad problems
|
||||||
|
- using fog could result in random vertex alpha values
|
||||||
|
- AA triangle rendering could touch pixels outside right window bound
|
||||||
|
- fixed byteswapping problem in clear_32bit_ximage() function
|
||||||
|
- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
|
||||||
|
- fixed memory leak in glXUseXFont()
|
||||||
|
- fragment sampling in AA triangle function was off by 1/2 pixel
|
||||||
|
- Windows: reading pixels from framebuffer didn't always work
|
||||||
|
- glConvolutionFilter2D could segfault or cause FP exception
|
||||||
|
- fixed segfaults in FX and X drivers when using tex unit 1 but not 0
|
||||||
|
- GL_NAND logicop didn't work right in RGBA mode
|
||||||
|
- fixed a memory corruption bug in vertex buffer reset code
|
||||||
|
- clearing the softwara alpha buffer with scissoring was broken
|
||||||
|
- fixed a few color index mode fog bugs
|
||||||
|
- fixed some bad assertions in color index mode
|
||||||
|
- fixed FX line 'stipple' bug #420091
|
||||||
|
Changes:
|
||||||
|
- optimized writing mono-colored pixel spans to X pixmaps
|
||||||
|
- increased max viewport size to 2048 x 2048
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>April 29, 2001</h2>
|
||||||
|
<p>New Mesa website</p>
|
||||||
|
<p>Mark Manning produced the new website.<br>Thanks, Mark!</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>February 14, 2001</h2>
|
||||||
|
<p>Mesa 3.4.1 has been released. Here's what's new:</p>
|
||||||
|
<pre> New:
|
||||||
|
- fixed some Linux build problems
|
||||||
|
- fixed some Windows build problems
|
||||||
|
- GL_EXT_texture_env_dot3 extension (Gareth Hughes)
|
||||||
|
Bug fixes:
|
||||||
|
- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
|
||||||
|
- various state-update code changes needed for DRI bugs
|
||||||
|
- disabled pixel transfer ops in glColorTable commands, not needed
|
||||||
|
- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
|
||||||
|
- updated sources and fixed compile problems in widgets-mesa/
|
||||||
|
- GLX_PBUFFER enum value was wrong in glx.h
|
||||||
|
- fixed a glColorMaterial lighting bug
|
||||||
|
- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
|
||||||
|
- glXCopySubBufferMESA() Y position was off by one
|
||||||
|
- Error checking of glTexSubImage3D() was broken (bug 128775)
|
||||||
|
- glPopAttrib() didn't restore all derived Mesa state correctly
|
||||||
|
- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
|
||||||
|
conformance problems at 16bpp.
|
||||||
|
- clearing depth buffer with scissoring was broken, would segfault
|
||||||
|
- OSMesaGetDepthBuffer() returned bad bytesPerValue value
|
||||||
|
- fixed a line clipping bug (reported by Craig McDaniel)
|
||||||
|
- fixed RGB color over/underflow bug for very tiny triangles
|
||||||
|
Known problems:
|
||||||
|
- NURBS or evaluator surfaces inside display lists don't always work
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
</p><h2>November 3, 2000</h2>
|
||||||
|
<p>Mesa 3.4 has been released. Here's what's new since the 3.3 release:</p>
|
||||||
|
<pre> New:
|
||||||
|
- optimized glDrawPixels for glPixelZoom(1,-1)
|
||||||
|
Bug Fixes:
|
||||||
|
- widgets-mesa/src/*.c files were missing from 3.3 distro
|
||||||
|
- include/GL/mesa_wgl.h file was missing from 3.3 distro
|
||||||
|
- fixed some Win32 compile problems
|
||||||
|
- texture object priorities weren't getting initialized to 1.0
|
||||||
|
- glAreTexturesResident return value was wrong when using hardware
|
||||||
|
- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
|
||||||
|
- glReadPixels with GLushort packed types was broken
|
||||||
|
- fixed a few bugs in the GL_EXT_texture_env_combine texture code
|
||||||
|
- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
|
||||||
|
- fixed some typos/bugs in the VB code
|
||||||
|
- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
|
||||||
|
- optimized glDrawPixels paths weren't being used
|
||||||
|
- per-fragment fog calculation didn't work without a Z buffer
|
||||||
|
- improved blending accuracy, fixes Glean blendFunc test failures
|
||||||
|
- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
|
||||||
|
- glXGetProcAddressARB() didn't always return the right address
|
||||||
|
- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
|
||||||
|
- texture matrix changes weren't always detected (GLUT projtex demo)
|
||||||
|
- fixed random color problem in vertex fog code
|
||||||
|
- fixed Glide-related bug that let Quake get a 24-bit Z buffer
|
||||||
|
Changes:
|
||||||
|
- finished internal support for compressed textures for DRI
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
</p><h2>April 24, 2000</h2>
|
||||||
|
<p>Mesa 3.2 has been released. Here's what's new since the beta release:</p>
|
||||||
|
<pre> Bug fixes:
|
||||||
|
- fixed memcpy bugs in span.c
|
||||||
|
- fixed missing glEnd problem in demos/tessdemo.c
|
||||||
|
- fixed bug when clearing 24bpp Ximages
|
||||||
|
- fixed clipping problem found in Unreal Tournament
|
||||||
|
- fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
|
||||||
|
- fixed Loki's 3dfx RGB vs BGR bug
|
||||||
|
- fixed Loki's 3dfx smooth/flat shading bug in SoF
|
||||||
|
Changes:
|
||||||
|
- updated docs/README file
|
||||||
|
- use bcopy() optimizations on FreeBSD
|
||||||
|
- re-enabled the optimized persp_textured_triangle() function
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
</p><h2>March 23, 2000</h2>
|
||||||
|
<p>I've just upload the Mesa 3.2 beta 1 files to SourceForge at <a href="http://sourceforge.net/project/showfiles.php?group_id=3" target="_parent">http://sourceforge.net/project/filelist.php?group_id=3</a><a href="http://sourceforge.net/project/showfiles.php?group_id=3"></a></p>
|
||||||
|
<p>3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly
|
||||||
|
just bug fixes.</p>
|
||||||
|
<p>Here's what's changed:
|
||||||
|
|
||||||
|
</p><ul>
|
||||||
|
Bug fixes:
|
||||||
|
<ul>
|
||||||
|
- mixed drawing of lines and bitmaps sometimes had wrong colors<br>
|
||||||
|
- added missing glHintPGI() function<br>
|
||||||
|
- fixed a polygon culling bug<br>
|
||||||
|
- fixed bugs in gluPartialDisk()<br>
|
||||||
|
- Z values in selection mode were wrong<br>
|
||||||
|
- added missing tokens:
|
||||||
|
<ul>
|
||||||
|
GL_SMOOTH_POINT_SIZE_RANGE<br>
|
||||||
|
GL_SMOOTH_POINT_SIZE_GRANULARITY<br>
|
||||||
|
GL_SMOOTH_LINE_WIDTH_RANGE<br>
|
||||||
|
GL_SMOOTH_LINE_WIDTH_GRANULARITY<br>
|
||||||
|
GL_ALIASED_POINT_SIZE_RANGE<br>
|
||||||
|
GL_ALIASED_LINE_WIDTH_RANGE
|
||||||
|
</ul>
|
||||||
|
- fixed glCopyPixels when copying from back to front buffer<br>
|
||||||
|
- GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT<br>
|
||||||
|
- glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken<br>
|
||||||
|
- glDeleteTextures() didn't decrement reference count correctly<br>
|
||||||
|
- GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly<br>
|
||||||
|
- Actual depth of transformation matrix stacks was off by one<br>
|
||||||
|
- 24bpp visuals didn't address pixels correctly<br>
|
||||||
|
- mipmap level of detail (lambda) calculation simplified, more accurate<br>
|
||||||
|
- 101691 - Polygon clipping and GL_LINE<br>
|
||||||
|
- 101928 - Polygon clipping and GL_LINE (same fix as above)<br>
|
||||||
|
- 101808 - Non-glVertexArrays tristrip bug<br>
|
||||||
|
- 101971 - find_last_3f on Dec OSF (worked around)<br>
|
||||||
|
- 102369 - segv on dec osf (possibly a duplicate of the above)<br>
|
||||||
|
- 102893 - orientations of modelview cause segfault
|
||||||
|
</ul>
|
||||||
|
New:
|
||||||
|
<ul>
|
||||||
|
- updated SVGA Linux driver<br>
|
||||||
|
- added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX<br>
|
||||||
|
- build libGLw.a (Xt/OpenGL drawing area widget) library by default<br>
|
||||||
|
- changed -O2 to -O3 for a number of gcc configs
|
||||||
|
</ul>
|
||||||
|
Changes:
|
||||||
|
<ul>
|
||||||
|
- glXCopyContext's mask parameter is now unsigned long, per GLX spec
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Please report any problems with this release ASAP. Bugs should be filed on the
|
||||||
|
Mesa3D website at sourceforge.<br>
|
||||||
|
After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.</p>
|
||||||
|
<p>-- Brian</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>December 17, 1999</h2>
|
||||||
|
<p>A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers)
|
||||||
|
can be found at <a href="http://slashdot.org/interviews/99/12/17/0927212.shtml" target="_parent">http://slashdot.org/interviews/99/12/17/0927212.shtml</a>.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>December 14, 1999</h2>
|
||||||
|
<p>Mesa 3.1 is released!</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>September 21, 1999</h2>
|
||||||
|
<p>There appear to be two new files on the ftp site, <a href="ftp://ftp.mesa3d.org/mesa/beta/MesaLib-3.1beta3.tar.gz">MesaLib-3.1beta3.tar.gz</a>
|
||||||
|
and <a href="ftp://ftp.mesa3d.org/mesa/beta/MesaDemos-3.1beta3.tar.gz">MesaDemos-3.1beta3.tar.gz</a>,
|
||||||
|
that seem to be... yes, I've just received confirmation from the beta center, they
|
||||||
|
are indeed the <b>THIRD</b> beta release of Mesa 3.1! Happy Days. Happy Days. Thanks
|
||||||
|
Keith Whitwell for preparing these for us during Brian's absence.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>August 30, 1999</h2>
|
||||||
|
<p>I'm pleased to announce that I've accepted a position with Precision Insight,
|
||||||
|
Inc. effective October, 1999. I'll be leaving Avid Technology in September.</p>
|
||||||
|
<p>I've been working on Mesa in my spare time for over five years. With Precision
|
||||||
|
Insight I now have the opportunity to devote my full attention to advancing Mesa
|
||||||
|
and OpenGL on Linux.</p>
|
||||||
|
<p>While I'll be focused on Linux, the X Window System, and hardware acceleration,
|
||||||
|
my work will continue to be open sourced and available to any other programmers who
|
||||||
|
may want to contribute to it, or use it for other projects or platforms</p>
|
||||||
|
<p>PS: I'm going to be traveling until Sep 6 and won't be reading email until then.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>August 23, 1999</h2>
|
||||||
|
<p>Anonymous CVS access is back online so suck up all the bandwidth you can afford.
|
||||||
|
Note that this is a new archive, so you will need to re-checkout the archive. That
|
||||||
|
means don't <i>cvs update</i> from a previous download.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>August 17, 1999</h2>
|
||||||
|
<p>A report from the SIGGRAPH '99 Linux/OpenGL
|
||||||
|
BOF meeting is now available.</p>
|
||||||
|
<p>-Brian</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>August 14, 1999</h2>
|
||||||
|
<p>www.mesa3d.org is having technical problems due to hardware failures at VA Linux
|
||||||
|
systems. The Mac pages, ftp, and CVS services aren't fully restored yet. Please be
|
||||||
|
patient.</p>
|
||||||
|
<p>-Brian</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>June 7, 1999</h2>
|
||||||
|
<p>RPMS of the nVidia RIVA server can be found at <a href="ftp://ftp.mesa3d.org/mesa/misc/nVidia/">ftp://ftp.mesa3d.org/mesa/misc/nVidia/</a>.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>June 2, 1999</h2>
|
||||||
|
<p><a href="http://www.nvidia.com/">nVidia</a> has released some Linux binaries for
|
||||||
|
xfree86 3.3.3.1, along with the <b>full source</b>, which includes GLX acceleration
|
||||||
|
based on Mesa 3.0. They can be downloaded from <a href="http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html">http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html</a>.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>May 24, 1999</h2>
|
||||||
|
<p>Beta 2 of Mesa 3.1 has been make available at <a href="ftp://ftp.mesa3d.org/mesa/beta/">ftp://ftp.mesa3d.org/mesa/beta/</a>.
|
||||||
|
If you are into the quake scene, you may want to try this out, as it contains some
|
||||||
|
optimizations specifically in the Q3A rendering path.
|
||||||
|
<p>
|
||||||
|
</p><h2>May 13, 1999</h2>
|
||||||
|
<p>For those interested in the integration of Mesa into XFree86 4.0, Precision Insight
|
||||||
|
has posted their lowlevel design documents at http://www.precisioninsight.com.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>May 13, 1999</h2>
|
||||||
|
<pre>May 1999 - John Carmack of id Software, Inc. has made a donation of
|
||||||
|
US$10,000 to the Mesa project to support its continuing development.
|
||||||
|
Mesa is a free implementation of the OpenGL 3D graphics library and id's
|
||||||
|
newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
|
||||||
|
|
||||||
|
The donation will go to Keith Whitwell, who has been optimizing Mesa to
|
||||||
|
improve performance on 3d hardware. Thanks to Keith's work, many
|
||||||
|
applications using Mesa 3.1 will see a dramatic performance increase
|
||||||
|
over Mesa 3.0. The donation will allow Keith to continue working on
|
||||||
|
Mesa full time for some time to come.
|
||||||
|
|
||||||
|
For more information about Mesa see www.mesa3d.org. For more
|
||||||
|
information about id Software, Inc. see www.idsoftware.com.
|
||||||
|
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
This donation from John/id is very generous. Keith and I are very
|
||||||
|
grateful.
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
</p><h2>May 1, 1999</h2>
|
||||||
|
<p>John Carmack made an interesting .plan update yesterday:
|
||||||
|
|
||||||
|
</p><ul>
|
||||||
|
<i>"I put together a document on optimizing OpenGL drivers for Q3 that
|
||||||
|
should be helpful to the various Linux 3D teams. <br>
|
||||||
|
</i>http://www.quake3arena.com/news/glopt.html</i>"
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
</p><h2>April 7, 1999</h2>
|
||||||
|
<p>Updated the Mesa contributors section and added links to RPM Mesa packages.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>March 18, 1999</h2>
|
||||||
|
<p>The new webpages are now online. Enjoy, and let me know if you find any errors.
|
||||||
|
For an eye-candy free version you can use <a href="http://www.mesa3d.org/txt/">http://www.mesa3d.org/txt/</a>.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>February 16, 1999</h2>
|
||||||
|
<p><a href="http://www.sgi.com/">SGI</a> releases its <a href="http://www.sgi.com/software/opensource/glx/">GLX
|
||||||
|
source code</a>.</p>
|
||||||
|
<p>
|
||||||
|
</p><h2>January 22, 1999</h2>
|
||||||
|
<p>www.mesa3d.org established</p>
|
||||||
|
|
||||||
|
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
$Id: news.html,v 3.7.2.1 2003/11/24 12:01:42 keithw Exp $
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
78
docs/osmesa.html
Normal file
78
docs/osmesa.html
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Off-screen Rendering</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Off-screen Rendering</H1>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 1.2.4 introduced off-screen rendering, a facility for generating
|
||||||
|
3-D imagery without having to open a window on your display. Mesa's
|
||||||
|
simple off-screen rendering interface is completely operating system
|
||||||
|
and window system independent so programs which use off-screen
|
||||||
|
rendering should be very portable. This feature effectively
|
||||||
|
enables you to use Mesa as an off-line, batch-oriented renderer.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The "OSMesa" API provides 3 functions for making off-screen
|
||||||
|
renderings: OSMesaCreateContext(), OSMesaMakeCurrent(), and
|
||||||
|
OSMesaDestroyContext(). See the Mesa/include/GL/osmesa.h header for
|
||||||
|
more information. See the demos/osdemo.c file for an example program.
|
||||||
|
There is no facility for writing images to files. That's up to you.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If you want to generate large images (larger than 1280x1024) you'll
|
||||||
|
have to edit the src/config.h file to change MAX_WIDTH and MAX_HEIGHT
|
||||||
|
then recompile Mesa. Image size should only be limited by available
|
||||||
|
memory.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Deep color channels</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
For some applications 8-bit color channels don't have sufficient
|
||||||
|
accuracy (film and IBR, for example). If you're in this situation
|
||||||
|
you'll be happy to know that Mesa supports 16-bit and 32-bit color
|
||||||
|
channels through the OSMesa interface. When using 16-bit channels,
|
||||||
|
channels are GLushorts and RGBA pixels occupy 8 bytes. When using 32-bit
|
||||||
|
channels, channels are GLfloats and RGBA pixels occupy 16 bytes.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
To build Mesa/OSMesa with 16-bit color channels:
|
||||||
|
<pre>
|
||||||
|
cd Mesa-5.x/src
|
||||||
|
make -f Makefile.X11 clean
|
||||||
|
make -f Makefile.OSMesa16 linux-osmesa16
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
For 32-bit channels:
|
||||||
|
<pre>
|
||||||
|
cd Mesa-5.x/src
|
||||||
|
make -f Makefile.X11 clean
|
||||||
|
make -f Makefile.OSMesa16 linux-osmesa32
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You'll wind up with a library named libOSMesa16.so or libOSMesa32.so.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you're not using Linux, you can easily edit Make-config and add
|
||||||
|
an appropriate configuration.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The Mesa/tests/osdemo16.c file (available via CVS) demonstrates how
|
||||||
|
to use this feature.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
BE WARNED: 16 and 32-bit channel support has not been exhaustively
|
||||||
|
tested and there may be some bugs. However, a number of people have
|
||||||
|
been using this feature successfully so it can't be too broken.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
51
docs/pbuffers.html
Normal file
51
docs/pbuffers.html
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>PBuffer Rendering</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>PBuffer Rendering</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Basically, FBconfigs and PBuffers allow you to do off-screen rendering
|
||||||
|
with OpenGL. The OSMesa interface does basically the same thing, but
|
||||||
|
fbconfigs and pbuffers are supported by more vendors.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
PBuffers are getting more use nowadays, though they've actually been
|
||||||
|
around for a long time on IRIX systems and other workstations.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The
|
||||||
|
<a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt"
|
||||||
|
target="_parent">GL_SGIX_fbconfig</a>
|
||||||
|
and
|
||||||
|
<a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt"
|
||||||
|
target="_parent">
|
||||||
|
GL_SGIX_pbuffer</a> extensions describe the functionality.
|
||||||
|
More recently, these extensions have been promoted to ARB extensions (on
|
||||||
|
Windows at least).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The Mesa/progs/xdemos/ directory has some useful code for working
|
||||||
|
with pbuffers:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><b>pbinfo.c</b> - like glxinfo, it prints a list of available
|
||||||
|
fbconfigs and whether each supports pbuffers.
|
||||||
|
<li><b>pbutil.c</b> - a few utility functions for dealing with
|
||||||
|
fbconfigs and pbuffers.
|
||||||
|
<li><b>pbdemo.c</b> - a demonstration of off-screen rendering with pbuffers.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 4.1 and later support GL_SGIX_fbconfig and GL_SGIX_pbuffer (software
|
||||||
|
rendering only).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
66
docs/perf.html
Normal file
66
docs/perf.html
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Performance Tips</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Performance Tips</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Performance tips for software rendering:
|
||||||
|
</P>
|
||||||
|
<ol>
|
||||||
|
|
||||||
|
<li> Turn off smooth shading when you don't need it (glShadeModel)
|
||||||
|
<li> Turn off depth buffering when you don't need it.
|
||||||
|
<li> Turn off dithering when not needed.
|
||||||
|
<li> Use double buffering as it's often faster than single buffering
|
||||||
|
<li> Compile in the X Shared Memory extension option if it's supported
|
||||||
|
on your system by adding -DSHM to CFLAGS and -lXext to XLIBS for
|
||||||
|
your system in the Make-config file.
|
||||||
|
<li> Recompile Mesa with more optimization if possible.
|
||||||
|
<li> Try to maximize the amount of drawing done between glBegin/glEnd pairs.
|
||||||
|
<li> Use the MESA_BACK_BUFFER variable to find best performance in double
|
||||||
|
buffered mode. (X users only)
|
||||||
|
<li> Optimized polygon rasterizers are employed when:
|
||||||
|
rendering into back buffer which is an XImage
|
||||||
|
RGB mode, not grayscale, not monochrome
|
||||||
|
depth buffering is GL_LESS, or disabled
|
||||||
|
flat or smooth shading
|
||||||
|
dithered or non-dithered
|
||||||
|
no other rasterization operations enabled (blending, stencil, etc)
|
||||||
|
<li> Optimized line drawing is employed when:
|
||||||
|
rendering into back buffer which is an XImage
|
||||||
|
RGB mode, not grayscale, not monochrome
|
||||||
|
depth buffering is GL_LESS or disabled
|
||||||
|
flat shading
|
||||||
|
dithered or non-dithered
|
||||||
|
no other rasterization operations enabled (blending, stencil, etc)
|
||||||
|
<li> Textured polygons are fastest when:
|
||||||
|
using a 3-component (RGB), 2-D texture
|
||||||
|
minification and magnification filters are GL_NEAREST
|
||||||
|
texture coordinate wrap modes for S and T are GL_REPEAT
|
||||||
|
GL_DECAL environment mode
|
||||||
|
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST )
|
||||||
|
depth buffering is GL_LESS or disabled
|
||||||
|
<li> Lighting is fastest when:
|
||||||
|
Two-sided lighting is disabled
|
||||||
|
GL_LIGHT_MODEL_LOCAL_VIEWER is false
|
||||||
|
GL_COLOR_MATERIAL is disabled
|
||||||
|
No spot lights are used (all GL_SPOT_CUTOFFs are 180.0)
|
||||||
|
No local lights are used (all position W's are 0.0)
|
||||||
|
All material and light coefficients are >= zero
|
||||||
|
<li> XFree86 users: if you want to use 24-bit color try starting your
|
||||||
|
X server in 32-bit per pixel mode for better performance. That is,
|
||||||
|
start your X server with
|
||||||
|
startx -- -bpp 32
|
||||||
|
instead of
|
||||||
|
startx -- -bpp 24
|
||||||
|
<li> Try disabling dithering with the MESA_NO_DITHER environment variable.
|
||||||
|
If this env var is defined Mesa will disable dithering and the
|
||||||
|
command glEnable(GL_DITHER) will be ignored.
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
34
docs/relnotes.html
Normal file
34
docs/relnotes.html
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Release Notes</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Release Notes</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The release notes summarize what's new or changed in each Mesa release.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<UL>
|
||||||
|
<LI><A HREF="RELNOTES-5.0.2">RELNOTES-5.0.2</A>
|
||||||
|
<LI><A HREF="RELNOTES-5.0.1">RELNOTES-5.0.1</A>
|
||||||
|
<LI><A HREF="RELNOTES-5.0">RELNOTES-5.0</A>
|
||||||
|
<LI><A HREF="RELNOTES-4.1">RELNOTES-4.1</A>
|
||||||
|
<LI><A HREF="RELNOTES-4.0.3">RELNOTES-4.0.3</A>
|
||||||
|
<LI><A HREF="RELNOTES-4.0.2">RELNOTES-4.0.2</A>
|
||||||
|
<LI><A HREF="RELNOTES-4.0.1">RELNOTES-4.0.1</A>
|
||||||
|
<LI><A HREF="RELNOTES-4.0">RELNOTES-4.0</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.5">RELNOTES-3.5</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.4.2">RELNOTES-3.4.2</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.4.1">RELNOTES-3.4.1</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.4">RELNOTES-3.4</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.3">RELNOTES-3.3</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.2.1">RELNOTES-3.2.1</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.2">RELNOTES-3.2</A>
|
||||||
|
<LI><A HREF="RELNOTES-3.1">RELNOTES-3.1</A>
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
64
docs/science.html
Normal file
64
docs/science.html
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Science and Technical</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Science and Technical</H1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.softintegration.com/products/toolkit/opengl/" target="_parent">Ch</a> - OpenGL bindings for the Ch C/C++ interpreter
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">CLEO3D</a> - event displayer for the CLEOIII detector
|
||||||
|
</li><li><a href="http://www.bioz.unibas.ch/%7Exray/dino/" target="_parent">DINO</a> - Visualizing
|
||||||
|
Structural Biology
|
||||||
|
</li><li><a href="http://www-xdiv.lanl.gov/XCM/gmv/GMVHome.html" target="_parent">General
|
||||||
|
Mesh Viewer (GMV)</a> - scientific vis.
|
||||||
|
</li><li><a href="http://gid.cimne.upc.es/" target="_parent">GiD</a> - finite element
|
||||||
|
analysis
|
||||||
|
</li><li><a href="http://sig.co.za/download.htm" target="_parent">glpoisson</a> - A finite
|
||||||
|
element analysis program that simulates wave in an arbitrary region.
|
||||||
|
</li><li><a href="http://glwaves.sourceforge.net/" target="_parent">GLWaves</a> -
|
||||||
|
Electromagnetic wave visualization
|
||||||
|
</li><li><a href="http://www.geuz.org/gmsh/" target="_parent">Gmsh</a> -
|
||||||
|
finite element mesh generator / viewer
|
||||||
|
</li><li><a href="http://laaksonen.csc.fi/gopenmol/gopenmol.htmls" target="_parent">gOpenMol</a>
|
||||||
|
- computational chemistry
|
||||||
|
</li><li><a href="http://www.mgix.com/gps3d/" target="_parent">GPS 3D</a> - GPS-based map visualization
|
||||||
|
</li><li><a href="http://hirame.hiram.edu/%7Eworleyam/" target="_parent">Hitchhiker</a>
|
||||||
|
- virtual solar system
|
||||||
|
</li><li><a href="http://www-xdiv.lanl.gov/XCM/Hydra/" target="_parent">Hydra</a> - physics
|
||||||
|
and engineering pkg
|
||||||
|
</li><li><a href="http://fox.mit.edu/skunk/soft/lightspeed/" target="_parent">Light Speed</a>
|
||||||
|
- a real-time, interactive relativistic simulator
|
||||||
|
</li><li><a href="http://linkwinds.jpl.nasa.gov/" target="_parent">LinkWinds</a> - scientific
|
||||||
|
vis
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">MathGL3d</a> - Mathematica viewer
|
||||||
|
</li><li><a href="http://www.mathworks.com/products/matlab" target="_parent">Mathworks</a>
|
||||||
|
- mathematics and visualization
|
||||||
|
</li><li><a href="http://www-rocq.inria.fr/gamma/medit/medit.html" target="_parent">Medit</a> - 3D surface mesh viewer
|
||||||
|
</li><li><a href="http://www.mol.biol.ethz.ch/wuthrich/software/molmol/" target="_parent">MOLMOL</a>
|
||||||
|
- molecular modeling and analysis
|
||||||
|
</li><li><a href="http://www.avatar.se/molscript/" target="_parent">Molscript</a> - molecular
|
||||||
|
modeling
|
||||||
|
</li><li><a href="http://www.opendx.org/" target="_parent">OpenDX</a> - Data visualization
|
||||||
|
system
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">PHLEX</a> - Finite element vis
|
||||||
|
</li><li><a href="http://root.cern.ch/" target="_parent">ROOT</a> - Object Oriented Data
|
||||||
|
Analysis Framework
|
||||||
|
</li><li><a href="http://www.slffea.com/" target="_parent">SLFFEA</a> - GNU finite element
|
||||||
|
package
|
||||||
|
</li><li><a href="http://quorum.tamu.edu/jon/spock" target="_parent">Spock</a> - molecular
|
||||||
|
modeling
|
||||||
|
</li><li><a href="http://www1.las.es/%7Eamil/ssystem" target="_parent">Ssystem</a> - solar
|
||||||
|
system simulation
|
||||||
|
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html">SPARROW</a> - robot simulation
|
||||||
|
</li><li><a href="http://www.ssec.wisc.edu/%7Ebillh/vis5d.html" target="_parent">Vis5D</a>
|
||||||
|
- atmospheric visualization
|
||||||
|
</li><li><a href="http://www.ks.uiuc.edu/Research/vmd/" target="_parent">VMD</a> - molecular
|
||||||
|
modeling
|
||||||
|
</li><li><a href="http://www.cyberbotics.com/" target="_parent">Webots</a> - 3-D mobile
|
||||||
|
robot simulator
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
||||||
24
docs/sourcedocs.html
Normal file
24
docs/sourcedocs.html
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Source Code Documentation</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Source Code Documentation</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<A HREF="http://www.doxygen.org" target="_parent">Doxygen</A>
|
||||||
|
is used to automatically
|
||||||
|
produce cross-referenced documentation from the Mesa sources.
|
||||||
|
This is not included in the normal Mesa distribution.
|
||||||
|
Download Mesa from CVS if interested.
|
||||||
|
</P>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
If you're reading this page from your local copy of Mesa, and have
|
||||||
|
run the doxygen scripts, you can read the documentation
|
||||||
|
<A HREF="../doxy/core/index.html">here</A>
|
||||||
|
</P>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
3579
docs/subset-A.html
Normal file
3579
docs/subset-A.html
Normal file
File diff suppressed because it is too large
Load Diff
31
docs/subset.html
Normal file
31
docs/subset.html
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Subset</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Mesa Subset</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
In 2002/2003 Tungsten Graphics was contracted to develop a subset Mesa/Radeon
|
||||||
|
driver for an embedded environment. The result is a reduced-size DRI driver
|
||||||
|
for the ATI R200 chip, for use with Linux fbdev rather than XFree86.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The specification for this subset can be found
|
||||||
|
<a href="subset-A.html">here</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The <a href="MiniGLX.html">MiniGLX specification</a> describes the
|
||||||
|
interface between fbdev and Mesa.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
More info to come...
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
109
docs/systems.html
Normal file
109
docs/systems.html
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Supported Systems and Drivers</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Supported Systems and Drivers</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa was originally designed for Unix/X11 systems and is still best
|
||||||
|
supported on those systems. All you need is an ANSI C compiler and the
|
||||||
|
X development environment to use Mesa.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Others have contributed drivers
|
||||||
|
for the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows
|
||||||
|
9x/NT, and Direct3D.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The following files describe the details for various platforms.
|
||||||
|
Be warned, some of these files (and drivers) may be very out of date.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<UL>
|
||||||
|
<LI><A HREF="README.X11">README.X11</A> - X Window System / Unix / Linux
|
||||||
|
<LI><A HREF="README.WIN32">README.WIN32</A> - Microsoft Windows
|
||||||
|
<LI><A HREF="README.VMS">README.VMS</A> - DEC VMS
|
||||||
|
<LI><A HREF="README.GGI">README.GGI</A> - GGI
|
||||||
|
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
|
||||||
|
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
|
||||||
|
<LI><A HREF="README.BEOS">README.BEOS</A> - BeOS
|
||||||
|
<LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver
|
||||||
|
<LI><A HREF="README.DJ">README.DJ</A> - DJGPP
|
||||||
|
<LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS
|
||||||
|
<LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32
|
||||||
|
<LI><A HREF="README.NeXT">README.NeXT</A> - NeXT
|
||||||
|
<LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep
|
||||||
|
<LI><A HREF="README.OS2">README.OS2</A> - OS/2
|
||||||
|
<LI><A HREF="README.WINDML">README.WINDML</A> - WindML
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The standard Mesa distribution only supports software-based rendering, with
|
||||||
|
the exception of the 3Dfx Glide driver.
|
||||||
|
Information about other hardware support follows.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>DRI-based hardware support for 3dfx, Intel, Matrox, ATI with XFree86
|
||||||
|
<blockquote>
|
||||||
|
<p>The <a href="http://dri.sourceforge.net/" target="_parent">DRI architecture</a>,
|
||||||
|
originally developed by Precision Insight, Inc. uses Mesa and
|
||||||
|
provides hardware acceleration for a number of popular chipsets.<br>
|
||||||
|
<br>
|
||||||
|
The DRI is part of XFree86 4.0 and later.
|
||||||
|
<br><br>
|
||||||
|
If you download and install XFree86 4.x you do not need to
|
||||||
|
install Mesa separately. All the important parts of Mesa
|
||||||
|
will be installed with the rest of XFree86.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
|
||||||
|
<li>3dfx Voodoo1, Voodoo2, Voodoo Rush, Voodoo Banshee, Voodoo3
|
||||||
|
<blockquote>
|
||||||
|
<p>All cards based on these chipsets should work with Linux and
|
||||||
|
Windows 95 via 3dfx's Glide library.
|
||||||
|
The Mesa/Glide driver is included with the Mesa distribution.
|
||||||
|
You'll need to install the Glide header files and runtime library.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
David Bucciarelli wrote the original 3dfx driver for Mesa.<br>
|
||||||
|
Daryll Strauss ported Glide to Linux.
|
||||||
|
</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
|
||||||
|
<li>Matrox G200/G400, nVidia RIVA, ATI Rage Pro, Intel i810 on Linux
|
||||||
|
<blockquote>
|
||||||
|
<p>The <a href="http://utah-glx.sourceforge.net/" target="_parent">
|
||||||
|
Utah GLX project</a>
|
||||||
|
(no longer active) developed drivers for these chipsets and others.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<li>Amiga Warp3D
|
||||||
|
<blockquote>
|
||||||
|
<p>Amiga systems can support 3D hardware with the Warp3D API.
|
||||||
|
See <a href="http://www.haage-partner.com/3dworld" target="_parent">here</a>.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<li>Also see
|
||||||
|
<blockquote>
|
||||||
|
<p><a href="http://www.linux3d.org/" target="_parent">www.linux3d.org</a> for
|
||||||
|
other 3D hardware info for Linux.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b><em>Note:</em></b>
|
||||||
|
If you have NVIDIA hardware in your computer,
|
||||||
|
you should download and install NVIDIA's OpenGL library. You may
|
||||||
|
however, want to download Mesa in order to use its GLU and GLUT
|
||||||
|
libraries, or assorted demo programs.</p>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
124
docs/thanks.html
Normal file
124
docs/thanks.html
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>Acknowledgements</TITLE>
|
||||||
|
</HEAD>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Acknowledgments</H1>
|
||||||
|
|
||||||
|
|
||||||
|
The following individuals and groups are to be acknowledged for their
|
||||||
|
contributions to Mesa over the years.
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Early Mesa development was done while Brian was part of the
|
||||||
|
<A HREF="http://www.ssec.wisc.edu/~billh/vis.html"
|
||||||
|
target="_parent">SSEC Visualization Project</A> at the University of
|
||||||
|
Wisconsin. He'd like to thank Bill Hibbard for letting him work on
|
||||||
|
Mesa as part of that project.
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<li>John Carmack of id Software, Inc. funded Keith Whitwell in 1999 in
|
||||||
|
order to optimize Mesa's vertex transformation module. This is a very
|
||||||
|
substantial piece of work.
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<li>Precision Insight, Inc., VA Linux Systems, Inc., and most recently,
|
||||||
|
Tungsten Graphics, Inc. have supported the ongoing development of Mesa.
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<li>The <A HREF="http://sourceforge.net/projects/mesa3d"
|
||||||
|
target="_parent">Mesa</A>
|
||||||
|
project is hosted by<A HREF="http://sourceforge.net"
|
||||||
|
target="_parent"><IMG SRC="http://sourceforge.net/sflogo.php?group_id=3&type=1"
|
||||||
|
WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<li><a href="http://www.altsoftware.com/"
|
||||||
|
target="_parent">alt.software</a> contributed the Direct3D driver.
|
||||||
|
|
||||||
|
<li><b>Bernd Barsuhn</b> wrote the evaluator code for (splines,
|
||||||
|
patches) in Mesa.
|
||||||
|
|
||||||
|
<li><b>Bernhard Tschirren</b> wrote the Allegro DJGPP driver.
|
||||||
|
|
||||||
|
<li><b>Bogdan Sikorski</b> wrote the GLU NURBS and polygon tessellator
|
||||||
|
in Mesa.
|
||||||
|
|
||||||
|
<li><b>Charlie Wallace</b> wrote the MS-DOS driver.
|
||||||
|
|
||||||
|
<li><b>CJ Beyer</b> was the www.mesa3d.org webmaster.
|
||||||
|
|
||||||
|
<li><b>Darren Abbott</b> provided the OS/2 driver.
|
||||||
|
|
||||||
|
<li><b>David Bucciarelli</b> wrote and maintained the 3Dfx Glide
|
||||||
|
driver. Thousands of Linux/Quake players thank David!
|
||||||
|
|
||||||
|
<li><b>Gareth Hughes</b> wrote new GLU 1.2 Polygon Tessellation code
|
||||||
|
(now superceded by SGI SI GLU).
|
||||||
|
|
||||||
|
<li><b>Holger Waechtler</b> contributed AMD 3DNow! assembly code which
|
||||||
|
accelerates vertex transformation in Mesa 3.1. Holger also implemented
|
||||||
|
the GL_EXT_texture_env_combine extension.
|
||||||
|
|
||||||
|
<li><b>Jeroen van der Zijp</b> and <b>Thorsten Ohl</b> contributed the
|
||||||
|
Xt/Motif widget code.
|
||||||
|
|
||||||
|
<li><b>John Stone</b> provided the multi-threading support in Mesa 3.0.
|
||||||
|
|
||||||
|
<li><b>John Watson</b> assisted with web page design.
|
||||||
|
|
||||||
|
<li><b>Josh Vanderhoof</b> contributed Intel x86 assembly code which
|
||||||
|
accelerates vertex transformation in Mesa 3.x.
|
||||||
|
|
||||||
|
<li><b>Jouk Jansen</b> contributed and continues to maintain the VMS
|
||||||
|
support.
|
||||||
|
|
||||||
|
<li><b>Karl Schultz</b> has been maintaining the Windows driver.
|
||||||
|
|
||||||
|
<li><b>Keith Whitwell</b> has made extension contributions to Mesa
|
||||||
|
since 1999.
|
||||||
|
|
||||||
|
<li><b>Kendall Bennett</b> wrote the SciTech MGL driver.
|
||||||
|
|
||||||
|
<li><b>Klaus Niederkrueger</b> contributed many improvements to Mesa's
|
||||||
|
software rasterizer.
|
||||||
|
|
||||||
|
<li><b>Mark Kilgard</b> contributed antialiased line improvements and
|
||||||
|
several extensions.
|
||||||
|
|
||||||
|
<li><b>Michael Pichler</b> contributed <em>many</em> bug fixes
|
||||||
|
|
||||||
|
<li><b>Miklos Fazekas</b> wrote and maintains the Macintosh driver.
|
||||||
|
|
||||||
|
<li><b>Pascal Thibaudeau</b> wrote the NeXT driver.
|
||||||
|
|
||||||
|
<li><b>Pedro Vazquez</b> setup and maintains the Mesa Mailing list.
|
||||||
|
|
||||||
|
<li><b>Randy Frank</b> contributed <em>many</em> bug fixes.
|
||||||
|
|
||||||
|
<li><b>Stefan Zivkovic</b> wrote the Amiga driver.
|
||||||
|
|
||||||
|
<li><b>Stephane Rehel</b> provided the Cygnus Win32 support
|
||||||
|
|
||||||
|
<li><b>Ted Jump</b> maintained the
|
||||||
|
makefiles and project files for Windows 95/98/NT compilation for some time.
|
||||||
|
|
||||||
|
<li><b>Uwe Maurer</b> wrote the LibGGI driver for Mesa-3.0.
|
||||||
|
|
||||||
|
<li><b>Victor Ng-Thow-Hing</b> wrote the Amiwin driver for the Amiga.
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Apologies to anyone who's been omitted.
|
||||||
|
Please send corrections and additions to Brian.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
24
docs/utilities.html
Normal file
24
docs/utilities.html
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Development Utilities</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Development Utilities</H1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li>The Mesa distribution includes several utility routines in the
|
||||||
|
progs/util/ directory
|
||||||
|
|
||||||
|
<li>Allen Akin's <a href="http://glean.sourceforge.net/"
|
||||||
|
target="_parent">glean</a> is a framework for OpenGL testing.
|
||||||
|
|
||||||
|
<li><a href="http://developer.kde.org/~sewardj/"
|
||||||
|
target="_parent">Valgrind</a> is a very useful tool for tracking down
|
||||||
|
memory-related problems in your code.
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
42
docs/utility.html
Normal file
42
docs/utility.html
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Utilities</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff" link="#111188">
|
||||||
|
|
||||||
|
<H1>Utilities</H1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://fox.mit.edu/skunk/soft/fsv/"
|
||||||
|
target="_parent">fvs</a> - 3D file system visualizer
|
||||||
|
|
||||||
|
<li><a href="http://www.dgp.utoronto.ca/%7Emac/projects/glbiff.html"
|
||||||
|
target="_parent">glbiff</a> - GL version of xbiff
|
||||||
|
|
||||||
|
<li><a href="http://glload.netpedia.net/" target="_parent">glload</a>
|
||||||
|
- CPU load meter
|
||||||
|
|
||||||
|
<li><a href="http://www.scitechsoft.com/gldirect.html"
|
||||||
|
target="_parent">SciTech GLDirect</a> - Driver to run OpenGL
|
||||||
|
apps using Direct3D under Windows
|
||||||
|
|
||||||
|
<li><a href="http://threedsia.sourceforge.net/"
|
||||||
|
target="_parent">3Dsia</a> - 3D user interface
|
||||||
|
|
||||||
|
<li><a href="http://mesa3d.sourceforge.net/notfound.html">VRML Site
|
||||||
|
Map</a> - 3D GUI
|
||||||
|
|
||||||
|
<li><a href="http://www.vros.com/" target="_parent">VR/OS</a> - VR
|
||||||
|
user interface
|
||||||
|
|
||||||
|
<li><a href="http://wauug.erols.com/%7Ebagleyd/"
|
||||||
|
target="_parent">xlockmore</a> - an X screen saver
|
||||||
|
|
||||||
|
<li><a href="http://www.jwz.org/xscreensaver"
|
||||||
|
target="_parent">xscreensaver</a> - X screen saver
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
22
docs/webmaster.html
Normal file
22
docs/webmaster.html
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Introduction</TITLE>
|
||||||
|
|
||||||
|
<BODY text="#000000" bgcolor="#55bbff">
|
||||||
|
|
||||||
|
<H1>Webmaster</font></H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you have problems, edits or additions for this website send them
|
||||||
|
to Brian
|
||||||
|
(<em>b</em><em>r</em><em>i</em><em>a</em><em>n</em><em>_</em><em>e</em><em>_</em><em>p</em><em>a</em><em>u</em><em>l</em><em>@</em><em>y</em><em>a</em><em>h</em><em>o</em><em>o</em><em>.</em><em>c</em><em>o</em><em>m</em>)</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mark Manning made the frame-based layout for the website.
|
||||||
|
Brian's modified it a lot since then.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
15
doxygen/.cvsignore
Normal file
15
doxygen/.cvsignore
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
*.tag
|
||||||
|
agpgart
|
||||||
|
array_cache
|
||||||
|
core
|
||||||
|
core_subset
|
||||||
|
math
|
||||||
|
math_subset
|
||||||
|
miniglx
|
||||||
|
radeon_subset
|
||||||
|
radeondrm
|
||||||
|
radeonfb
|
||||||
|
swrast
|
||||||
|
swrast_setup
|
||||||
|
tnl
|
||||||
|
tnl_dd
|
||||||
30
doxygen/Makefile
Normal file
30
doxygen/Makefile
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
default: full
|
||||||
|
|
||||||
|
all: full subset
|
||||||
|
|
||||||
|
%.tag: %.doxy
|
||||||
|
doxygen $<
|
||||||
|
|
||||||
|
FULL = \
|
||||||
|
core.doxy \
|
||||||
|
math.doxy \
|
||||||
|
array_cache.doxy \
|
||||||
|
swrast.doxy \
|
||||||
|
swrast_setup.doxy \
|
||||||
|
tnl.doxy \
|
||||||
|
tnl_dd.doxy
|
||||||
|
|
||||||
|
full: $(FULL:.doxy=.tag)
|
||||||
|
$(foreach FILE,$(FULL),doxygen $(FILE);)
|
||||||
|
|
||||||
|
SUBSET = \
|
||||||
|
core.doxy \
|
||||||
|
math.doxy \
|
||||||
|
miniglx.doxy
|
||||||
|
|
||||||
|
subset: $(SUBSET:.doxy=.tag)
|
||||||
|
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
|
||||||
|
rm -rf *.tag
|
||||||
10
doxygen/README
Normal file
10
doxygen/README
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
This directory is for doxygen (a source code documentation system).
|
||||||
|
|
||||||
|
See http://www.doxygen.org/ for more info.
|
||||||
|
|
||||||
|
Either run 'make' (Unix) or 'doxy.bat' (Windows) to run doxygen
|
||||||
|
and generate souce code documentation.
|
||||||
|
|
||||||
|
Then, load either doxy/core/index.html or doxy/core_subset/index.html into
|
||||||
|
your web browser.
|
||||||
49
doxygen/array_cache.doxy
Normal file
49
doxygen/array_cache.doxy
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
@INCLUDE = common.doxy
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa array_cache"
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/array_cache/
|
||||||
|
FILE_PATTERNS = *.c \
|
||||||
|
*.h
|
||||||
|
RECURSIVE = NO
|
||||||
|
EXCLUDE =
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
EXAMPLE_PATTERNS =
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
|
IMAGE_PATH =
|
||||||
|
INPUT_FILTER =
|
||||||
|
FILTER_SOURCE_FILES = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
HTML_OUTPUT = array_cache
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
INCLUDE_PATH =
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
PREDEFINED =
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
SKIP_FUNCTION_MACROS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
TAGFILES = core.tag=../core \
|
||||||
|
tnl.tag=../tnl \
|
||||||
|
swrast_setup.tag=../swrast_setup \
|
||||||
|
swrast.tag=../swrast \
|
||||||
|
math.tag=../math \
|
||||||
|
tnl_dd.tag=../tnl_dd
|
||||||
|
GENERATE_TAGFILE = array_cache.tag
|
||||||
1101
doxygen/common.doxy
Normal file
1101
doxygen/common.doxy
Normal file
File diff suppressed because it is too large
Load Diff
48
doxygen/core.doxy
Normal file
48
doxygen/core.doxy
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
@INCLUDE = common.doxy
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa Core"
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/main/
|
||||||
|
FILE_PATTERNS = *.c *.h
|
||||||
|
RECURSIVE = NO
|
||||||
|
EXCLUDE = ../src/glapitemp.h ../src/glapioffsets.h
|
||||||
|
EXCLUDE_PATTERNS = subset_*
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
EXAMPLE_PATTERNS =
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
|
IMAGE_PATH =
|
||||||
|
INPUT_FILTER =
|
||||||
|
FILTER_SOURCE_FILES = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
HTML_OUTPUT = core
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
MACRO_EXPANSION = YES
|
||||||
|
EXPAND_ONLY_PREDEF = YES
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
INCLUDE_PATH = ../include/
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
PREDEFINED = _HAVE_FULL_GL=1
|
||||||
|
EXPAND_AS_DEFINED = _glthread_DECLARE_STATIC_MUTEX
|
||||||
|
SKIP_FUNCTION_MACROS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
TAGFILES = tnl_dd.tag=../tnl_dd \
|
||||||
|
array_cache.tag=../array_cache \
|
||||||
|
math.tag=../math \
|
||||||
|
swrast.tag=../swrast \
|
||||||
|
swrast_setup.tag=../swrast_setup \
|
||||||
|
tnl.tag=../tnl
|
||||||
|
GENERATE_TAGFILE = core.tag
|
||||||
226
doxygen/core_subset.doxy
Normal file
226
doxygen/core_subset.doxy
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa Core"
|
||||||
|
PROJECT_NUMBER =
|
||||||
|
OUTPUT_DIRECTORY =
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
EXTRACT_ALL = NO
|
||||||
|
EXTRACT_PRIVATE = NO
|
||||||
|
EXTRACT_STATIC = YES
|
||||||
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
INLINE_INHERITED_MEMB = NO
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
INTERNAL_DOCS = YES
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
CASE_SENSE_NAMES = YES
|
||||||
|
SHORT_NAMES = NO
|
||||||
|
HIDE_SCOPE_NAMES = NO
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
JAVADOC_AUTOBRIEF = NO
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
INLINE_INFO = YES
|
||||||
|
SORT_MEMBER_DOCS = NO
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
TAB_SIZE = 8
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
GENERATE_BUGLIST = YES
|
||||||
|
ALIASES =
|
||||||
|
ENABLED_SECTIONS = subset
|
||||||
|
MAX_INITIALIZER_LINES = 30
|
||||||
|
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||||
|
SHOW_USED_FILES = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
QUIET = YES
|
||||||
|
WARNINGS = YES
|
||||||
|
WARN_IF_UNDOCUMENTED = NO
|
||||||
|
WARN_FORMAT =
|
||||||
|
WARN_LOGFILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/main/
|
||||||
|
FILE_PATTERNS = \
|
||||||
|
accum.h \
|
||||||
|
attrib.h \
|
||||||
|
blend.[ch] \
|
||||||
|
buffers.[ch] \
|
||||||
|
dd.h \
|
||||||
|
debug.h \
|
||||||
|
depth.h \
|
||||||
|
dlist.h \
|
||||||
|
context.[ch] \
|
||||||
|
config.h \
|
||||||
|
colormac.h \
|
||||||
|
colortab.h \
|
||||||
|
enable.h \
|
||||||
|
enums.h \
|
||||||
|
eval.h \
|
||||||
|
extensions.h \
|
||||||
|
feedback.[ch] \
|
||||||
|
fog.h \
|
||||||
|
get.h \
|
||||||
|
glheader.h \
|
||||||
|
glthread.h \
|
||||||
|
hash.[ch] \
|
||||||
|
hint.h \
|
||||||
|
histogram.h \
|
||||||
|
image.[ch] \
|
||||||
|
imports.[ch] \
|
||||||
|
lines.[ch] \
|
||||||
|
light.h \
|
||||||
|
matrix.[ch] \
|
||||||
|
macros.h \
|
||||||
|
mmath.h \
|
||||||
|
mtypes.h \
|
||||||
|
pixel.h \
|
||||||
|
points.[ch] \
|
||||||
|
polygon.[ch] \
|
||||||
|
rastpos.[ch] \
|
||||||
|
simple_list.h \
|
||||||
|
state.[ch] \
|
||||||
|
stencil.[ch] \
|
||||||
|
subset_*.c \
|
||||||
|
texformat.h \
|
||||||
|
teximage.h \
|
||||||
|
texstate.h \
|
||||||
|
texstore.h \
|
||||||
|
texobj.[ch] \
|
||||||
|
texutil_tmp.h \
|
||||||
|
varray.h
|
||||||
|
RECURSIVE = NO
|
||||||
|
EXCLUDE =
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
EXAMPLE_PATTERNS =
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
|
IMAGE_PATH =
|
||||||
|
INPUT_FILTER =
|
||||||
|
FILTER_SOURCE_FILES = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to source browsing
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SOURCE_BROWSER = YES
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
REFERENCED_BY_RELATION = YES
|
||||||
|
REFERENCES_RELATION = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ALPHABETICAL_INDEX = NO
|
||||||
|
COLS_IN_ALPHA_INDEX = 5
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
HTML_OUTPUT = core_subset
|
||||||
|
HTML_HEADER = header_subset.html
|
||||||
|
HTML_FOOTER =
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
HTML_ALIGN_MEMBERS = YES
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
GENERATE_CHI = NO
|
||||||
|
BINARY_TOC = NO
|
||||||
|
TOC_EXPAND = NO
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
GENERATE_TREEVIEW = NO
|
||||||
|
TREEVIEW_WIDTH = 250
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
LATEX_OUTPUT =
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
PAPER_TYPE = a4wide
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
LATEX_HEADER =
|
||||||
|
PDF_HYPERLINKS = NO
|
||||||
|
USE_PDFLATEX = NO
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
RTF_OUTPUT =
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
RTF_EXTENSIONS_FILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
MAN_OUTPUT =
|
||||||
|
MAN_EXTENSION =
|
||||||
|
MAN_LINKS = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_XML = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options for the AutoGen Definitions output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_AUTOGEN_DEF = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
INCLUDE_PATH = ../include/
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
PREDEFINED =
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
SKIP_FUNCTION_MACROS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
TAGFILES = \
|
||||||
|
math_subset.tag=../math_subset \
|
||||||
|
miniglx.tag=../miniglx
|
||||||
|
GENERATE_TAGFILE = core_subset.tag
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
PERL_PATH =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
CLASS_DIAGRAMS = NO
|
||||||
|
HAVE_DOT = NO
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
TEMPLATE_RELATIONS = YES
|
||||||
|
HIDE_UNDOC_RELATIONS = YES
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
DOT_PATH =
|
||||||
|
DOTFILE_DIRS =
|
||||||
|
MAX_DOT_GRAPH_WIDTH = 1024
|
||||||
|
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||||
|
GENERATE_LEGEND = YES
|
||||||
|
DOT_CLEANUP = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to the search engine
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SEARCHENGINE = NO
|
||||||
|
CGI_NAME =
|
||||||
|
CGI_URL =
|
||||||
|
DOC_URL =
|
||||||
|
DOC_ABSPATH =
|
||||||
|
BIN_ABSPATH =
|
||||||
|
EXT_DOC_PATHS =
|
||||||
14
doxygen/doxy.bat
Normal file
14
doxygen/doxy.bat
Normal 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
12
doxygen/header.html
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<html><head><title>Mesa Source Code Documentation</title>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||||
|
</head>
|
||||||
|
<body><center>
|
||||||
|
<a href="../core/index.html">core</a>
|
||||||
|
<a href="../array_cache/index.html">array_cache</a>
|
||||||
|
<a href="../math/index.html">math</a>
|
||||||
|
<a href="../swrast/index.html">swrast</a>
|
||||||
|
<a href="../swrast_setup/index.html">swrast_setup</a>
|
||||||
|
<a href="../tnl/index.html">tnl</a>
|
||||||
|
<a href="../tnl_dd/index.html">tnl_dd</a>
|
||||||
|
</center>
|
||||||
9
doxygen/header_subset.html
Normal file
9
doxygen/header_subset.html
Normal 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>
|
||||||
|
<a href="../math_subset/index.html">math</a>
|
||||||
|
<a href="../miniglx/index.html">MiniGLX</a>
|
||||||
|
<a href="../radeon_subset/index.html">radeon_subset</a>
|
||||||
|
</center>
|
||||||
49
doxygen/math.doxy
Normal file
49
doxygen/math.doxy
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
@INCLUDE = common.doxy
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa math module"
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/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 the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
HTML_OUTPUT = math
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# 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
|
||||||
177
doxygen/math_subset.doxy
Normal file
177
doxygen/math_subset.doxy
Normal 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 = NO
|
||||||
|
WARN_FORMAT =
|
||||||
|
WARN_LOGFILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/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
179
doxygen/miniglx.doxy
Normal 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/glx/mini/ ../include/GL/miniglx.h
|
||||||
|
FILE_PATTERNS = *.h *.c
|
||||||
|
RECURSIVE = NO
|
||||||
|
EXCLUDE = ../src/glx/mini/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
203
doxygen/radeon_subset.doxy
Normal 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/mesa/drivers/dri/common/mm.c \
|
||||||
|
../src/mesa/drivers/dri/common/mm.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_context.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_context.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_ioctl.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_ioctl.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_lock.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_lock.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_screen.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_screen.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_state.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_state.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_state_init.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_subset.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_subset_bitmap.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_subset_readpix.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_subset_select.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_subset_tex.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_subset_vtx.c \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_tcl.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_tex.h \
|
||||||
|
../src/mesa/drivers/dri/radeon/radeon_vtxfmt.h \
|
||||||
|
../src/mesa/drivers/dri/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 =
|
||||||
48
doxygen/swrast.doxy
Normal file
48
doxygen/swrast.doxy
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
@INCLUDE = common.doxy
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa Software Rasterization (swrast)"
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/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 the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
HTML_OUTPUT = swrast
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# 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
|
||||||
49
doxygen/swrast_setup.doxy
Normal file
49
doxygen/swrast_setup.doxy
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
@INCLUDE = common.doxy
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa swrast_setup"
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/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 the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
HTML_OUTPUT = swrast_setup
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# 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
|
||||||
49
doxygen/tnl.doxy
Normal file
49
doxygen/tnl.doxy
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
@INCLUDE = common.doxy
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa Transform and Lighting (tnl)"
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/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 the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
HTML_OUTPUT = tnl
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# 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
|
||||||
48
doxygen/tnl_dd.doxy
Normal file
48
doxygen/tnl_dd.doxy
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Doxyfile 0.1
|
||||||
|
|
||||||
|
@INCLUDE = common.doxy
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
PROJECT_NAME = "Mesa tnl_dd"
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = ../src/mesa/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 the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
HTML_OUTPUT = tnl_dd
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# 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
|
||||||
@@ -2,33 +2,42 @@
|
|||||||
|
|
||||||
GLincludedir = $(includedir)/GL
|
GLincludedir = $(includedir)/GL
|
||||||
|
|
||||||
if HAVE_FX
|
|
||||||
INC_FX = fxmesa.h
|
INC_FX = fxmesa.h
|
||||||
|
INC_GGI = ggimesa.h
|
||||||
|
INC_OSMESA = osmesa.h
|
||||||
|
INC_SVGA = svgamesa.h
|
||||||
|
INC_X11 = glx.h glxext.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
|
||||||
|
INC_GLUT = glut.h glutf90.h
|
||||||
|
|
||||||
|
if HAVE_FX
|
||||||
|
sel_inc_fx = $(INC_FX)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if HAVE_GGI
|
if HAVE_GGI
|
||||||
INC_GGI = ggimesa.h
|
sel_inc_ggi = $(INC_GGI)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if HAVE_OSMESA
|
if HAVE_OSMESA
|
||||||
INC_OSMESA = osmesa.h
|
sel_inc_osmesa = $(INC_OSMESA)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if HAVE_SVGA
|
if HAVE_SVGA
|
||||||
INC_SVGA = svgamesa.h
|
sel_inc_svga = $(INC_SVGA)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if HAVE_X11
|
if HAVE_X11
|
||||||
INC_X11 = glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
|
sel_inc_x11 = $(INC_X11)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if NEED_GLUT
|
if NEED_GLUT
|
||||||
INC_GLUT = glut.h
|
sel_inc_glut = $(INC_GLUT)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
EXTRA_DIST = fxmesa.h ggimesa.h osmesa.h svgamesa.h \
|
EXTRA_HEADERS = amesa.h dosmesa.h foomesa.h glut_h.dja mesa_wgl.h mglmesa.h \
|
||||||
glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
|
vms_x_fix.h wmesa.h \
|
||||||
|
|
||||||
GLinclude_HEADERS = gl.h gl_mangle.h glu.h glu_mangle.h \
|
|
||||||
$(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT)
|
$(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT)
|
||||||
|
|
||||||
|
GLinclude_HEADERS = gl.h glext.h gl_mangle.h glu.h glu_mangle.h \
|
||||||
|
$(sel_inc_fx) $(sel_inc_ggi) $(sel_inc_osmesa) $(sel_inc_svga) \
|
||||||
|
$(sel_inc_x11) $(sel_inc_glut)
|
||||||
|
include $(top_srcdir)/common_rules.make
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
/* $Id: amesa.h,v 1.2 2000/02/09 19:03:28 brianp Exp $ */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 3.3
|
* Version: 3.3
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user