Compare commits
1635 Commits
mesa-7.0.3
...
mesa_7_1_r
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8bd70a7bbe | ||
|
|
6525d250a8 | ||
|
|
5173fc6669 | ||
|
|
0128703f03 | ||
|
|
e903f51bc4 | ||
|
|
0ccffacee2 | ||
|
|
9d3359d12a | ||
|
|
de27760a3c | ||
|
|
95eb6422c7 | ||
|
|
73d66a3c63 | ||
|
|
c1d4644f48 | ||
|
|
b4a4829cd5 | ||
|
|
6e13d6d17e | ||
|
|
44e05f0870 | ||
|
|
d4510e53d8 | ||
|
|
6c56e0e1fb | ||
|
|
e57f1b702e | ||
|
|
fe7e01c834 | ||
|
|
c30fe8fd7c | ||
|
|
1b359bc88e | ||
|
|
2217158c37 | ||
|
|
53784e786d | ||
|
|
d0c7ef4358 | ||
|
|
2ec318640f | ||
|
|
280bf89bd4 | ||
|
|
c95e66120b | ||
|
|
b539b61321 | ||
|
|
4978953c79 | ||
|
|
b6fb0940c2 | ||
|
|
c6b36e5498 | ||
|
|
e469d78d33 | ||
|
|
fbfe2a58de | ||
|
|
fd59f19cd2 | ||
|
|
88c0a74633 | ||
|
|
6e92968d75 | ||
|
|
2f8fc325ac | ||
|
|
0c78c766e4 | ||
|
|
5976a6a75c | ||
|
|
4b6b0fd526 | ||
|
|
896c0cc8ec | ||
|
|
a2e6beade1 | ||
|
|
f27c6f3139 | ||
|
|
f2632212ad | ||
|
|
e291cf6f8d | ||
|
|
8bdf5b6e64 | ||
|
|
a3e86d43e6 | ||
|
|
eb4271ea8b | ||
|
|
6de6999edc | ||
|
|
1af2b14514 | ||
|
|
885cc592df | ||
|
|
e6cd9d88d3 | ||
|
|
0639998ee8 | ||
|
|
ade508312c | ||
|
|
c807c1a23f | ||
|
|
e0f160663e | ||
|
|
bff695b926 | ||
|
|
6ca948a303 | ||
|
|
19ad9cf774 | ||
|
|
450136d368 | ||
|
|
57e222d6e5 | ||
|
|
4b7d301c94 | ||
|
|
738d811b04 | ||
|
|
2d709fe272 | ||
|
|
5dbbde5b22 | ||
|
|
d368eed9c7 | ||
|
|
0dbd5c8640 | ||
|
|
86bd98c6aa | ||
|
|
0449bab2f8 | ||
|
|
d4e1d85dba | ||
|
|
a638676473 | ||
|
|
c50ffc4cb8 | ||
|
|
990e010394 | ||
|
|
b4e75d6c41 | ||
|
|
4566880656 | ||
|
|
6a3fac8711 | ||
|
|
9508293e01 | ||
|
|
5b5c931527 | ||
|
|
12a317b93a | ||
|
|
a6464b3cb0 | ||
|
|
df8134c3cf | ||
|
|
e8c2b9967f | ||
|
|
ec813878e4 | ||
|
|
df43fb661b | ||
|
|
38c5b14853 | ||
|
|
8eee0146f2 | ||
|
|
9f948b8c33 | ||
|
|
c5e2b850ad | ||
|
|
7f747204ea | ||
|
|
cba14d85a8 | ||
|
|
50f7e6fb5f | ||
|
|
e14ebbce41 | ||
|
|
17adf04e5c | ||
|
|
7d016b76e2 | ||
|
|
113f5b14cb | ||
|
|
cc77e8f113 | ||
|
|
297e16cc7a | ||
|
|
a2b73c74b0 | ||
|
|
e6a0609f2e | ||
|
|
00994ac08c | ||
|
|
2ed0f7278e | ||
|
|
2fa2dd3908 | ||
|
|
a7016949f2 | ||
|
|
2f0a75f004 | ||
|
|
acb47dee69 | ||
|
|
97709950e7 | ||
|
|
3323ccb803 | ||
|
|
6acb94f89e | ||
|
|
6e19f82c37 | ||
|
|
5f0fa82f68 | ||
|
|
7154d661a6 | ||
|
|
9a43570f8c | ||
|
|
80f68e1b6a | ||
|
|
d12fa3511d | ||
|
|
aef4ca647d | ||
|
|
4e0e02ae68 | ||
|
|
4f474c7d1e | ||
|
|
acba9c1771 | ||
|
|
62a32b0d68 | ||
|
|
ca73488f48 | ||
|
|
10d70e2f2c | ||
|
|
004922b141 | ||
|
|
118de7a013 | ||
|
|
fddb0f6e4f | ||
|
|
6497d50924 | ||
|
|
f6f9f5e481 | ||
|
|
f027f8d3a8 | ||
|
|
df04ffbf02 | ||
|
|
37be884875 | ||
|
|
750f52169c | ||
|
|
32a2a095f4 | ||
|
|
b3efd35f4b | ||
|
|
936dba1de5 | ||
|
|
c8666cfb0b | ||
|
|
eec20c359d | ||
|
|
6e620162a1 | ||
|
|
c9c64a100d | ||
|
|
f61e51ee98 | ||
|
|
7c2a3fced8 | ||
|
|
33107357a1 | ||
|
|
711222bb7b | ||
|
|
27e06a5234 | ||
|
|
fda4895d26 | ||
|
|
e92e3848e7 | ||
|
|
e149e1b953 | ||
|
|
f2a6404ef3 | ||
|
|
008653ac55 | ||
|
|
08f9b190a7 | ||
|
|
8642dd30f9 | ||
|
|
b64448b3e4 | ||
|
|
96338dd147 | ||
|
|
7cc7ff7051 | ||
|
|
bbb042f0b8 | ||
|
|
118c2bc860 | ||
|
|
8fd2b7d9dd | ||
|
|
3403f9fe13 | ||
|
|
7be8d5664a | ||
|
|
32134b5508 | ||
|
|
51ad219d6f | ||
|
|
b69eb0360a | ||
|
|
3f4e80c06b | ||
|
|
23635510e3 | ||
|
|
842b8b4c33 | ||
|
|
26f0b8f506 | ||
|
|
2dca3373ae | ||
|
|
90caba3d76 | ||
|
|
f9c8af31c5 | ||
|
|
43887cf396 | ||
|
|
9f8df2d07f | ||
|
|
2771862adc | ||
|
|
c016f329ab | ||
|
|
da3e48186d | ||
|
|
5d73502625 | ||
|
|
fad7933c44 | ||
|
|
6eddb4cb20 | ||
|
|
c3240b5ff8 | ||
|
|
40905c909d | ||
|
|
ae0ea14ff6 | ||
|
|
1757acc293 | ||
|
|
96b4ac05be | ||
|
|
e786924bf0 | ||
|
|
dc836edf49 | ||
|
|
28dfb0613b | ||
|
|
5c4ca968fa | ||
|
|
b645942df9 | ||
|
|
3ea80c1128 | ||
|
|
e82dd8c6e1 | ||
|
|
63d8a8417d | ||
|
|
aef47c4dc8 | ||
|
|
d30d9e42b7 | ||
|
|
d9367842e5 | ||
|
|
85e816882d | ||
|
|
3e0797f3b7 | ||
|
|
635e964712 | ||
|
|
184cf464f4 | ||
|
|
6054788f36 | ||
|
|
a9802328cd | ||
|
|
7d2b6a0466 | ||
|
|
21454f8636 | ||
|
|
978145a075 | ||
|
|
227af94cce | ||
|
|
0500467044 | ||
|
|
76430815a7 | ||
|
|
b4cbf6983e | ||
|
|
13a6f73a64 | ||
|
|
5cc56cbad8 | ||
|
|
e49ec6e2a4 | ||
|
|
82770b8c83 | ||
|
|
a2c1aad27d | ||
|
|
863ab98ac7 | ||
|
|
d24a5254c2 | ||
|
|
42a04ada10 | ||
|
|
2ac2911554 | ||
|
|
d3ebaa41f5 | ||
|
|
4e6c2c4f85 | ||
|
|
0e34dcc6df | ||
|
|
816fbeaa81 | ||
|
|
7048545c44 | ||
|
|
b469e9e93c | ||
|
|
74aee365e3 | ||
|
|
c75ffff84a | ||
|
|
c986421694 | ||
|
|
dc6fab90b4 | ||
|
|
731dec1bd5 | ||
|
|
c60b5dfde8 | ||
|
|
bb419970ef | ||
|
|
6c1a98e97a | ||
|
|
5f10438f2d | ||
|
|
31fe7cf5e3 | ||
|
|
aa8a7ef823 | ||
|
|
9f6e8e89c8 | ||
|
|
050c533cbf | ||
|
|
bcb61987fb | ||
|
|
5ad06156b2 | ||
|
|
d933be6baf | ||
|
|
3c9862d337 | ||
|
|
a429a25cd5 | ||
|
|
85ea7ff25c | ||
|
|
7936c614ab | ||
|
|
7233eabaf0 | ||
|
|
bff94a91c6 | ||
|
|
7183ccaa9d | ||
|
|
7d5f713fa5 | ||
|
|
e03dd83209 | ||
|
|
65c4ced1cc | ||
|
|
b5292b4d99 | ||
|
|
29054676a0 | ||
|
|
947312e464 | ||
|
|
c62f504eb6 | ||
|
|
b790b24ff9 | ||
|
|
c2814f2a3f | ||
|
|
45adf29ed0 | ||
|
|
e5f50f2fa3 | ||
|
|
363d878519 | ||
|
|
a3b5ae783e | ||
|
|
f7cfc51b05 | ||
|
|
ae2c31ed66 | ||
|
|
5a0314b431 | ||
|
|
48efb769e9 | ||
|
|
3105bc1d88 | ||
|
|
e9809a36aa | ||
|
|
f2b914298f | ||
|
|
d787850ae6 | ||
|
|
c48212fe58 | ||
|
|
f0c8863dbb | ||
|
|
8d5231a358 | ||
|
|
4a556bcb17 | ||
|
|
4478926b3a | ||
|
|
7ed1fd5d84 | ||
|
|
0819b25dfb | ||
|
|
07ff7c2285 | ||
|
|
b0f681b458 | ||
|
|
98e13fecd0 | ||
|
|
e80a2888bb | ||
|
|
868193d54e | ||
|
|
42c279a03b | ||
|
|
f94d317d7a | ||
|
|
142fcd3a13 | ||
|
|
fcb7cb9e72 | ||
|
|
9110425c72 | ||
|
|
94f39f2e7c | ||
|
|
f1e1267372 | ||
|
|
b957655a91 | ||
|
|
4dfd2dcbe7 | ||
|
|
fe23dc5eca | ||
|
|
3731159ec6 | ||
|
|
7c7fece977 | ||
|
|
460d25dca1 | ||
|
|
ab5750f143 | ||
|
|
9162bc8f48 | ||
|
|
dd0a9203e3 | ||
|
|
20e0a8a1ca | ||
|
|
dcbe215c01 | ||
|
|
180b41594c | ||
|
|
2d5ea175f7 | ||
|
|
0bba0e5be7 | ||
|
|
810e0549af | ||
|
|
29fbf72dbf | ||
|
|
507da24767 | ||
|
|
882e0e0179 | ||
|
|
b0f8025434 | ||
|
|
03db9c8acb | ||
|
|
eecb3ab7c6 | ||
|
|
99a1260985 | ||
|
|
3d28a2690f | ||
|
|
020c64b2cf | ||
|
|
20b9230ce1 | ||
|
|
92d2a78f8d | ||
|
|
53dc863636 | ||
|
|
a1ea6f6198 | ||
|
|
425f9ed44e | ||
|
|
f585cb29b8 | ||
|
|
47d563006d | ||
|
|
6fd82f6fbd | ||
|
|
0f2723cacb | ||
|
|
890d44e54f | ||
|
|
db7fc63110 | ||
|
|
1e6943cf55 | ||
|
|
7676980d38 | ||
|
|
5982d39799 | ||
|
|
d76545de57 | ||
|
|
771ba66629 | ||
|
|
fe91c05b54 | ||
|
|
fc21e9cdd0 | ||
|
|
701ccf6f29 | ||
|
|
3d608c7a2d | ||
|
|
4f7a75cc8a | ||
|
|
36c26d321b | ||
|
|
f59d59a95f | ||
|
|
47f08a9fb5 | ||
|
|
e239871d5b | ||
|
|
c30cc5904d | ||
|
|
3129d8b512 | ||
|
|
9a3d4b14e9 | ||
|
|
916a53088e | ||
|
|
038e13b1ee | ||
|
|
5dcbdc09f3 | ||
|
|
bbab0f97b8 | ||
|
|
2a8b6c62a7 | ||
|
|
a6d772ed16 | ||
|
|
f80223d9ff | ||
|
|
b795e8db5f | ||
|
|
dda906fcdb | ||
|
|
7504981074 | ||
|
|
7e1878cdad | ||
|
|
bb4188b85b | ||
|
|
fb0947ed33 | ||
|
|
e3a0a8dc7d | ||
|
|
2fdd6d87f4 | ||
|
|
95604e88e7 | ||
|
|
9c74291197 | ||
|
|
440a6fbf6e | ||
|
|
8c4d811295 | ||
|
|
b2c02a4a7c | ||
|
|
b0e81fd19e | ||
|
|
41c3ae5778 | ||
|
|
0ced26099d | ||
|
|
7c4add02f8 | ||
|
|
bd46a482c4 | ||
|
|
66952fa5ae | ||
|
|
8a646b80ef | ||
|
|
ea8299040f | ||
|
|
bccb56d5f3 | ||
|
|
e0a5194a54 | ||
|
|
642d5ee8c5 | ||
|
|
3c5a1e4c2d | ||
|
|
51cd168da4 | ||
|
|
6cb3f5c4d8 | ||
|
|
16242a8007 | ||
|
|
5197a31b8e | ||
|
|
de1e9880f8 | ||
|
|
b39f15b88f | ||
|
|
ec5ca6844b | ||
|
|
981b7da8a7 | ||
|
|
9c8f27ba13 | ||
|
|
3f0301d7bc | ||
|
|
ddbfa8c462 | ||
|
|
cef71f58c9 | ||
|
|
3ffd11f71d | ||
|
|
0da03c0aa9 | ||
|
|
60159c1b09 | ||
|
|
90a036b337 | ||
|
|
cabcee9ea9 | ||
|
|
00bc91ac64 | ||
|
|
60c0f09abb | ||
|
|
c34b024cf4 | ||
|
|
12a4a74e94 | ||
|
|
20b8bff49c | ||
|
|
451bd1941e | ||
|
|
09aa4b3690 | ||
|
|
6e3dde8a54 | ||
|
|
bfb7cd653a | ||
|
|
9bd2cb7f90 | ||
|
|
32879e1461 | ||
|
|
f1c82bf9a4 | ||
|
|
0a64ffb308 | ||
|
|
129b9ad16f | ||
|
|
bcecea6ea6 | ||
|
|
7381ccab44 | ||
|
|
54bd506c0f | ||
|
|
61c3c2c363 | ||
|
|
6e8d21d72f | ||
|
|
b49a8f805a | ||
|
|
57f310b2c9 | ||
|
|
40a3b16183 | ||
|
|
0253357e16 | ||
|
|
7d83618f99 | ||
|
|
4cba59f8e7 | ||
|
|
ed29d145f4 | ||
|
|
090e2adaa8 | ||
|
|
a7fa3e093c | ||
|
|
60e1703727 | ||
|
|
fa088bfe9d | ||
|
|
d08b1fe2a4 | ||
|
|
f399ed7d55 | ||
|
|
6087b00b27 | ||
|
|
a195f7162a | ||
|
|
74ae5a875d | ||
|
|
1b51c135fc | ||
|
|
02926a2977 | ||
|
|
86039ae413 | ||
|
|
df344b171c | ||
|
|
a3cee7cafb | ||
|
|
6051e68a64 | ||
|
|
d1f2d56a75 | ||
|
|
091225eebb | ||
|
|
059aca86ba | ||
|
|
ff8bb004b1 | ||
|
|
93d1ecdbd6 | ||
|
|
65685785fa | ||
|
|
45a800a2e7 | ||
|
|
1d14da9a89 | ||
|
|
5b6ca237ee | ||
|
|
d7cf6a8a69 | ||
|
|
df6e9e40a9 | ||
|
|
dd1d66fc4a | ||
|
|
c99fa92ff8 | ||
|
|
1c718c0d78 | ||
|
|
758b998941 | ||
|
|
112a40ec02 | ||
|
|
4e9c8166b0 | ||
|
|
3075f267cd | ||
|
|
a3a480979b | ||
|
|
ce865fd2fd | ||
|
|
fda62a6f2f | ||
|
|
a52ce9de7d | ||
|
|
9993ccce69 | ||
|
|
d8c187fed7 | ||
|
|
689ff273d1 | ||
|
|
ba38909be2 | ||
|
|
8c8107118e | ||
|
|
930c253947 | ||
|
|
7688791fc5 | ||
|
|
15f0015df4 | ||
|
|
3955bbc303 | ||
|
|
6ffe45bfd4 | ||
|
|
3f5a9a3a9e | ||
|
|
c741d287ec | ||
|
|
eed5e6f40f | ||
|
|
19420e6c25 | ||
|
|
1d0ddea92f | ||
|
|
4955325ae9 | ||
|
|
37e45b9b78 | ||
|
|
3ddd339ce3 | ||
|
|
49a3483756 | ||
|
|
cf0d91ae1d | ||
|
|
c51eb3ec40 | ||
|
|
39bcbe0921 | ||
|
|
66611f2298 | ||
|
|
bf4a0fafc8 | ||
|
|
83068115e2 | ||
|
|
7eef52e975 | ||
|
|
6d48779c7e | ||
|
|
5961ed5fbc | ||
|
|
c5c73c1b60 | ||
|
|
7da5705b09 | ||
|
|
5047a8ae19 | ||
|
|
4813946d36 | ||
|
|
1202c434d9 | ||
|
|
08fd2488b0 | ||
|
|
eb9da9706e | ||
|
|
85063f14ea | ||
|
|
822b2481ff | ||
|
|
ee781a41af | ||
|
|
ee8dfa8964 | ||
|
|
e45e338542 | ||
|
|
9365738c36 | ||
|
|
4e2a0b6aa6 | ||
|
|
da428c709a | ||
|
|
7ea767f9fa | ||
|
|
1fd82451eb | ||
|
|
22ab7fa466 | ||
|
|
edc7cfa6e6 | ||
|
|
fb3ca7ee2d | ||
|
|
76295f0c31 | ||
|
|
929b6d2ebf | ||
|
|
fc67d47708 | ||
|
|
817af9bec2 | ||
|
|
532828b1d3 | ||
|
|
2c9fdaf729 | ||
|
|
c231f8ff35 | ||
|
|
5edede94bb | ||
|
|
70908a793b | ||
|
|
5c0c883104 | ||
|
|
700a77fb48 | ||
|
|
2551a5ee80 | ||
|
|
d98abcbef0 | ||
|
|
c0e026c809 | ||
|
|
d14d36f9cc | ||
|
|
89faa648a5 | ||
|
|
fd776e10b3 | ||
|
|
745df749cc | ||
|
|
5857e988be | ||
|
|
2abcc512a3 | ||
|
|
0907c639c8 | ||
|
|
7b8892f504 | ||
|
|
c86ec87830 | ||
|
|
4e13067d0f | ||
|
|
df44fefced | ||
|
|
931685e243 | ||
|
|
4dfcb09960 | ||
|
|
e36857d841 | ||
|
|
30c9d96ebf | ||
|
|
f85d34e425 | ||
|
|
7eca6be25f | ||
|
|
61760105df | ||
|
|
ca8d91610f | ||
|
|
746db75cfb | ||
|
|
a9a483b43e | ||
|
|
71f53a22d0 | ||
|
|
3158e981f5 | ||
|
|
e2cb905bc6 | ||
|
|
01f59153b5 | ||
|
|
4cc0663564 | ||
|
|
2f7c804952 | ||
|
|
80efe27560 | ||
|
|
8e444fb9e2 | ||
|
|
f09b2382e9 | ||
|
|
e7007c6fb0 | ||
|
|
3bfef64800 | ||
|
|
da60fd1291 | ||
|
|
fc81f42817 | ||
|
|
f0310f7636 | ||
|
|
5f0d76204d | ||
|
|
8931585d2c | ||
|
|
b87c1ab2c0 | ||
|
|
a018abd446 | ||
|
|
4875b40304 | ||
|
|
2a077500a8 | ||
|
|
e1ae5b89fc | ||
|
|
46eb02b609 | ||
|
|
5c82549d9e | ||
|
|
6bd32cbcf3 | ||
|
|
60dd3b1d9a | ||
|
|
e58c365cda | ||
|
|
d0774eae30 | ||
|
|
02d5ba8491 | ||
|
|
2afe5344df | ||
|
|
8c56418f97 | ||
|
|
a0e453a5ec | ||
|
|
8517079cbc | ||
|
|
faeb1bc9f9 | ||
|
|
e747e9a072 | ||
|
|
c9b1fef0c9 | ||
|
|
9bae03a583 | ||
|
|
6a5e86b344 | ||
|
|
93ec89e565 | ||
|
|
0c275b6a41 | ||
|
|
b039b785e2 | ||
|
|
185320ae13 | ||
|
|
4652e351a2 | ||
|
|
bb73cf9ec0 | ||
|
|
3ad9ca8240 | ||
|
|
ffa8b18c7c | ||
|
|
d42400db87 | ||
|
|
7fec1eb21b | ||
|
|
544ab209e7 | ||
|
|
540faf5f91 | ||
|
|
9bf9122925 | ||
|
|
3d273ae44e | ||
|
|
609ad99a1a | ||
|
|
4e5b3626a1 | ||
|
|
ab2933df65 | ||
|
|
a04b632350 | ||
|
|
7086df5868 | ||
|
|
c30392f187 | ||
|
|
e131c46b20 | ||
|
|
33c42c1262 | ||
|
|
24e7e45768 | ||
|
|
f1139e4c66 | ||
|
|
4225876bf0 | ||
|
|
7da98d7eba | ||
|
|
dc1608ae9d | ||
|
|
5f86ae057a | ||
|
|
d9edd8e905 | ||
|
|
beddf653a9 | ||
|
|
7ce12b0863 | ||
|
|
5a49e84fcd | ||
|
|
8c4806ccc4 | ||
|
|
c0fd6a0903 | ||
|
|
3369cd9a6f | ||
|
|
601a6b872c | ||
|
|
ff73c783cc | ||
|
|
9f6022d056 | ||
|
|
48aa35a8b2 | ||
|
|
e7044d552c | ||
|
|
15356376bd | ||
|
|
62842e7145 | ||
|
|
8abffada70 | ||
|
|
0ff3eb637b | ||
|
|
15653b5d88 | ||
|
|
9e9f6f105c | ||
|
|
03b59edbb5 | ||
|
|
77e6cf8c17 | ||
|
|
3149119cad | ||
|
|
114b802e87 | ||
|
|
b35811e1b3 | ||
|
|
a95b48d55b | ||
|
|
3e3644c6e8 | ||
|
|
a099461fa3 | ||
|
|
8bb9ae3693 | ||
|
|
a3c435b342 | ||
|
|
4cc02fb938 | ||
|
|
de427742b8 | ||
|
|
7d6d6652d5 | ||
|
|
60d762aa62 | ||
|
|
524304c9b8 | ||
|
|
a5c84de3a7 | ||
|
|
f0676cc422 | ||
|
|
6c0fc07d71 | ||
|
|
9b3162b1d2 | ||
|
|
2bf2a8cc6d | ||
|
|
3f948025db | ||
|
|
239be839be | ||
|
|
89b80327ae | ||
|
|
eeb03faadc | ||
|
|
8349073561 | ||
|
|
76387dec76 | ||
|
|
d3033cad7c | ||
|
|
2290ea7fe6 | ||
|
|
cc50edbca2 | ||
|
|
73f6f7ed91 | ||
|
|
d0ebdca4fa | ||
|
|
3956597962 | ||
|
|
aecec3aced | ||
|
|
aac2d99dc3 | ||
|
|
2b440d5461 | ||
|
|
ab57cbaccc | ||
|
|
b422e5ad37 | ||
|
|
cf46aee14a | ||
|
|
166a828ddf | ||
|
|
0b7e0f8159 | ||
|
|
4c5a2b3af2 | ||
|
|
26473140b9 | ||
|
|
2f3e939ae7 | ||
|
|
9136e1f2c8 | ||
|
|
9e68e191ac | ||
|
|
f8830a1bf7 | ||
|
|
bea6b5fe5a | ||
|
|
106f398220 | ||
|
|
101abee6c4 | ||
|
|
b2f62609d0 | ||
|
|
fcd1e9dad6 | ||
|
|
2761cfce46 | ||
|
|
e543292335 | ||
|
|
da693b7c89 | ||
|
|
f71032b7e2 | ||
|
|
d2d82f8a29 | ||
|
|
4cca760a9b | ||
|
|
e3a1ae0fcb | ||
|
|
88f1419f96 | ||
|
|
83af4f3623 | ||
|
|
87002aba3b | ||
|
|
caec2a79e6 | ||
|
|
256115bd5e | ||
|
|
441bab8f17 | ||
|
|
85f5e6d7b9 | ||
|
|
9efa1029e5 | ||
|
|
4878f12189 | ||
|
|
a856da6324 | ||
|
|
0dc2c68ffc | ||
|
|
dd1a868b74 | ||
|
|
a183efc132 | ||
|
|
6f1bfdc4bf | ||
|
|
33487c15ba | ||
|
|
c24300f937 | ||
|
|
9a8819e767 | ||
|
|
146030aad2 | ||
|
|
447facfcd6 | ||
|
|
8336f3ffb7 | ||
|
|
2c9e515d86 | ||
|
|
98d4355240 | ||
|
|
c1d6b874b3 | ||
|
|
b3169a9c35 | ||
|
|
1e04132306 | ||
|
|
d859a60dc3 | ||
|
|
d913a15898 | ||
|
|
1daf5b3ad6 | ||
|
|
cbed2e4add | ||
|
|
c0b4257aa9 | ||
|
|
659baa3f25 | ||
|
|
3fe9d5cbb7 | ||
|
|
f5b3cd4620 | ||
|
|
5e3ef623ee | ||
|
|
55539f6b2a | ||
|
|
b8b49529b3 | ||
|
|
c5456a6b24 | ||
|
|
84a076079d | ||
|
|
507d43f95b | ||
|
|
a5eb9e7b1b | ||
|
|
6f7d35318d | ||
|
|
38bad7677e | ||
|
|
0037ad4186 | ||
|
|
dbfe05ca24 | ||
|
|
9f7d6b7210 | ||
|
|
f116634933 | ||
|
|
c79c93c0ac | ||
|
|
f64d6fe0d3 | ||
|
|
a130718f44 | ||
|
|
3e288627cb | ||
|
|
37406c2038 | ||
|
|
5ad260246b | ||
|
|
7c71ef3a3d | ||
|
|
16a07fb556 | ||
|
|
23656c47c9 | ||
|
|
41b00707e2 | ||
|
|
00e10a1385 | ||
|
|
aeca22f97c | ||
|
|
aab38cfc43 | ||
|
|
78175579c2 | ||
|
|
79ad458ec6 | ||
|
|
a76e2452d2 | ||
|
|
70d0c83890 | ||
|
|
46c405663b | ||
|
|
8dc188485b | ||
|
|
ffee86f697 | ||
|
|
e3a6e60040 | ||
|
|
3ecdae82d7 | ||
|
|
e34a183d87 | ||
|
|
9cad8e312f | ||
|
|
af3d2f292d | ||
|
|
88586332d3 | ||
|
|
8e4d147430 | ||
|
|
6689f9ebcb | ||
|
|
979ff5153d | ||
|
|
44d9914b29 | ||
|
|
72796238f8 | ||
|
|
dca1b796b7 | ||
|
|
d5cee90cf5 | ||
|
|
f1efacb92b | ||
|
|
6aaf9bdd41 | ||
|
|
e2ca788ae7 | ||
|
|
c1a3ac0e45 | ||
|
|
62f6e55013 | ||
|
|
17afc800c9 | ||
|
|
125bd4cae5 | ||
|
|
a4642f3d18 | ||
|
|
259eacfa94 | ||
|
|
2407e48f28 | ||
|
|
5b91ee27c0 | ||
|
|
02afd45d3b | ||
|
|
2ee7035886 | ||
|
|
df198d24bc | ||
|
|
fc7ddea853 | ||
|
|
3a90679400 | ||
|
|
454043c4ae | ||
|
|
2dc85e8078 | ||
|
|
ce98779571 | ||
|
|
b1416c2137 | ||
|
|
2af613e0b8 | ||
|
|
556cf9abff | ||
|
|
d388cad746 | ||
|
|
700468b8bc | ||
|
|
ddd92ee9a1 | ||
|
|
6f8dee03aa | ||
|
|
b0b882b666 | ||
|
|
fcd7c37fd3 | ||
|
|
44c8dac0af | ||
|
|
a11b6f025c | ||
|
|
86f3135fbd | ||
|
|
d2540e6d4b | ||
|
|
6bc1d38567 | ||
|
|
1df7a82688 | ||
|
|
61fbc81657 | ||
|
|
a2ab143b75 | ||
|
|
a7e1b4456a | ||
|
|
dc88a96631 | ||
|
|
d8fcb504a4 | ||
|
|
16099c15f5 | ||
|
|
5c64e6885d | ||
|
|
27028fcf74 | ||
|
|
5ef3a2c06d | ||
|
|
4fe3bf2d77 | ||
|
|
92e4090b4c | ||
|
|
74cd0b459f | ||
|
|
46e03d584a | ||
|
|
a8fee3a498 | ||
|
|
63e6bfe8db | ||
|
|
42108629e8 | ||
|
|
7dd5ced962 | ||
|
|
be1fa5b3d7 | ||
|
|
88b067cb04 | ||
|
|
999b55663a | ||
|
|
ba16243884 | ||
|
|
c14d969a69 | ||
|
|
0fd679a190 | ||
|
|
ccb1c9df00 | ||
|
|
3d51c79001 | ||
|
|
93c98a4669 | ||
|
|
e962997429 | ||
|
|
827e72de75 | ||
|
|
3821d15e06 | ||
|
|
27674c4135 | ||
|
|
87373e3072 | ||
|
|
22a374fc3f | ||
|
|
f00a64999c | ||
|
|
9b461d4d02 | ||
|
|
5ef6803b7a | ||
|
|
5cdf3972de | ||
|
|
8775bf475b | ||
|
|
a66413874d | ||
|
|
3bd07ba0d4 | ||
|
|
f7e0513d70 | ||
|
|
152aa6350d | ||
|
|
c29e9e534e | ||
|
|
4bc625e378 | ||
|
|
00eb5635c6 | ||
|
|
df3c530bed | ||
|
|
8211b20026 | ||
|
|
fb69fe58a0 | ||
|
|
96ba38a450 | ||
|
|
dab7c810e9 | ||
|
|
f6ab1347d6 | ||
|
|
b87ce5be82 | ||
|
|
9bf5da906f | ||
|
|
578641941f | ||
|
|
9724dc1ac7 | ||
|
|
7d4b89a2b3 | ||
|
|
38c616260a | ||
|
|
77a5bcaff4 | ||
|
|
8b36166d29 | ||
|
|
4e91ad8c0e | ||
|
|
d540e8e9df | ||
|
|
7b3ab451a8 | ||
|
|
86a4810b09 | ||
|
|
d34caddb4e | ||
|
|
1dfec88e72 | ||
|
|
286ce27193 | ||
|
|
001de0ac4e | ||
|
|
866d271aa8 | ||
|
|
badc061a65 | ||
|
|
5a322bc1b4 | ||
|
|
559ae0ab1b | ||
|
|
cd59600c7b | ||
|
|
35d28ce12e | ||
|
|
8e66c3d755 | ||
|
|
e2c2df5c23 | ||
|
|
c9ce3e8fd2 | ||
|
|
a49e0726e3 | ||
|
|
db2ec4502e | ||
|
|
417cb2c182 | ||
|
|
d9276cbb29 | ||
|
|
db95143949 | ||
|
|
bf4feb7393 | ||
|
|
59efbb412f | ||
|
|
351a83163a | ||
|
|
01b18abf93 | ||
|
|
ee793281b2 | ||
|
|
1b880c7e3c | ||
|
|
dbcd20f1c2 | ||
|
|
d7eb97bbc3 | ||
|
|
c3b5adaa9a | ||
|
|
013dbcd611 | ||
|
|
2bdd467dfd | ||
|
|
7f80dc1ebe | ||
|
|
5cb203433a | ||
|
|
d1414da8f9 | ||
|
|
d2f19a554a | ||
|
|
a7f64635a6 | ||
|
|
8b8a970593 | ||
|
|
f70ca96ba9 | ||
|
|
4c53635aab | ||
|
|
3177b4e2cf | ||
|
|
dc1264970e | ||
|
|
b0edb9c38a | ||
|
|
ad8ee7db3b | ||
|
|
38fdb47d26 | ||
|
|
06ca14543e | ||
|
|
1421bffb18 | ||
|
|
3b9e28d507 | ||
|
|
40133487db | ||
|
|
162914675a | ||
|
|
9ef1d9f03a | ||
|
|
c05aa5ec4c | ||
|
|
b59dbd822f | ||
|
|
9514209593 | ||
|
|
6ef27b88e6 | ||
|
|
ff042bfdee | ||
|
|
8578534f48 | ||
|
|
6dcf65ff0d | ||
|
|
cae5b7f1e3 | ||
|
|
26479fa3b3 | ||
|
|
55d4f32fc2 | ||
|
|
5e9272c748 | ||
|
|
e48f0b09ab | ||
|
|
c9d495c6f0 | ||
|
|
2a8e9bb00f | ||
|
|
e90dd4bf8f | ||
|
|
2667e5642f | ||
|
|
a074857cdc | ||
|
|
950fff0f9a | ||
|
|
a663e846b6 | ||
|
|
42a4386a4c | ||
|
|
b961eccc92 | ||
|
|
374158b044 | ||
|
|
366b2c6902 | ||
|
|
aad5c0fdc7 | ||
|
|
ad053d90f0 | ||
|
|
6c753ad51d | ||
|
|
a5b4bb393f | ||
|
|
86b81ef5aa | ||
|
|
b453112133 | ||
|
|
87966baa8d | ||
|
|
6c533ea2d1 | ||
|
|
791ad0e77f | ||
|
|
f7d1d554b1 | ||
|
|
919f617d08 | ||
|
|
3feefeeb35 | ||
|
|
70eb456a76 | ||
|
|
9c4d104e98 | ||
|
|
cab0dce676 | ||
|
|
7a88ecbd1a | ||
|
|
a87e9a3479 | ||
|
|
157eeb5c3b | ||
|
|
f33e1a4403 | ||
|
|
fe20ac2a6b | ||
|
|
d7c137b0df | ||
|
|
c095f7e46a | ||
|
|
d0b68b215d | ||
|
|
8b20411915 | ||
|
|
f9c6dfc4d1 | ||
|
|
bf805d3bf5 | ||
|
|
9e06cf00cf | ||
|
|
ea2278bc79 | ||
|
|
7fc5c0307a | ||
|
|
72c888869f | ||
|
|
f1104b079f | ||
|
|
a2494462cb | ||
|
|
f05c76ec1a | ||
|
|
ccff0cb263 | ||
|
|
f29f0ae838 | ||
|
|
ecdb45cb29 | ||
|
|
3eaec7dc5d | ||
|
|
594006d8b2 | ||
|
|
f968f67e62 | ||
|
|
106a6f29bb | ||
|
|
a7a0a2beb5 | ||
|
|
78a6aa57a0 | ||
|
|
efaf90b03e | ||
|
|
ac3e838fa7 | ||
|
|
f616a263a2 | ||
|
|
295dc2d225 | ||
|
|
64106d0d9a | ||
|
|
efd03a278a | ||
|
|
5987a03f99 | ||
|
|
aac367f48a | ||
|
|
fa72013ada | ||
|
|
9590ba97ad | ||
|
|
8ed5c7ca05 | ||
|
|
4ff95e78e1 | ||
|
|
b068af2f3b | ||
|
|
aceccda56b | ||
|
|
03ff9c96bf | ||
|
|
de3073d377 | ||
|
|
b182613f2f | ||
|
|
9509afe97c | ||
|
|
de803f538c | ||
|
|
ae5aa1f906 | ||
|
|
e2dff35f95 | ||
|
|
82d4aa4055 | ||
|
|
8909f1131a | ||
|
|
7e83c15fa0 | ||
|
|
4599683b48 | ||
|
|
ac985708f4 | ||
|
|
32699696e3 | ||
|
|
d85e8b088b | ||
|
|
0ba57d02cd | ||
|
|
4611b9398e | ||
|
|
b42152061c | ||
|
|
4a22ae8d44 | ||
|
|
4ceefccbfa | ||
|
|
4e1c76de0b | ||
|
|
8e21bb516f | ||
|
|
77e0523fb7 | ||
|
|
0fc9efd8f0 | ||
|
|
6bac9478c3 | ||
|
|
1f7378ee46 | ||
|
|
ffa94e5b1e | ||
|
|
10cc229dc2 | ||
|
|
c4a9a70888 | ||
|
|
db0f050582 | ||
|
|
b263435a98 | ||
|
|
58cdd1dc52 | ||
|
|
1bc84102ad | ||
|
|
fa031c8914 | ||
|
|
4cd3ef58a9 | ||
|
|
2dbd905ab0 | ||
|
|
584b84256b | ||
|
|
de1d725f44 | ||
|
|
3d6c410990 | ||
|
|
f8ee72d98f | ||
|
|
4f96000e29 | ||
|
|
b0b48798c7 | ||
|
|
2a3e33865d | ||
|
|
e776e7a95a | ||
|
|
6775c1e8cc | ||
|
|
d99f6c4a2a | ||
|
|
e75ae0dc79 | ||
|
|
4087c90eff | ||
|
|
35331a511f | ||
|
|
b2c8b1385a | ||
|
|
e886ae4c58 | ||
|
|
b2f1aa2389 | ||
|
|
38c30a8184 | ||
|
|
f2d9a07efe | ||
|
|
ed6d5ff6f8 | ||
|
|
4f9d29cd4e | ||
|
|
b1e549d176 | ||
|
|
3ee6a77e97 | ||
|
|
6254be9b71 | ||
|
|
35a0634e35 | ||
|
|
aa88d11e7d | ||
|
|
67f6449743 | ||
|
|
175db68db5 | ||
|
|
395b3bf6f9 | ||
|
|
f388d62b39 | ||
|
|
919709af6b | ||
|
|
c8cb87d356 | ||
|
|
56af8fd00f | ||
|
|
b74140db66 | ||
|
|
9bb0d628b8 | ||
|
|
8cf9085bc7 | ||
|
|
8fba8d2018 | ||
|
|
439fa79578 | ||
|
|
ef5935bc94 | ||
|
|
39c709c0f6 | ||
|
|
d0350dadaa | ||
|
|
6016de689f | ||
|
|
a5467fbdd9 | ||
|
|
58484dc00a | ||
|
|
c1ecc38320 | ||
|
|
7591259674 | ||
|
|
b7fd06a871 | ||
|
|
4f1c9f7e51 | ||
|
|
2c88bfeaa4 | ||
|
|
8fc1a6808d | ||
|
|
6f2ca13f90 | ||
|
|
0759e0999b | ||
|
|
3b582dff8c | ||
|
|
1310f02dee | ||
|
|
45899a494c | ||
|
|
eecec25478 | ||
|
|
b91791a85c | ||
|
|
f843dcb844 | ||
|
|
9070e6b997 | ||
|
|
3800599bd4 | ||
|
|
e3745dac59 | ||
|
|
ec9e7bc753 | ||
|
|
25bda451bb | ||
|
|
e21d2c6ef3 | ||
|
|
c29886718a | ||
|
|
7cc4d31ed9 | ||
|
|
7356dac1b6 | ||
|
|
2616b20689 | ||
|
|
e605f2828f | ||
|
|
3d17cdf55a | ||
|
|
d42d5fdba0 | ||
|
|
8d9d990cb2 | ||
|
|
5e78356259 | ||
|
|
63147344e4 | ||
|
|
bb4a9b2dce | ||
|
|
032707eeca | ||
|
|
e04c58e068 | ||
|
|
ea07a0df9a | ||
|
|
75a0f7f4a7 | ||
|
|
d3c77cebff | ||
|
|
885a95f4fa | ||
|
|
3a2559a1e9 | ||
|
|
ab31a3a764 | ||
|
|
d799b7a7ec | ||
|
|
f3419d5ead | ||
|
|
20b331c2f6 | ||
|
|
5fdeb52e5d | ||
|
|
ae0dd620fe | ||
|
|
642267b2d8 | ||
|
|
ba5290e836 | ||
|
|
5bba58ca22 | ||
|
|
94617bc6d5 | ||
|
|
f5557c3a52 | ||
|
|
a0a5e8cfc0 | ||
|
|
ae078e1a0a | ||
|
|
9944174abc | ||
|
|
acfeb3b6ea | ||
|
|
a614877592 | ||
|
|
995e01a6bc | ||
|
|
0c43ab6fbc | ||
|
|
7f6decf3e4 | ||
|
|
78b7e49c84 | ||
|
|
0aedb9a204 | ||
|
|
241b7bc0a3 | ||
|
|
24cd84162e | ||
|
|
249ca55555 | ||
|
|
15a6bf9118 | ||
|
|
7307ff80c9 | ||
|
|
8f9b9ac387 | ||
|
|
a956184f70 | ||
|
|
db9f97e2ae | ||
|
|
9ceff4ac4c | ||
|
|
8822069e71 | ||
|
|
1a15b2169b | ||
|
|
8752a20dec | ||
|
|
ece08b7fd9 | ||
|
|
c2e1ee08b0 | ||
|
|
2f8ff58c0e | ||
|
|
c45bb05b3c | ||
|
|
cb7da3f096 | ||
|
|
6dd98e9853 | ||
|
|
47768ce0e5 | ||
|
|
b0a1e81887 | ||
|
|
214347fdb4 | ||
|
|
b47c9f8c91 | ||
|
|
22bc3cdd49 | ||
|
|
1dd94a63ac | ||
|
|
74e1d0996d | ||
|
|
3b7df51eb5 | ||
|
|
bad6e175cf | ||
|
|
f6a89e1884 | ||
|
|
410d8f7cdb | ||
|
|
500193dca8 | ||
|
|
c235cc71a2 | ||
|
|
3a484cd794 | ||
|
|
d62be3d4ca | ||
|
|
f0a036bad9 | ||
|
|
c28ea5573d | ||
|
|
24967c8646 | ||
|
|
40ecc4a359 | ||
|
|
1a911aad0a | ||
|
|
f8e4cf716a | ||
|
|
1f8616e622 | ||
|
|
4b654d41da | ||
|
|
dbef6158c6 | ||
|
|
a3750c989b | ||
|
|
24746d0e32 | ||
|
|
3d508a5d7b | ||
|
|
a6d35694c4 | ||
|
|
c6e729377c | ||
|
|
07b7e97fb4 | ||
|
|
d8c6719f95 | ||
|
|
a3c3bc9ece | ||
|
|
ef71a0fd45 | ||
|
|
53cf87be1b | ||
|
|
95e84a09ce | ||
|
|
dcfdb63b9f | ||
|
|
00b86ecf6f | ||
|
|
3e168a0ec8 | ||
|
|
b6ad5e7de8 | ||
|
|
64297acf9e | ||
|
|
2b77a8696b | ||
|
|
327e655119 | ||
|
|
b902a223c4 | ||
|
|
a60695ebaf | ||
|
|
fe78980580 | ||
|
|
f5ed049655 | ||
|
|
32d86eb28a | ||
|
|
c033ccc36d | ||
|
|
c5a5d12743 | ||
|
|
09867b53a9 | ||
|
|
fe46900703 | ||
|
|
0135ff512d | ||
|
|
b3e3e72e25 | ||
|
|
145d762044 | ||
|
|
2193c4de83 | ||
|
|
a6d4dddb38 | ||
|
|
ab99960858 | ||
|
|
c2ac825e67 | ||
|
|
ecfa3e4d0a | ||
|
|
3cc4e9815d | ||
|
|
fcbd06d201 | ||
|
|
fef3dcbee6 | ||
|
|
b7c93de6d7 | ||
|
|
40e8ce700b | ||
|
|
386a70eeb5 | ||
|
|
553f5759a6 | ||
|
|
dc73217294 | ||
|
|
5dab3bf4bc | ||
|
|
393a625538 | ||
|
|
b7a9222dc7 | ||
|
|
9e01b915f1 | ||
|
|
6f47250888 | ||
|
|
88451b04e9 | ||
|
|
c9e4aa2b30 | ||
|
|
21b37b9687 | ||
|
|
6ea55d3525 | ||
|
|
c60113cd41 | ||
|
|
4a789e408d | ||
|
|
db928291dc | ||
|
|
8ea66fa2ec | ||
|
|
2cafd749b8 | ||
|
|
48c37a29fa | ||
|
|
6a78221a10 | ||
|
|
3973d1ad33 | ||
|
|
e45b40381c | ||
|
|
90cc31f31b | ||
|
|
1223b75e63 | ||
|
|
237b985356 | ||
|
|
872d179141 | ||
|
|
4a8ad16ec0 | ||
|
|
0ed3ff5011 | ||
|
|
d05b721543 | ||
|
|
75a88e9082 | ||
|
|
23f71f2ea5 | ||
|
|
002942913d | ||
|
|
792b882cf6 | ||
|
|
101563a838 | ||
|
|
2d72da5692 | ||
|
|
2457f4cf67 | ||
|
|
2c3cb693cc | ||
|
|
e2556b7487 | ||
|
|
85421351e6 | ||
|
|
89cad79b41 | ||
|
|
6e6a02261a | ||
|
|
6dae3f8c88 | ||
|
|
c3e6bfc9e2 | ||
|
|
46ac453196 | ||
|
|
505453a04e | ||
|
|
246d1d2522 | ||
|
|
6bf81a5edf | ||
|
|
394e7575a3 | ||
|
|
261eac3c79 | ||
|
|
15b7c9d5ba | ||
|
|
f761c99d25 | ||
|
|
e9fbf69aea | ||
|
|
a6dad044e2 | ||
|
|
6fae66715b | ||
|
|
9c61925da0 | ||
|
|
5e2acfee78 | ||
|
|
05fe75e619 | ||
|
|
8410b3f8f9 | ||
|
|
2c0b3d8c4b | ||
|
|
59b1233e70 | ||
|
|
e66757c8ba | ||
|
|
69337ed098 | ||
|
|
982dcb74fd | ||
|
|
2394d20daf | ||
|
|
58f9f96c68 | ||
|
|
5c6f1f542b | ||
|
|
baac66cb05 | ||
|
|
501b5305b9 | ||
|
|
775ebb696d | ||
|
|
60179434d1 | ||
|
|
e5213be78e | ||
|
|
eefb04a2b8 | ||
|
|
aa71b8869b | ||
|
|
ab02552cdd | ||
|
|
dde814776c | ||
|
|
10f5a6ac85 | ||
|
|
a188ba4bf9 | ||
|
|
35f35294cd | ||
|
|
0fb0d9715c | ||
|
|
e3cef58875 | ||
|
|
9ed040c3c9 | ||
|
|
daaee90a26 | ||
|
|
51b728cf9a | ||
|
|
efda5cb626 | ||
|
|
9a4cc2e905 | ||
|
|
eb9a5b6d51 | ||
|
|
03ec41ddc5 | ||
|
|
5b6858c023 | ||
|
|
ffc633c469 | ||
|
|
c702a7100e | ||
|
|
da2f1e88bc | ||
|
|
76fb808910 | ||
|
|
af2aa8e9cf | ||
|
|
5842bc3bf9 | ||
|
|
82fceba231 | ||
|
|
a1bc0d0f51 | ||
|
|
6075df53b5 | ||
|
|
f9ac01eac5 | ||
|
|
dbfb375805 | ||
|
|
b9f2cf9a4e | ||
|
|
0b48ce450e | ||
|
|
86ece0a920 | ||
|
|
fb4e071bed | ||
|
|
c6d042acc9 | ||
|
|
3c00cdc5f3 | ||
|
|
24e7acd5e4 | ||
|
|
719cf0b795 | ||
|
|
7b410f366f | ||
|
|
8a016d2130 | ||
|
|
f66775184b | ||
|
|
3eba764df8 | ||
|
|
611674ed69 | ||
|
|
b89a5c6e06 | ||
|
|
15f1609922 | ||
|
|
39766010cd | ||
|
|
cc85860ccb | ||
|
|
cbfe29cdee | ||
|
|
fb3b9060d4 | ||
|
|
d895c5a08f | ||
|
|
4013382ea2 | ||
|
|
81c333adbc | ||
|
|
03105d7b3e | ||
|
|
aa9d77ca3c | ||
|
|
72581241a8 | ||
|
|
87855fb32c | ||
|
|
ddb74cb443 | ||
|
|
d0b3f3ce81 | ||
|
|
79773ba13a | ||
|
|
b0f0b4044c | ||
|
|
9457bf62bb | ||
|
|
393558a933 | ||
|
|
491f646c79 | ||
|
|
24f85f047b | ||
|
|
5a0f02a394 | ||
|
|
8fcfaa3238 | ||
|
|
5ec66cf62d | ||
|
|
07ac2386f5 | ||
|
|
42dcdb9372 | ||
|
|
08a005e076 | ||
|
|
4b08b9c3e9 | ||
|
|
7c4c82fc6d | ||
|
|
f5eb25e9c7 | ||
|
|
e5dd389429 | ||
|
|
cd8613e59d | ||
|
|
3ffa09b09d | ||
|
|
b755a2d9de | ||
|
|
34f6243bef | ||
|
|
ee7fece054 | ||
|
|
4bd04c9851 | ||
|
|
922dadf422 | ||
|
|
a8ec5dac3c | ||
|
|
7c42222111 | ||
|
|
f1e1b2ed16 | ||
|
|
a903749b24 | ||
|
|
aa328291c5 | ||
|
|
37ece4df7c | ||
|
|
25cfb68f0b | ||
|
|
64359af071 | ||
|
|
a164d3aee0 | ||
|
|
0bf2479aef | ||
|
|
f0aa6654e2 | ||
|
|
69501d76fc | ||
|
|
2adcd5bdd2 | ||
|
|
d086f7ab2e | ||
|
|
f98bdfca57 | ||
|
|
f7643b96e9 | ||
|
|
23e0ca2ebb | ||
|
|
3cf20ddbfc | ||
|
|
ffa2659204 | ||
|
|
575f3e918f | ||
|
|
c223c6b663 | ||
|
|
e8e5d9effe | ||
|
|
9aa8223605 | ||
|
|
bd9db5eed2 | ||
|
|
22b0b2f47e | ||
|
|
5657fc5b4c | ||
|
|
fb9ee9b323 | ||
|
|
285b326c60 | ||
|
|
7ff4359a3b | ||
|
|
a36b5c6d47 | ||
|
|
3d04682b7a | ||
|
|
f9b53f648d | ||
|
|
9a45176dd8 | ||
|
|
4fc02ad000 | ||
|
|
9220255d75 | ||
|
|
06542019a8 | ||
|
|
6257ed8663 | ||
|
|
a49570794a | ||
|
|
33da6cb133 | ||
|
|
ad19038080 | ||
|
|
0caee6b006 | ||
|
|
f556b7f84c | ||
|
|
646ed82e6b | ||
|
|
6564e4bffa | ||
|
|
2d5313db72 | ||
|
|
b691d46046 | ||
|
|
8f7478e5cb | ||
|
|
885c1326c3 | ||
|
|
f4b103dc99 | ||
|
|
fcc77d3ece | ||
|
|
9dca42a4a1 | ||
|
|
fb4f4e2d18 | ||
|
|
fc5bf53644 | ||
|
|
66d0784f13 | ||
|
|
5e4a0f42f2 | ||
|
|
17e81bda6e | ||
|
|
02dd2221b6 | ||
|
|
767cac1494 | ||
|
|
37aca21129 | ||
|
|
b0b02507b4 | ||
|
|
2233d4c1ee | ||
|
|
3b10f50efb | ||
|
|
1a55e97c9c | ||
|
|
3156854c25 | ||
|
|
369d6654d4 | ||
|
|
e92903e24c | ||
|
|
43e601206d | ||
|
|
62b83638a5 | ||
|
|
b41ef55061 | ||
|
|
252fc61e48 | ||
|
|
27c8488526 | ||
|
|
804d3a8f6e | ||
|
|
909091b7dc | ||
|
|
bf334d852d | ||
|
|
204f9e3fdb | ||
|
|
381b86329e | ||
|
|
5eb2015a96 | ||
|
|
1a413b4d77 | ||
|
|
1d52b6aaf4 | ||
|
|
1bf5076569 | ||
|
|
0f7f6e4e95 | ||
|
|
6a3ed5eb96 | ||
|
|
578559822e | ||
|
|
93becd8a18 | ||
|
|
4d528e5454 | ||
|
|
4fe48b4e85 | ||
|
|
5d9dc02cbe | ||
|
|
f3f29d632e | ||
|
|
f972f58d80 | ||
|
|
1a49cd7f5b | ||
|
|
ed5ed6fe2f | ||
|
|
171dcdfa27 | ||
|
|
fe11b2c04b | ||
|
|
41d28d97f5 | ||
|
|
36235e5ff1 | ||
|
|
faab84cfa6 | ||
|
|
d3ef71166d | ||
|
|
d1be4ab80f | ||
|
|
d19d0596da | ||
|
|
025efae411 | ||
|
|
6d8a4312ed | ||
|
|
ad8abf7147 | ||
|
|
08fb0bad72 | ||
|
|
f9c17ec58a | ||
|
|
a4af3e5ab3 | ||
|
|
b9080dd549 | ||
|
|
c1cb541233 | ||
|
|
d7777f4598 | ||
|
|
2a6082b531 | ||
|
|
bd8eeb7ed0 | ||
|
|
bf0ae055de | ||
|
|
1ddbfd779b | ||
|
|
4a841b969a | ||
|
|
492bc67df1 | ||
|
|
780ae9f17d | ||
|
|
3b8cf84aa5 | ||
|
|
aaf76906e8 | ||
|
|
d42888dac3 | ||
|
|
2754ac0878 | ||
|
|
7a452b21a2 | ||
|
|
9cde7fb61d | ||
|
|
bc81885bb2 | ||
|
|
f6963f57d9 | ||
|
|
40cc47f8ee | ||
|
|
144e1e439f | ||
|
|
261ed74074 | ||
|
|
d70fa021d5 | ||
|
|
ef82f004fa | ||
|
|
edf07417be | ||
|
|
c1ba308e64 | ||
|
|
0fbc4c51a0 | ||
|
|
495e2c8327 | ||
|
|
84e051b6a0 | ||
|
|
227315278d | ||
|
|
a28977a4c7 | ||
|
|
0186f1bc83 | ||
|
|
cf239ced0d | ||
|
|
c56588407c | ||
|
|
b96dbd2a3e | ||
|
|
86eecc701e | ||
|
|
ee170f2955 | ||
|
|
39d221ef14 | ||
|
|
5e9cff0b97 | ||
|
|
009ddb4e50 | ||
|
|
55f8b70530 | ||
|
|
7b559a9102 | ||
|
|
84d1b24647 | ||
|
|
359c6eada7 | ||
|
|
2260c245fd | ||
|
|
f575d4fa7f | ||
|
|
871f57365e | ||
|
|
65b45d6d58 | ||
|
|
9c50d84775 | ||
|
|
10d5dd685c | ||
|
|
8331d9d7aa | ||
|
|
08a2cc2d23 | ||
|
|
89f070b3bb | ||
|
|
69358e73ce | ||
|
|
0b11203038 | ||
|
|
b2dde0a783 | ||
|
|
90630feeec | ||
|
|
2ac17c68e2 | ||
|
|
fb7e21514f | ||
|
|
ad6351a994 | ||
|
|
a74eec5af5 | ||
|
|
1b27ef39c9 | ||
|
|
2b7ef2549f | ||
|
|
d61a595a5b | ||
|
|
da1d9d9795 | ||
|
|
7c008f365b | ||
|
|
e20acd9168 | ||
|
|
705298c281 | ||
|
|
6439bc5c0d | ||
|
|
f973ae78b2 | ||
|
|
97a89227b0 | ||
|
|
779a5c160f | ||
|
|
1baef2f080 | ||
|
|
3e5f8a6c89 | ||
|
|
7c893e98a3 | ||
|
|
b8813572ae | ||
|
|
6a2ef09918 | ||
|
|
7e2c381a22 | ||
|
|
0c5662acc7 | ||
|
|
5237f863ed | ||
|
|
1fc08251ee | ||
|
|
d42c8ab630 | ||
|
|
3b8fc727e6 | ||
|
|
e96d10a861 | ||
|
|
e8b8fd366b | ||
|
|
7bc7f08d88 | ||
|
|
6be60a389b | ||
|
|
0d8aba9a47 | ||
|
|
ae0f17d591 | ||
|
|
4e98dcb85f | ||
|
|
f4ad34e8bb | ||
|
|
fbe705f600 | ||
|
|
9ed32f4251 | ||
|
|
b9c0a00ed0 | ||
|
|
9b727e117e | ||
|
|
f78ddc69a0 | ||
|
|
67ac9bf822 | ||
|
|
31a86804ae | ||
|
|
b042703935 | ||
|
|
93206f7815 | ||
|
|
9f39692e21 | ||
|
|
e734369565 | ||
|
|
8a6a5dc660 | ||
|
|
00a9e4eb8c | ||
|
|
b9323aa2cb | ||
|
|
fd9d27e068 | ||
|
|
e4b037051e | ||
|
|
98d2a4a244 | ||
|
|
f116aed1ed | ||
|
|
e5ed09e60e | ||
|
|
f2e99e6a58 | ||
|
|
a700832214 | ||
|
|
491618b33d | ||
|
|
f1441bbd18 | ||
|
|
ba8d3fb136 | ||
|
|
9b9a1602f9 | ||
|
|
bb3558e651 | ||
|
|
d062b6cd26 | ||
|
|
a194bc3a85 | ||
|
|
a99114a69f | ||
|
|
3a2ffadb7c | ||
|
|
0425548961 | ||
|
|
e0885b84a0 | ||
|
|
59a08923f5 | ||
|
|
043d219b6d | ||
|
|
24d965fab5 | ||
|
|
9e3e3883fa | ||
|
|
c62da91f44 | ||
|
|
5c5ab90c76 | ||
|
|
a01ee8ff0b | ||
|
|
3898e67f49 | ||
|
|
b4f8d4455b | ||
|
|
a10ba38df7 | ||
|
|
74a30c351f | ||
|
|
3e21a014c3 | ||
|
|
7f1879d4e1 | ||
|
|
1078ef83eb | ||
|
|
b1c640deda | ||
|
|
b1fcabefa2 | ||
|
|
b0b84529cf | ||
|
|
2b325a9f32 | ||
|
|
8b8d4d3e10 | ||
|
|
a8676c45cc | ||
|
|
9e8a961dd7 | ||
|
|
aa133a9dae | ||
|
|
9df4f842d5 | ||
|
|
62b6eef0d7 | ||
|
|
a2305ebfa2 | ||
|
|
74519c4231 | ||
|
|
80a5798719 | ||
|
|
4465377ca3 | ||
|
|
7ace7cfba4 | ||
|
|
fd54564f78 | ||
|
|
eb6418b895 | ||
|
|
25551bdfad | ||
|
|
28f53ace33 | ||
|
|
3ad9c551b9 | ||
|
|
1bdee18536 | ||
|
|
c085e350df | ||
|
|
a926b7397b | ||
|
|
431baf221e | ||
|
|
425d0c6305 | ||
|
|
b0529dcc7b | ||
|
|
71648a088e | ||
|
|
180f0bb964 | ||
|
|
bb1bb88bab | ||
|
|
4cf2cc0d18 | ||
|
|
4fca6bfa5d | ||
|
|
8452814ec6 | ||
|
|
63155ca2ca | ||
|
|
0985e786cd | ||
|
|
b12b24a430 | ||
|
|
1f08f5d970 | ||
|
|
cfc21190af | ||
|
|
57ca033885 | ||
|
|
7fcf231c57 | ||
|
|
d834a870e6 | ||
|
|
817181ea50 | ||
|
|
064cd7c78c | ||
|
|
b5bbe055e4 | ||
|
|
6ee6b2dcd9 | ||
|
|
67f82731fc | ||
|
|
bb372f1c9b | ||
|
|
9ebffb86a6 | ||
|
|
7b971a5008 | ||
|
|
2f61cbd30c | ||
|
|
78bd2912f8 | ||
|
|
347bb541f5 | ||
|
|
518f916886 | ||
|
|
58eac1bbf3 | ||
|
|
a78b26fff0 | ||
|
|
35707dbe57 |
4
.gitattributes
vendored
Normal file
4
.gitattributes
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
*.dsp -crlf
|
||||||
|
*.dsw -crlf
|
||||||
|
*.sln -crlf
|
||||||
|
*.vcproj -crlf
|
||||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -2,8 +2,15 @@
|
|||||||
*.o
|
*.o
|
||||||
*.so
|
*.so
|
||||||
*.sw[a-z]
|
*.sw[a-z]
|
||||||
|
*.pc
|
||||||
*~
|
*~
|
||||||
depend
|
depend
|
||||||
depend.bak
|
depend.bak
|
||||||
lib
|
lib
|
||||||
lib64
|
lib64
|
||||||
|
configure
|
||||||
|
autom4te.cache
|
||||||
|
aclocal.m4
|
||||||
|
config.log
|
||||||
|
config.status
|
||||||
|
cscope*
|
||||||
|
|||||||
104
Makefile
104
Makefile
@@ -14,25 +14,25 @@ default: $(TOP)/configs/current
|
|||||||
|
|
||||||
|
|
||||||
doxygen:
|
doxygen:
|
||||||
(cd doxygen ; make) ; \
|
cd doxygen && $(MAKE)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@for dir in $(SUBDIRS) ; do \
|
-@touch $(TOP)/configs/current
|
||||||
|
-@for dir in $(SUBDIRS) ; do \
|
||||||
if [ -d $$dir ] ; then \
|
if [ -d $$dir ] ; then \
|
||||||
(cd $$dir && $(MAKE) clean) ; \
|
(cd $$dir && $(MAKE) clean) ; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
|
-@test -s $(TOP)/configs/current || rm -f $(TOP)/configs/current
|
||||||
|
|
||||||
|
|
||||||
realclean:
|
realclean: clean
|
||||||
touch $(TOP)/configs/current
|
|
||||||
$(MAKE) clean
|
|
||||||
-rm -rf lib*
|
-rm -rf lib*
|
||||||
-rm -f $(TOP)/configs/current
|
-rm -f $(TOP)/configs/current
|
||||||
-rm -f `find . -name \*.o`
|
-rm -f $(TOP)/configs/autoconf
|
||||||
-rm -f `find . -name \*.a`
|
-rm -rf autom4te.cache
|
||||||
-rm -f `find . -name \*.so`
|
-find . '(' -name '*.o' -o -name '*.a' -o -name '*.so' -o \
|
||||||
-rm -f `find . -name depend`
|
-name depend -o -name depend.bak ')' -exec rm -f '{}' ';'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -48,14 +48,20 @@ install:
|
|||||||
linux-directfb-install:
|
linux-directfb-install:
|
||||||
cd src/mesa/drivers/directfb && $(MAKE) install
|
cd src/mesa/drivers/directfb && $(MAKE) install
|
||||||
|
|
||||||
|
.PHONY: default doxygen clean realclean install linux-directfb-install
|
||||||
|
|
||||||
# If there's no current configuration file
|
# If there's no current configuration file
|
||||||
$(TOP)/configs/current:
|
$(TOP)/configs/current:
|
||||||
@echo
|
@echo
|
||||||
@echo
|
@echo
|
||||||
@echo "Please choose a configuration from the following list:"
|
@echo "Please choose a configuration from the following list:"
|
||||||
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS"
|
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS\|autoconf.*"
|
||||||
@echo
|
@echo
|
||||||
@echo "Then type 'make <config>' (ex: 'make linux-x86')"
|
@echo "Then type 'make <config>' (ex: 'make linux-x86')"
|
||||||
|
@echo
|
||||||
|
@echo "Or, run './configure' then 'make'"
|
||||||
|
@echo "See './configure --help' for details"
|
||||||
|
@echo
|
||||||
@echo "(ignore the following error message)"
|
@echo "(ignore the following error message)"
|
||||||
@exit 1
|
@exit 1
|
||||||
|
|
||||||
@@ -66,11 +72,16 @@ aix-64 \
|
|||||||
aix-64-static \
|
aix-64-static \
|
||||||
aix-gcc \
|
aix-gcc \
|
||||||
aix-static \
|
aix-static \
|
||||||
|
autoconf \
|
||||||
|
bluegene-osmesa \
|
||||||
|
bluegene-xlc-osmesa \
|
||||||
beos \
|
beos \
|
||||||
|
catamount-osmesa-pgi \
|
||||||
darwin \
|
darwin \
|
||||||
|
darwin-fat-32bit \
|
||||||
|
darwin-fat-all \
|
||||||
darwin-static \
|
darwin-static \
|
||||||
darwin-static-x86ppc \
|
darwin-static-x86ppc \
|
||||||
darwin-x86ppc \
|
|
||||||
freebsd \
|
freebsd \
|
||||||
freebsd-dri \
|
freebsd-dri \
|
||||||
freebsd-dri-amd64 \
|
freebsd-dri-amd64 \
|
||||||
@@ -151,8 +162,9 @@ sunos5-v8 \
|
|||||||
sunos5-v8-static \
|
sunos5-v8-static \
|
||||||
sunos5-v9 \
|
sunos5-v9 \
|
||||||
sunos5-v9-static \
|
sunos5-v9-static \
|
||||||
|
sunos5-v9-cc-g++ \
|
||||||
ultrix-gcc:
|
ultrix-gcc:
|
||||||
@ if [ -e configs/current ] ; then \
|
@ if test -f configs/current || test -L configs/current ; then \
|
||||||
echo "Please run 'make realclean' before changing configs" ; \
|
echo "Please run 'make realclean' before changing configs" ; \
|
||||||
exit 1 ; \
|
exit 1 ; \
|
||||||
fi
|
fi
|
||||||
@@ -162,15 +174,22 @@ ultrix-gcc:
|
|||||||
|
|
||||||
# Rules for making release tarballs
|
# Rules for making release tarballs
|
||||||
|
|
||||||
DIRECTORY = Mesa-7.1pre
|
DIRECTORY = Mesa-7.1-rc1
|
||||||
LIB_NAME = MesaLib-7.1pre
|
LIB_NAME = MesaLib-7.1-rc1
|
||||||
DEMO_NAME = MesaDemos-7.1pre
|
DEMO_NAME = MesaDemos-7.1-rc1
|
||||||
GLUT_NAME = MesaGLUT-7.1pre
|
GLUT_NAME = MesaGLUT-7.1-rc1
|
||||||
|
|
||||||
MAIN_FILES = \
|
MAIN_FILES = \
|
||||||
$(DIRECTORY)/Makefile* \
|
$(DIRECTORY)/Makefile* \
|
||||||
|
$(DIRECTORY)/configure \
|
||||||
|
$(DIRECTORY)/configure.ac \
|
||||||
|
$(DIRECTORY)/acinclude.m4 \
|
||||||
|
$(DIRECTORY)/aclocal.m4 \
|
||||||
$(DIRECTORY)/descrip.mms \
|
$(DIRECTORY)/descrip.mms \
|
||||||
$(DIRECTORY)/mms-config. \
|
$(DIRECTORY)/mms-config. \
|
||||||
|
$(DIRECTORY)/bin/config.guess \
|
||||||
|
$(DIRECTORY)/bin/config.sub \
|
||||||
|
$(DIRECTORY)/bin/install-sh \
|
||||||
$(DIRECTORY)/bin/mklib \
|
$(DIRECTORY)/bin/mklib \
|
||||||
$(DIRECTORY)/bin/minstall \
|
$(DIRECTORY)/bin/minstall \
|
||||||
$(DIRECTORY)/configs/[a-z]* \
|
$(DIRECTORY)/configs/[a-z]* \
|
||||||
@@ -209,40 +228,32 @@ MAIN_FILES = \
|
|||||||
$(DIRECTORY)/src/mesa/Makefile* \
|
$(DIRECTORY)/src/mesa/Makefile* \
|
||||||
$(DIRECTORY)/src/mesa/sources \
|
$(DIRECTORY)/src/mesa/sources \
|
||||||
$(DIRECTORY)/src/mesa/descrip.mms \
|
$(DIRECTORY)/src/mesa/descrip.mms \
|
||||||
|
$(DIRECTORY)/src/mesa/gl.pc.in \
|
||||||
$(DIRECTORY)/src/mesa/depend \
|
$(DIRECTORY)/src/mesa/depend \
|
||||||
$(DIRECTORY)/src/mesa/main/*.[chS] \
|
$(DIRECTORY)/src/mesa/main/*.[chS] \
|
||||||
$(DIRECTORY)/src/mesa/main/descrip.mms \
|
$(DIRECTORY)/src/mesa/main/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/main/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
|
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
|
||||||
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
|
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/glapi/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/math/*.[ch] \
|
$(DIRECTORY)/src/mesa/math/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/math/descrip.mms \
|
$(DIRECTORY)/src/mesa/math/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/math/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/shader/*.[ch] \
|
$(DIRECTORY)/src/mesa/shader/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/shader/descrip.mms \
|
$(DIRECTORY)/src/mesa/shader/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/shader/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
|
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \
|
$(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/shader/grammar/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
|
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
|
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/shader/slang/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
|
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.gc \
|
$(DIRECTORY)/src/mesa/shader/slang/library/*.gc \
|
||||||
$(DIRECTORY)/src/mesa/shader/slang/library/*.syn \
|
$(DIRECTORY)/src/mesa/shader/slang/library/*.syn \
|
||||||
$(DIRECTORY)/src/mesa/shader/slang/library/Makefile \
|
$(DIRECTORY)/src/mesa/shader/slang/library/Makefile \
|
||||||
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
|
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
|
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/swrast/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
|
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
|
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/swrast_setup/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
|
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
|
||||||
$(DIRECTORY)/src/mesa/vbo/descrip.mms \
|
$(DIRECTORY)/src/mesa/vbo/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
|
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
|
||||||
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
|
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/tnl/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
|
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
|
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \
|
$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \
|
||||||
@@ -250,7 +261,6 @@ MAIN_FILES = \
|
|||||||
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
|
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
|
||||||
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
|
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
|
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/drivers/common/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
|
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
|
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
|
||||||
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
|
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
|
||||||
@@ -271,7 +281,6 @@ MAIN_FILES = \
|
|||||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
|
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
|
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
|
||||||
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
|
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
|
||||||
$(DIRECTORY)/src/mesa/drivers/x11/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
|
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
|
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
|
||||||
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
|
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
|
||||||
@@ -288,17 +297,6 @@ MAIN_FILES = \
|
|||||||
$(DIRECTORY)/vms/analyze_map.com \
|
$(DIRECTORY)/vms/analyze_map.com \
|
||||||
$(DIRECTORY)/vms/xlib.opt \
|
$(DIRECTORY)/vms/xlib.opt \
|
||||||
$(DIRECTORY)/vms/xlib_share.opt \
|
$(DIRECTORY)/vms/xlib_share.opt \
|
||||||
$(DIRECTORY)/windows/VC6/mesa/gdi/gdi.dsp \
|
|
||||||
$(DIRECTORY)/windows/VC6/mesa/glu/*.txt \
|
|
||||||
$(DIRECTORY)/windows/VC6/mesa/glu/glu.dsp \
|
|
||||||
$(DIRECTORY)/windows/VC6/mesa/mesa.dsw \
|
|
||||||
$(DIRECTORY)/windows/VC6/mesa/mesa/mesa.dsp \
|
|
||||||
$(DIRECTORY)/windows/VC6/mesa/osmesa/osmesa.dsp \
|
|
||||||
$(DIRECTORY)/windows/VC7/mesa/gdi/gdi.vcproj \
|
|
||||||
$(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj \
|
|
||||||
$(DIRECTORY)/windows/VC7/mesa/mesa.sln \
|
|
||||||
$(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj \
|
|
||||||
$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj \
|
|
||||||
$(DIRECTORY)/windows/VC8/mesa/mesa.sln \
|
$(DIRECTORY)/windows/VC8/mesa/mesa.sln \
|
||||||
$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj \
|
$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj \
|
||||||
$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj \
|
$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj \
|
||||||
@@ -311,6 +309,7 @@ MAIN_FILES = \
|
|||||||
|
|
||||||
DRI_FILES = \
|
DRI_FILES = \
|
||||||
$(DIRECTORY)/include/GL/internal/dri_interface.h \
|
$(DIRECTORY)/include/GL/internal/dri_interface.h \
|
||||||
|
$(DIRECTORY)/include/GL/internal/dri_sarea.h \
|
||||||
$(DIRECTORY)/include/GL/internal/sarea.h \
|
$(DIRECTORY)/include/GL/internal/sarea.h \
|
||||||
$(DIRECTORY)/src/glx/Makefile \
|
$(DIRECTORY)/src/glx/Makefile \
|
||||||
$(DIRECTORY)/src/glx/x11/Makefile \
|
$(DIRECTORY)/src/glx/x11/Makefile \
|
||||||
@@ -327,7 +326,9 @@ DRI_FILES = \
|
|||||||
SGI_GLU_FILES = \
|
SGI_GLU_FILES = \
|
||||||
$(DIRECTORY)/src/glu/Makefile \
|
$(DIRECTORY)/src/glu/Makefile \
|
||||||
$(DIRECTORY)/src/glu/descrip.mms \
|
$(DIRECTORY)/src/glu/descrip.mms \
|
||||||
|
$(DIRECTORY)/src/glu/glu.pc.in \
|
||||||
$(DIRECTORY)/src/glu/sgi/Makefile \
|
$(DIRECTORY)/src/glu/sgi/Makefile \
|
||||||
|
$(DIRECTORY)/src/glu/sgi/Makefile.mgw \
|
||||||
$(DIRECTORY)/src/glu/sgi/Makefile.win \
|
$(DIRECTORY)/src/glu/sgi/Makefile.win \
|
||||||
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
|
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
|
||||||
$(DIRECTORY)/src/glu/sgi/glu.def \
|
$(DIRECTORY)/src/glu/sgi/glu.def \
|
||||||
@@ -359,6 +360,7 @@ GLW_FILES = \
|
|||||||
$(DIRECTORY)/src/glw/*.[ch] \
|
$(DIRECTORY)/src/glw/*.[ch] \
|
||||||
$(DIRECTORY)/src/glw/Makefile* \
|
$(DIRECTORY)/src/glw/Makefile* \
|
||||||
$(DIRECTORY)/src/glw/README \
|
$(DIRECTORY)/src/glw/README \
|
||||||
|
$(DIRECTORY)/src/glw/glw.pc.in \
|
||||||
$(DIRECTORY)/src/glw/depend
|
$(DIRECTORY)/src/glw/depend
|
||||||
|
|
||||||
DEMO_FILES = \
|
DEMO_FILES = \
|
||||||
@@ -372,6 +374,8 @@ DEMO_FILES = \
|
|||||||
$(DIRECTORY)/progs/demos/*.cxx \
|
$(DIRECTORY)/progs/demos/*.cxx \
|
||||||
$(DIRECTORY)/progs/demos/*.dat \
|
$(DIRECTORY)/progs/demos/*.dat \
|
||||||
$(DIRECTORY)/progs/demos/README \
|
$(DIRECTORY)/progs/demos/README \
|
||||||
|
$(DIRECTORY)/progs/fbdev/Makefile \
|
||||||
|
$(DIRECTORY)/progs/fbdev/glfbdevtest.c \
|
||||||
$(DIRECTORY)/progs/osdemos/Makefile \
|
$(DIRECTORY)/progs/osdemos/Makefile \
|
||||||
$(DIRECTORY)/progs/osdemos/*.c \
|
$(DIRECTORY)/progs/osdemos/*.c \
|
||||||
$(DIRECTORY)/progs/xdemos/Makefile* \
|
$(DIRECTORY)/progs/xdemos/Makefile* \
|
||||||
@@ -400,6 +404,7 @@ GLUT_FILES = \
|
|||||||
$(DIRECTORY)/include/GL/glutf90.h \
|
$(DIRECTORY)/include/GL/glutf90.h \
|
||||||
$(DIRECTORY)/src/glut/glx/Makefile* \
|
$(DIRECTORY)/src/glut/glx/Makefile* \
|
||||||
$(DIRECTORY)/src/glut/glx/depend \
|
$(DIRECTORY)/src/glut/glx/depend \
|
||||||
|
$(DIRECTORY)/src/glut/glx/glut.pc.in \
|
||||||
$(DIRECTORY)/src/glut/glx/*def \
|
$(DIRECTORY)/src/glut/glx/*def \
|
||||||
$(DIRECTORY)/src/glut/glx/descrip.mms \
|
$(DIRECTORY)/src/glut/glx/descrip.mms \
|
||||||
$(DIRECTORY)/src/glut/glx/mms_depend \
|
$(DIRECTORY)/src/glut/glx/mms_depend \
|
||||||
@@ -415,6 +420,10 @@ GLUT_FILES = \
|
|||||||
$(DIRECTORY)/src/glut/fbdev/Makefile \
|
$(DIRECTORY)/src/glut/fbdev/Makefile \
|
||||||
$(DIRECTORY)/src/glut/fbdev/*[ch] \
|
$(DIRECTORY)/src/glut/fbdev/*[ch] \
|
||||||
$(DIRECTORY)/src/glut/mini/*[ch] \
|
$(DIRECTORY)/src/glut/mini/*[ch] \
|
||||||
|
$(DIRECTORY)/src/glut/mini/glut.pc.in \
|
||||||
|
$(DIRECTORY)/src/glut/directfb/Makefile \
|
||||||
|
$(DIRECTORY)/src/glut/directfb/NOTES \
|
||||||
|
$(DIRECTORY)/src/glut/directfb/*[ch] \
|
||||||
$(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \
|
$(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \
|
||||||
$(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
|
$(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
|
||||||
|
|
||||||
@@ -430,9 +439,20 @@ LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES)
|
|||||||
|
|
||||||
|
|
||||||
# Everything for new a Mesa release:
|
# Everything for new a Mesa release:
|
||||||
tarballs: rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
|
tarballs: rm_depend configure aclocal.m4 lib_gz demo_gz glut_gz \
|
||||||
|
lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
|
||||||
|
|
||||||
|
|
||||||
|
# Helper for autoconf builds
|
||||||
|
ACLOCAL = aclocal
|
||||||
|
ACLOCAL_FLAGS =
|
||||||
|
AUTOCONF = autoconf
|
||||||
|
AC_FLAGS =
|
||||||
|
aclocal.m4: configure.ac acinclude.m4
|
||||||
|
$(ACLOCAL) $(ACLOCAL_FLAGS)
|
||||||
|
configure: configure.ac aclocal.m4 acinclude.m4
|
||||||
|
$(AUTOCONF) $(AC_FLAGS)
|
||||||
|
|
||||||
rm_depend:
|
rm_depend:
|
||||||
@for dep in $(DEPEND_FILES) ; do \
|
@for dep in $(DEPEND_FILES) ; do \
|
||||||
rm -f $$dep ; \
|
rm -f $$dep ; \
|
||||||
@@ -441,6 +461,7 @@ rm_depend:
|
|||||||
|
|
||||||
lib_gz:
|
lib_gz:
|
||||||
rm -f configs/current ; \
|
rm -f configs/current ; \
|
||||||
|
rm -f configs/autoconf ; \
|
||||||
cd .. ; \
|
cd .. ; \
|
||||||
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
|
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
|
||||||
gzip $(LIB_NAME).tar ; \
|
gzip $(LIB_NAME).tar ; \
|
||||||
@@ -460,6 +481,7 @@ glut_gz:
|
|||||||
|
|
||||||
lib_bz2:
|
lib_bz2:
|
||||||
rm -f configs/current ; \
|
rm -f configs/current ; \
|
||||||
|
rm -f configs/autoconf ; \
|
||||||
cd .. ; \
|
cd .. ; \
|
||||||
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
|
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
|
||||||
bzip2 $(LIB_NAME).tar ; \
|
bzip2 $(LIB_NAME).tar ; \
|
||||||
@@ -479,6 +501,7 @@ glut_bz2:
|
|||||||
|
|
||||||
lib_zip:
|
lib_zip:
|
||||||
rm -f configs/current ; \
|
rm -f configs/current ; \
|
||||||
|
rm -f configs/autoconf ; \
|
||||||
rm -f $(LIB_NAME).zip ; \
|
rm -f $(LIB_NAME).zip ; \
|
||||||
cd .. ; \
|
cd .. ; \
|
||||||
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
|
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
|
||||||
@@ -506,3 +529,6 @@ md5:
|
|||||||
@-md5sum $(GLUT_NAME).tar.gz
|
@-md5sum $(GLUT_NAME).tar.gz
|
||||||
@-md5sum $(GLUT_NAME).tar.bz2
|
@-md5sum $(GLUT_NAME).tar.bz2
|
||||||
@-md5sum $(GLUT_NAME).zip
|
@-md5sum $(GLUT_NAME).zip
|
||||||
|
|
||||||
|
.PHONY: tarballs rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 \
|
||||||
|
glut_bz2 lib_zip demo_zip glut_zip md5
|
||||||
|
|||||||
28
Makefile.mgw
28
Makefile.mgw
@@ -51,37 +51,59 @@
|
|||||||
# realclean: remove all generated files
|
# realclean: remove all generated files
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# MinGW core makefile updated for Mesa 7.0
|
||||||
|
#
|
||||||
|
# Updated : by Heromyth, on 2007-7-21
|
||||||
|
# Email : zxpmyth@yahoo.com.cn
|
||||||
|
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||||
|
# The others havn't been tested yet.
|
||||||
|
# 2) The generated DLLs are *not* compatible with the ones built
|
||||||
|
# with the other compilers like VC8, especially for GLUT.
|
||||||
|
# 3) MAlthough more tests are needed, it can be used individually!
|
||||||
|
|
||||||
|
|
||||||
.PHONY : all libgl clean realclean
|
.PHONY : all libgl clean realclean
|
||||||
|
|
||||||
ifeq ($(ICD),1)
|
ifeq ($(ICD),1)
|
||||||
# when -std=c99 mingw will not define WIN32
|
# when -std=c99 mingw will not define WIN32
|
||||||
CFLAGS = -Wall -W -Werror
|
CFLAGS = -Wall -Werror
|
||||||
else
|
else
|
||||||
# I love c89
|
# I love c89
|
||||||
CFLAGS = -Wall -W -pedantic
|
CFLAGS = -Wall -pedantic
|
||||||
endif
|
endif
|
||||||
CFLAGS += -O2 -ffast-math
|
CFLAGS += -O2 -ffast-math
|
||||||
|
|
||||||
export CFLAGS
|
export CFLAGS
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
||||||
UNLINK = del $(subst /,\,$(1))
|
UNLINK = del $(subst /,\,$(1))
|
||||||
else
|
else
|
||||||
UNLINK = $(RM) $(1)
|
UNLINK = $(RM) $(1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: libgl
|
all: libgl libglu libglut example
|
||||||
|
|
||||||
libgl: lib
|
libgl: lib
|
||||||
$(MAKE) -f Makefile.mgw -C src/mesa
|
$(MAKE) -f Makefile.mgw -C src/mesa
|
||||||
|
|
||||||
|
libglu: libgl
|
||||||
|
$(MAKE) -f Makefile.mgw -C src/glu/sgi
|
||||||
|
|
||||||
|
libglut: libglu
|
||||||
|
$(MAKE) -f Makefile.mgw -C src/glut/glx
|
||||||
|
|
||||||
|
example: libglut
|
||||||
|
$(MAKE) -f Makefile.mgw star -C progs/samples
|
||||||
|
copy progs\samples\star.exe lib
|
||||||
|
|
||||||
lib:
|
lib:
|
||||||
mkdir lib
|
mkdir lib
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -f Makefile.mgw clean -C src/mesa
|
$(MAKE) -f Makefile.mgw clean -C src/mesa
|
||||||
|
$(MAKE) -f Makefile.mgw clean -C src/glu/sgi
|
||||||
|
$(MAKE) -f Makefile.mgw clean -C src/glut/glx
|
||||||
|
|
||||||
realclean: clean
|
realclean: clean
|
||||||
-$(call UNLINK,lib/*.a)
|
-$(call UNLINK,lib/*.a)
|
||||||
|
|||||||
119
acinclude.m4
Normal file
119
acinclude.m4
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
# A few convenience macros for Mesa, mostly to keep all the platform
|
||||||
|
# specifics out of configure.ac.
|
||||||
|
|
||||||
|
# MESA_PIC_FLAGS()
|
||||||
|
#
|
||||||
|
# Find out whether to build PIC code using the option --enable-pic and
|
||||||
|
# the configure enable_static/enable_shared settings. If PIC is needed,
|
||||||
|
# figure out the necessary flags for the platform and compiler.
|
||||||
|
#
|
||||||
|
# The platform checks have been shamelessly taken from libtool and
|
||||||
|
# stripped down to just what's needed for Mesa. See _LT_COMPILER_PIC in
|
||||||
|
# /usr/share/aclocal/libtool.m4 or
|
||||||
|
# http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=blob;f=libltdl/m4/libtool.m4;hb=HEAD
|
||||||
|
#
|
||||||
|
AC_DEFUN([MESA_PIC_FLAGS],
|
||||||
|
[AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_ARG_VAR([PIC_FLAGS], [compiler flags for PIC code])
|
||||||
|
AC_ARG_ENABLE([pic],
|
||||||
|
[AS_HELP_STRING([--disable-pic],
|
||||||
|
[compile PIC objects @<:@default=enabled for shared builds
|
||||||
|
on supported platforms@:>@])],
|
||||||
|
[enable_pic="$enableval"
|
||||||
|
test "x$enable_pic" = x && enable_pic=auto],
|
||||||
|
[enable_pic=auto])
|
||||||
|
# disable PIC by default for static builds
|
||||||
|
if test "$enable_pic" = auto && test "$enable_static" = yes; then
|
||||||
|
enable_pic=no
|
||||||
|
fi
|
||||||
|
# if PIC hasn't been explicitly disabled, try to figure out the flags
|
||||||
|
if test "$enable_pic" != no; then
|
||||||
|
AC_MSG_CHECKING([for $CC option to produce PIC])
|
||||||
|
# allow the user's flags to override
|
||||||
|
if test "x$PIC_FLAGS" = x; then
|
||||||
|
# see if we're using GCC
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
case "$host_os" in
|
||||||
|
aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*)
|
||||||
|
# PIC is the default for these OSes.
|
||||||
|
;;
|
||||||
|
mingw*|os2*|pw32*)
|
||||||
|
# This hack is so that the source file can tell whether
|
||||||
|
# it is being built for inclusion in a dll (and should
|
||||||
|
# export symbols for example).
|
||||||
|
PIC_FLAGS="-DDLL_EXPORT"
|
||||||
|
;;
|
||||||
|
darwin*|rhapsody*)
|
||||||
|
# PIC is the default on this platform
|
||||||
|
# Common symbols not allowed in MH_DYLIB files
|
||||||
|
PIC_FLAGS="-fno-common"
|
||||||
|
;;
|
||||||
|
hpux*)
|
||||||
|
# PIC is the default for IA64 HP-UX and 64-bit HP-UX,
|
||||||
|
# but not for PA HP-UX.
|
||||||
|
case $host_cpu in
|
||||||
|
hppa*64*|ia64*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PIC_FLAGS="-fPIC"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Everyone else on GCC uses -fPIC
|
||||||
|
PIC_FLAGS="-fPIC"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else # !GCC
|
||||||
|
case "$host_os" in
|
||||||
|
hpux9*|hpux10*|hpux11*)
|
||||||
|
# PIC is the default for IA64 HP-UX and 64-bit HP-UX,
|
||||||
|
# but not for PA HP-UX.
|
||||||
|
case "$host_cpu" in
|
||||||
|
hppa*64*|ia64*)
|
||||||
|
# +Z the default
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PIC_FLAGS="+Z"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
linux*|k*bsd*-gnu)
|
||||||
|
case `basename "$CC"` in
|
||||||
|
icc*|ecc*|ifort*)
|
||||||
|
PIC_FLAGS="-KPIC"
|
||||||
|
;;
|
||||||
|
pgcc*|pgf77*|pgf90*|pgf95*)
|
||||||
|
# Portland Group compilers (*not* the Pentium gcc
|
||||||
|
# compiler, which looks to be a dead project)
|
||||||
|
PIC_FLAGS="-fpic"
|
||||||
|
;;
|
||||||
|
ccc*)
|
||||||
|
# All Alpha code is PIC.
|
||||||
|
;;
|
||||||
|
xl*)
|
||||||
|
# IBM XL C 8.0/Fortran 10.1 on PPC
|
||||||
|
PIC_FLAGS="-qpic"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case `$CC -V 2>&1 | sed 5q` in
|
||||||
|
*Sun\ C*|*Sun\ F*)
|
||||||
|
# Sun C 5.9 or Sun Fortran
|
||||||
|
PIC_FLAGS="-KPIC"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
PIC_FLAGS="-KPIC"
|
||||||
|
;;
|
||||||
|
sunos4*)
|
||||||
|
PIC_FLAGS="-PIC"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi # GCC
|
||||||
|
fi # PIC_FLAGS
|
||||||
|
AC_MSG_RESULT([$PIC_FLAGS])
|
||||||
|
fi
|
||||||
|
AC_SUBST([PIC_FLAGS])
|
||||||
|
])# MESA_PIC_FLAGS
|
||||||
16
autogen.sh
Executable file
16
autogen.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
srcdir=`dirname "$0"`
|
||||||
|
test -z "$srcdir" && srcdir=.
|
||||||
|
|
||||||
|
SRCDIR=`(cd "$srcdir" && pwd)`
|
||||||
|
ORIGDIR=`pwd`
|
||||||
|
|
||||||
|
if test "x$SRCDIR" != "x$ORIGDIR"; then
|
||||||
|
echo "Mesa cannot be built when srcdir != builddir" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
autoreconf -v --install || exit 1
|
||||||
|
|
||||||
|
"$srcdir"/configure "$@"
|
||||||
48
bin/confdiff.sh
Executable file
48
bin/confdiff.sh
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
echo "Usage: $0 <target1> <target2>"
|
||||||
|
echo "Highlight differences between Mesa configs"
|
||||||
|
echo "Example:"
|
||||||
|
echo " $0 linux linux-x86"
|
||||||
|
}
|
||||||
|
|
||||||
|
die()
|
||||||
|
{
|
||||||
|
echo "$@" >&2
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
-h|--help) usage; exit 0;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
[ $# -lt 2 ] && die 2 targets needed. See $0 --help
|
||||||
|
target1=$1
|
||||||
|
target2=$2
|
||||||
|
|
||||||
|
topdir=$(cd "`dirname $0`"/..; pwd)
|
||||||
|
cd "$topdir"
|
||||||
|
|
||||||
|
[ -f "./configs/$target1" ] || die Missing configs/$target1
|
||||||
|
[ -f "./configs/$target2" ] || die Missing configs/$target2
|
||||||
|
|
||||||
|
trap 'rm -f "$t1" "$t2"' 0
|
||||||
|
|
||||||
|
t1=$(mktemp)
|
||||||
|
t2=$(mktemp)
|
||||||
|
|
||||||
|
make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t1
|
||||||
|
TOP = .
|
||||||
|
include \$(TOP)/configs/$target1
|
||||||
|
default:
|
||||||
|
EOF
|
||||||
|
|
||||||
|
make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t2
|
||||||
|
TOP = .
|
||||||
|
include \$(TOP)/configs/$target2
|
||||||
|
default:
|
||||||
|
EOF
|
||||||
|
|
||||||
|
diff -pu -I'^#' $t1 $t2
|
||||||
1516
bin/config.guess
vendored
Executable file
1516
bin/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1626
bin/config.sub
vendored
Executable file
1626
bin/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1
bin/install-sh
Symbolic link
1
bin/install-sh
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
minstall
|
||||||
137
bin/mklib
137
bin/mklib
@@ -34,6 +34,7 @@ MINOR=0
|
|||||||
PATCH=""
|
PATCH=""
|
||||||
DEPS=""
|
DEPS=""
|
||||||
LINK=""
|
LINK=""
|
||||||
|
LDFLAGS=""
|
||||||
CPLUSPLUS=0
|
CPLUSPLUS=0
|
||||||
STATIC=0
|
STATIC=0
|
||||||
DLOPEN=0
|
DLOPEN=0
|
||||||
@@ -63,12 +64,14 @@ do
|
|||||||
echo ' -LDIR search in DIR for library dependencies'
|
echo ' -LDIR search in DIR for library dependencies'
|
||||||
echo ' -linker L explicity specify the linker program to use (eg: gcc, g++)'
|
echo ' -linker L explicity specify the linker program to use (eg: gcc, g++)'
|
||||||
echo ' Not observed on all systems at this time.'
|
echo ' Not observed on all systems at this time.'
|
||||||
|
echo ' -ldflags OPT specify any additional linker flags in OPT'
|
||||||
echo ' -cplusplus link with C++ runtime'
|
echo ' -cplusplus link with C++ runtime'
|
||||||
echo ' -static make a static library (default is dynamic/shared)'
|
echo ' -static make a static library (default is dynamic/shared)'
|
||||||
echo ' -dlopen make a shared library suitable for dynamic loading'
|
echo ' -dlopen make a shared library suitable for dynamic loading'
|
||||||
echo ' -install DIR put resulting library file(s) in DIR'
|
echo ' -install DIR put resulting library file(s) in DIR'
|
||||||
echo ' -arch ARCH override using `uname` to determine host system'
|
echo ' -arch ARCH override using `uname` to determine host system'
|
||||||
echo ' -archopt OPT specify an extra achitecture-specific option OPT'
|
echo ' -archopt OPT specify an extra achitecture-specific option OPT'
|
||||||
|
echo ' -altopts OPTS alternate options to override all others'
|
||||||
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
|
echo " -noprefix don't prefix library name with 'lib' nor add any suffix"
|
||||||
echo ' -exports FILE only export the symbols listed in FILE'
|
echo ' -exports FILE only export the symbols listed in FILE'
|
||||||
echo ' -h, --help display this information and exit'
|
echo ' -h, --help display this information and exit'
|
||||||
@@ -94,16 +97,26 @@ do
|
|||||||
shift 1;
|
shift 1;
|
||||||
LINK=$1
|
LINK=$1
|
||||||
;;
|
;;
|
||||||
|
'-ldflags')
|
||||||
|
shift 1;
|
||||||
|
LDFLAGS=$1
|
||||||
|
;;
|
||||||
-l*)
|
-l*)
|
||||||
DEPS="$DEPS $1"
|
DEPS="$DEPS $1"
|
||||||
;;
|
;;
|
||||||
-L*)
|
-L*)
|
||||||
DEPS="$DEPS $1"
|
DEPS="$DEPS $1"
|
||||||
;;
|
;;
|
||||||
|
-Wl*)
|
||||||
|
DEPS="$DEPS $1"
|
||||||
|
;;
|
||||||
-pthread)
|
-pthread)
|
||||||
# this is a special case (see bugzilla 10876)
|
# this is a special case (see bugzilla 10876)
|
||||||
DEPS="$DEPS $1"
|
DEPS="$DEPS $1"
|
||||||
;;
|
;;
|
||||||
|
'-pthread')
|
||||||
|
DEPS="$DEPS -pthread"
|
||||||
|
;;
|
||||||
'-cplusplus')
|
'-cplusplus')
|
||||||
CPLUSPLUS=1
|
CPLUSPLUS=1
|
||||||
;;
|
;;
|
||||||
@@ -125,6 +138,10 @@ do
|
|||||||
shift 1;
|
shift 1;
|
||||||
ARCHOPT=$1
|
ARCHOPT=$1
|
||||||
;;
|
;;
|
||||||
|
'-altopts')
|
||||||
|
shift 1;
|
||||||
|
ALTOPTS=$1
|
||||||
|
;;
|
||||||
'-noprefix')
|
'-noprefix')
|
||||||
NOPREFIX=1
|
NOPREFIX=1
|
||||||
;;
|
;;
|
||||||
@@ -184,7 +201,7 @@ fi
|
|||||||
#
|
#
|
||||||
case $ARCH in
|
case $ARCH in
|
||||||
|
|
||||||
'Linux' | 'OpenBSD' | 'GNU' | GNU/*)
|
'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/*)
|
||||||
# we assume gcc
|
# we assume gcc
|
||||||
|
|
||||||
if [ "x$LINK" = "x" ] ; then
|
if [ "x$LINK" = "x" ] ; then
|
||||||
@@ -199,8 +216,13 @@ case $ARCH in
|
|||||||
if [ $NOPREFIX = 1 ] ; then
|
if [ $NOPREFIX = 1 ] ; then
|
||||||
# No "lib" or ".so" part
|
# No "lib" or ".so" part
|
||||||
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}
|
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}
|
||||||
#OPTS="-shared -Wl,-soname,${LIBNAME}" # soname???
|
case $ARCH in 'Linux' | 'GNU' | GNU/*)
|
||||||
OPTS="-shared"
|
OPTS="-Xlinker -Bsymbolic -shared"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
OPTS="-shared"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Check if objects are 32-bit and we're running in 64-bit
|
# Check if objects are 32-bit and we're running in 64-bit
|
||||||
# environment. If so, pass -m32 flag to linker.
|
# environment. If so, pass -m32 flag to linker.
|
||||||
@@ -210,9 +232,13 @@ case $ARCH in
|
|||||||
OPTS="-m32 ${OPTS}"
|
OPTS="-m32 ${OPTS}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
|
|
||||||
rm -f ${LIBNAME}
|
rm -f ${LIBNAME}
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
# finish up
|
# finish up
|
||||||
FINAL_LIBS="${LIBNAME}"
|
FINAL_LIBS="${LIBNAME}"
|
||||||
elif [ $STATIC = 1 ] ; then
|
elif [ $STATIC = 1 ] ; then
|
||||||
@@ -220,6 +246,9 @@ case $ARCH in
|
|||||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
|
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
|
||||||
LINK="ar"
|
LINK="ar"
|
||||||
OPTS="-ru"
|
OPTS="-ru"
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
rm -f ${LIBNAME}
|
rm -f ${LIBNAME}
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
||||||
@@ -255,6 +284,9 @@ case $ARCH in
|
|||||||
if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
|
if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
|
||||||
OPTS="-m32 ${OPTS}"
|
OPTS="-m32 ${OPTS}"
|
||||||
fi
|
fi
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
|
|
||||||
if [ x${PATCH} = "x" ] ; then
|
if [ x${PATCH} = "x" ] ; then
|
||||||
VERSION="${MAJOR}.${MINOR}"
|
VERSION="${MAJOR}.${MINOR}"
|
||||||
@@ -270,7 +302,7 @@ case $ARCH in
|
|||||||
rm -f ${LIBNAME}.so
|
rm -f ${LIBNAME}.so
|
||||||
|
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
||||||
# make usual symlinks
|
# make usual symlinks
|
||||||
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
||||||
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
||||||
@@ -337,15 +369,17 @@ case $ARCH in
|
|||||||
if [ "${SPARCV9}" ] ; then
|
if [ "${SPARCV9}" ] ; then
|
||||||
OPTS="${OPTS} -xarch=v9"
|
OPTS="${OPTS} -xarch=v9"
|
||||||
fi
|
fi
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
# for debug:
|
# for debug:
|
||||||
#echo "mklib: linker is" ${LINK} ${OPTS}
|
#echo "mklib: linker is" ${LINK} ${OPTS}
|
||||||
if [ $NOPREFIX = 1 ] ; then
|
if [ $NOPREFIX = 1 ] ; then
|
||||||
rm -f ${LIBNAME}
|
rm -f ${LIBNAME}
|
||||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
else
|
else
|
||||||
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
|
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
|
||||||
${LINK} ${OPTS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
|
||||||
ln -s ${LIBNAME}.${MAJOR} ${LIBNAME}
|
ln -s ${LIBNAME}.${MAJOR} ${LIBNAME}
|
||||||
fi
|
fi
|
||||||
FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}"
|
FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}"
|
||||||
@@ -368,8 +402,11 @@ case $ARCH in
|
|||||||
# No "lib" or ".so" part
|
# No "lib" or ".so" part
|
||||||
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
|
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
|
||||||
OPTS="-shared"
|
OPTS="-shared"
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
rm -f ${LIBNAME}
|
rm -f ${LIBNAME}
|
||||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
FINAL_LIBS=${LIBNAME}
|
FINAL_LIBS=${LIBNAME}
|
||||||
elif [ $STATIC = 1 ] ; then
|
elif [ $STATIC = 1 ] ; then
|
||||||
STLIB="lib${LIBNAME}.a"
|
STLIB="lib${LIBNAME}.a"
|
||||||
@@ -381,9 +418,12 @@ case $ARCH in
|
|||||||
else
|
else
|
||||||
SHLIB="lib${LIBNAME}.so.${MAJOR}"
|
SHLIB="lib${LIBNAME}.so.${MAJOR}"
|
||||||
OPTS="-shared -Wl,-soname,${SHLIB}"
|
OPTS="-shared -Wl,-soname,${SHLIB}"
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
|
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
|
||||||
rm -f ${SHLIB}
|
rm -f ${SHLIB}
|
||||||
${LINK} ${OPTS} -o ${SHLIB} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${SHLIB} ${OBJECTS} ${DEPS}
|
||||||
ln -sf ${SHLIB} "lib${LIBNAME}.so"
|
ln -sf ${SHLIB} "lib${LIBNAME}.so"
|
||||||
FINAL_LIBS="${SHLIB} lib${LIBNAME}.so"
|
FINAL_LIBS="${SHLIB} lib${LIBNAME}.so"
|
||||||
fi
|
fi
|
||||||
@@ -434,6 +474,10 @@ case $ARCH in
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
if [ $CPLUSPLUS = 1 ] ; then
|
||||||
LINK="CC"
|
LINK="CC"
|
||||||
else
|
else
|
||||||
@@ -441,7 +485,7 @@ case $ARCH in
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "mklib: Making IRIX " ${ABI} " shared library: " ${LIBNAME}
|
echo "mklib: Making IRIX " ${ABI} " shared library: " ${LIBNAME}
|
||||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
FINAL_LIBS=${LIBNAME}
|
FINAL_LIBS=${LIBNAME}
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@@ -514,12 +558,16 @@ case $ARCH in
|
|||||||
}
|
}
|
||||||
}' | sort -u >> ${EXPFILE}
|
}' | sort -u >> ${EXPFILE}
|
||||||
|
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
|
|
||||||
# On AIX a shared library is linked differently when
|
# On AIX a shared library is linked differently when
|
||||||
# you want to dlopen the file
|
# you want to dlopen the file
|
||||||
if [ $DLOPEN = "1" ] ; then
|
if [ $DLOPEN = "1" ] ; then
|
||||||
cc -G ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
cc -G ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
else
|
else
|
||||||
cc ${OPTS} -o ${OFILE} ${OBJECTS} ${DEPS}
|
cc ${OPTS} ${LDFLAGS} -o ${OFILE} ${OBJECTS} ${DEPS}
|
||||||
ar ${X64} -r ${LIBNAME} ${OFILE}
|
ar ${X64} -r ${LIBNAME} ${OFILE}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -565,6 +613,9 @@ case $ARCH in
|
|||||||
echo "mklib: Making Darwin static library: " ${LIBNAME}
|
echo "mklib: Making Darwin static library: " ${LIBNAME}
|
||||||
LINK="ar"
|
LINK="ar"
|
||||||
OPTS="-ruvs"
|
OPTS="-ruvs"
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
||||||
FINAL_LIBS=${LIBNAME}
|
FINAL_LIBS=${LIBNAME}
|
||||||
else
|
else
|
||||||
@@ -576,19 +627,37 @@ case $ARCH in
|
|||||||
LIBSUFFIX="dylib"
|
LIBSUFFIX="dylib"
|
||||||
OPTS="${ARCHOPT} -dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0 -install_name lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
OPTS="${ARCHOPT} -dynamiclib -multiply_defined suppress -current_version ${MAJOR}.${MINOR}.0 -compatibility_version ${MAJOR}.${MINOR}.0 -install_name lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||||
fi
|
fi
|
||||||
LINKNAME="lib${LIBNAME}.${LIBSUFFIX}"
|
|
||||||
LIBNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
if [ ${EXPORTS} ] ; then
|
||||||
|
OPTS="${OPTS} -exported_symbols_list ${EXPORTS}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LINKNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||||
|
LINKNAME2="lib${LIBNAME}.${LIBSUFFIX}"
|
||||||
|
LIBNAME="lib${LIBNAME}.${MAJOR}.${MINOR}.${LIBSUFFIX}"
|
||||||
|
|
||||||
# examine first object to determine ABI
|
# examine first object to determine ABI
|
||||||
set ${OBJECTS}
|
set ${OBJECTS}
|
||||||
ABI_PPC=`file $1 | grep 'object ppc'`
|
ABI_PPC=`file $1 | grep ' ppc'`
|
||||||
ABI_I386=`file $1 | grep 'object i386'`
|
ABI_I386=`file $1 | grep ' i386'`
|
||||||
if [ "${ABI_PPC}" ] ; then
|
ABI_PPC64=`file $1 | grep ' ppc64'`
|
||||||
OPTS="${OPTS} -arch ppc"
|
ABI_X86_64=`file $1 | grep ' x86_64'`
|
||||||
fi
|
if [ "${ABI_PPC}" ] ; then
|
||||||
if [ "${ABI_I386}" ] ; then
|
OPTS="${OPTS} -arch ppc"
|
||||||
OPTS="${OPTS} -arch i386"
|
fi
|
||||||
fi
|
if [ "${ABI_I386}" ] ; then
|
||||||
|
OPTS="${OPTS} -arch i386"
|
||||||
|
fi
|
||||||
|
if [ "${ABI_PPC64}" ] ; then
|
||||||
|
OPTS="${OPTS} -arch ppc64"
|
||||||
|
fi
|
||||||
|
if [ "${ABI_X86_64}" ] ; then
|
||||||
|
OPTS="${OPTS} -arch x86_64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
|
|
||||||
# XXX can we always add -isysroot /Developer/SDKs/MacOSX10.4u.sdk
|
# XXX can we always add -isysroot /Developer/SDKs/MacOSX10.4u.sdk
|
||||||
# to OPTS here?
|
# to OPTS here?
|
||||||
@@ -601,9 +670,11 @@ case $ARCH in
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "mklib: Making Darwin shared library: " ${LIBNAME}
|
echo "mklib: Making Darwin shared library: " ${LIBNAME}
|
||||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
|
||||||
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||||
ln -s ${LIBNAME} ${LINKNAME}
|
ln -s ${LIBNAME} ${LINKNAME}
|
||||||
FINAL_LIBS="${LIBNAME} ${LINKNAME}"
|
ln -s ${LIBNAME} ${LINKNAME2}
|
||||||
|
FINAL_LIBS="${LIBNAME} ${LINKNAME} ${LINKNAME2}"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -655,6 +726,9 @@ case $ARCH in
|
|||||||
echo "mklib: Making Intel ICC static library: " ${LIBNAME}.a
|
echo "mklib: Making Intel ICC static library: " ${LIBNAME}.a
|
||||||
LINK="ar"
|
LINK="ar"
|
||||||
OPTS="-ruv"
|
OPTS="-ruv"
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
||||||
# finish up
|
# finish up
|
||||||
@@ -665,6 +739,9 @@ case $ARCH in
|
|||||||
else
|
else
|
||||||
OPTS="-shared"
|
OPTS="-shared"
|
||||||
fi
|
fi
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
||||||
echo "mklib: Making Intel ICC shared library: " ${LIBNAME}.so.${VERSION}
|
echo "mklib: Making Intel ICC shared library: " ${LIBNAME}.so.${VERSION}
|
||||||
|
|
||||||
@@ -678,7 +755,7 @@ case $ARCH in
|
|||||||
rm -f ${LIBNAME}.so.${MAJOR}
|
rm -f ${LIBNAME}.so.${MAJOR}
|
||||||
rm -f ${LIBNAME}.so
|
rm -f ${LIBNAME}.so
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
||||||
# make usual symlinks
|
# make usual symlinks
|
||||||
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
||||||
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
||||||
@@ -729,6 +806,9 @@ case $ARCH in
|
|||||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
|
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
|
||||||
LINK="ar"
|
LINK="ar"
|
||||||
OPTS="-ru"
|
OPTS="-ru"
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
||||||
ranlib ${LIBNAME}.a
|
ranlib ${LIBNAME}.a
|
||||||
@@ -736,6 +816,9 @@ case $ARCH in
|
|||||||
FINAL_LIBS=${LIBNAME}.a
|
FINAL_LIBS=${LIBNAME}.a
|
||||||
else
|
else
|
||||||
OPTS="-shared -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a"
|
OPTS="-shared -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a"
|
||||||
|
if [ "${ALTOPTS}" ] ; then
|
||||||
|
OPTS=${ALTOPTS}
|
||||||
|
fi
|
||||||
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}-${MAJOR}.dll
|
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}-${MAJOR}.dll
|
||||||
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
if [ $CPLUSPLUS = 1 ] ; then
|
||||||
@@ -750,7 +833,7 @@ case $ARCH in
|
|||||||
rm -f ${LIBNAME}.a
|
rm -f ${LIBNAME}.a
|
||||||
|
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
|
${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
|
||||||
# make usual symlinks
|
# make usual symlinks
|
||||||
ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
|
ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
|
||||||
# finish up
|
# finish up
|
||||||
|
|||||||
17
bin/version.mk
Executable file
17
bin/version.mk
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/make -sf
|
||||||
|
# Print the various Mesa version fields. This is mostly used to add the
|
||||||
|
# version to configure.
|
||||||
|
|
||||||
|
# This reflects that this script is usually called from the toplevel
|
||||||
|
TOP = .
|
||||||
|
|
||||||
|
include $(TOP)/configs/default
|
||||||
|
|
||||||
|
version:
|
||||||
|
@echo $(MESA_VERSION)
|
||||||
|
major:
|
||||||
|
@echo $(MESA_MAJOR)
|
||||||
|
minor:
|
||||||
|
@echo $(MESA_MINOR)
|
||||||
|
tiny:
|
||||||
|
@echo $(MESA_TINY)
|
||||||
1
configs/.gitignore
vendored
1
configs/.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
current
|
current
|
||||||
|
autoconf
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ CXX = g++
|
|||||||
CFLAGS = -O2 -DAIXV3
|
CFLAGS = -O2 -DAIXV3
|
||||||
CXXFLAGS = -O2 -DAIXV3
|
CXXFLAGS = -O2 -DAIXV3
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
MKLIB_OPTIONS = -arch aix-gcc
|
MKLIB_OPTIONS = -arch aix-gcc
|
||||||
GL_LIB_DEPS = -lX11 -lXext -lm
|
GL_LIB_DEPS = -lX11 -lXext -lm
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||||
|
|||||||
100
configs/autoconf.in
Normal file
100
configs/autoconf.in
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
# Autoconf configuration
|
||||||
|
|
||||||
|
# Pull in the defaults
|
||||||
|
include $(TOP)/configs/default
|
||||||
|
|
||||||
|
# This is generated by configure
|
||||||
|
CONFIG_NAME = autoconf
|
||||||
|
|
||||||
|
# Compiler and flags
|
||||||
|
CC = @CC@
|
||||||
|
CXX = @CXX@
|
||||||
|
OPT_FLAGS = @OPT_FLAGS@
|
||||||
|
ARCH_FLAGS = @ARCH_FLAGS@
|
||||||
|
ASM_FLAGS = @ASM_FLAGS@
|
||||||
|
PIC_FLAGS = @PIC_FLAGS@
|
||||||
|
DEFINES = @DEFINES@
|
||||||
|
CFLAGS = @CPPFLAGS@ @CFLAGS@ \
|
||||||
|
$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
|
||||||
|
CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \
|
||||||
|
$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
EXTRA_LIB_PATH = @EXTRA_LIB_PATH@
|
||||||
|
|
||||||
|
# Assembler
|
||||||
|
ASM_SOURCES = @ASM_SOURCES@
|
||||||
|
ASM_API = @ASM_API@
|
||||||
|
|
||||||
|
# Misc tools and flags
|
||||||
|
MAKE = @MAKE@
|
||||||
|
MKLIB_OPTIONS = @MKLIB_OPTIONS@
|
||||||
|
MKDEP = @MKDEP@
|
||||||
|
MKDEP_OPTIONS = @MKDEP_OPTIONS@
|
||||||
|
INSTALL = $(TOP)/bin/minstall
|
||||||
|
|
||||||
|
# Python and flags (generally only needed by the developers)
|
||||||
|
PYTHON2 = python
|
||||||
|
PYTHON_FLAGS = -t -O -O
|
||||||
|
|
||||||
|
# Library names (base name)
|
||||||
|
GL_LIB = GL
|
||||||
|
GLU_LIB = GLU
|
||||||
|
GLUT_LIB = glut
|
||||||
|
GLW_LIB = GLw
|
||||||
|
OSMESA_LIB = @OSMESA_LIB@
|
||||||
|
|
||||||
|
# Library names (actual file names)
|
||||||
|
GL_LIB_NAME = @GL_LIB_NAME@
|
||||||
|
GLU_LIB_NAME = @GLU_LIB_NAME@
|
||||||
|
GLUT_LIB_NAME = @GLUT_LIB_NAME@
|
||||||
|
GLW_LIB_NAME = @GLW_LIB_NAME@
|
||||||
|
OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
|
||||||
|
|
||||||
|
# Directories to build
|
||||||
|
LIB_DIR = @LIB_DIR@
|
||||||
|
SRC_DIRS = @SRC_DIRS@
|
||||||
|
GLU_DIRS = @GLU_DIRS@
|
||||||
|
DRIVER_DIRS = @DRIVER_DIRS@
|
||||||
|
# Which subdirs under $(TOP)/progs/ to enter:
|
||||||
|
PROGRAM_DIRS = @PROGRAM_DIRS@
|
||||||
|
|
||||||
|
# Driver specific build vars
|
||||||
|
DRI_DIRS = @DRI_DIRS@
|
||||||
|
WINDOW_SYSTEM = @WINDOW_SYSTEM@
|
||||||
|
USING_EGL = @USING_EGL@
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
X11_INCLUDES = @X11_INCLUDES@
|
||||||
|
|
||||||
|
# Library/program dependencies
|
||||||
|
GL_LIB_DEPS = $(EXTRA_LIB_PATH) @GL_LIB_DEPS@
|
||||||
|
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
|
||||||
|
$(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@
|
||||||
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \
|
||||||
|
$(EXTRA_LIB_PATH) @GLU_LIB_DEPS@
|
||||||
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \
|
||||||
|
$(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@
|
||||||
|
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
|
||||||
|
$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
|
||||||
|
APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
|
||||||
|
|
||||||
|
# DRI dependencies
|
||||||
|
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@
|
||||||
|
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
|
||||||
|
LIBDRM_LIB = @LIBDRM_LIBS@
|
||||||
|
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
|
||||||
|
EXPAT_INCLUDES = @EXPAT_INCLUDES@
|
||||||
|
|
||||||
|
# Autoconf directories
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
libdir = @libdir@
|
||||||
|
|
||||||
|
# Installation directories (for make install)
|
||||||
|
INSTALL_DIR = $(prefix)
|
||||||
|
|
||||||
|
# DRI installation directories
|
||||||
|
DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@
|
||||||
|
|
||||||
|
# Where libGL will look for DRI hardware drivers
|
||||||
|
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
|
||||||
@@ -39,6 +39,10 @@ ifeq ($(CPU), x86)
|
|||||||
|
|
||||||
CXXFLAGS = $(CFLAGS)
|
CXXFLAGS = $(CFLAGS)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
LDFLAGS += -Xlinker
|
LDFLAGS += -Xlinker
|
||||||
|
|
||||||
ifdef DEBUG
|
ifdef DEBUG
|
||||||
|
|||||||
33
configs/bluegene-osmesa
Normal file
33
configs/bluegene-osmesa
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Configuration for building only libOSMesa on BlueGene, no Xlib driver
|
||||||
|
# This doesn't really have a lot of dependencies, so it should be usable
|
||||||
|
# on other (gcc-based) systems too.
|
||||||
|
# It uses static linking and disables multithreading.
|
||||||
|
|
||||||
|
include $(TOP)/configs/default
|
||||||
|
|
||||||
|
CONFIG_NAME = bluegene-osmesa
|
||||||
|
|
||||||
|
# Compiler and flags
|
||||||
|
CC = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc
|
||||||
|
CXX = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++
|
||||||
|
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURC
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
OSMESA_LIB_NAME = libOSMesa.a
|
||||||
|
|
||||||
|
# Directories
|
||||||
|
SRC_DIRS = mesa glu
|
||||||
|
DRIVER_DIRS = osmesa
|
||||||
|
PROGRAM_DIRS = osdemos
|
||||||
|
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
OSMESA_LIB_DEPS = -lm
|
||||||
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||||
|
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
||||||
29
configs/bluegene-xlc-osmesa
Normal file
29
configs/bluegene-xlc-osmesa
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Configuration for building only libOSMesa on BlueGene using the IBM xlc compiler
|
||||||
|
# This doesn't really have a lot of dependencies, so it should be usable
|
||||||
|
# on similar systems too.
|
||||||
|
# It uses static linking and disables multithreading.
|
||||||
|
|
||||||
|
include $(TOP)/configs/default
|
||||||
|
|
||||||
|
CONFIG_NAME = bluegene-osmesa
|
||||||
|
|
||||||
|
# Compiler and flags
|
||||||
|
CC = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlc
|
||||||
|
CXX = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlC
|
||||||
|
CFLAGS = -O3 -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
CXXFLAGS = -O3 -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
OSMESA_LIB_NAME = libOSMesa.a
|
||||||
|
|
||||||
|
# Directories
|
||||||
|
SRC_DIRS = mesa glu
|
||||||
|
DRIVER_DIRS = osmesa
|
||||||
|
PROGRAM_DIRS = osdemos
|
||||||
|
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
OSMESA_LIB_DEPS = -lm
|
||||||
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||||
|
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
||||||
32
configs/catamount-osmesa-pgi
Normal file
32
configs/catamount-osmesa-pgi
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# Configuration for building only libOSMesa on Cray Xt3
|
||||||
|
# for the compute nodes running Catamount using the
|
||||||
|
# Portland Group compiler. The Portland Group toolchain has to be
|
||||||
|
# enabled before using "module switch PrgEnv-gnu PrgEnv-pgi" .
|
||||||
|
# This doesn't really have a lot of dependencies, so it should be usable
|
||||||
|
# on other similar systems too.
|
||||||
|
# It uses static linking and disables multithreading.
|
||||||
|
|
||||||
|
include $(TOP)/configs/default
|
||||||
|
|
||||||
|
CONFIG_NAME = catamount-osmesa-pgi
|
||||||
|
|
||||||
|
# Compiler and flags
|
||||||
|
CC = cc
|
||||||
|
CXX = CC
|
||||||
|
CFLAGS = -target=catamount -fastsse -O3 -Mnontemporal -Mprefetch=distance:8,nta -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
CXXFLAGS = -target=catamount -fastsse -O3 -Mnontemporal -Mprefetch=distance:8,nta -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
OSMESA_LIB_NAME = libOSMesa.a
|
||||||
|
|
||||||
|
# Directories
|
||||||
|
SRC_DIRS = mesa glu
|
||||||
|
DRIVER_DIRS = osmesa
|
||||||
|
PROGRAM_DIRS = osdemos
|
||||||
|
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
OSMESA_LIB_DEPS = -lm
|
||||||
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||||
|
APP_LIB_DEPS = -lOSMesa -lGLU -lm
|
||||||
42
configs/config.mgw
Normal file
42
configs/config.mgw
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# MinGW config include file updated for Mesa 7.0
|
||||||
|
#
|
||||||
|
# Updated : by Heromyth, on 2007-7-21
|
||||||
|
# Email : zxpmyth@yahoo.com.cn
|
||||||
|
# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
|
||||||
|
# The others havn't been tested yet.
|
||||||
|
# 2) The generated DLLs are *not* compatible with the ones built
|
||||||
|
# with the other compilers like VC8, especially for GLUT.
|
||||||
|
# 3) Although more tests are needed, it can be used individually!
|
||||||
|
|
||||||
|
# The generated DLLs by MingW with STDCALL are not totally compatible
|
||||||
|
# with the ones linked by Microsoft's compilers.
|
||||||
|
#
|
||||||
|
# xxx_USING_STDCALL = 1 Compiling MESA with __stdcall. This is default!
|
||||||
|
#
|
||||||
|
# xxx_USING_STDCALL = 0 Compiling MESA without __stdcall. I like this:)
|
||||||
|
#
|
||||||
|
|
||||||
|
# In fact, GL_USING_STDCALL and GLUT_USING_STDCALL can be
|
||||||
|
# different. For example:
|
||||||
|
#
|
||||||
|
# GL_USING_STDCALL = 0
|
||||||
|
# GLUT_USING_STDCALL = 1
|
||||||
|
#
|
||||||
|
# Suggested setting:
|
||||||
|
#
|
||||||
|
# ALL_USING_STDCALL = 1
|
||||||
|
#
|
||||||
|
# That's default!
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
ALL_USING_STDCALL = 1
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(ALL_USING_STDCALL),1)
|
||||||
|
GL_USING_STDCALL = 1
|
||||||
|
GLUT_USING_STDCALL = 1
|
||||||
|
else
|
||||||
|
GL_USING_STDCALL = 0
|
||||||
|
GLUT_USING_STDCALL = 0
|
||||||
|
endif
|
||||||
@@ -4,11 +4,22 @@ include $(TOP)/configs/default
|
|||||||
|
|
||||||
CONFIG_NAME = darwin
|
CONFIG_NAME = darwin
|
||||||
|
|
||||||
|
DEFINES = -D_DARWIN_C_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L \
|
||||||
|
-D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE \
|
||||||
|
-DPTHREADS -DGLX_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING
|
||||||
|
|
||||||
# Compiler and flags
|
# Compiler and flags
|
||||||
CC = cc
|
CC = gcc
|
||||||
CXX = cc
|
CXX = gcc
|
||||||
CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
CFLAGS = -I/usr/X11/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin $(DEFINES)
|
||||||
CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
CXXFLAGS = -I/usr/X11/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin $(DEFINES)
|
||||||
|
|
||||||
|
CFLAGS += $(RC_CFLAGS)
|
||||||
|
CXXFLAGS += $(RC_CFLAGS)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.dylib
|
GL_LIB_NAME = libGL.dylib
|
||||||
@@ -17,13 +28,13 @@ GLUT_LIB_NAME = libglut.dylib
|
|||||||
GLW_LIB_NAME = libGLw.dylib
|
GLW_LIB_NAME = libGLw.dylib
|
||||||
OSMESA_LIB_NAME = libOSMesa.dylib
|
OSMESA_LIB_NAME = libOSMesa.dylib
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = -L/usr/X11/lib -lX11 -lXext -lm -lpthread
|
||||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
|
||||||
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
|
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
|
||||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11/lib -lX11 -lXmu -lXt -lXi -lm
|
||||||
|
|
||||||
# omit glw lib for now:
|
# omit glw lib for now:
|
||||||
SRC_DIRS = mesa glu glut/glx
|
SRC_DIRS = glx/x11 glu glut/glx mesa
|
||||||
|
DRIVER_DIRS = osmesa
|
||||||
|
|||||||
7
configs/darwin-fat-32bit
Normal file
7
configs/darwin-fat-32bit
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Configuration for Darwin / MacOS X, making 32bit fat dynamic libs
|
||||||
|
|
||||||
|
RC_CFLAGS=-arch ppc -arch i386
|
||||||
|
|
||||||
|
include $(TOP)/configs/darwin
|
||||||
|
|
||||||
|
CONFIG_NAME = darwin-fat-32bit
|
||||||
7
configs/darwin-fat-all
Normal file
7
configs/darwin-fat-all
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Configuration for Darwin / MacOS X, making 32bit and 64bit fat dynamic libs
|
||||||
|
|
||||||
|
RC_CFLAGS=-arch ppc -arch i386 -arch ppc64 -arch x86_64
|
||||||
|
|
||||||
|
include $(TOP)/configs/darwin
|
||||||
|
|
||||||
|
CONFIG_NAME = darwin-fat-all
|
||||||
@@ -9,6 +9,10 @@ CFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpen
|
|||||||
CXXFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
CXXFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
GLU_LIB_NAME = libGLU.a
|
GLU_LIB_NAME = libGLU.a
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
|||||||
-I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
-I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||||
MKLIB_OPTIONS = -static -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
MKLIB_OPTIONS = -static -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
GLU_LIB_NAME = libGLU.a
|
GLU_LIB_NAME = libGLU.a
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
# Configuration for Darwin / MacOS X, making dynamic libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = darwin
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = cc
|
|
||||||
CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
|
||||||
-I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
|
||||||
CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
|
||||||
-I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
|
||||||
|
|
||||||
MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
|
||||||
|
|
||||||
# Library names (actual file names)
|
|
||||||
GL_LIB_NAME = libGL.dylib
|
|
||||||
GLU_LIB_NAME = libGLU.dylib
|
|
||||||
GLUT_LIB_NAME = libglut.dylib
|
|
||||||
GLW_LIB_NAME = libGLw.dylib
|
|
||||||
OSMESA_LIB_NAME = libOSMesa.dylib
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
|
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
|
|
||||||
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
|
|
||||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
|
|
||||||
# omit glw lib for now:
|
|
||||||
SRC_DIRS = mesa glu glut/glx
|
|
||||||
|
|
||||||
@@ -11,6 +11,7 @@ CONFIG_NAME = default
|
|||||||
MESA_MAJOR=7
|
MESA_MAJOR=7
|
||||||
MESA_MINOR=1
|
MESA_MINOR=1
|
||||||
MESA_TINY=0
|
MESA_TINY=0
|
||||||
|
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
|
||||||
|
|
||||||
# external projects. This should be useless now that we use libdrm.
|
# external projects. This should be useless now that we use libdrm.
|
||||||
DRM_SOURCE_PATH=$(TOP)/../drm
|
DRM_SOURCE_PATH=$(TOP)/../drm
|
||||||
@@ -20,6 +21,7 @@ CC = cc
|
|||||||
CXX = CC
|
CXX = CC
|
||||||
CFLAGS = -O
|
CFLAGS = -O
|
||||||
CXXFLAGS = -O
|
CXXFLAGS = -O
|
||||||
|
LDFLAGS =
|
||||||
GLU_CFLAGS =
|
GLU_CFLAGS =
|
||||||
|
|
||||||
# Misc tools and flags
|
# Misc tools and flags
|
||||||
@@ -29,9 +31,11 @@ MKDEP_OPTIONS = -fdepend
|
|||||||
MAKE = make
|
MAKE = make
|
||||||
INSTALL = $(TOP)/bin/minstall
|
INSTALL = $(TOP)/bin/minstall
|
||||||
|
|
||||||
# Python and flags (generally only needed by the developers)
|
# Tools for regenerating glapi (generally only needed by the developers)
|
||||||
PYTHON2 = python
|
PYTHON2 = python
|
||||||
PYTHON_FLAGS = -t -O -O
|
PYTHON_FLAGS = -t -O -O
|
||||||
|
INDENT = indent
|
||||||
|
INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool
|
||||||
|
|
||||||
# Library names (base name)
|
# Library names (base name)
|
||||||
GL_LIB = GL
|
GL_LIB = GL
|
||||||
@@ -66,20 +70,21 @@ DRIVER_DIRS = x11 osmesa
|
|||||||
PROGRAM_DIRS = demos redbook samples glsl xdemos
|
PROGRAM_DIRS = demos redbook samples glsl xdemos
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies
|
# Library dependencies
|
||||||
#EXTRA_LIB_PATH ?=
|
#EXTRA_LIB_PATH ?=
|
||||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
||||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXi -lm
|
||||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
|
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
|
|
||||||
|
# Program dependencies - specific GL/glut libraries added in Makefiles
|
||||||
|
APP_LIB_DEPS = -lm
|
||||||
|
|
||||||
|
|
||||||
# Installation directories (for make install)
|
# Installation directories (for make install)
|
||||||
INSTALL_DIR = /usr/local
|
INSTALL_DIR = /usr/local
|
||||||
DRI_DRIVER_INSTALL_DIR = /usr/X11R6/lib/modules/dri
|
DRI_DRIVER_INSTALL_DIR = $(INSTALL_DIR)/$(LIB_DIR)/dri
|
||||||
|
|
||||||
# Where libGL will look for DRI hardware drivers
|
# Where libGL will look for DRI hardware drivers
|
||||||
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
|
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ OPT_FLAGS = -O2
|
|||||||
PIC_FLAGS = -fPIC
|
PIC_FLAGS = -fPIC
|
||||||
|
|
||||||
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
|
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \
|
||||||
-DHZ=100 -DHAVE_POSIX_MEMALIGN
|
-DHZ=100
|
||||||
|
|
||||||
X11_INCLUDES = -I/usr/X11R6/include
|
X11_INCLUDES = -I/usr/local/include
|
||||||
|
|
||||||
CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ffast-math -pedantic
|
CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ffast-math -pedantic
|
||||||
|
|
||||||
@@ -23,5 +23,9 @@ CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
|
|||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
|
EXTRA_LIB_PATH = -L/usr/local/lib
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
|
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
|
||||||
|
|||||||
@@ -9,30 +9,34 @@ CONFIG_NAME = freebsd-dri
|
|||||||
CC = gcc
|
CC = gcc
|
||||||
CXX = g++
|
CXX = g++
|
||||||
WARN_FLAGS = -Wall
|
WARN_FLAGS = -Wall
|
||||||
OPT_FLAGS = -O
|
OPT_FLAGS = -O -g
|
||||||
|
|
||||||
EXPAT_INCLUDES = -I/usr/local/include
|
EXPAT_INCLUDES = -I/usr/local/include
|
||||||
X11_INCLUDES = -I/usr/X11R6/include
|
X11_INCLUDES = -I/usr/local/include
|
||||||
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
||||||
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
|
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
|
||||||
-DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
|
-DHAVE_ALIAS
|
||||||
|
|
||||||
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
|
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
|
||||||
$(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
|
$(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
|
||||||
|
|
||||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi -pedantic $(ASM_FLAGS) $(X11_INCLUDES)
|
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi -pedantic $(ASM_FLAGS) $(X11_INCLUDES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
# Library/program dependencies
|
# Library/program dependencies
|
||||||
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||||
DRI_LIB_DEPS = -L/usr/local/lib -lm -lpthread -lexpat $(LIBDRM_LIB)
|
DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
GL_LIB_DEPS = -L/usr/local/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||||
-lm -lpthread $(LIBDRM_LIB)
|
-lm -pthread $(LIBDRM_LIB)
|
||||||
|
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
|
||||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lX11
|
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGL -lXt -lX11
|
||||||
|
|
||||||
|
|
||||||
# Directories
|
# Directories
|
||||||
|
|||||||
@@ -12,5 +12,9 @@ CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/incl
|
|||||||
CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE
|
CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
|||||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||||
$(X11_INCLUDES)
|
$(X11_INCLUDES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
|
|||||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
|
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
||||||
|
|||||||
@@ -11,7 +11,11 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
|
|||||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
|
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
PIC_FLAGS =
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D
|
|||||||
|
|
||||||
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
|
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
|
||||||
ifeq ($(HAVE_X86), yes)
|
ifeq ($(HAVE_X86), yes)
|
||||||
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
|
|||||||
|
|
||||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
@@ -42,8 +47,7 @@ LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
|||||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||||
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||||
-lm -lpthread -ldl \
|
-lm -lpthread -ldl $(LIBDRM_LIB)
|
||||||
$(LIBDRM_LIB)
|
|
||||||
|
|
||||||
|
|
||||||
# This is now 0 by default since it seems to confuse the hell out of people
|
# This is now 0 by default since it seems to confuse the hell out of people
|
||||||
@@ -55,10 +59,10 @@ USING_EGL=0
|
|||||||
# Directories
|
# Directories
|
||||||
ifeq ($(USING_EGL), 1)
|
ifeq ($(USING_EGL), 1)
|
||||||
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
|
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
|
||||||
PROGRAM_DIRS = egl
|
PROGRAM_DIRS = egl xdemos
|
||||||
else
|
else
|
||||||
SRC_DIRS = glx/x11 mesa glu glut/glx glw
|
SRC_DIRS = glx/x11 mesa glu glut/glx glw
|
||||||
PROGRAM_DIRS =
|
PROGRAM_DIRS = xdemos
|
||||||
endif
|
endif
|
||||||
|
|
||||||
DRIVER_DIRS = dri
|
DRIVER_DIRS = dri
|
||||||
@@ -66,5 +70,5 @@ WINDOW_SYSTEM=dri
|
|||||||
|
|
||||||
# gamma are missing because they have not been converted to use the new
|
# gamma are missing because they have not been converted to use the new
|
||||||
# interface.
|
# interface.
|
||||||
DRI_DIRS = i810 i915tex i915 i965 mach64 mga r128 r200 r300 radeon s3v \
|
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
|
||||||
savage sis tdfx trident unichrome ffb
|
savage sis tdfx trident unichrome ffb
|
||||||
|
|||||||
@@ -5,9 +5,6 @@ include $(TOP)/configs/linux-dri
|
|||||||
|
|
||||||
CONFIG_NAME = linux-dri-x86
|
CONFIG_NAME = linux-dri-x86
|
||||||
|
|
||||||
# Unnecessary on x86, generally.
|
|
||||||
PIC_FLAGS =
|
|
||||||
|
|
||||||
# Add -m32 to CFLAGS:
|
# Add -m32 to CFLAGS:
|
||||||
ARCH_FLAGS = -m32
|
ARCH_FLAGS = -m32
|
||||||
|
|
||||||
|
|||||||
@@ -20,5 +20,5 @@ EXTRA_LIB_PATH=-L/usr/X11R6/lib64
|
|||||||
# the new interface. i810 are missing because there is no x86-64
|
# the new interface. i810 are missing because there is no x86-64
|
||||||
# system where they could *ever* be used.
|
# system where they could *ever* be used.
|
||||||
#
|
#
|
||||||
DRI_DIRS = i915tex i915 i965 mach64 mga r128 r200 radeon tdfx unichrome savage r300
|
DRI_DIRS = i915 i965 mach64 mga r128 r200 r300 radeon savage tdfx unichrome
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,9 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
|||||||
|
|
||||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
@@ -41,8 +44,9 @@ EXTRA_LIB_PATH=`pkg-config --libs-only-L x11`
|
|||||||
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||||
LIBDRM_LIB = `pkg-config --libs libdrm`
|
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||||
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
|
||||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
|
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
||||||
$(LIBDRM_LIB) `pkg-config --libs xcb` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`
|
-lm -lpthread -ldl $(LIBDRM_LIB) `pkg-config --libs xcb` \
|
||||||
|
`pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`
|
||||||
|
|
||||||
|
|
||||||
# This is now 0 by default since it seems to confuse the hell out of people
|
# This is now 0 by default since it seems to confuse the hell out of people
|
||||||
@@ -54,10 +58,10 @@ USING_EGL=0
|
|||||||
# Directories
|
# Directories
|
||||||
ifeq ($(USING_EGL), 1)
|
ifeq ($(USING_EGL), 1)
|
||||||
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
|
SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
|
||||||
PROGRAM_DIRS = egl
|
PROGRAM_DIRS = egl xdemos
|
||||||
else
|
else
|
||||||
SRC_DIRS = glx/x11 mesa glu glut/glx glw
|
SRC_DIRS = glx/x11 mesa glu glut/glx glw
|
||||||
PROGRAM_DIRS =
|
PROGRAM_DIRS = xdemos
|
||||||
endif
|
endif
|
||||||
|
|
||||||
DRIVER_DIRS = dri
|
DRIVER_DIRS = dri
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ CONFIG_NAME = linux-fbdev
|
|||||||
|
|
||||||
CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
|
CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
SRC_DIRS = mesa glu glut/fbdev
|
SRC_DIRS = mesa glu glut/fbdev
|
||||||
DRIVER_DIRS = fbdev osmesa
|
DRIVER_DIRS = fbdev osmesa
|
||||||
PROGRAM_DIRS = fbdev demos redbook samples
|
PROGRAM_DIRS = fbdev demos redbook samples
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE
|
|||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library/program dependencies
|
# Library/program dependencies
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
|||||||
|
|
||||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ CXX = g++
|
|||||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
|
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Directories
|
# Directories
|
||||||
SRC_DIRS = mesa glu
|
SRC_DIRS = mesa glu
|
||||||
@@ -22,4 +25,4 @@ PROGRAM_DIRS = osdemos
|
|||||||
# Dependencies
|
# Dependencies
|
||||||
OSMESA_LIB_DEPS = -lm -lpthread
|
OSMESA_LIB_DEPS = -lm -lpthread
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||||
APP_LIB_DEPS = -lOSMesa -lGLU
|
APP_LIB_DEPS = -lm -lpthread
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ CXX = g++
|
|||||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names
|
# Library names
|
||||||
OSMESA_LIB = OSMesa16
|
OSMESA_LIB = OSMesa16
|
||||||
@@ -25,4 +28,4 @@ PROGRAM_DIRS =
|
|||||||
# Dependencies
|
# Dependencies
|
||||||
OSMESA_LIB_DEPS = -lm -lpthread
|
OSMESA_LIB_DEPS = -lm -lpthread
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||||
APP_LIB_DEPS = -lOSMesa16
|
APP_LIB_DEPS = -lm -lpthread
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ CXX = g++
|
|||||||
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
PIC_FLAGS =
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names
|
# Library names
|
||||||
OSMESA_LIB = OSMesa16
|
OSMESA_LIB = OSMesa16
|
||||||
@@ -25,4 +29,4 @@ PROGRAM_DIRS =
|
|||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
OSMESA_LIB_DEPS = -lm -lpthread
|
OSMESA_LIB_DEPS = -lm -lpthread
|
||||||
APP_LIB_DEPS = -lOSMesa16
|
APP_LIB_DEPS = -lm -lpthread
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ CXX = g++
|
|||||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names
|
# Library names
|
||||||
OSMESA_LIB = OSMesa32
|
OSMESA_LIB = OSMesa32
|
||||||
@@ -25,4 +28,4 @@ PROGRAM_DIRS =
|
|||||||
# Dependencies
|
# Dependencies
|
||||||
OSMESA_LIB_DEPS = -lm -lpthread
|
OSMESA_LIB_DEPS = -lm -lpthread
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
|
||||||
APP_LIB_DEPS = -lOSMesa32
|
APP_LIB_DEPS = -lm -lpthread
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-ppc
|
|||||||
CONFIG_NAME = linux-ppc-static
|
CONFIG_NAME = linux-ppc-static
|
||||||
|
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
PIC_FLAGS =
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
|
|||||||
@@ -24,13 +24,17 @@ PCIACCESS_LIB = `pkg-config --libs pciaccess`
|
|||||||
|
|
||||||
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
|
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
|
||||||
-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \
|
-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \
|
||||||
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DDRM_USE_MALLOC -DIN_DRI_DRIVER
|
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
||||||
|
-DHAVE_ALIAS
|
||||||
|
|
||||||
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||||
$(ASM_FLAGS) -std=c99 -ffast-math
|
$(ASM_FLAGS) -std=c99 -ffast-math
|
||||||
|
|
||||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,6 @@ include $(TOP)/configs/linux-solo
|
|||||||
|
|
||||||
CONFIG_NAME = linux-solo-x86
|
CONFIG_NAME = linux-solo-x86
|
||||||
|
|
||||||
# Unnecessary on x86, generally.
|
|
||||||
PIC_FLAGS =
|
|
||||||
|
|
||||||
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
||||||
ASM_SOURCES = $(X86_SOURCES)
|
ASM_SOURCES = $(X86_SOURCES)
|
||||||
ASM_API = $(X86_API)
|
ASM_API = $(X86_API)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux
|
|||||||
CONFIG_NAME = linux-static
|
CONFIG_NAME = linux-static
|
||||||
|
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
PIC_FLAGS =
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
@@ -21,6 +22,5 @@ GLUT_LIB_DEPS =
|
|||||||
GLW_LIB_DEPS =
|
GLW_LIB_DEPS =
|
||||||
|
|
||||||
# Need to specify all libraries we may need
|
# Need to specify all libraries we may need
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm \
|
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread \
|
||||||
-L/usr/X11R6/lib/ -lX11 -lXmu -lXi -lpthread
|
-lstdc++ -lm
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86-64
|
|||||||
CONFIG_NAME = linux-x86-64-static
|
CONFIG_NAME = linux-x86-64-static
|
||||||
|
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
PIC_FLAGS =
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
@@ -19,5 +20,5 @@ OSMESA_LIB_DEPS =
|
|||||||
GLU_LIB_DEPS =
|
GLU_LIB_DEPS =
|
||||||
GLUT_LIB_DEPS =
|
GLUT_LIB_DEPS =
|
||||||
GLW_LIB_DEPS =
|
GLW_LIB_DEPS =
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread \
|
||||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
-lstdc++ -lm
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199
|
|||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES)
|
ASM_SOURCES = $(X86_SOURCES)
|
||||||
ASM_API = $(X86_API)
|
ASM_API = $(X86_API)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86
|
|||||||
CONFIG_NAME = linux-x86-static
|
CONFIG_NAME = linux-x86-static
|
||||||
|
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
PIC_FLAGS =
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
@@ -19,5 +20,5 @@ OSMESA_LIB_DEPS =
|
|||||||
GLU_LIB_DEPS =
|
GLU_LIB_DEPS =
|
||||||
GLUT_LIB_DEPS =
|
GLUT_LIB_DEPS =
|
||||||
GLW_LIB_DEPS =
|
GLW_LIB_DEPS =
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread \
|
||||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
-lstdc++ -lm
|
||||||
|
|||||||
@@ -12,3 +12,6 @@ CXXFLAGS = -O2 -fPIC
|
|||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ CXX = g++
|
|||||||
CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
|
CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
|
||||||
CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100
|
CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
|
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
|
||||||
OSMESA_LIB_DEPS = -lm
|
OSMESA_LIB_DEPS = -lm
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
|
|||||||
CXXFLAGS = -O3 -march=i486 -fPIC
|
CXXFLAGS = -O3 -march=i486 -fPIC
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ CXXFLAGS = -O3 -march=i486 -fPIC
|
|||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
||||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
||||||
|
|||||||
@@ -11,5 +11,9 @@ CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X1
|
|||||||
CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
|
CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
|
||||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
|||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library/program dependencies
|
# Library/program dependencies
|
||||||
EXTRA_LIB_PATH=-L/usr/openwin/lib
|
EXTRA_LIB_PATH=-L/usr/openwin/lib
|
||||||
|
|
||||||
|
|||||||
35
configs/sunos5-v9-cc-g++
Normal file
35
configs/sunos5-v9-cc-g++
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Configuration for SunOS 5, SPARC V9 and cc/g++ (for C and C++ sources)
|
||||||
|
|
||||||
|
include $(TOP)/configs/default
|
||||||
|
|
||||||
|
CONFIG_NAME = sunos5-v9-cc-g++
|
||||||
|
|
||||||
|
MKLIB_OPTIONS = -cplusplus
|
||||||
|
|
||||||
|
LIB_DIR = lib64
|
||||||
|
|
||||||
|
# Compiler and flags
|
||||||
|
CC = cc
|
||||||
|
CXX = g++
|
||||||
|
|
||||||
|
CXX_WARN_FLAGS = -Wall
|
||||||
|
CXX_PIC_FLAGS = -fPIC
|
||||||
|
CXX_OPT_FLAGS = -O3 -m64 -mcpu=ultrasparc -mv8plus -mvis -g -fomit-frame-pointer -pipe
|
||||||
|
CXX_ARCH_FLAGS = -m64
|
||||||
|
|
||||||
|
|
||||||
|
CXXFLAGS = $(CXX_WARN_FLAGS) $(CXX_OPT_FLAGS) $(CXX_PIC_FLAGS) $(CXX_ARCH_FLAGS) $(DEFINES) \
|
||||||
|
-I/usr/openwin/include
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
|
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
|
||||||
|
#CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
|
||||||
|
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
|
||||||
|
|
||||||
|
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
|
||||||
|
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
|
||||||
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||||
|
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
||||||
|
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||||
@@ -12,6 +12,10 @@ CXXFLAGS = -pedantic -O2
|
|||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
GLU_LIB_NAME = libGLU.a
|
GLU_LIB_NAME = libGLU.a
|
||||||
GLUT_LIB_NAME = libglut.a
|
GLUT_LIB_NAME = libglut.a
|
||||||
|
|||||||
970
configure.ac
Normal file
970
configure.ac
Normal file
@@ -0,0 +1,970 @@
|
|||||||
|
dnl Process this file with autoconf to create configure.
|
||||||
|
|
||||||
|
AC_PREREQ([2.59])
|
||||||
|
|
||||||
|
dnl Versioning - scrape the version from configs/default
|
||||||
|
m4_define([mesa_version],
|
||||||
|
[m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n'])])
|
||||||
|
m4_ifval(mesa_version,[],[
|
||||||
|
m4_errprint([Error: Failed to get the Mesa version from the output of
|
||||||
|
running `make -f bin/version.mk version'
|
||||||
|
])
|
||||||
|
m4_exit([1])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_INIT([Mesa],[mesa_version],
|
||||||
|
[https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
|
||||||
|
AC_CONFIG_AUX_DIR([bin])
|
||||||
|
AC_CANONICAL_HOST
|
||||||
|
|
||||||
|
dnl Versions for external dependencies
|
||||||
|
LIBDRM_REQUIRED=2.3.1
|
||||||
|
DRI2PROTO_REQUIRED=1.1
|
||||||
|
|
||||||
|
dnl Check for progs
|
||||||
|
AC_PROG_CPP
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_CXX
|
||||||
|
AC_CHECK_PROGS([MAKE], [gmake make])
|
||||||
|
AC_PATH_PROG([MKDEP], [makedepend])
|
||||||
|
AC_PATH_PROG([SED], [sed])
|
||||||
|
|
||||||
|
MKDEP_OPTIONS=-fdepend
|
||||||
|
dnl Ask gcc where it's keeping its secret headers
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
GCC_INCLUDES=`$CC -print-file-name=include`
|
||||||
|
if test "x$GCC_INCLUDES" != x; then
|
||||||
|
MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([MKDEP_OPTIONS])
|
||||||
|
|
||||||
|
dnl Check to see if dlopen is in default libraries (like Solaris, which
|
||||||
|
dnl has it in libc), or if libdl is needed to get it.
|
||||||
|
AC_CHECK_FUNC([dlopen], [],
|
||||||
|
[AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
|
||||||
|
|
||||||
|
dnl Make sure the pkg-config macros are defined
|
||||||
|
m4_ifdef([PKG_PROG_PKG_CONFIG],[],[
|
||||||
|
m4_errprint([Error: Could not locate the pkg-config autoconf macros.
|
||||||
|
These are usually located in /usr/share/aclocal/pkg.m4. If your
|
||||||
|
macros are in a different location, try setting the environment
|
||||||
|
variable ACLOCAL="aclocal -I/other/macro/dir" before running
|
||||||
|
autoreconf.
|
||||||
|
])
|
||||||
|
m4_exit([1])
|
||||||
|
])
|
||||||
|
PKG_PROG_PKG_CONFIG()
|
||||||
|
|
||||||
|
dnl LIB_DIR - library basename
|
||||||
|
LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
|
||||||
|
AC_SUBST([LIB_DIR])
|
||||||
|
|
||||||
|
dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later
|
||||||
|
_SAVE_LDFLAGS="$LDFLAGS"
|
||||||
|
AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker])
|
||||||
|
AC_SUBST([EXTRA_LIB_PATH])
|
||||||
|
|
||||||
|
dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
|
||||||
|
_SAVE_CPPFLAGS="$CPPFLAGS"
|
||||||
|
AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers])
|
||||||
|
AC_SUBST([X11_INCLUDES])
|
||||||
|
|
||||||
|
dnl Compiler macros
|
||||||
|
DEFINES=""
|
||||||
|
AC_SUBST([DEFINES])
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
DEFINES="$DEFINES -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE"
|
||||||
|
fi
|
||||||
|
DEFINES="$DEFINES -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl Add flags for gcc and g++
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99 -ffast-math"
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS="$CFLAGS -fno-strict-aliasing"
|
||||||
|
fi
|
||||||
|
if test "x$GXX" = xyes; then
|
||||||
|
CXXFLAGS="$CXXFLAGS -Wall"
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl These should be unnecessary, but let the user set them if they want
|
||||||
|
AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler.
|
||||||
|
Default is to use CFLAGS.])
|
||||||
|
AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the
|
||||||
|
compiler. Default is to use CFLAGS.])
|
||||||
|
AC_SUBST([OPT_FLAGS])
|
||||||
|
AC_SUBST([ARCH_FLAGS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Hacks to enable 32 or 64 bit build
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([32-bit],
|
||||||
|
[AS_HELP_STRING([--enable-32-bit],
|
||||||
|
[build 32-bit libraries @<:@default=auto@:>@])],
|
||||||
|
[enable_32bit="$enableval"],
|
||||||
|
[enable_32bit=auto]
|
||||||
|
)
|
||||||
|
if test "x$enable_32bit" = xyes; then
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
CFLAGS="$CFLAGS -m32"
|
||||||
|
fi
|
||||||
|
if test "x$GXX" = xyes; then
|
||||||
|
CXXFLAGS="$CXXFLAGS -m32"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_ARG_ENABLE([64-bit],
|
||||||
|
[AS_HELP_STRING([--enable-64-bit],
|
||||||
|
[build 64-bit libraries @<:@default=auto@:>@])],
|
||||||
|
[enable_64bit="$enableval"],
|
||||||
|
[enable_64bit=auto]
|
||||||
|
)
|
||||||
|
if test "x$enable_64bit" = xyes; then
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
CFLAGS="$CFLAGS -m64"
|
||||||
|
fi
|
||||||
|
if test "x$GXX" = xyes; then
|
||||||
|
CXXFLAGS="$CXXFLAGS -m64"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl shared/static libraries, mimic libtool options
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([static],
|
||||||
|
[AS_HELP_STRING([--enable-static],
|
||||||
|
[build static libraries @<:@default=disabled@:>@])],
|
||||||
|
[enable_static="$enableval"],
|
||||||
|
[enable_static=no]
|
||||||
|
)
|
||||||
|
case "x$enable_static" in
|
||||||
|
xyes|xno ) ;;
|
||||||
|
x ) enable_static=no ;;
|
||||||
|
* )
|
||||||
|
AC_MSG_ERROR([Static library option '$enable_static' is not a valid])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_ARG_ENABLE([shared],
|
||||||
|
[AS_HELP_STRING([--disable-shared],
|
||||||
|
[build shared libraries @<:@default=enabled@:>@])],
|
||||||
|
[enable_shared="$enableval"],
|
||||||
|
[enable_shared=yes]
|
||||||
|
)
|
||||||
|
case "x$enable_shared" in
|
||||||
|
xyes|xno ) ;;
|
||||||
|
x ) enable_shared=yes ;;
|
||||||
|
* )
|
||||||
|
AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl Can't have static and shared libraries, default to static if user
|
||||||
|
dnl explicitly requested. If both disabled, set to static since shared
|
||||||
|
dnl was explicitly requirested.
|
||||||
|
case "x$enable_static$enable_shared" in
|
||||||
|
xyesyes )
|
||||||
|
AC_MSG_WARN([Can't build static and shared libraries, disabling shared])
|
||||||
|
enable_shared=no
|
||||||
|
;;
|
||||||
|
xnono )
|
||||||
|
AC_MSG_WARN([Can't disable both static and shared libraries, enabling static])
|
||||||
|
enable_static=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl mklib options
|
||||||
|
dnl
|
||||||
|
AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib])
|
||||||
|
if test "$enable_static" = yes; then
|
||||||
|
MKLIB_OPTIONS="$MKLIB_OPTIONS -static"
|
||||||
|
fi
|
||||||
|
AC_SUBST([MKLIB_OPTIONS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl other compiler options
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([debug],
|
||||||
|
[AS_HELP_STRING([--enable-debug],
|
||||||
|
[use debug compiler flags and macros @<:@default=disabled@:>@])],
|
||||||
|
[enable_debug="$enableval"],
|
||||||
|
[enable_debug=no]
|
||||||
|
)
|
||||||
|
if test "x$enable_debug" = xyes; then
|
||||||
|
DEFINES="$DEFINES -DDEBUG"
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
CFLAGS="$CFLAGS -g"
|
||||||
|
fi
|
||||||
|
if test "x$GXX" = xyes; then
|
||||||
|
CXXFLAGS="$CXXFLAGS -g"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl library names
|
||||||
|
dnl
|
||||||
|
if test "$enable_static" = yes; then
|
||||||
|
GL_LIB_NAME='lib$(GL_LIB).a'
|
||||||
|
GLU_LIB_NAME='lib$(GLU_LIB).a'
|
||||||
|
GLUT_LIB_NAME='lib$(GLUT_LIB).a'
|
||||||
|
GLW_LIB_NAME='lib$(GLW_LIB).a'
|
||||||
|
OSMESA_LIB_NAME='lib$(OSMESA_LIB).a'
|
||||||
|
else
|
||||||
|
GL_LIB_NAME='lib$(GL_LIB).so'
|
||||||
|
GLU_LIB_NAME='lib$(GLU_LIB).so'
|
||||||
|
GLUT_LIB_NAME='lib$(GLUT_LIB).so'
|
||||||
|
GLW_LIB_NAME='lib$(GLW_LIB).so'
|
||||||
|
OSMESA_LIB_NAME='lib$(OSMESA_LIB).so'
|
||||||
|
fi
|
||||||
|
AC_SUBST([GL_LIB_NAME])
|
||||||
|
AC_SUBST([GLU_LIB_NAME])
|
||||||
|
AC_SUBST([GLUT_LIB_NAME])
|
||||||
|
AC_SUBST([GLW_LIB_NAME])
|
||||||
|
AC_SUBST([OSMESA_LIB_NAME])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Driver configuration. Options are xlib, dri and osmesa right now.
|
||||||
|
dnl More later: directfb, fbdev, ...
|
||||||
|
dnl
|
||||||
|
default_driver="xlib"
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
case "$host_cpu" in
|
||||||
|
i*86|x86_64|powerpc*) default_driver="dri";;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
freebsd* | dragonfly*)
|
||||||
|
case "$host_cpu" in
|
||||||
|
i*86|x86_64) default_driver="dri";;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_ARG_WITH([driver],
|
||||||
|
[AS_HELP_STRING([--with-driver=DRIVER],
|
||||||
|
[driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
|
||||||
|
[mesa_driver="$withval"],
|
||||||
|
[mesa_driver="$default_driver"])
|
||||||
|
dnl Check for valid option
|
||||||
|
case "x$mesa_driver" in
|
||||||
|
xxlib|xdri|xosmesa)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Driver specific build directories
|
||||||
|
dnl
|
||||||
|
SRC_DIRS="mesa"
|
||||||
|
GLU_DIRS="sgi"
|
||||||
|
WINDOW_SYSTEM=""
|
||||||
|
case "$mesa_driver" in
|
||||||
|
xlib)
|
||||||
|
DRIVER_DIRS="x11"
|
||||||
|
;;
|
||||||
|
dri)
|
||||||
|
SRC_DIRS="glx/x11 $SRC_DIRS"
|
||||||
|
DRIVER_DIRS="dri"
|
||||||
|
WINDOW_SYSTEM="dri"
|
||||||
|
;;
|
||||||
|
osmesa)
|
||||||
|
DRIVER_DIRS="osmesa"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([SRC_DIRS])
|
||||||
|
AC_SUBST([GLU_DIRS])
|
||||||
|
AC_SUBST([DRIVER_DIRS])
|
||||||
|
AC_SUBST([WINDOW_SYSTEM])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl User supplied program configuration
|
||||||
|
dnl
|
||||||
|
if test -d "$srcdir/progs/demos"; then
|
||||||
|
default_demos=yes
|
||||||
|
else
|
||||||
|
default_demos=no
|
||||||
|
fi
|
||||||
|
AC_ARG_WITH([demos],
|
||||||
|
[AS_HELP_STRING([--with-demos@<:@=DIRS...@:>@],
|
||||||
|
[optional comma delimited demo directories to build
|
||||||
|
@<:@default=auto if source available@:>@])],
|
||||||
|
[with_demos="$withval"],
|
||||||
|
[with_demos="$default_demos"])
|
||||||
|
if test "x$with_demos" = x; then
|
||||||
|
with_demos=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl If $with_demos is yes, directories will be added as libs available
|
||||||
|
PROGRAM_DIRS=""
|
||||||
|
case "$with_demos" in
|
||||||
|
no) ;;
|
||||||
|
yes)
|
||||||
|
# If the driver isn't osmesa, we have libGL and can build xdemos
|
||||||
|
if test "$mesa_driver" != osmesa; then
|
||||||
|
PROGRAM_DIRS="xdemos"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# verify the requested demos directories exist
|
||||||
|
demos=`IFS=,; echo $with_demos`
|
||||||
|
for demo in $demos; do
|
||||||
|
test -d "$srcdir/progs/$demo" || \
|
||||||
|
AC_MSG_ERROR([Program directory '$demo' doesn't exist])
|
||||||
|
done
|
||||||
|
PROGRAM_DIRS="$demos"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Find out if X is available. The variable have_x is set if libX11 is
|
||||||
|
dnl to mimic AC_PATH_XTRA.
|
||||||
|
dnl
|
||||||
|
if test -n "$PKG_CONFIG"; then
|
||||||
|
AC_MSG_CHECKING([pkg-config files for X11 are available])
|
||||||
|
PKG_CHECK_EXISTS([x11],[
|
||||||
|
x11_pkgconfig=yes
|
||||||
|
have_x=yes
|
||||||
|
],[
|
||||||
|
x11_pkgconfig=no
|
||||||
|
])
|
||||||
|
AC_MSG_RESULT([$x11_pkgconfig])
|
||||||
|
else
|
||||||
|
x11_pkgconfig=no
|
||||||
|
fi
|
||||||
|
dnl Use the autoconf macro if no pkg-config files
|
||||||
|
if test "$x11_pkgconfig" = no; then
|
||||||
|
AC_PATH_XTRA
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl We need X for xlib and dri, so bomb now if it's not found
|
||||||
|
case "$mesa_driver" in
|
||||||
|
xlib|dri)
|
||||||
|
if test "$no_x" = yes; then
|
||||||
|
AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl XCB - this is only used for GLX right now
|
||||||
|
AC_ARG_ENABLE([xcb],
|
||||||
|
[AS_HELP_STRING([--enable-xcb],
|
||||||
|
[use XCB for GLX @<:@default=disabled@:>@])],
|
||||||
|
[enable_xcb="$enableval"],
|
||||||
|
[enable_xcb=no])
|
||||||
|
if test "x$enable_xcb" = xyes; then
|
||||||
|
DEFINES="$DEFINES -DUSE_XCB"
|
||||||
|
else
|
||||||
|
enable_xcb=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SELinux awareness.
|
||||||
|
AC_ARG_ENABLE([selinux],
|
||||||
|
[AS_HELP_STRING([--enable-selinux],
|
||||||
|
[Build SELinux-aware Mesa (default: disabled)])],
|
||||||
|
[MESA_SELINUX="$enableval"],
|
||||||
|
[MESA_SELINUX=no])
|
||||||
|
if test "x$enable_selinux" = "xyes"; then
|
||||||
|
AC_CHECK_HEADER([selinux/selinux.h],[],
|
||||||
|
[AC_MSG_ERROR([SELinux headers not found])])
|
||||||
|
AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
|
||||||
|
[AC_MSG_ERROR([SELinux library not found])])
|
||||||
|
SELINUX_LIBS="-lselinux"
|
||||||
|
DEFINES="$DEFINES -DMESA_SELINUX"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl libGL configuration per driver
|
||||||
|
dnl
|
||||||
|
case "$mesa_driver" in
|
||||||
|
xlib)
|
||||||
|
if test "$x11_pkgconfig" = yes; then
|
||||||
|
PKG_CHECK_MODULES([XLIBGL], [x11 xext])
|
||||||
|
X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
|
||||||
|
GL_LIB_DEPS="$XLIBGL_LIBS"
|
||||||
|
else
|
||||||
|
# should check these...
|
||||||
|
X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
|
||||||
|
GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
|
||||||
|
fi
|
||||||
|
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
|
||||||
|
|
||||||
|
# if static, move the external libraries to the programs
|
||||||
|
# and empty the libraries for libGL
|
||||||
|
if test "$enable_static" = yes; then
|
||||||
|
APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
|
||||||
|
GL_LIB_DEPS=""
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
dri)
|
||||||
|
# DRI must be shared, I think
|
||||||
|
if test "$enable_static" = yes; then
|
||||||
|
AC_MSG_ERROR([Can't use static libraries for DRI drivers])
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for libdrm
|
||||||
|
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
|
||||||
|
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
|
||||||
|
|
||||||
|
# find the DRI deps for libGL
|
||||||
|
if test "$x11_pkgconfig" = yes; then
|
||||||
|
# add xcb modules if necessary
|
||||||
|
dri_modules="x11 xext xxf86vm xdamage xfixes"
|
||||||
|
if test "$enable_xcb" = yes; then
|
||||||
|
dri_modules="$dri_modules x11-xcb xcb-glx"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES([DRIGL], [$dri_modules])
|
||||||
|
X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
|
||||||
|
GL_LIB_DEPS="$DRIGL_LIBS"
|
||||||
|
else
|
||||||
|
# should check these...
|
||||||
|
X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
|
||||||
|
GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
|
||||||
|
|
||||||
|
# XCB can only be used from pkg-config
|
||||||
|
if test "$enable_xcb" = yes; then
|
||||||
|
PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
|
||||||
|
X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
|
||||||
|
GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# need DRM libs, -lpthread, etc.
|
||||||
|
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
||||||
|
;;
|
||||||
|
osmesa)
|
||||||
|
# No libGL for osmesa
|
||||||
|
GL_LIB_DEPS=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([GL_LIB_DEPS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl More X11 setup
|
||||||
|
dnl
|
||||||
|
if test "$mesa_driver" = xlib; then
|
||||||
|
DEFINES="$DEFINES -DUSE_XSHM"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl More DRI setup
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([glx-tls],
|
||||||
|
[AS_HELP_STRING([--enable-glx-tls],
|
||||||
|
[enable TLS support in GLX @<:@default=disabled@:>@])],
|
||||||
|
[GLX_USE_TLS="$enableval"],
|
||||||
|
[GLX_USE_TLS=no])
|
||||||
|
dnl Directory for DRI drivers
|
||||||
|
AC_ARG_WITH([dri-driverdir],
|
||||||
|
[AS_HELP_STRING([--with-dri-driverdir=DIR],
|
||||||
|
[directory for the DRI drivers @<:@${libdir}/dri@:>@])],
|
||||||
|
[DRI_DRIVER_INSTALL_DIR="$withval"],
|
||||||
|
[DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
|
||||||
|
AC_SUBST([DRI_DRIVER_INSTALL_DIR])
|
||||||
|
dnl Direct rendering or just indirect rendering
|
||||||
|
AC_ARG_ENABLE([driglx-direct],
|
||||||
|
[AS_HELP_STRING([--disable-driglx-direct],
|
||||||
|
[enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
|
||||||
|
[driglx_direct="$enableval"],
|
||||||
|
[driglx_direct="yes"])
|
||||||
|
|
||||||
|
dnl Which drivers to build - default is chosen by platform
|
||||||
|
AC_ARG_WITH([dri-drivers],
|
||||||
|
[AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
|
||||||
|
[comma delimited DRI drivers, e.g. "i965,radeon,nouveau" @<:@default=auto@:>@])],
|
||||||
|
[with_dri_drivers="$withval"],
|
||||||
|
[with_dri_drivers=yes])
|
||||||
|
if test "x$with_dri_drivers" = x; then
|
||||||
|
with_dri_drivers=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl If $with_dri_drivers is yes, directories will be added through
|
||||||
|
dnl platform checks
|
||||||
|
DRI_DIRS=""
|
||||||
|
case "$with_dri_drivers" in
|
||||||
|
no|yes) ;;
|
||||||
|
*)
|
||||||
|
# verify the requested driver directories exist
|
||||||
|
dri_drivers=`IFS=,; echo $with_dri_drivers`
|
||||||
|
for driver in $dri_drivers; do
|
||||||
|
test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
|
||||||
|
AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
|
||||||
|
done
|
||||||
|
DRI_DIRS="$dri_drivers"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl Just default to no EGL for now
|
||||||
|
USING_EGL=0
|
||||||
|
AC_SUBST([USING_EGL])
|
||||||
|
|
||||||
|
dnl Set DRI_DIRS, DEFINES and LIB_DEPS
|
||||||
|
if test "$mesa_driver" = dri; then
|
||||||
|
# Use TLS in GLX?
|
||||||
|
if test "x$GLX_USE_TLS" = xyes; then
|
||||||
|
DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$USING_EGL" = x1; then
|
||||||
|
PROGRAM_DIRS="egl"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Platform specific settings and drivers to build
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
|
||||||
|
DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
|
||||||
|
if test "x$driglx_direct" = xyes; then
|
||||||
|
DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$host_cpu" in
|
||||||
|
x86_64)
|
||||||
|
# ffb, gamma, and sis are missing because they have not be
|
||||||
|
# converted to use the new interface. i810 are missing
|
||||||
|
# because there is no x86-64 system where they could *ever*
|
||||||
|
# be used.
|
||||||
|
if test "x$DRI_DIRS" = x; then
|
||||||
|
DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 radeon \
|
||||||
|
savage tdfx unichrome swrast"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
powerpc*)
|
||||||
|
# Build only the drivers for cards that exist on PowerPC.
|
||||||
|
# At some point MGA will be added, but not yet.
|
||||||
|
if test "x$DRI_DIRS" = x; then
|
||||||
|
DRI_DIRS="mach64 r128 r200 r300 radeon tdfx swrast"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
freebsd* | dragonfly*)
|
||||||
|
DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
|
||||||
|
DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
|
||||||
|
DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
|
||||||
|
if test "x$driglx_direct" = xyes; then
|
||||||
|
DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
|
||||||
|
fi
|
||||||
|
if test "x$GXX" = xyes; then
|
||||||
|
CXXFLAGS="$CXXFLAGS -ansi -pedantic"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ffb and gamma are missing because they have not been converted
|
||||||
|
# to use the new interface.
|
||||||
|
if test "x$DRI_DIRS" = x; then
|
||||||
|
DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \
|
||||||
|
unichrome savage sis swrast"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# default drivers
|
||||||
|
if test "x$DRI_DIRS" = x; then
|
||||||
|
DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
|
||||||
|
savage sis tdfx trident unichrome ffb swrast"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
|
||||||
|
|
||||||
|
# Check for expat
|
||||||
|
EXPAT_INCLUDES=""
|
||||||
|
EXPAT_LIB=-lexpat
|
||||||
|
AC_ARG_WITH([expat],
|
||||||
|
[AS_HELP_STRING([--with-expat=DIR],
|
||||||
|
[expat install directory])],[
|
||||||
|
EXPAT_INCLUDES="-I$withval/include"
|
||||||
|
CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
|
||||||
|
LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
|
||||||
|
EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
|
||||||
|
])
|
||||||
|
AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
|
||||||
|
AC_CHECK_LIB([expat],[XML_ParserCreate],[],
|
||||||
|
[AC_MSG_ERROR([Expat required for DRI.])])
|
||||||
|
|
||||||
|
# put all the necessary libs together
|
||||||
|
DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
|
||||||
|
fi
|
||||||
|
AC_SUBST([DRI_DIRS])
|
||||||
|
AC_SUBST([EXPAT_INCLUDES])
|
||||||
|
AC_SUBST([DRI_LIB_DEPS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl OSMesa configuration
|
||||||
|
dnl
|
||||||
|
if test "$mesa_driver" = xlib; then
|
||||||
|
default_gl_osmesa=yes
|
||||||
|
else
|
||||||
|
default_gl_osmesa=no
|
||||||
|
fi
|
||||||
|
AC_ARG_ENABLE([gl-osmesa],
|
||||||
|
[AS_HELP_STRING([--enable-gl-osmesa],
|
||||||
|
[enable OSMesa on libGL @<:@default=enabled for xlib driver@:>@])],
|
||||||
|
[gl_osmesa="$enableval"],
|
||||||
|
[gl_osmesa="$default_gl_osmesa"])
|
||||||
|
if test "x$gl_osmesa" = xyes; then
|
||||||
|
if test "$mesa_driver" = osmesa; then
|
||||||
|
AC_MSG_ERROR([libGL is not available for OSMesa driver])
|
||||||
|
else
|
||||||
|
DRIVER_DIRS="$DRIVER_DIRS osmesa"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
|
||||||
|
AC_ARG_WITH([osmesa-bits],
|
||||||
|
[AS_HELP_STRING([--with-osmesa-bits=BITS],
|
||||||
|
[OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
|
||||||
|
[osmesa_bits="$withval"],
|
||||||
|
[osmesa_bits=8])
|
||||||
|
if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
|
||||||
|
AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
|
||||||
|
osmesa_bits=8
|
||||||
|
fi
|
||||||
|
case "x$osmesa_bits" in
|
||||||
|
x8)
|
||||||
|
OSMESA_LIB=OSMesa
|
||||||
|
;;
|
||||||
|
x16|x32)
|
||||||
|
OSMESA_LIB="OSMesa$osmesa_bits"
|
||||||
|
DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([OSMESA_LIB])
|
||||||
|
|
||||||
|
case "$mesa_driver" in
|
||||||
|
osmesa)
|
||||||
|
# only link librararies with osmesa if shared
|
||||||
|
if test "$enable_static" = no; then
|
||||||
|
OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS"
|
||||||
|
else
|
||||||
|
OSMESA_LIB_DEPS=""
|
||||||
|
fi
|
||||||
|
OSMESA_MESA_DEPS=""
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Link OSMesa to libGL otherwise
|
||||||
|
OSMESA_LIB_DEPS=""
|
||||||
|
# only link librararies with osmesa if shared
|
||||||
|
if test "$enable_static" = no; then
|
||||||
|
OSMESA_MESA_DEPS='-l$(GL_LIB)'
|
||||||
|
else
|
||||||
|
OSMESA_MESA_DEPS=""
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([OSMESA_LIB_DEPS])
|
||||||
|
AC_SUBST([OSMESA_MESA_DEPS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl GLU configuration
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([glu],
|
||||||
|
[AS_HELP_STRING([--disable-glu],
|
||||||
|
[enable OpenGL Utility library @<:@default=enabled@:>@])],
|
||||||
|
[enable_glu="$enableval"],
|
||||||
|
[enable_glu=yes])
|
||||||
|
if test "x$enable_glu" = xyes; then
|
||||||
|
SRC_DIRS="$SRC_DIRS glu"
|
||||||
|
|
||||||
|
case "$mesa_driver" in
|
||||||
|
osmesa)
|
||||||
|
# If GLU is available and we have libOSMesa (not 16 or 32),
|
||||||
|
# we can build the osdemos
|
||||||
|
if test "$with_demos" = yes && test "$osmesa_bits" = 8; then
|
||||||
|
PROGRAM_DIRS="$PROGRAM_DIRS osdemos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Link libGLU to libOSMesa instead of libGL
|
||||||
|
GLU_LIB_DEPS=""
|
||||||
|
if test "$enable_static" = no; then
|
||||||
|
GLU_MESA_DEPS='-l$(OSMESA_LIB)'
|
||||||
|
else
|
||||||
|
GLU_MESA_DEPS=""
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# If static, empty GLU_LIB_DEPS and add libs for programs to link
|
||||||
|
if test "$enable_static" = no; then
|
||||||
|
GLU_LIB_DEPS="-lm"
|
||||||
|
GLU_MESA_DEPS='-l$(GL_LIB)'
|
||||||
|
else
|
||||||
|
GLU_LIB_DEPS=""
|
||||||
|
GLU_MESA_DEPS=""
|
||||||
|
APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
AC_SUBST([GLU_LIB_DEPS])
|
||||||
|
AC_SUBST([GLU_MESA_DEPS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl GLw configuration
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([glw],
|
||||||
|
[AS_HELP_STRING([--disable-glw],
|
||||||
|
[enable Xt/Motif widget library @<:@default=enabled@:>@])],
|
||||||
|
[enable_glw="$enableval"],
|
||||||
|
[enable_glw=yes])
|
||||||
|
dnl Don't build GLw on osmesa
|
||||||
|
if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then
|
||||||
|
AC_MSG_WARN([Disabling GLw since the driver is OSMesa])
|
||||||
|
enable_glw=no
|
||||||
|
fi
|
||||||
|
if test "x$enable_glw" = xyes; then
|
||||||
|
SRC_DIRS="$SRC_DIRS glw"
|
||||||
|
if test "$x11_pkgconfig" = yes; then
|
||||||
|
PKG_CHECK_MODULES([GLW],[x11 xt])
|
||||||
|
GLW_LIB_DEPS="$GLW_LIBS"
|
||||||
|
else
|
||||||
|
# should check these...
|
||||||
|
GLW_LIB_DEPS="$X_LIBS -lX11 -lXt"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If static, empty GLW_LIB_DEPS and add libs for programs to link
|
||||||
|
if test "$enable_static" = no; then
|
||||||
|
GLW_MESA_DEPS='-l$(GL_LIB)'
|
||||||
|
else
|
||||||
|
APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
|
||||||
|
GLW_LIB_DEPS=""
|
||||||
|
GLW_MESA_DEPS=""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([GLW_LIB_DEPS])
|
||||||
|
AC_SUBST([GLW_MESA_DEPS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl GLUT configuration
|
||||||
|
dnl
|
||||||
|
if test -f "$srcdir/include/GL/glut.h"; then
|
||||||
|
default_glut=yes
|
||||||
|
else
|
||||||
|
default_glut=no
|
||||||
|
fi
|
||||||
|
AC_ARG_ENABLE([glut],
|
||||||
|
[AS_HELP_STRING([--disable-glut],
|
||||||
|
[enable GLUT library @<:@default=enabled if source available@:>@])],
|
||||||
|
[enable_glut="$enableval"],
|
||||||
|
[enable_glut="$default_glut"])
|
||||||
|
|
||||||
|
dnl Can't build glut if GLU not available
|
||||||
|
if test "x$enable_glu$enable_glut" = xnoyes; then
|
||||||
|
AC_MSG_WARN([Disabling glut since GLU is disabled])
|
||||||
|
enable_glut=no
|
||||||
|
fi
|
||||||
|
dnl Don't build glut on osmesa
|
||||||
|
if test "x$enable_glut" = xyes && test "$mesa_driver" = osmesa; then
|
||||||
|
AC_MSG_WARN([Disabling glut since the driver is OSMesa])
|
||||||
|
enable_glut=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_glut" = xyes; then
|
||||||
|
SRC_DIRS="$SRC_DIRS glut/glx"
|
||||||
|
GLUT_CFLAGS=""
|
||||||
|
if test "x$GCC" = xyes; then
|
||||||
|
GLUT_CFLAGS="-fexceptions"
|
||||||
|
fi
|
||||||
|
if test "$x11_pkgconfig" = yes; then
|
||||||
|
PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
|
||||||
|
GLUT_LIB_DEPS="$GLUT_LIBS"
|
||||||
|
else
|
||||||
|
# should check these...
|
||||||
|
GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
|
||||||
|
fi
|
||||||
|
GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
|
||||||
|
|
||||||
|
# If glut is available, we can build most programs
|
||||||
|
if test "$with_demos" = yes; then
|
||||||
|
PROGRAM_DIRS="$PROGRAM_DIRS demos redbook samples glsl"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If static, empty GLUT_LIB_DEPS and add libs for programs to link
|
||||||
|
if test "$enable_static" = no; then
|
||||||
|
GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
|
||||||
|
else
|
||||||
|
APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
|
||||||
|
GLUT_LIB_DEPS=""
|
||||||
|
GLUT_MESA_DEPS=""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([GLUT_LIB_DEPS])
|
||||||
|
AC_SUBST([GLUT_MESA_DEPS])
|
||||||
|
AC_SUBST([GLUT_CFLAGS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Program library dependencies
|
||||||
|
dnl Only libm is added here if necessary as the libraries should
|
||||||
|
dnl be pulled in by the linker
|
||||||
|
dnl
|
||||||
|
if test "x$APP_LIB_DEPS" = x; then
|
||||||
|
APP_LIB_DEPS="-lm"
|
||||||
|
fi
|
||||||
|
AC_SUBST([APP_LIB_DEPS])
|
||||||
|
AC_SUBST([PROGRAM_DIRS])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Arch/platform-specific settings
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([asm],
|
||||||
|
[AS_HELP_STRING([--disable-asm],
|
||||||
|
[disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
|
||||||
|
[enable_asm="$enableval"],
|
||||||
|
[enable_asm=yes]
|
||||||
|
)
|
||||||
|
asm_arch=""
|
||||||
|
ASM_FLAGS=""
|
||||||
|
ASM_SOURCES=""
|
||||||
|
ASM_API=""
|
||||||
|
AC_MSG_CHECKING([whether to enable assembly])
|
||||||
|
test "x$enable_asm" = xno && AC_MSG_RESULT([no])
|
||||||
|
# disable if cross compiling on x86/x86_64 since we must run gen_matypes
|
||||||
|
if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
|
||||||
|
case "$host_cpu" in
|
||||||
|
i?86 | x86_64)
|
||||||
|
enable_asm=no
|
||||||
|
AC_MSG_RESULT([no, cross compiling])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
# check for supported arches
|
||||||
|
if test "x$enable_asm" = xyes; then
|
||||||
|
case "$host_cpu" in
|
||||||
|
i?86)
|
||||||
|
case "$host_os" in
|
||||||
|
linux* | freebsd* | dragonfly*)
|
||||||
|
test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
x86_64)
|
||||||
|
case "$host_os" in
|
||||||
|
linux* | freebsd* | dragonfly*)
|
||||||
|
test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
powerpc)
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
asm_arch=ppc
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$asm_arch" in
|
||||||
|
x86)
|
||||||
|
ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
|
||||||
|
ASM_SOURCES='$(X86_SOURCES)'
|
||||||
|
ASM_API='$(X86_API)'
|
||||||
|
AC_MSG_RESULT([yes, x86])
|
||||||
|
;;
|
||||||
|
x86_64)
|
||||||
|
ASM_FLAGS="-DUSE_X86_64_ASM"
|
||||||
|
ASM_SOURCES='$(X86-64_SOURCES)'
|
||||||
|
ASM_API='$(X86-64_API)'
|
||||||
|
AC_MSG_RESULT([yes, x86_64])
|
||||||
|
;;
|
||||||
|
ppc)
|
||||||
|
ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
|
||||||
|
ASM_SOURCES='$(PPC_SOURCES)'
|
||||||
|
AC_MSG_RESULT([yes, ppc])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT([no, platform not supported])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
AC_SUBST([ASM_FLAGS])
|
||||||
|
AC_SUBST([ASM_SOURCES])
|
||||||
|
AC_SUBST([ASM_API])
|
||||||
|
|
||||||
|
dnl PIC code macro
|
||||||
|
MESA_PIC_FLAGS
|
||||||
|
|
||||||
|
|
||||||
|
dnl Restore LDFLAGS and CPPFLAGS
|
||||||
|
LDFLAGS="$_SAVE_LDFLAGS"
|
||||||
|
CPPFLAGS="$_SAVE_CPPFLAGS"
|
||||||
|
|
||||||
|
dnl Substitute the config
|
||||||
|
AC_CONFIG_FILES([configs/autoconf])
|
||||||
|
|
||||||
|
dnl Replace the configs/current symlink
|
||||||
|
AC_CONFIG_COMMANDS([configs],[
|
||||||
|
if test -f configs/current || test -L configs/current; then
|
||||||
|
rm -f configs/current
|
||||||
|
fi
|
||||||
|
ln -s autoconf configs/current
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Output some configuration info for the user
|
||||||
|
dnl
|
||||||
|
echo ""
|
||||||
|
echo " prefix: $prefix"
|
||||||
|
echo " exec_prefix: $exec_prefix"
|
||||||
|
echo " libdir: $libdir"
|
||||||
|
|
||||||
|
dnl Driver info
|
||||||
|
echo ""
|
||||||
|
echo " Driver: $mesa_driver"
|
||||||
|
if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
|
||||||
|
echo " OSMesa: lib$OSMESA_LIB"
|
||||||
|
else
|
||||||
|
echo " OSMesa: no"
|
||||||
|
fi
|
||||||
|
if test "$mesa_driver" = dri; then
|
||||||
|
# cleanup the drivers var
|
||||||
|
dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
|
||||||
|
echo " DRI drivers: $dri_dirs"
|
||||||
|
echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Libraries
|
||||||
|
echo ""
|
||||||
|
echo " Shared libs: $enable_shared"
|
||||||
|
echo " Static libs: $enable_static"
|
||||||
|
echo " GLU: $enable_glu"
|
||||||
|
echo " GLw: $enable_glw"
|
||||||
|
echo " glut: $enable_glut"
|
||||||
|
|
||||||
|
dnl Programs
|
||||||
|
# cleanup the programs var for display
|
||||||
|
program_dirs=`echo $PROGRAM_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
|
||||||
|
if test "x$program_dirs" = x; then
|
||||||
|
echo " Demos: no"
|
||||||
|
else
|
||||||
|
echo " Demos: $program_dirs"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Compiler options
|
||||||
|
# cleanup the CFLAGS/CXXFLAGS/DEFINES vars
|
||||||
|
cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
|
||||||
|
$SED 's/^ *//;s/ */ /;s/ *$//'`
|
||||||
|
cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
|
||||||
|
$SED 's/^ *//;s/ */ /;s/ *$//'`
|
||||||
|
defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
|
||||||
|
echo ""
|
||||||
|
echo " CFLAGS: $cflags"
|
||||||
|
echo " CXXFLAGS: $cxxflags"
|
||||||
|
echo " Macros: $defines"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo " Run '${MAKE-make}' to build Mesa"
|
||||||
|
echo ""
|
||||||
805
docs/MESA_texture_array.spec
Normal file
805
docs/MESA_texture_array.spec
Normal file
@@ -0,0 +1,805 @@
|
|||||||
|
Name
|
||||||
|
|
||||||
|
MESA_texture_array
|
||||||
|
|
||||||
|
Name Strings
|
||||||
|
|
||||||
|
GL_MESA_texture_array
|
||||||
|
|
||||||
|
Contact
|
||||||
|
|
||||||
|
Ian Romanick, IBM (idr 'at' us.ibm.com)
|
||||||
|
|
||||||
|
IP Status
|
||||||
|
|
||||||
|
No known IP issues.
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
Shipping in Mesa 7.1
|
||||||
|
|
||||||
|
Version
|
||||||
|
|
||||||
|
$Date: 2007/05/16$ $Revision: 0.4$
|
||||||
|
|
||||||
|
Number
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
|
||||||
|
OpenGL 1.2 or GL_EXT_texture3D is required.
|
||||||
|
|
||||||
|
Support for ARB_fragment_program is assumed, but not required.
|
||||||
|
|
||||||
|
Support for ARB_fragment_program_shadow is assumed, but not required.
|
||||||
|
|
||||||
|
Support for EXT_framebuffer_object is assumed, but not required.
|
||||||
|
|
||||||
|
Written based on the wording of the OpenGL 2.0 specification and
|
||||||
|
ARB_fragment_program_shadow but not dependent on them.
|
||||||
|
|
||||||
|
Overview
|
||||||
|
|
||||||
|
There are a number of circumstances where an application may wish to
|
||||||
|
blend two textures out of a larger set of textures. Moreover, in some
|
||||||
|
cases the selected textures may vary on a per-fragment basis within
|
||||||
|
a polygon. Several examples include:
|
||||||
|
|
||||||
|
1. High dynamic range textures. The application stores several
|
||||||
|
different "exposures" of an image as different textures. On a
|
||||||
|
per-fragment basis, the application selects which exposures are
|
||||||
|
used.
|
||||||
|
|
||||||
|
2. A terrain engine where the altitude of a point determines the
|
||||||
|
texture applied to it. If the transition is from beach sand to
|
||||||
|
grass to rocks to snow, the application will store each texture
|
||||||
|
in a different texture map, and dynamically select which two
|
||||||
|
textures to blend at run-time.
|
||||||
|
|
||||||
|
3. Storing short video clips in textures. Each depth slice is a
|
||||||
|
single frame of video.
|
||||||
|
|
||||||
|
Several solutions to this problem have been proposed, but they either
|
||||||
|
involve using a separate texture unit for each texture map or using 3D
|
||||||
|
textures without mipmaps. Both of these options have major drawbacks.
|
||||||
|
|
||||||
|
This extension provides a third alternative that eliminates the major
|
||||||
|
drawbacks of both previous methods. A new texture target,
|
||||||
|
TEXTURE_2D_ARRAY, is added that functions identically to TEXTURE_3D in
|
||||||
|
all aspects except the sizes of the non-base level images. In
|
||||||
|
traditional 3D texturing, the size of the N+1 LOD is half the size
|
||||||
|
of the N LOD in all three dimensions. For the TEXTURE_2D_ARRAY target,
|
||||||
|
the height and width of the N+1 LOD is halved, but the depth is the
|
||||||
|
same for all levels of detail. The texture then becomes an array of
|
||||||
|
2D textures. The per-fragment texel is selected by the R texture
|
||||||
|
coordinate.
|
||||||
|
|
||||||
|
References:
|
||||||
|
|
||||||
|
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011557
|
||||||
|
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=000516
|
||||||
|
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011903
|
||||||
|
http://www.delphi3d.net/articles/viewarticle.php?article=terraintex.htm
|
||||||
|
|
||||||
|
New Procedures and Functions
|
||||||
|
|
||||||
|
All functions come directly from EXT_texture_array.
|
||||||
|
|
||||||
|
void FramebufferTextureLayerEXT(enum target, enum attachment,
|
||||||
|
uint texture, int level, int layer);
|
||||||
|
|
||||||
|
New Tokens
|
||||||
|
|
||||||
|
All token names and values come directly from EXT_texture_array.
|
||||||
|
|
||||||
|
Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by
|
||||||
|
the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
|
||||||
|
GetDoublev, and by the <target> parameter of TexImage3D, GetTexImage,
|
||||||
|
GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and
|
||||||
|
GetTexParameterfv:
|
||||||
|
|
||||||
|
TEXTURE_1D_ARRAY_EXT 0x8C18
|
||||||
|
TEXTURE_2D_ARRAY_EXT 0x8C1A
|
||||||
|
|
||||||
|
Accepted by the <target> parameter of TexImage2D, TexSubImage2D,
|
||||||
|
CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D,
|
||||||
|
CompressedTexSubImage2D, GetTexLevelParameteriv, and
|
||||||
|
GetTexLevelParameterfv:
|
||||||
|
|
||||||
|
TEXTURE_1D_ARRAY_EXT
|
||||||
|
PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
||||||
|
|
||||||
|
Accepted by the <target> parameter of TexImage3D, TexSubImage3D,
|
||||||
|
CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D,
|
||||||
|
GetTexLevelParameteriv, and GetTexLevelParameterfv:
|
||||||
|
|
||||||
|
TEXTURE_2D_ARRAY_EXT
|
||||||
|
PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
|
||||||
|
|
||||||
|
Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
|
||||||
|
GetFloatv, and GetDoublev
|
||||||
|
|
||||||
|
TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
|
||||||
|
TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
|
||||||
|
MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
|
||||||
|
|
||||||
|
Accepted by the <param> parameter of TexParameterf, TexParameteri,
|
||||||
|
TexParameterfv, and TexParameteriv when the <pname> parameter is
|
||||||
|
TEXTURE_COMPARE_MODE_ARB:
|
||||||
|
|
||||||
|
COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
|
||||||
|
|
||||||
|
(Note: COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the
|
||||||
|
existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name
|
||||||
|
reflects the fact that the R coordinate is not always used.)
|
||||||
|
|
||||||
|
Accepted by the <internalformat> parameter of TexImage3D and
|
||||||
|
CompressedTexImage3D, and by the <format> parameter of
|
||||||
|
CompressedTexSubImage3D:
|
||||||
|
|
||||||
|
COMPRESSED_RGB_S3TC_DXT1_EXT
|
||||||
|
COMPRESSED_RGBA_S3TC_DXT1_EXT
|
||||||
|
COMPRESSED_RGBA_S3TC_DXT3_EXT
|
||||||
|
COMPRESSED_RGBA_S3TC_DXT5_EXT
|
||||||
|
|
||||||
|
Accepted by the <pname> parameter of
|
||||||
|
GetFramebufferAttachmentParameterivEXT:
|
||||||
|
|
||||||
|
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
|
||||||
|
|
||||||
|
(Note: FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the
|
||||||
|
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in
|
||||||
|
EXT_framebuffer_object. This extension generalizes the notion of
|
||||||
|
"<zoffset>" to include layers of an array texture.)
|
||||||
|
|
||||||
|
Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
|
||||||
|
|
||||||
|
-- Section 3.8.1 "Texture Image Specification"
|
||||||
|
|
||||||
|
Change the first paragraph (page 150) to say (spec changes identical to
|
||||||
|
EXT_texture_array):
|
||||||
|
|
||||||
|
"The command
|
||||||
|
|
||||||
|
void TexImage3D(enum target, int level, int internalformat,
|
||||||
|
sizei width, sizei height, sizei depth, int border,
|
||||||
|
enum format, enum type, void *data);
|
||||||
|
|
||||||
|
is used to specify a three-dimensional texture image. target must be one
|
||||||
|
one of TEXTURE_3D for a three-dimensional texture or
|
||||||
|
TEXTURE_2D_ARRAY_EXT for an two-dimensional array texture.
|
||||||
|
Additionally, target may be either PROXY_TEXTURE_3D for a
|
||||||
|
three-dimensional proxy texture, or PROXY_TEXTURE_2D_ARRAY_EXT for a
|
||||||
|
two-dimensional proxy array texture."
|
||||||
|
|
||||||
|
Change the fourth paragraph on page 151 to say (spec changes identical
|
||||||
|
to EXT_texture_array):
|
||||||
|
|
||||||
|
"Textures with a base internal format of DEPTH_COMPONENT are supported
|
||||||
|
by texture image specification commands only if target is TEXTURE_1D,
|
||||||
|
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_2D_ARRAY_EXT,
|
||||||
|
PROXY_TEXTURE_1D, PROXY_TEXTURE_2D, PROXY_TEXTURE_1D_ARRAY_EXT, or
|
||||||
|
PROXY_TEXTURE_2D_ARRAY_EXT. Using this format in conjunction with any
|
||||||
|
other target will result in an INVALID_OPERATION error."
|
||||||
|
|
||||||
|
|
||||||
|
Change the fourth paragraph on page 156 to say (spec changes identical
|
||||||
|
to EXT_texture_array):
|
||||||
|
|
||||||
|
"The command
|
||||||
|
|
||||||
|
void TexImage2D(enum target, int level,
|
||||||
|
int internalformat, sizei width, sizei height,
|
||||||
|
int border, enum format, enum type, void *data);
|
||||||
|
|
||||||
|
is used to specify a two-dimensional texture image. target must be one
|
||||||
|
of TEXTURE_2D for a two-dimensional texture, TEXTURE_1D_ARRAY_EXT for a
|
||||||
|
one-dimensional array texture, or one of TEXTURE_CUBE_MAP_POSITIVE_X,
|
||||||
|
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE_MAP_POSITIVE_Y,
|
||||||
|
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
|
||||||
|
TEXTURE_CUBE_MAP_NEGATIVE_Z for a cube map texture. Additionally,
|
||||||
|
target may be either PROXY_TEXTURE_2D for a two-dimensional proxy
|
||||||
|
texture, PROXY_TEXTURE_1D_ARRAY_EXT for a one-dimensional proxy array
|
||||||
|
texture, or PROXY TEXTURE_CUBE_MAP for a cube map proxy texture in the
|
||||||
|
special case discussed in section 3.8.11. The other parameters match
|
||||||
|
the corresponding parameters of TexImage3D.
|
||||||
|
|
||||||
|
For the purposes of decoding the texture image, TexImage2D is
|
||||||
|
equivalent to calling TexImage3D with corresponding arguments and depth
|
||||||
|
of 1, except that
|
||||||
|
|
||||||
|
* The border depth, d_b, is zero, and the depth of the image is
|
||||||
|
always 1 regardless of the value of border.
|
||||||
|
|
||||||
|
* The border height, h_b, is zero if <target> is
|
||||||
|
TEXTURE_1D_ARRAY_EXT, and <border> otherwise.
|
||||||
|
|
||||||
|
* Convolution will be performed on the image (possibly changing its
|
||||||
|
width and height) if SEPARABLE 2D or CONVOLUTION 2D is enabled.
|
||||||
|
|
||||||
|
* UNPACK SKIP IMAGES is ignored."
|
||||||
|
|
||||||
|
-- Section 3.8.2 "Alternate Texture Image Specification Commands"
|
||||||
|
|
||||||
|
Change the second paragraph (page 159) (spec changes identical
|
||||||
|
to EXT_texture_array):
|
||||||
|
|
||||||
|
"The command
|
||||||
|
|
||||||
|
void CopyTexImage2D(enum target, int level,
|
||||||
|
enum internalformat, int x, int y, sizei width,
|
||||||
|
sizei height, int border);
|
||||||
|
|
||||||
|
defines a two-dimensional texture image in exactly the manner of
|
||||||
|
TexImage2D, except that the image data are taken from the framebuffer
|
||||||
|
rather than from client memory. Currently, target must be one of
|
||||||
|
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_CUBE_MAP_POSITIVE_X,
|
||||||
|
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE MAP_POSITIVE_Y,
|
||||||
|
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
|
||||||
|
TEXTURE_CUBE_MAP_NEGATIVE_Z.
|
||||||
|
|
||||||
|
|
||||||
|
Change the last paragraph on page 160 to say (spec changes identical
|
||||||
|
to EXT_texture_array):
|
||||||
|
|
||||||
|
"Currently the target arguments of TexSubImage1D and CopyTexSubImage1D
|
||||||
|
must be TEXTURE_1D, the target arguments of TexSubImage2D and
|
||||||
|
CopyTexSubImage2D must be one of TEXTURE_2D, TEXTURE_1D_ARRAY_EXT,
|
||||||
|
TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X,
|
||||||
|
TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y,
|
||||||
|
TEXTURE_CUBE_MAP_POSITIVE_Z, or TEXTURE_CUBE_MAP_NEGATIVE_Z, and the
|
||||||
|
target arguments of TexSubImage3D and CopyTexSubImage3D must be
|
||||||
|
TEXTURE_3D or TEXTURE_2D_ARRAY_EXT. ..."
|
||||||
|
|
||||||
|
|
||||||
|
-- Section 3.8.4 "Texture Parameters"
|
||||||
|
|
||||||
|
Change the first paragraph (page 166) to say:
|
||||||
|
|
||||||
|
"Various parameters control how the texel array is treated when
|
||||||
|
specified or changed, and when applied to a fragment. Each parameter is
|
||||||
|
set by calling
|
||||||
|
|
||||||
|
void TexParameter{if}(enum target, enum pname, T param);
|
||||||
|
void TexParameter{if}v(enum target, enum pname, T params);
|
||||||
|
|
||||||
|
target is the target, either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
|
||||||
|
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT."
|
||||||
|
|
||||||
|
|
||||||
|
-- Section 3.8.8 "Texture Minification" in the section "Scale Factor and Level of Detail"
|
||||||
|
|
||||||
|
Change the first paragraph (page 172) to say:
|
||||||
|
|
||||||
|
"Let s(x,y) be the function that associates an s texture coordinate
|
||||||
|
with each set of window coordinates (x,y) that lie within a primitive;
|
||||||
|
define t(x,y) and r(x,y) analogously. Let u(x,y) = w_t * s(x,y),
|
||||||
|
v(x,y) = h_t * t(x,y), and w(x,y) = d_t * r(x,y), where w_t, h_t,
|
||||||
|
and d_t are as defined by equations 3.15, 3.16, and 3.17 with
|
||||||
|
w_s, h_s, and d_s equal to the width, height, and depth of the
|
||||||
|
image array whose level is level_base. For a one-dimensional
|
||||||
|
texture or a one-dimensional array texture, define v(x,y) = 0 and
|
||||||
|
w(x,y) = 0; for a two-dimensional texture or a two-dimensional array
|
||||||
|
texture, define w(x,y) = 0..."
|
||||||
|
|
||||||
|
-- Section 3.8.8 "Texture Minification" in the section "Mipmapping"
|
||||||
|
|
||||||
|
Change the third paragraph (page 174) to say:
|
||||||
|
|
||||||
|
"For a two-dimensional texture, two-dimensional array texture, or
|
||||||
|
cube map texture,"
|
||||||
|
|
||||||
|
Change the fourth paragraph (page 174) to say:
|
||||||
|
|
||||||
|
"And for a one-dimensional texture or a one-dimensional array texture,"
|
||||||
|
|
||||||
|
After the first paragraph (page 175) add:
|
||||||
|
|
||||||
|
"For one-dimensional array textures, h_b and d_b are treated as 1,
|
||||||
|
regardless of the actual values, when performing mipmap calculations.
|
||||||
|
For two-dimensional array textures, d_b is always treated as one,
|
||||||
|
regardless of the actual value, when performing mipmap calculations."
|
||||||
|
|
||||||
|
-- Section 3.8.8 "Automatic Mipmap Generation" in the section "Mipmapping"
|
||||||
|
|
||||||
|
Change the third paragraph (page 176) to say (spec changes identical
|
||||||
|
to EXT_texture_array):
|
||||||
|
|
||||||
|
"The contents of the derived arrays are computed by repeated, filtered
|
||||||
|
reduction of the level_base array. For one- and two-dimensional array
|
||||||
|
textures, each layer is filtered independently. ..."
|
||||||
|
|
||||||
|
-- Section 3.8.8 "Manual Mipmap Generation" in the section "Mipmapping"
|
||||||
|
|
||||||
|
Change first paragraph to say (spec changes identical to
|
||||||
|
EXT_texture_array):
|
||||||
|
|
||||||
|
"Mipmaps can be generated manually with the command
|
||||||
|
|
||||||
|
void GenerateMipmapEXT(enum target);
|
||||||
|
|
||||||
|
where <target> is one of TEXTURE_1D, TEXTURE_2D, TEXTURE_CUBE_MAP,
|
||||||
|
TEXTURE_3D, TEXTURE_1D_ARRAY, or TEXTURE_2D_ARRAY. Mipmap generation
|
||||||
|
affects the texture image attached to <target>. ..."
|
||||||
|
|
||||||
|
-- Section 3.8.10 "Texture Completeness"
|
||||||
|
|
||||||
|
Change the second paragaph (page 177) to say (spec changes identical
|
||||||
|
to EXT_texture_array):
|
||||||
|
|
||||||
|
"For one-, two-, or three-dimensional textures and one- or
|
||||||
|
two-dimensional array textures, a texture is complete if the following
|
||||||
|
conditions all hold true:"
|
||||||
|
|
||||||
|
-- Section 3.8.11 "Texture State and Proxy State"
|
||||||
|
|
||||||
|
Change the second and third paragraphs (page 179) to say (spec changes
|
||||||
|
identical to EXT_texture_array):
|
||||||
|
|
||||||
|
"In addition to image arrays for one-, two-, and three-dimensional
|
||||||
|
textures, one- and two-dimensional array textures, and the six image
|
||||||
|
arrays for the cube map texture, partially instantiated image arrays
|
||||||
|
are maintained for one-, two-, and three-dimensional textures and one-
|
||||||
|
and two-dimensional array textures. Additionally, a single proxy image
|
||||||
|
array is maintained for the cube map texture. Each proxy image array
|
||||||
|
includes width, height, depth, border width, and internal format state
|
||||||
|
values, as well as state for the red, green, blue, alpha, luminance,
|
||||||
|
and intensity component resolutions. Proxy image arrays do not include
|
||||||
|
image data, nor do they include texture properties. When TexImage3D is
|
||||||
|
executed with target specified as PROXY_TEXTURE_3D, the
|
||||||
|
three-dimensional proxy state values of the specified level-of-detail
|
||||||
|
are recomputed and updated. If the image array would not be supported
|
||||||
|
by TexImage3D called with target set to TEXTURE 3D, no error is
|
||||||
|
generated, but the proxy width, height, depth, border width, and
|
||||||
|
component resolutions are set to zero. If the image array would be
|
||||||
|
supported by such a call to TexImage3D, the proxy state values are set
|
||||||
|
exactly as though the actual image array were being specified. No pixel
|
||||||
|
data are transferred or processed in either case.
|
||||||
|
|
||||||
|
Proxy arrays for one- and two-dimensional textures and one- and
|
||||||
|
two-dimensional array textures are operated on in the same way when
|
||||||
|
TexImage1D is executed with target specified as PROXY_TEXTURE_1D,
|
||||||
|
TexImage2D is executed with target specified as PROXY_TEXTURE_2D or
|
||||||
|
PROXY_TEXTURE_1D_ARRAY_EXT, or TexImage3D is executed with target
|
||||||
|
specified as PROXY_TETXURE_2D_ARRAY_EXT."
|
||||||
|
|
||||||
|
-- Section 3.8.12 "Texture Objects"
|
||||||
|
|
||||||
|
Change section (page 180) to say (spec changes identical to
|
||||||
|
EXT_texture_array):
|
||||||
|
|
||||||
|
"In addition to the default textures TEXTURE_1D, TEXTURE_2D,
|
||||||
|
TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_EXT,
|
||||||
|
named one-, two-, and three-dimensional, cube map, and one- and
|
||||||
|
two-dimensional array texture objects can be created and operated upon.
|
||||||
|
The name space for texture objects is the unsigned integers, with zero
|
||||||
|
reserved by the GL.
|
||||||
|
|
||||||
|
A texture object is created by binding an unused name to TEXTURE_1D,
|
||||||
|
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
|
||||||
|
TEXTURE_2D_ARRAY_EXT. The binding is effected by calling
|
||||||
|
|
||||||
|
void BindTexture(enum target, uint texture);
|
||||||
|
|
||||||
|
with <target> set to the desired texture target and <texture> set to
|
||||||
|
the unused name. The resulting texture object is a new state vector,
|
||||||
|
comprising all the state values listed in section 3.8.11, set to the
|
||||||
|
same initial values. If the new texture object is bound to TEXTURE_1D,
|
||||||
|
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
|
||||||
|
TEXTURE_2D_ARRAY_EXT, it is and remains a one-, two-,
|
||||||
|
three-dimensional, cube map, one- or two-dimensional array texture
|
||||||
|
respectively until it is deleted.
|
||||||
|
|
||||||
|
BindTexture may also be used to bind an existing texture object to
|
||||||
|
either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
|
||||||
|
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT. The error
|
||||||
|
INVALID_OPERATION is generated if an attempt is made to bind a texture
|
||||||
|
object of different dimensionality than the specified target. If the
|
||||||
|
bind is successful no change is made to the state of the bound texture
|
||||||
|
object, and any previous binding to target is broken.
|
||||||
|
|
||||||
|
While a texture object is bound, GL operations on the target to which
|
||||||
|
it is bound affect the bound object, and queries of the target to which
|
||||||
|
it is bound return state from the bound object. If texture mapping of
|
||||||
|
the dimensionality of the target to which a texture object is bound is
|
||||||
|
enabled, the state of the bound texture object directs the texturing
|
||||||
|
operation.
|
||||||
|
|
||||||
|
In the initial state, TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
|
||||||
|
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_ARRAY_EXT have
|
||||||
|
one-, two-, three-dimensional, cube map, and one- and two-dimensional
|
||||||
|
array texture state vectors respectively associated with them. In order
|
||||||
|
that access to these initial textures not be lost, they are treated as
|
||||||
|
texture objects all of whose names are 0. The initial one-, two-,
|
||||||
|
three-dimensional, cube map, one- and two-dimensional array textures
|
||||||
|
are therefore operated upon, queried, and applied as TEXTURE_1D,
|
||||||
|
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and
|
||||||
|
TEXTURE_2D_ARRAY_EXT respectively while 0 is bound to the corresponding
|
||||||
|
targets.
|
||||||
|
|
||||||
|
Change second paragraph on page 181 to say (spec changes identical to
|
||||||
|
EXT_texture_array):
|
||||||
|
|
||||||
|
"... If a texture that is currently bound to one of the targets
|
||||||
|
TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
|
||||||
|
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT is deleted, it is as
|
||||||
|
though BindTexture had been executed with the same target and texture
|
||||||
|
zero. ..."
|
||||||
|
|
||||||
|
Change second paragraph on page 182 to say (spec changes identical to
|
||||||
|
EXT_texture_array):
|
||||||
|
|
||||||
|
"The texture object name space, including the initial one-, two-, and
|
||||||
|
three dimensional, cube map, and one- and two-dimensional array texture
|
||||||
|
objects, is shared among all texture units. ..."
|
||||||
|
|
||||||
|
|
||||||
|
-- Section 3.8.14 "Depth Texture Comparison Modes" in "Texture Comparison Modes"
|
||||||
|
|
||||||
|
Change second through fourth paragraphs (page 188) to say:
|
||||||
|
|
||||||
|
"Let D_t be the depth texture value, in the range [0, 1]. For
|
||||||
|
texture lookups from one- and two-dimesional, rectangle, and
|
||||||
|
one-dimensional array targets, let R be the interpolated <r>
|
||||||
|
texture coordinate, clamped to the range [0, 1]. For texture lookups
|
||||||
|
from two-dimesional array texture targets, let R be the interpolated
|
||||||
|
<q> texture coordinate, clamped to the range [0, 1]. Then the
|
||||||
|
effective texture value L_t, I_t, or A_t is computed as follows:
|
||||||
|
|
||||||
|
If the value of TEXTURE_COMPARE_MODE is NONE, then
|
||||||
|
|
||||||
|
r = Dt
|
||||||
|
|
||||||
|
If the value of TEXTURE_COMPARE_MODE is
|
||||||
|
COMPARE_REF_DEPTH_TO_TEXTURE_EXT), then r depends on the texture
|
||||||
|
comparison function as shown in table 3.27."
|
||||||
|
|
||||||
|
-- Section 3.8.15 "Texture Application"
|
||||||
|
|
||||||
|
Change the first paragraph (page 189) to say:
|
||||||
|
|
||||||
|
"Texturing is enabled or disabled using the generic Enable and Disable
|
||||||
|
commands, respectively, with the symbolic constants TEXTURE_1D,
|
||||||
|
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
|
||||||
|
TEXTURE_2D_ARRAY_EXT to enable one-, two-, three-dimensional, cube
|
||||||
|
map, one-dimensional array, or two-dimensional array texture,
|
||||||
|
respectively. If both two- and one-dimensional textures are enabled,
|
||||||
|
the two-dimensional texture is used. If the three-dimensional and
|
||||||
|
either of the two- or one-dimensional textures is enabled, the
|
||||||
|
three-dimensional texture is used. If the cube map texture and any of
|
||||||
|
the three-, two-, or one-dimensional textures is enabled, then cube map
|
||||||
|
texturing is used. If one-dimensional array texture is enabled and any
|
||||||
|
of cube map, three-, two-, or one-dimensional textures is enabled,
|
||||||
|
one-dimensional array texturing is used. If two-dimensional array
|
||||||
|
texture is enabled and any of cube map, three-, two-, one-dimensional
|
||||||
|
textures or one-dimensional array texture is enabled, two-dimensional
|
||||||
|
array texturing is used..."
|
||||||
|
|
||||||
|
-- Section 3.11.2 of ARB_fragment_program (Fragment Program Grammar and Restrictions):
|
||||||
|
|
||||||
|
(mostly add to existing grammar rules)
|
||||||
|
|
||||||
|
<optionName> ::= "MESA_texture_array"
|
||||||
|
|
||||||
|
<texTarget> ::= "1D"
|
||||||
|
| "2D"
|
||||||
|
| "3D"
|
||||||
|
| "CUBE"
|
||||||
|
| "RECT"
|
||||||
|
| <arrayTarget> (if program option is present)
|
||||||
|
| <shadowTarget> (if program option is present)
|
||||||
|
|
||||||
|
<arrayTarget> ::= "ARRAY1D"
|
||||||
|
| "ARRAY2D"
|
||||||
|
|
||||||
|
<shadowTarget> ::= "SHADOW1D"
|
||||||
|
| "SHADOW2D"
|
||||||
|
| "SHADOWRECT"
|
||||||
|
| <shadowArrayTarget> (if program option is present)
|
||||||
|
|
||||||
|
<shadowArrayTarget> ::= "SHADOWARRAY1D"
|
||||||
|
| "SHADOWARRAY2D"
|
||||||
|
|
||||||
|
|
||||||
|
-- Add Section 3.11.4.5.4 "Texture Stack Option"
|
||||||
|
|
||||||
|
"If a fragment program specifies the "MESA_texture_array" program
|
||||||
|
option, the <texTarget> rule is modified to add the texture targets
|
||||||
|
ARRAY1D and ARRAY2D (See Section 3.11.2)."
|
||||||
|
|
||||||
|
-- Section 3.11.6 "Fragment Program Texture Instruction Set"
|
||||||
|
|
||||||
|
(replace 1st and 2nd paragraphs with the following paragraphs)
|
||||||
|
|
||||||
|
"The first three texture instructions described below specify the
|
||||||
|
mapping of 4-tuple input vectors to 4-tuple output vectors.
|
||||||
|
The sampling of the texture works as described in section 3.8,
|
||||||
|
except that texture environments and texture functions are not
|
||||||
|
applicable, and the texture enables hierarchy is replaced by explicit
|
||||||
|
references to the desired texture target (i.e., 1D, 2D, 3D, cube map,
|
||||||
|
rectangle, ARRAY1D, ARRAY2D). These texture instructions specify
|
||||||
|
how the 4-tuple is mapped into the coordinates used for sampling. The
|
||||||
|
following function is used to describe the texture sampling in the
|
||||||
|
descriptions below:
|
||||||
|
|
||||||
|
vec4 TextureSample(vec4 coord, float lodBias, int texImageUnit,
|
||||||
|
enum texTarget);
|
||||||
|
|
||||||
|
Note that not all four components of the texture coordinates <coord>
|
||||||
|
are used by all texture targets. Component usage for each <texTarget>
|
||||||
|
is defined in table X.
|
||||||
|
|
||||||
|
coordinates used
|
||||||
|
texTarget Texture Type s t r layer shadow
|
||||||
|
---------------- --------------------- ----- ----- ------
|
||||||
|
1D TEXTURE_1D x - - - -
|
||||||
|
2D TEXTURE_2D x y - - -
|
||||||
|
3D TEXTURE_3D x y z - -
|
||||||
|
CUBE TEXTURE_CUBE_MAP x y z - -
|
||||||
|
RECT TEXTURE_RECTANGLE_ARB x y - - -
|
||||||
|
ARRAY1D TEXTURE_1D_ARRAY_EXT x - - y -
|
||||||
|
ARRAY2D TEXTURE_2D_ARRAY_EXT x y - z -
|
||||||
|
SHADOW1D TEXTURE_1D x - - - z
|
||||||
|
SHADOW2D TEXTURE_2D x y - - z
|
||||||
|
SHADOWRECT TEXTURE_RECTANGLE_ARB x y - - z
|
||||||
|
SHADOWARRAY1D TEXTURE_1D_ARRAY_EXT x - - y z
|
||||||
|
SHADOWARRAY2D TEXTURE_2D_ARRAY_EXT x y - z w
|
||||||
|
|
||||||
|
Table X: Texture types accessed for each of the <texTarget>, and
|
||||||
|
coordinate mappings. The "coordinates used" column indicate the
|
||||||
|
input values used for each coordinate of the texture lookup, the
|
||||||
|
layer selector for array textures, and the reference value for
|
||||||
|
texture comparisons."
|
||||||
|
|
||||||
|
-- Section 3.11.6.2 "TXP: Project coordinate and map to color"
|
||||||
|
|
||||||
|
Add to the end of the section:
|
||||||
|
|
||||||
|
"A program will fail to load if the TXP instruction is used in
|
||||||
|
conjunction with the SHADOWARRAY2D target."
|
||||||
|
|
||||||
|
Additions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment Operations)
|
||||||
|
|
||||||
|
-- Section 4.4.2.3 "Attaching Texture Images to a Framebuffer"
|
||||||
|
|
||||||
|
Add to the end of the section (spec changes identical to
|
||||||
|
EXT_texture_array):
|
||||||
|
|
||||||
|
"The command
|
||||||
|
|
||||||
|
void FramebufferTextureLayerEXT(enum target, enum attachment,
|
||||||
|
uint texture, int level, int layer);
|
||||||
|
|
||||||
|
operates identically to FramebufferTexture3DEXT, except that it
|
||||||
|
attaches a single layer of a three-dimensional texture or a one- or
|
||||||
|
two-dimensional array texture. <layer> is an integer indicating the
|
||||||
|
layer number, and is treated identically to the <zoffset> parameter in
|
||||||
|
FramebufferTexture3DEXT. The error INVALID_VALUE is generated if
|
||||||
|
<layer> is negative. The error INVALID_OPERATION is generated if
|
||||||
|
<texture> is non-zero and is not the name of a three dimensional
|
||||||
|
texture or one- or two-dimensional array texture. Unlike
|
||||||
|
FramebufferTexture3D, no <textarget> parameter is accepted.
|
||||||
|
|
||||||
|
If <texture> is non-zero and the command does not result in an error,
|
||||||
|
the framebuffer attachment state corresponding to <attachment> is
|
||||||
|
updated as in the other FramebufferTexture commands, except that
|
||||||
|
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to <layer>."
|
||||||
|
|
||||||
|
-- Section 4.4.4.1 "Framebuffer Attachment Completeness"
|
||||||
|
|
||||||
|
Add to the end of the list of completeness rules (spec changes
|
||||||
|
identical to EXT_texture_array):
|
||||||
|
|
||||||
|
"* If FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE and
|
||||||
|
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT names a one- or
|
||||||
|
two-dimensional array texture, then
|
||||||
|
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT must be smaller than the
|
||||||
|
number of layers in the texture."
|
||||||
|
|
||||||
|
Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
|
||||||
|
|
||||||
|
-- Section 5.4 "Display Lists"
|
||||||
|
|
||||||
|
Change the first paragraphi on page 242 to say (spec changes
|
||||||
|
identical to EXT_texture_array):
|
||||||
|
|
||||||
|
"TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are
|
||||||
|
executed immediately when called with the corresponding proxy arguments
|
||||||
|
PROXY_TEXTURE_3D or PROXY_TEXTURE_2D_ARRAY_EXT; PROXY_TEXTURE_2D,
|
||||||
|
PROXY_TEXTURE_CUBE_MAP, or PROXY_TEXTURE_1D_ARRAY_EXT;
|
||||||
|
PROXY_TEXTURE_1D; PROXY_HISTOGRAM; and PROXY_COLOR_TABLE,
|
||||||
|
PROXY_POST_CONVOLUTION_COLOR_TABLE, or
|
||||||
|
PROXY_POST_COLOR_MATRIX_COLOR_TABLE."
|
||||||
|
|
||||||
|
Additions to Chapter 6 of the OpenGL 2.0 Specification (State and State Requests)
|
||||||
|
|
||||||
|
-- Section 6.1.3 "Enumerated Queries"
|
||||||
|
|
||||||
|
Add after the line beginning "If the value of
|
||||||
|
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE" (spec changes
|
||||||
|
identical to EXT_texture_array):
|
||||||
|
|
||||||
|
"If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT and the
|
||||||
|
texture object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT is a
|
||||||
|
three-dimensional texture or a one- or two-dimensional array texture,
|
||||||
|
then <params> will contain the number of texture layer attached to the
|
||||||
|
attachment point. Otherwise, <params> will contain the value zero."
|
||||||
|
|
||||||
|
-- Section 6.1.4 "Texture Queries"
|
||||||
|
|
||||||
|
Change the first three paragraphs (page 248) to say (spec changes
|
||||||
|
identical to EXT_texture_array):
|
||||||
|
|
||||||
|
"The command
|
||||||
|
|
||||||
|
void GetTexImage(enum tex, int lod, enum format,
|
||||||
|
enum type, void *img);
|
||||||
|
|
||||||
|
is used to obtain texture images. It is somewhat different from the
|
||||||
|
other get commands; tex is a symbolic value indicating which texture
|
||||||
|
(or texture face in the case of a cube map texture target name) is to
|
||||||
|
be obtained. TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY_EXT,
|
||||||
|
and TEXTURE_2D_ARRAY_EXT indicate a one-, two-, or three-dimensional
|
||||||
|
texture, or one- or two-dimensional array texture, respectively.
|
||||||
|
TEXTURE_CUBE_MAP_POSITIVE_X, ...
|
||||||
|
|
||||||
|
GetTexImage obtains... from the first image to the last for
|
||||||
|
three-dimensional textures. One- and two-dimensional array textures
|
||||||
|
are treated as two- and three-dimensional images, respectively, where
|
||||||
|
the layers are treated as rows or images. These groups are then...
|
||||||
|
|
||||||
|
For three-dimensional and two-dimensional array textures, pixel storage
|
||||||
|
operations are applied as if the image were two-dimensional, except
|
||||||
|
that the additional pixel storage state values PACK_IMAGE_HEIGHT and
|
||||||
|
PACK_SKIP_IMAGES are applied. ..."
|
||||||
|
|
||||||
|
Additions to Appendix A of the OpenGL 2.0 Specification (Invariance)
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Additions to the AGL/GLX/WGL Specifications
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
GLX Protocol
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Dependencies on ARB_fragment_program
|
||||||
|
|
||||||
|
If ARB_fragment_program is not supported, the changes to section 3.11
|
||||||
|
should be ignored.
|
||||||
|
|
||||||
|
Dependencies on EXT_framebuffer_object
|
||||||
|
|
||||||
|
If EXT_framebuffer_object is not supported, the changes to section
|
||||||
|
3.8.8 ("Manual Mipmap Generation"), 4.4.2.3, and 6.1.3 should be ignored.
|
||||||
|
|
||||||
|
Dependencies on EXT_texture_compression_s3tc and NV_texture_compression_vtc
|
||||||
|
|
||||||
|
(Identical dependency as EXT_texture_array.)
|
||||||
|
|
||||||
|
S3TC texture compression is supported for two-dimensional array textures.
|
||||||
|
When <target> is TEXTURE_2D_ARRAY_EXT, each layer is stored independently
|
||||||
|
as a compressed two-dimensional textures. When specifying or querying
|
||||||
|
compressed images using one of the S3TC formats, the images are provided
|
||||||
|
and/or returned as a series of two-dimensional textures stored
|
||||||
|
consecutively in memory, with the layer closest to zero specified first.
|
||||||
|
For array textures, images are not arranged in 4x4x4 or 4x4x2 blocks as in
|
||||||
|
the three-dimensional compression format provided in the
|
||||||
|
EXT_texture_compression_vtc extension. Pixel store parameters, including
|
||||||
|
those specific to three-dimensional images, are ignored when compressed
|
||||||
|
image data are provided or returned, as in the
|
||||||
|
EXT_texture_compression_s3tc extension.
|
||||||
|
|
||||||
|
S3TC compression is not supported for one-dimensional texture targets in
|
||||||
|
EXT_texture_compression_s3tc, and is not supported for one-dimensional
|
||||||
|
array textures in this extension. If compressed one-dimensional arrays
|
||||||
|
are needed, use a two-dimensional texture with a height of one.
|
||||||
|
|
||||||
|
This extension allows the use of the four S3TC internal format types in
|
||||||
|
TexImage3D, CompressedTexImage3D, and CompressedTexSubImage3D calls.
|
||||||
|
|
||||||
|
Errors
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
New State
|
||||||
|
|
||||||
|
(add to table 6.15, p. 276)
|
||||||
|
|
||||||
|
Initial
|
||||||
|
Get Value Type Get Command Value Description Sec. Attribute
|
||||||
|
---------------------------- ----- ----------- ----- -------------------- ------ ---------
|
||||||
|
TEXTURE_BINDING_1D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
|
||||||
|
to TEXTURE_1D_ARRAY
|
||||||
|
TEXTURE_BINDING_2D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
|
||||||
|
to TEXTURE_2D_ARRAY
|
||||||
|
|
||||||
|
|
||||||
|
New Implementation Dependent State
|
||||||
|
|
||||||
|
(add to Table 6.32, p. 293)
|
||||||
|
|
||||||
|
Minimum
|
||||||
|
Get Value Type Get Command Value Description Sec. Attribute
|
||||||
|
---------------------------- ---- ----------- ------- ------------------ ----- ---------
|
||||||
|
MAX_TEXTURE_ARRAY_LAYERS_EXT Z+ GetIntegerv 64 maximum number of 3.8.1 -
|
||||||
|
layers for texture
|
||||||
|
arrays
|
||||||
|
|
||||||
|
Issues
|
||||||
|
|
||||||
|
(1) Is "texture stack" a good name for this functionality?
|
||||||
|
|
||||||
|
NO. The name is changed to "array texture" to match the
|
||||||
|
nomenclature used by GL_EXT_texture_array.
|
||||||
|
|
||||||
|
(2) Should the R texture coordinate be treated as normalized or
|
||||||
|
un-normalized? If it were un-normalized, floor(R) could be thought
|
||||||
|
of as a direct index into the array texture. This may be more
|
||||||
|
convenient for applications.
|
||||||
|
|
||||||
|
RESOLVED. All texture coordinates are normalized. The issue of
|
||||||
|
un-normalized texture coordinates has been discussed in the ARB
|
||||||
|
before and should be left for a layered extension.
|
||||||
|
|
||||||
|
RE-RESOLVED. The R coordinate is un-normalized. Accessing an array
|
||||||
|
using [0, layers-1] coordinates is much more natural.
|
||||||
|
|
||||||
|
(3) How does LOD selection work for stacked textures?
|
||||||
|
|
||||||
|
RESOLVED. For 2D array textures the R coordinate is ignored, and
|
||||||
|
the LOD selection equations for 2D textures are used. For 1D
|
||||||
|
array textures the T coordinate is ignored, and the LOD selection
|
||||||
|
equations for 1D textures are used. The expected usage is in a
|
||||||
|
fragment program with an explicit LOD selection.
|
||||||
|
|
||||||
|
(4) What is the maximum size of a 2D array texture? Is it the same
|
||||||
|
as for a 3D texture, or should a new query be added? How about for 1D
|
||||||
|
array textures?
|
||||||
|
|
||||||
|
RESOLVED. A new query is added.
|
||||||
|
|
||||||
|
(5) How are array textures exposed in GLSL?
|
||||||
|
|
||||||
|
RESOLVED. Use GL_EXT_texture_array.
|
||||||
|
|
||||||
|
(6) Should a 1D array texture also be exposed?
|
||||||
|
|
||||||
|
RESOLVED. For orthogonality, yes.
|
||||||
|
|
||||||
|
(7) How are stacked textures attached to framebuffer objects?
|
||||||
|
|
||||||
|
RESOLVED. Layers of both one- and two-dimensional array textures
|
||||||
|
are attached using FreambufferTextureLayerEXT. Once attached, the
|
||||||
|
array texture layer behaves exactly as either a one- or
|
||||||
|
two-dimensional texture.
|
||||||
|
|
||||||
|
(8) How is this extension related to GL_EXT_texture_array?
|
||||||
|
|
||||||
|
This extension adapats GL_MESAX_texture_stack to the notation,
|
||||||
|
indexing, and FBO access of GL_EXT_texture_array. This extension
|
||||||
|
replaces the GLSL support of GL_EXT_texture_array with
|
||||||
|
GL_ARB_fragment_program support.
|
||||||
|
|
||||||
|
Assembly program support is also provided by GL_NV_gpu_program4.
|
||||||
|
GL_NV_gpu_program4 also adds support for other features that are
|
||||||
|
specific to Nvidia hardware, while this extension adds only support
|
||||||
|
for array textures.
|
||||||
|
|
||||||
|
Much of text of this extension that has changed since
|
||||||
|
GL_MESAX_texture_stack comes directly from either
|
||||||
|
GL_EXT_texture_array or GL_NV_gpu_program4.
|
||||||
|
|
||||||
|
Revision History
|
||||||
|
|
||||||
|
||2005/11/15||0.1||idr||Initial draft MESAX version.||
|
||||||
|
||2005/12/07||0.2||idr||Added framebuffer object interactions.||
|
||||||
|
||2005/12/12||0.3||idr||Updated fragment program interactions.||
|
||||||
|
||2007/05/16||0.4||idr||Converted to MESA_texture_array. Brought in line with EXT_texture_array and NV_gpu_program4.||
|
||||||
@@ -88,3 +88,66 @@ Running the Build:
|
|||||||
|
|
||||||
Paul G. <pgarceau@users.sourceforge.net>
|
Paul G. <pgarceau@users.sourceforge.net>
|
||||||
Daniel Borca <dborca@users.sourceforge.net>
|
Daniel Borca <dborca@users.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
******This section is added by Heromyth <zxpmyth@yahoo.com.cn>*************
|
||||||
|
|
||||||
|
====================
|
||||||
|
Updated on 2007-7-21
|
||||||
|
====================
|
||||||
|
|
||||||
|
Notice:
|
||||||
|
1) The generated DLLs are *not* compatible with the ones built
|
||||||
|
with the other compilers like VC8, especially for GLUT.
|
||||||
|
|
||||||
|
2) Although more tests are needed, it can be used individually!
|
||||||
|
|
||||||
|
3) You can set the options about whether using STDCALL to build MESA. The
|
||||||
|
config file is <Mesa3D-root>\configs\config.mgw. The default setting is that:
|
||||||
|
ALL_USING_STDCALL = 1
|
||||||
|
, which means using STDCALL to build MESA.
|
||||||
|
|
||||||
|
4) Of course, you can MESA without using STDCALL,I like this:)
|
||||||
|
The setting is :
|
||||||
|
ALL_USING_STDCALL = 0
|
||||||
|
To do this, however, you must modify wingdi.h which is in MingW's include dir.
|
||||||
|
For example, run:
|
||||||
|
notepad C:\MingW\include\wingdi.h
|
||||||
|
, and delete all the lines where all the wgl*() functions are. Because they would
|
||||||
|
be conflicted with the ones in <Mesa3D-root>\include\GL\mesa_wgl.h.
|
||||||
|
|
||||||
|
>>>>>>>>>> Conflicted Functions List >>>>>>>>>>
|
||||||
|
WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
|
||||||
|
WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
|
||||||
|
WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
|
||||||
|
WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
|
||||||
|
WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
|
||||||
|
WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
|
||||||
|
WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
|
||||||
|
WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
|
||||||
|
WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
|
||||||
|
WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
|
||||||
|
WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
|
||||||
|
WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
|
||||||
|
WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
|
||||||
|
WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
|
||||||
|
WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
|
||||||
|
WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
|
||||||
|
WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||||
|
WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
|
||||||
|
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||||
|
|
||||||
|
====================
|
||||||
|
Updated on 2007-7-22
|
||||||
|
====================
|
||||||
|
I havn't thought that I would find a better way to solve my problems so soon.
|
||||||
|
I changed the method in which the import-libs and DLLs are made. After this update,
|
||||||
|
the DLLs of MESA are more optimized and more compatible.
|
||||||
|
It seems that there is no need to keep the building way of 'NO-STDCALL'.The
|
||||||
|
way of USING_STDCALL is so nice! The file <Mesa3D-root>\configs\config.mgw is
|
||||||
|
also not needed, and can be deleted safely!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*********************************************************************************
|
||||||
@@ -1,163 +1,163 @@
|
|||||||
File: docs/README.WIN32
|
File: docs/README.WIN32
|
||||||
|
|
||||||
Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
|
Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
|
||||||
|
|
||||||
Quick Start
|
Quick Start
|
||||||
----- -----
|
----- -----
|
||||||
|
|
||||||
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
|
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
|
||||||
directory. The libs and demos build separately, so if you do not care
|
directory. The libs and demos build separately, so if you do not care
|
||||||
about the demos or GLUT, you only need to unzip MesaLib. If you unzip
|
about the demos or GLUT, you only need to unzip MesaLib. If you unzip
|
||||||
more than one ZIP file, they all need to be unzipped into the same
|
more than one ZIP file, they all need to be unzipped into the same
|
||||||
directory. Don't worry, you will not overwrite anything.
|
directory. Don't worry, you will not overwrite anything.
|
||||||
|
|
||||||
The Windows build system uses Microsoft Visual Studio. Project files
|
The Windows build system uses Microsoft Visual Studio. Project files
|
||||||
for a specific version of Visual Studio are in their own directory in
|
for a specific version of Visual Studio are in their own directory in
|
||||||
the top-level "windows" directory. For example, Visual Studio 8 files
|
the top-level "windows" directory. For example, Visual Studio 8 files
|
||||||
are in windows/VC8.
|
are in windows/VC8.
|
||||||
|
|
||||||
Support has been dropped for versions of Visual Studio prior to 8. The
|
Support has been dropped for versions of Visual Studio prior to 8. The
|
||||||
main reason is because Microsoft now provides a free compiler and
|
main reason is because Microsoft now provides a free compiler and
|
||||||
developer environment. Visual Studio Express can be found at
|
developer environment. Visual Studio Express can be found at
|
||||||
|
|
||||||
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
|
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
|
||||||
|
|
||||||
You'll also need the Platform SDK. Instructions for obtaining and
|
You'll also need the Platform SDK. Instructions for obtaining and
|
||||||
using the SDK with Visual Studio Express can be found at
|
using the SDK with Visual Studio Express can be found at
|
||||||
|
|
||||||
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
||||||
|
|
||||||
If you are stuck using VC6 or VC7, you may start with these project
|
If you are stuck using VC6 or VC7, you may start with these project
|
||||||
files, but you may need to modify them to reflect changes in the
|
files, but you may need to modify them to reflect changes in the
|
||||||
Mesa source code tree. If you sucessfully update the project files,
|
Mesa source code tree. If you sucessfully update the project files,
|
||||||
please submit them to the author of this document so that they may
|
please submit them to the author of this document so that they may
|
||||||
be included in the next distribution.
|
be included in the next distribution.
|
||||||
|
|
||||||
The project files to build the core Mesa library, Windows Mesa
|
The project files to build the core Mesa library, Windows Mesa
|
||||||
drivers, OSMesa, and GLU are in the mesa directory. The project files
|
drivers, OSMesa, and GLU are in the mesa directory. The project files
|
||||||
to build GLUT and some demo programs are in the progs directory.
|
to build GLUT and some demo programs are in the progs directory.
|
||||||
|
|
||||||
Makefiles are no longer shipped or supported, but can be generated
|
Makefiles are no longer shipped or supported, but can be generated
|
||||||
from the projects using Visual Studio.
|
from the projects using Visual Studio.
|
||||||
|
|
||||||
|
|
||||||
Windows Drivers
|
Windows Drivers
|
||||||
------- -------
|
------- -------
|
||||||
|
|
||||||
At this time, only the GDI driver is known to work. Most of the demos
|
At this time, only the GDI driver is known to work. Most of the demos
|
||||||
in progs/demos should work with this driver.
|
in progs/demos should work with this driver.
|
||||||
|
|
||||||
Source code also exists in the tree for other drivers in
|
Source code also exists in the tree for other drivers in
|
||||||
src/mesa/drivers/windows, but the status of this code is unknown.
|
src/mesa/drivers/windows, but the status of this code is unknown.
|
||||||
|
|
||||||
The GDI driver operates basically by writing pixel spans into a DIB
|
The GDI driver operates basically by writing pixel spans into a DIB
|
||||||
section and then blitting the DIB to the window. The driver was
|
section and then blitting the DIB to the window. The driver was
|
||||||
recently cleaned up and rewitten and so may have bugs or may be
|
recently cleaned up and rewitten and so may have bugs or may be
|
||||||
missing some functionality. The older versions of the CVS source may
|
missing some functionality. The older versions of the CVS source may
|
||||||
be useful in figuring out any problems, or report them to me.
|
be useful in figuring out any problems, or report them to me.
|
||||||
|
|
||||||
To build Mesa with the GDI driver, build the mesa, gdi, and glu
|
To build Mesa with the GDI driver, build the mesa, gdi, and glu
|
||||||
projects in the Visual Studio workspace found at
|
projects in the Visual Studio workspace found at
|
||||||
|
|
||||||
windows/VC8/mesa/mesa.sln
|
windows/VC8/mesa/mesa.sln
|
||||||
|
|
||||||
The osmesa DLL can also be built with the osmesa project.
|
The osmesa DLL can also be built with the osmesa project.
|
||||||
|
|
||||||
The build system creates a lib top-level directory and copies
|
The build system creates a lib top-level directory and copies
|
||||||
resulting LIB and DLL files to this lib directory. The files are:
|
resulting LIB and DLL files to this lib directory. The files are:
|
||||||
|
|
||||||
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
|
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
|
||||||
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
|
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
|
||||||
|
|
||||||
If the MesaDemos ZIP file was extracted, the DLL files are also copied
|
If the MesaDemos ZIP file was extracted, the DLL files are also copied
|
||||||
to the demos directory. This facilitates running the demos as described
|
to the demos directory. This facilitates running the demos as described
|
||||||
below.
|
below.
|
||||||
|
|
||||||
|
|
||||||
GLUT and Demos
|
GLUT and Demos
|
||||||
---- --- -----
|
---- --- -----
|
||||||
|
|
||||||
A Visual Studio workspace can be found at
|
A Visual Studio workspace can be found at
|
||||||
|
|
||||||
windows/VC8/progs/progs.sln
|
windows/VC8/progs/progs.sln
|
||||||
|
|
||||||
It can be used to build GLUT and a few demos. The GLUT lib and DLL
|
It can be used to build GLUT and a few demos. The GLUT lib and DLL
|
||||||
are copied to the top-level lib directory, along with the Mesa libs.
|
are copied to the top-level lib directory, along with the Mesa libs.
|
||||||
|
|
||||||
The demo build system expects to find the LIB files in the top level
|
The demo build system expects to find the LIB files in the top level
|
||||||
lib directory, so you must build the Mesa libs first. The demo
|
lib directory, so you must build the Mesa libs first. The demo
|
||||||
executables are placed in the demos directory, because some of them
|
executables are placed in the demos directory, because some of them
|
||||||
rely on data files found there. Also, the Mesa lib DLL's were copied
|
rely on data files found there. Also, the Mesa lib DLL's were copied
|
||||||
there by the Mesa lib build process. Therefore, you should be able to
|
there by the Mesa lib build process. Therefore, you should be able to
|
||||||
simply run the demo executables from the demo directory.
|
simply run the demo executables from the demo directory.
|
||||||
|
|
||||||
If you want to run the demos from the Visual Studio, you may have to
|
If you want to run the demos from the Visual Studio, you may have to
|
||||||
change the startup directory and explicitly state where the executables are.
|
change the startup directory and explicitly state where the executables are.
|
||||||
|
|
||||||
You may also build all the demo programs by using a makefile. Go to
|
You may also build all the demo programs by using a makefile. Go to
|
||||||
the progs/demos directory and make sure you have executed VCVARS32.BAT
|
the progs/demos directory and make sure you have executed VCVARS32.BAT
|
||||||
or whatever setup script is appropriate for your compiler. Then,
|
or whatever setup script is appropriate for your compiler. Then,
|
||||||
|
|
||||||
nmake -f Makefile.win
|
nmake -f Makefile.win
|
||||||
|
|
||||||
should build all the demos.
|
should build all the demos.
|
||||||
|
|
||||||
|
|
||||||
Build System Notes
|
Build System Notes
|
||||||
----- ------ -----
|
----- ------ -----
|
||||||
|
|
||||||
VC6 (not actively supported)
|
VC6 (not actively supported)
|
||||||
---
|
---
|
||||||
|
|
||||||
Visual Studio 6 does not recognize files with the .cc extension as C++
|
Visual Studio 6 does not recognize files with the .cc extension as C++
|
||||||
language files, without a lot of unnatural tweaking. So, the VC6
|
language files, without a lot of unnatural tweaking. So, the VC6
|
||||||
build process uses custom build steps to compile these files in the
|
build process uses custom build steps to compile these files in the
|
||||||
GLU library.
|
GLU library.
|
||||||
|
|
||||||
Two additional configurations are provided, Debug x86 and Release x86
|
Two additional configurations are provided, Debug x86 and Release x86
|
||||||
that activate the shader code compilation by defining SLANG_86. It is
|
that activate the shader code compilation by defining SLANG_86. It is
|
||||||
unknown if and how this works.
|
unknown if and how this works.
|
||||||
|
|
||||||
VC7 (not actively supported)
|
VC7 (not actively supported)
|
||||||
---
|
---
|
||||||
|
|
||||||
The above-mentioned .cc problem does not exist in this version.
|
The above-mentioned .cc problem does not exist in this version.
|
||||||
|
|
||||||
VC8
|
VC8
|
||||||
---
|
---
|
||||||
|
|
||||||
No notes.
|
No notes.
|
||||||
|
|
||||||
|
|
||||||
General
|
General
|
||||||
-------
|
-------
|
||||||
|
|
||||||
After building, you can copy the above DLL files to a place in your
|
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
|
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
|
||||||
in a system directory, place them in the same directory as the
|
in a system directory, place them in the same directory as the
|
||||||
executable(s). Be careful about accidentially overwriting files of
|
executable(s). Be careful about accidentially overwriting files of
|
||||||
the same name in the SYSTEM32 directory.
|
the same name in the SYSTEM32 directory.
|
||||||
|
|
||||||
The DLL files are built so that the external entry points use the
|
The DLL files are built so that the external entry points use the
|
||||||
stdcall calling convention.
|
stdcall calling convention.
|
||||||
|
|
||||||
Static LIB files are not built. The LIB files that are built with are
|
Static LIB files are not built. The LIB files that are built with are
|
||||||
the linker import files associated with the DLL files.
|
the linker import files associated with the DLL files.
|
||||||
|
|
||||||
The si-glu sources are used to build the GLU libs. This was done
|
The si-glu sources are used to build the GLU libs. This was done
|
||||||
mainly to get the better tessellator code.
|
mainly to get the better tessellator code.
|
||||||
|
|
||||||
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
|
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
|
||||||
to the project settings. You will also need to edit src/mesa.def to
|
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
|
change all the gl* symbols to mgl*. Because this is easy to do with a
|
||||||
global replace operation in a text editor, no additional mangled
|
global replace operation in a text editor, no additional mangled
|
||||||
version of mesa.def is maintained or shipped.
|
version of mesa.def is maintained or shipped.
|
||||||
|
|
||||||
If you have a Windows-related build problem or question, it is
|
If you have a Windows-related build problem or question, it is
|
||||||
probably better to direct it to me (kschultz@users.sourceforge.net),
|
probably better to direct it to me (kschultz@users.sourceforge.net),
|
||||||
rather than directly to the other Mesa developers. I will help you as
|
rather than directly to the other Mesa developers. I will help you as
|
||||||
much as I can. I also monitor the Mesa mailing lists and will answer
|
much as I can. I also monitor the Mesa mailing lists and will answer
|
||||||
questions in this area there as well.
|
questions in this area there as well.
|
||||||
|
|
||||||
|
|
||||||
Karl Schultz
|
Karl Schultz
|
||||||
|
|||||||
288
docs/autoconf.html
Normal file
288
docs/autoconf.html
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<title>Compilation and Installation using Autoconf</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<h1>Compilation and Installation using Autoconf</h1>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li><a href="#basic">Basic Usage</a></li>
|
||||||
|
<li><a href="#driver">Driver Options</a></li>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#xlib">Xlib Driver Options</a></li>
|
||||||
|
<li><a href="#dri">DRI Driver Options</a></li>
|
||||||
|
<li><a href="#osmesa">OSMesa Driver Options</a></li>
|
||||||
|
</ul>
|
||||||
|
<li><a href="#library">Library Options</a></li>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#glu">GLU</a></li>
|
||||||
|
<li><a href="#glw">GLw</a></li>
|
||||||
|
<li><a href="#glut">GLUT</a></li>
|
||||||
|
</ul>
|
||||||
|
<li><a href="#demos">Demo Program Options</a></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="basic">
|
||||||
|
<h2>1. Basic Usage</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The autoconf generated configure script can be used to guess your
|
||||||
|
platform and change various options for building Mesa. To use the
|
||||||
|
configure script, type:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
./configure
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To see a short description of all the options, type <code>./configure
|
||||||
|
--help</code>. If you are using a development snapshot and the configure
|
||||||
|
script does not exist, type <code>./autogen.sh</code> to generate it
|
||||||
|
first. If you know the options you want to pass to
|
||||||
|
<code>configure</code>, you can pass them to <code>autogen.sh</code>. It
|
||||||
|
will run <code>configure</code> with these options after it is
|
||||||
|
generated. Once you have run <code>configure</code> and set the options
|
||||||
|
to your preference, type:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
make
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This will produce libGL.so and several other libraries depending on the
|
||||||
|
options you have chosen. Later, if you want to rebuild for a different
|
||||||
|
configuration run <code>make realclean</code> before rebuilding.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Some of the generic autoconf options are used with Mesa:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><code>--prefix=PREFIX</code> - This is the root directory where
|
||||||
|
files will be installed by <code>make install</code>. The default is
|
||||||
|
<code>/usr/local</code>.
|
||||||
|
</li>
|
||||||
|
<li><code>--exec-prefix=EPREFIX</code> - This is the root directory
|
||||||
|
where architecture-dependent files will be installed. In Mesa, this is
|
||||||
|
only used to derive the directory for the libraries. The default is
|
||||||
|
<code>${prefix}</code>.
|
||||||
|
</li>
|
||||||
|
<li><code>--libdir=LIBDIR</code> - This option specifies the directory
|
||||||
|
where the GL libraries will be installed. The default is
|
||||||
|
<code>${exec_prefix}/lib</code>. It also serves as the name of the
|
||||||
|
library staging area in the source tree. For instance, if the option
|
||||||
|
<code>--libdir=/usr/local/lib64</code> is used, the libraries will be
|
||||||
|
created in a <code>lib64</code> directory at the top of the Mesa source
|
||||||
|
tree.
|
||||||
|
</li>
|
||||||
|
<li><code>--enable-static, --disable-shared</code> - By default, Mesa
|
||||||
|
will build shared libraries. Either of these options will force static
|
||||||
|
libraries to be built. It is not currently possible to build static and
|
||||||
|
shared libraries in a single pass.
|
||||||
|
</li>
|
||||||
|
<li><code>CC, CFLAGS, CXX, CXXFLAGS</code> - These environment variables
|
||||||
|
control the C and C++ compilers used during the build. By default,
|
||||||
|
<code>gcc</code> and <code>g++</code> are used with the options
|
||||||
|
<code>"-g -O2"</code>.
|
||||||
|
</li>
|
||||||
|
<li><code>LDFLAGS</code> - An environment variable specifying flags to
|
||||||
|
pass when linking programs. These are normally empty, but can be used
|
||||||
|
to direct the linker to use libraries in nonstandard directories. For
|
||||||
|
example, <code>LDFLAGS="-L/usr/X11R6/lib"</code>.
|
||||||
|
</li>
|
||||||
|
<li><code>PKG_CONFIG_PATH</code> - When available, the
|
||||||
|
<code>pkg-config</code> utility is used to search for external libraries
|
||||||
|
on the system. This environment variable is used to control the search
|
||||||
|
path for <code>pkg-config</code>. For instance, setting
|
||||||
|
<code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for
|
||||||
|
package metadata in <code>/usr/X11R6</code> before the standard
|
||||||
|
directories.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
There are also a few general options for altering the Mesa build:
|
||||||
|
<ul>
|
||||||
|
<li><code>--with-x</code> - When the X11 development libraries are
|
||||||
|
needed, the <code>pkg-config</code> utility <a href="#pkg-config">will
|
||||||
|
be used</a> for locating them. If they cannot be found through
|
||||||
|
<code>pkg-config</code> a fallback routing using <code>imake</code> will
|
||||||
|
be used. In this case, the <code>--with-x</code>,
|
||||||
|
<code>--x-includes</code> and <code>--x-libraries</code> options can
|
||||||
|
control the use of X for Mesa.
|
||||||
|
</li>
|
||||||
|
<li><code>--enable-gl-osmesa</code> - The <a href="osmesa.html">OSMesa
|
||||||
|
library</a> can be built on top of libGL for drivers that provide it.
|
||||||
|
This option controls whether to build libOSMesa. By default, this is
|
||||||
|
enabled for the Xlib driver and disabled otherwise. Note that this
|
||||||
|
option is different than using OSMesa as the driver.
|
||||||
|
</li>
|
||||||
|
<li><code>--enable-debug</code> - This option will enable compiler
|
||||||
|
options and macros to aid in debugging the Mesa libraries.
|
||||||
|
</li>
|
||||||
|
<li><code>--disable-asm</code> - There are assembly routines
|
||||||
|
available for a few architectures. These will be used by default if
|
||||||
|
one of these architectures is detected. This option ensures that
|
||||||
|
assembly will not be used.
|
||||||
|
</li>
|
||||||
|
<li><code>--enable-32-bit, --enable-64-bit</code> - By default, the
|
||||||
|
build will compile code as directed by the environment variables
|
||||||
|
<code>CC</code>, <code>CFLAGS</code>, etc. If the compiler is
|
||||||
|
<code>gcc</code>, these options offer a helper to add the compiler flags
|
||||||
|
to force 32- or 64-bit code generation as used on the x86 and x86_64
|
||||||
|
architectures.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="driver">
|
||||||
|
<h2>2. Driver Options</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
There are several different driver modes that Mesa can use. These are
|
||||||
|
described in more detail in the <a href="install.html">basic
|
||||||
|
installation instructions</a>. The Mesa driver is controlled through the
|
||||||
|
configure option --with-driver. There are currently three supported
|
||||||
|
options in the configure script.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<a name="xlib">
|
||||||
|
<li><b><em>Xlib</em></b> - This is the default mode for building Mesa.
|
||||||
|
It uses Xlib as a software renderer to do all rendering. It corresponds
|
||||||
|
to the option <code>--with-driver=xlib</code>. The libX11 and libXext
|
||||||
|
libraries, as well as the X11 development headers, will be need to
|
||||||
|
support the Xlib driver.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<a name="dri">
|
||||||
|
<li><b><em>DRI</em></b> - This mode uses the DRI hardware drivers for
|
||||||
|
accelerated OpenGL rendering. Enable the DRI drivers with the option
|
||||||
|
<code>--with-driver=dri</code>. See the <a href="install.html">basic
|
||||||
|
installation instructions</a> for details on prerequisites for the DRI
|
||||||
|
drivers.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- DRI specific options -->
|
||||||
|
<p>
|
||||||
|
<ul>
|
||||||
|
<li><code>--with-dri-driverdir=DIR</code> - This option specifies the
|
||||||
|
location the DRI drivers will be installed to and the location libGL
|
||||||
|
will search for DRI drivers. The default is <code>${libdir}/dri</code>.
|
||||||
|
</li>
|
||||||
|
<li><code>--with-dri-drivers=DRIVER,DRIVER,...</code> - This option
|
||||||
|
allows a specific set of DRI drivers to be built. For example,
|
||||||
|
<code>--with-dri-drivers="i965,radeon,nouveau"</code>. By default,
|
||||||
|
the drivers will be chosen depending on the target platform. See the
|
||||||
|
directory <code>src/mesa/drivers/dri</code> in the source tree for
|
||||||
|
available drivers.
|
||||||
|
</li>
|
||||||
|
<!-- This explanation might be totally bogus. Kristian? -->
|
||||||
|
<li><code>--disable-driglx-direct</code> - Disable direct rendering in
|
||||||
|
GLX. Normally, direct hardware rendering through the DRI drivers and
|
||||||
|
indirect software rendering are enabled in GLX. This option disables
|
||||||
|
direct rendering entirely. It can be useful on architectures where
|
||||||
|
kernel DRM modules are not available.
|
||||||
|
</li>
|
||||||
|
<li><code>--enable-glx-tls</code> - Enable Thread Local Storage (TLS) in
|
||||||
|
GLX.
|
||||||
|
</li>
|
||||||
|
<li><code>--with-expat=DIR</code> - The DRI-enabled libGL uses expat to
|
||||||
|
parse the DRI configuration files in <code>/etc/drirc</code> and
|
||||||
|
<code>~/.drirc</code>. This option allows a specific expat installation
|
||||||
|
to be used. For example, <code>--with-expat=/usr/local</code> will
|
||||||
|
search for expat headers and libraries in <code>/usr/local/include</code>
|
||||||
|
and <code>/usr/local/lib</code>, respectively.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<a name="osmesa">
|
||||||
|
<li><b><em>OSMesa</em></b> - No libGL is built in this
|
||||||
|
mode. Instead, the driver code is built into the Off-Screen Mesa
|
||||||
|
(OSMesa) library. See the <a href="osmesa.html">Off-Screen Rendering</a>
|
||||||
|
page for more details.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- OSMesa specific options -->
|
||||||
|
<p>
|
||||||
|
<ul>
|
||||||
|
<li><code>--with-osmesa-bits=BITS</code> - This option allows the size
|
||||||
|
of the color channel in bits to be specified. By default, an 8-bit
|
||||||
|
channel will be used, and the driver will be named libOSMesa. Other
|
||||||
|
options are 16- and 32-bit color channels, which will add the bit size
|
||||||
|
to the library name. For example, <code>--with-osmesa-bits=16</code>
|
||||||
|
will create the libOSMesa16 library with a 16-bit color channel.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="library">
|
||||||
|
<h2>3. Library Options</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The configure script provides more fine grained control over the GL
|
||||||
|
libraries that will be built. More details on the specific GL libraries
|
||||||
|
can be found in the <a href="install.html">basic installation
|
||||||
|
instructions</a>.
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<a name="glu">
|
||||||
|
<li><b><em>GLU</em></b> - The libGLU library will be built by default
|
||||||
|
on all drivers. This can be disable with the option
|
||||||
|
<code>--disable-glu</code>.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<a name="glw">
|
||||||
|
<li><b><em>GLw</em></b> - The libGLw library will be built by default
|
||||||
|
if libGLU has been enabled. This can be disable with the option
|
||||||
|
<code>--disable-glw</code>.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<a name="glut">
|
||||||
|
<li><b><em>GLUT</em></b> - The libglut library will be built by default
|
||||||
|
if libGLU has been enabled and the glut source code from the MesaGLUT
|
||||||
|
tarball is available. This can be disable with the option
|
||||||
|
<code>--disable-glut</code>.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="demos">
|
||||||
|
<h2>4. Demo Program Options</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
There are many demonstration programs in the MesaDemos tarball. If the
|
||||||
|
programs are available when <code>./configure</code> is run, a subset of
|
||||||
|
the programs will be built depending on the driver and library options
|
||||||
|
chosen. See the directory <code>progs</code> for the full set of demos.
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><code>--with-demos=DEMOS,DEMOS,...</code> - This option allows a
|
||||||
|
specific set of demo programs to be built. For example,
|
||||||
|
<code>--with-demos="xdemos,slang"</code>. Beware that if this option is
|
||||||
|
used, it will not be ensured that the necessary GL libraries will be
|
||||||
|
available.
|
||||||
|
</li>
|
||||||
|
<li><code>--without-demos</code> - This completely disables building the
|
||||||
|
demo programs. It is equivalent to <code>--with-demos=no</code>.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -9,9 +9,9 @@
|
|||||||
<H1>Bug Database</H1>
|
<H1>Bug Database</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The Mesa bug database is now hosted on
|
The Mesa bug database is hosted on
|
||||||
<a href="http://freedesktop.org" target="_parent">freedesktop.org</a>
|
<a href="http://freedesktop.org" target="_parent">freedesktop.org</a>.
|
||||||
instead of SourceForge.
|
The old bug database on SourceForge is no longer used.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -26,16 +26,20 @@ Please follow these bug reporting guidelines:
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Make sure you're using the most recent version of Mesa
|
<li>Check if a new version of Mesa is available which might have fixed
|
||||||
<li>Make sure your bug isn't already reported
|
the problem.
|
||||||
<li>Include as much information as possible in the report
|
<li>Check if your bug is already reported in the database.
|
||||||
|
<li>Monitor your bug report for requests for additional information, etc.
|
||||||
|
<li>If you're reporting a crash, try to use your debugger (gdb) to get a stack
|
||||||
|
trace. Also, recompile Mesa in debug mode to get more detailed information.
|
||||||
|
<li>Describe in detail how to reproduce the bug, especially with games
|
||||||
|
and applications that the Mesa developers might not be familiar with.
|
||||||
<li>Provide a simple GLUT-based test program if possible
|
<li>Provide a simple GLUT-based test program if possible
|
||||||
<li>Check back for follow-ups to the report
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Bug reports will automatically be forwarded to the Mesa developer's mailing
|
Bug reports will automatically be forwarded by bugzilla to the Mesa
|
||||||
list.
|
developer's mailing list.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
107
docs/cell.html
Normal file
107
docs/cell.html
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Cell Driver</TITLE>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<H1>Mesa Cell Driver</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The Mesa
|
||||||
|
<a href="http://en.wikipedia.org/wiki/Cell_%28microprocessor%29" target="_parent">Cell</a>
|
||||||
|
driver is part of the
|
||||||
|
<a href="http://www.tungstengraphics.com/wiki/index.php/Gallium3D" target="_parent">Gallium3D</a>
|
||||||
|
architecture.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://www.tungstengraphics.com/" target="_parent">Tungsten Graphics</a>
|
||||||
|
is leading the project.
|
||||||
|
Two phases are planned.
|
||||||
|
First, to implement the framework for parallel rasterization using the Cell
|
||||||
|
SPEs, including texture mapping.
|
||||||
|
Second, to implement a full-featured OpenGL driver with support for GLSL, etc.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Source Code</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The Cell driver source code is on the <code>gallium-0.1</code> branch of the
|
||||||
|
git repository.
|
||||||
|
After you've cloned the repository, check out the branch with:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
git-checkout -b gallium-0.1 origin/gallium-0.1
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
To build the driver you'll need the IBM Cell SDK (version 2.1 or 3.0).
|
||||||
|
To use the driver you'll need a Cell system, such as a PS3 running Linux,
|
||||||
|
or the Cell Simulator (untested, though).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If using Cell SDK 3.0, first edit configs/linux-cell and add
|
||||||
|
<code>-DSPU_MAIN_PARAM_LONG_LONG</code> to the SPU_CFLAGS.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To compile the code, run <code>make linux-cell</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To use the library, make sure <code>LD_LIBRARY_PATH</code> points the Mesa/lib/
|
||||||
|
directory that contains <code>libGL.so</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Verify that the Cell driver is being used by running <code>glxinfo</code>
|
||||||
|
and looking for:
|
||||||
|
<pre>
|
||||||
|
OpenGL renderer string: Gallium 0.1, Cell on Xlib
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Driver Implementation Summary</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Rasterization is parallelized across the SPUs in a tiled-based manner.
|
||||||
|
Batches of transformed triangles are sent to the SPUs (actually, pulled by from
|
||||||
|
main memory by the SPUs).
|
||||||
|
Each SPU loops over a set of 32x32-pixel screen tiles, rendering the triangles
|
||||||
|
into each tile.
|
||||||
|
Because of the limited SPU memory, framebuffer tiles are paged in/out of
|
||||||
|
SPU local store as needed.
|
||||||
|
Similarly, textures are tiled and brought into local store as needed.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
More recently, vertex transformation has been parallelized across the SPUs
|
||||||
|
as well.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Status</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
As of February 2008 the driver supports smooth/flat shaded triangle rendering
|
||||||
|
with Z testing and simple texture mapping.
|
||||||
|
Simple demos like gears run successfully.
|
||||||
|
To test texture mapping, try progs/demos/texcyl (press right mouse button for
|
||||||
|
rendering options).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Contributing</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you're interested in contributing to the effort, familiarize yourself
|
||||||
|
with the code, join the <a href="lists.html">mesa3d-dev mailing list</a>,
|
||||||
|
and describe what you'd like to do.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
@@ -75,6 +75,7 @@ a:visited {
|
|||||||
<li><a href="subset.html" target="MainFrame">Mesa Subset Driver</a>
|
<li><a href="subset.html" target="MainFrame">Mesa Subset Driver</a>
|
||||||
<li><a href="glfbdev-driver.html" target="MainFrame">glFBDev Driver</a>
|
<li><a href="glfbdev-driver.html" target="MainFrame">glFBDev Driver</a>
|
||||||
<LI><A HREF="dispatch.html" target="MainFrame">GL Dispatch</A>
|
<LI><A HREF="dispatch.html" target="MainFrame">GL Dispatch</A>
|
||||||
|
<li><a href="cell.html" target="MainFrame">Cell Driver</A>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<b>Links</b>
|
<b>Links</b>
|
||||||
|
|||||||
@@ -135,12 +135,12 @@ Update the docs/VERSIONS file too.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Edit configs/default and change the MESA_MAJOR, MESA_MINOR and MESA_TINY
|
Edit the MESA_MAJOR, MESA_MINOR and MESA_TINY version numbers in
|
||||||
version numbers.
|
configs/default.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Make sure the values in src/mesa/main/version.h is correct.
|
Make sure the values in src/mesa/main/version.h are correct.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -9,11 +9,7 @@
|
|||||||
<H1>Downloading</H1>
|
<H1>Downloading</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Last development release: <b>6.5.3</b>
|
Last stable release: <b>7.0.3</b>
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Last stable release: <b>6.4.2</b>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -187,24 +187,7 @@ has Mesa packages (like RPM or DEB) which you can easily install.
|
|||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
|
|
||||||
<h2><a name="part2">2.2 Running <code>configure; make</code> doesn't Work</a></h2>
|
<h2><a name="part2">2.2 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
|
||||||
<p>
|
|
||||||
Mesa no longer supports GNU autoconf/automake. Why?
|
|
||||||
<ul>
|
|
||||||
<li>It seemed to seldom work on anything but Linux
|
|
||||||
<li>The config files were hard to maintain and hard to understand
|
|
||||||
<li>libtool caused a lot of grief
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Now Mesa again uses a conventional Makefile system (as it did originally).
|
|
||||||
Basically, each Makefile in the tree includes one of the configuration
|
|
||||||
files from the config/ directory.
|
|
||||||
The config files specify all the variables for a variety of popular systems.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<h2><a name="part2">2.3 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
|
|
||||||
<p>
|
<p>
|
||||||
<a name="part2">You're application is written in IRIS GL, not OpenGL.
|
<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)
|
IRIS GL was the predecessor to OpenGL and is a different thing (almost)
|
||||||
@@ -213,7 +196,7 @@ Mesa's not the solution.
|
|||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
|
|
||||||
<h2><a name="part2">2.4 Where is the GLUT library?</a></h2>
|
<h2><a name="part2">2.3 Where is the GLUT library?</a></h2>
|
||||||
<p>
|
<p>
|
||||||
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaGLUT-x.y.z.tar.gz file.
|
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaGLUT-x.y.z.tar.gz file.
|
||||||
If you don't already have GLUT installed, you should grab the MesaGLUT
|
If you don't already have GLUT installed, you should grab the MesaGLUT
|
||||||
@@ -222,7 +205,7 @@ package and compile it with the rest of Mesa.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2><a name="part2">2.5 What's the proper place for the libraries and headers?</a></h2>
|
<h2><a name="part2">2.4 What's the proper place for the libraries and headers?</a></h2>
|
||||||
<p>
|
<p>
|
||||||
<a name="part2">On Linux-based systems you'll want to follow the
|
<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"
|
</a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html"
|
||||||
@@ -342,12 +325,12 @@ will fix the problem.
|
|||||||
|
|
||||||
<h2>4.1 How can I contribute?</a></h2>
|
<h2>4.1 How can I contribute?</a></h2>
|
||||||
<p>
|
<p>
|
||||||
First, join the <a href="http://www.mesa3d.org/lists.html>Mesa3d-dev
|
First, join the <a href="http://www.mesa3d.org/lists.html">Mesa3d-dev
|
||||||
mailing list</a>.
|
mailing list</a>.
|
||||||
That's where Mesa development is discussed.
|
That's where Mesa development is discussed.
|
||||||
</a></p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The </a><a href="http://www.opengl.org/documentation" target="_parent">
|
The <a href="http://www.opengl.org/documentation" target="_parent">
|
||||||
OpenGL Specification</a> is the bible for OpenGL implemention work.
|
OpenGL Specification</a> is the bible for OpenGL implemention work.
|
||||||
You should read it.
|
You should read it.
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
<html>
|
<html><head><title>Mesa fbdev/DRI Environment</title>
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Mesa fbdev/DRI Environment</TITLE>
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
<BODY>
|
<body>
|
||||||
|
|
||||||
<center><H1>Mesa fbdev/DRI Drivers</H1></center>
|
<center><h1>Mesa fbdev/DRI Drivers</h1></center>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<h1>1. Introduction</h1>
|
||||||
<H1>1. Introduction</H1>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The fbdev/DRI environment supports hardware-accelerated 3D rendering without
|
The fbdev/DRI environment supports hardware-accelerated 3D rendering without
|
||||||
@@ -22,48 +22,131 @@ Contributors to this project include Jon Smirl, Keith Whitwell and Dave Airlie.
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
Applications in the fbdev/DRI environment use
|
Applications in the fbdev/DRI environment use
|
||||||
the <a href="MiniGXL.html"> MiniGLX</a> interface to choose pixel
|
the <a href="http://www.nabble.com/file/p15480666/MiniGXL.html"> MiniGLX</a> interface to choose pixel
|
||||||
formats, create rendering contexts, etc. It's a subset of the GLX and
|
formats, create rendering contexts, etc. It's a subset of the GLX and
|
||||||
Xlib interfaces allowing some degree of application portability between
|
Xlib interfaces allowing some degree of application portability between
|
||||||
the X and X-less environments.
|
the X and X-less environments.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Note that this environment is not well-supported and these instructions
|
||||||
|
may not be completely up to date.
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1>2. Compilation</h1>
|
<h1>2. Compilation</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
You'll need the DRM and pciaccess libraries. Check with:
|
|
||||||
|
<h2>2.1 glxproto</h2>
|
||||||
|
|
||||||
|
Get <a href="http://cvsweb.xfree86.org/cvsweb/*checkout*/xc/include/GL/glxproto.h?rev=1.9">glxproto.h</a>. Copy it to the /mesa/include/GL/ directory.
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
|
||||||
pkg-config --modversion libdrm
|
<h2>2.2 libpciaccess</h2>
|
||||||
pkg-config --modversion pciaccess
|
<p>
|
||||||
|
Check if you have libpciaccess installed:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>pkg-config --modversion pciaccess
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
If not you can download the latest code from:
|
||||||
|
</p>
|
||||||
|
<pre> git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
Run autogen.sh to generate a configure file. autogen.sh uses autoconf
|
||||||
|
utility. This utility may not be installed with your linux distro,
|
||||||
|
check if it is available. if not you can use your package manager or
|
||||||
|
type:
|
||||||
|
</p>
|
||||||
|
<pre>sudo apt-get install autoconf
|
||||||
|
</pre>
|
||||||
|
The next step is to install the libpciaccess library.
|
||||||
|
<pre>make
|
||||||
|
make install
|
||||||
|
</pre>
|
||||||
|
<p> Now your libpciaccess.a file is saved into /usr/local/lib
|
||||||
|
directory. If you have a libpciaccess.a in /usr/lib you may simply copy
|
||||||
|
and overwrite these files. Don't forget to copy libpciaccess.pc file to
|
||||||
|
/usr/lib/pkgconfig, which is also located in /usr/local/lib/pkgconfig/.
|
||||||
|
Or you may use the following system variables:
|
||||||
|
</p>
|
||||||
|
<pre>export LD_LIBRARY_PATH=/usr/local/lib
|
||||||
|
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<h2>2.3 drm</h2>
|
||||||
You can get them from the git repository with:
|
|
||||||
|
<p>The next step is to compile the drm. DRM consists of two seperate parts,
|
||||||
|
the DRM client library(lindrm.so) and kernel device module(such as
|
||||||
|
radeon.ko). We need to make a small change in kernel device module. So
|
||||||
|
you need to download the kernel source. You may choose the nearest
|
||||||
|
mirror from www.kernel.org, or you are using Fedora Core 5, for
|
||||||
|
example, you may need to install RPMs such as:
|
||||||
|
kernel-smp-devel-2.16.15-1.2054_FC5.i686.rpm
|
||||||
|
kernel-devel-2.6.15-1.2054_FC5.i686.rpm
|
||||||
|
etc. You can find a detailed information <a href="http://www.howtoforge.com/kernel_compilation_fedora">here.</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>You will find drm_drv.c at /usr/src/LINUX-VERSION/drivers/char/drm/. Edit this code and comment out the following part:
|
||||||
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
git clone git://anongit.freedesktop.org/git/mesa/drm
|
/* ||
|
||||||
git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess
|
((ioctl->flags & DRM_MASTER) && !priv->master)*/
|
||||||
</pre>
|
</pre>
|
||||||
|
Now you are ready to compile your kernel. If your kernel version is
|
||||||
<p>
|
identical to the version you have compiled, you can simply over write
|
||||||
See the README files in those projects for build/install instructions.
|
your new "ko" files over older ones. If you have compiled a different
|
||||||
</p>
|
kernel, you must configure your grub or lilo to be able to boot your
|
||||||
|
new kernel. <p>
|
||||||
|
|
||||||
<p>
|
|
||||||
You'll need fbdev header files. Check with:
|
You'll need fbdev header files. Check with:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
ls -l /usr/include/linux/fb.h
|
ls -l /usr/include/linux/fb.
|
||||||
</pre>
|
</pre>
|
||||||
|
<p>This file may be missing if you have not installed linux header files.
|
||||||
|
|
||||||
<p>
|
|
||||||
Compile Mesa with the 'linux-solo' configuration:
|
<h2>2.4 Mesa</h2>
|
||||||
|
|
||||||
|
</p><p>Get latest development Mesa sources from git repository
|
||||||
|
(currently 7.1-prerelease)
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
make linux-solo
|
git clone git://anongit.freedesktop.org/git/mesa/mesa
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>You will need the makedepend utility which is a part of mesa project
|
||||||
|
to build your linux-solo. You probably wont have this utility. You can
|
||||||
|
download its source from following git repulsitory:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
git clone git://anongit.freedesktop.org/git/xorg/util/makedepend
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>Get the latest stable mesa version from SourceForge (currently 7.0.3)
|
||||||
|
<a href="http://sourceforge.net/project/showfiles.php?group_id=3">http://sourceforge.net/project/showfiles.php?group_id=3</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Copy the miniglx folder from 7.1-prerelease to 7.0.3.
|
||||||
|
You may also extract GLUT to 7.0.3 version at this step.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Edit linux-solo.conf at /conf directory, just only compile the
|
||||||
|
graphics driver you need, delete the unwanted drivers names from the
|
||||||
|
list(some drivers are causing problems...)
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
while(build==0)
|
||||||
|
{
|
||||||
|
make linux-solo
|
||||||
|
|
||||||
|
There will be some missing header files, copy them from 7.1-prerelease
|
||||||
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -71,22 +154,40 @@ When complete you should have the following:
|
|||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>lib/libGL.so - the GL library which applications link with
|
<li>lib/libGL.so - the GL library which applications link with
|
||||||
<li>lib/*_dri_so - DRI drivers
|
</li><li>lib/*_dri_so - DRI drivers
|
||||||
<li>lib/miniglx.conf - sample MiniGLX config file
|
</li><li>lib/miniglx.conf - sample MiniGLX config file
|
||||||
<li>progs/miniglx/* - several MiniGLX sample programs
|
</li><li>progs/miniglx/* - several MiniGLX sample programs
|
||||||
</ul>
|
</li></ul>
|
||||||
|
|
||||||
|
To install these files into appropriate locations in system:
|
||||||
|
<pre>
|
||||||
|
make install
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Now your openGL libraries are copied to /usr/local/lib and
|
||||||
|
miniglx.conf is copied to /etc. You may copy them to /usr/lib and
|
||||||
|
overwrite your old GL libraries. Or you may export following variable:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
export LIBGL_DRIVERS_PATH=/usr/local/lib
|
||||||
|
</pre>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
<h1>3. Using fbdev/DRI</h1>
|
<h1>3. Using fbdev/DRI</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If an X server currently running, exit/stop it so you're working from
|
If an X server currently running, exit/stop it so you're working from
|
||||||
the console.
|
the console. Following command shuts down the x window and also the multi user support.
|
||||||
</p>
|
</p>
|
||||||
|
<pre>
|
||||||
|
init 1
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>Also you may define the runlevel as 1 in "/etc/inittab". Your system
|
||||||
<h2>3.1 Load Kernel Modules</h2>
|
will always start in single user mode and without x-window with this
|
||||||
|
option set.
|
||||||
|
</p><h2>3.1 Load Kernel Modules</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
You'll need to load the kernel modules specific to your graphics hardware.
|
You'll need to load the kernel modules specific to your graphics hardware.
|
||||||
@@ -100,8 +201,7 @@ As root, the kernel modules can be loaded as follows:
|
|||||||
<p>
|
<p>
|
||||||
If you have Intel i915/i945 hardware:
|
If you have Intel i915/i945 hardware:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre> modprobe agpgart # the AGP GART module
|
||||||
modprobe agpgart # the AGP GART module
|
|
||||||
modprobe intelfb # the Intel fbdev driver
|
modprobe intelfb # the Intel fbdev driver
|
||||||
modprobe i915 # the i915/945 DRI kernel module
|
modprobe i915 # the i915/945 DRI kernel module
|
||||||
</pre>
|
</pre>
|
||||||
@@ -109,8 +209,7 @@ If you have Intel i915/i945 hardware:
|
|||||||
<p>
|
<p>
|
||||||
If you have ATI Radeon/R200 hardware:
|
If you have ATI Radeon/R200 hardware:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre> modprobe agpgart # the AGP GART module
|
||||||
modprobe agpgart # the AGP GART module
|
|
||||||
modprobe radeonfb # the Radeon fbdev driver
|
modprobe radeonfb # the Radeon fbdev driver
|
||||||
modprobe radeon # the Radeon DRI kernel module
|
modprobe radeon # the Radeon DRI kernel module
|
||||||
</pre>
|
</pre>
|
||||||
@@ -118,8 +217,7 @@ If you have ATI Radeon/R200 hardware:
|
|||||||
<p>
|
<p>
|
||||||
If you have ATI Rage 128 hardware:
|
If you have ATI Rage 128 hardware:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre> modprobe agpgart # the AGP GART module
|
||||||
modprobe agpgart # the AGP GART module
|
|
||||||
modprobe aty128fb # the Rage 128 fbdev driver
|
modprobe aty128fb # the Rage 128 fbdev driver
|
||||||
modprobe r128 # the Rage 128 DRI kernel module
|
modprobe r128 # the Rage 128 DRI kernel module
|
||||||
</pre>
|
</pre>
|
||||||
@@ -127,8 +225,7 @@ If you have ATI Rage 128 hardware:
|
|||||||
<p>
|
<p>
|
||||||
If you have Matrox G200/G400 hardware:
|
If you have Matrox G200/G400 hardware:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre> modprobe agpgart # the AGP GART module
|
||||||
modprobe agpgart # the AGP GART module
|
|
||||||
modprobe mgafb # the Matrox fbdev driver
|
modprobe mgafb # the Matrox fbdev driver
|
||||||
modprobe mga # the Matrox DRI kernel module
|
modprobe mga # the Matrox DRI kernel module
|
||||||
</pre>
|
</pre>
|
||||||
@@ -136,8 +233,7 @@ If you have Matrox G200/G400 hardware:
|
|||||||
<p>
|
<p>
|
||||||
To verify that the agpgart, fbdev and drm modules are loaded:
|
To verify that the agpgart, fbdev and drm modules are loaded:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre> ls -l /dev/agpgart /dev/fb* /dev/dri
|
||||||
ls -l /dev/agpgart /dev/fb* /dev/dri
|
|
||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
Alternately, use lsmod to inspect the currently installed modules.
|
Alternately, use lsmod to inspect the currently installed modules.
|
||||||
@@ -148,16 +244,15 @@ If you have problems, look at the output of dmesg.
|
|||||||
<h2>3.2 Configuration File</h2>
|
<h2>3.2 Configuration File</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Copy the sample miniglx.conf to /etc/miniglx.conf and review/edit its contents.
|
review/edit /etc/miniglx.conf.
|
||||||
Alternately, the MINIGLX_CONF environment variable can be used to
|
Alternately, the MINIGLX_CONF environment variable can be used to
|
||||||
indicate the location of miniglx.conf
|
indicate the location of miniglx.conf
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To determine the pciBusID value, run lspci and examine the output.
|
To determine the pciBusID value, run lspci and examine the output.
|
||||||
For example:
|
For example:
|
||||||
</p>
|
<p></p>
|
||||||
<pre>
|
<pre> /sbin/lspci:
|
||||||
/sbin/lspci:
|
|
||||||
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 04)
|
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 04)
|
||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
@@ -180,15 +275,13 @@ for example.
|
|||||||
Change to the <code>Mesa/progs/miniglx/</code> directory and
|
Change to the <code>Mesa/progs/miniglx/</code> directory and
|
||||||
start the sample_server program in the background:
|
start the sample_server program in the background:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre> ./sample_server &
|
||||||
./sample_server &
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Then try running the <code>miniglxtest</code> program:
|
Then try running the <code>miniglxtest</code> program:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre> ./miniglxtest
|
||||||
./miniglxtest
|
|
||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
You should see a rotating quadrilateral which changes color as it rotates.
|
You should see a rotating quadrilateral which changes color as it rotates.
|
||||||
@@ -199,7 +292,7 @@ It will exit automatically after a bit.
|
|||||||
If you run other tests in the miniglx/ directory, you may want to run
|
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.
|
them from a remote shell so that you can stop them with ctrl-C.
|
||||||
</p>
|
</p>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
<h1>4.0 Troubleshooting</h1>
|
<h1>4.0 Troubleshooting</h1>
|
||||||
@@ -208,8 +301,7 @@ them from a remote shell so that you can stop them with ctrl-C.
|
|||||||
<li>
|
<li>
|
||||||
If you try to run miniglxtest and get the following:
|
If you try to run miniglxtest and get the following:
|
||||||
<br>
|
<br>
|
||||||
<pre>
|
<pre> [miniglx] failed to probe chipset
|
||||||
[miniglx] failed to probe chipset
|
|
||||||
connect: Connection refused
|
connect: Connection refused
|
||||||
server connection lost
|
server connection lost
|
||||||
</pre>
|
</pre>
|
||||||
@@ -223,7 +315,7 @@ It means that the sample_server process is not running.
|
|||||||
<h1>5.0 Programming Information</h1>
|
<h1>5.0 Programming Information</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
OpenGL/Mesa is interfaced to fbdev via the <a href="MiniGLX.html">MiniGLX</a>
|
OpenGL/Mesa is interfaced to fbdev via the <a href="http://www.nabble.com/file/p15480666/MiniGLX.html">MiniGLX</a>
|
||||||
interface.
|
interface.
|
||||||
MiniGLX is a subset of Xlib and GLX API functions which provides just
|
MiniGLX is a subset of Xlib and GLX API functions which provides just
|
||||||
enough functionality to setup OpenGL rendering and respond to simple
|
enough functionality to setup OpenGL rendering and respond to simple
|
||||||
@@ -244,5 +336,6 @@ See the <code>GL/miniglx.h</code> header file for details.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<BODY>
|
<BODY>
|
||||||
|
|
||||||
<H1>Help Wanted</H1>
|
<H1>Help Wanted / To-Do List</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
We can always use more help with the Mesa project.
|
We can always use more help with the Mesa project.
|
||||||
@@ -14,36 +14,13 @@ Here are some specific ideas and areas where help would be appreciated:
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li><p>
|
<li>
|
||||||
Generate the src/mesa/main/enums.c file with a Python script which
|
Enable -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing
|
||||||
uses the gl_API.xml file.
|
issues in the code.
|
||||||
</p>
|
<li>
|
||||||
<li><p>
|
Windows 98/NT driver building, maintenance and testing
|
||||||
Try to auto-generate the display list "save" functions seen in dlist.c
|
<li>
|
||||||
using a Python script and the gl_API.xml file.
|
Maintenance and testing of lesser-used drivers, such as DOS/DJGPP, GGI, etc.
|
||||||
The gl_API.xml file will probably need a new tag to indicate whether or
|
|
||||||
not each function gets compiled into display lists.
|
|
||||||
</p>
|
|
||||||
<li><p>
|
|
||||||
Maintenance of assembly language files on Linux, Windows and SPARC systems.
|
|
||||||
</p>
|
|
||||||
<li><p>
|
|
||||||
Help to incorporate the 3Dlabs' shading language compiler for OpenGL 2.0.
|
|
||||||
</p>
|
|
||||||
<li><p>
|
|
||||||
Implement assembly language (SSE/MMX) code generation for
|
|
||||||
vertex/fragment programs.
|
|
||||||
</p>
|
|
||||||
<li><p>
|
|
||||||
Windows 98/NT driver building, maintenance and testing
|
|
||||||
(Karl Schultz has been doing a great job of this lately).
|
|
||||||
</p>
|
|
||||||
<li><p>
|
|
||||||
Maintenance and testing of various drivers, such as DOS/DJGPP, GGI, etc.
|
|
||||||
</p>
|
|
||||||
<li><p>
|
|
||||||
Write new tests for Glean.
|
|
||||||
</p>
|
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,10 +21,53 @@
|
|||||||
<a name="unix-x11">
|
<a name="unix-x11">
|
||||||
<H2>1. Unix/X11 Compilation and Installation</H1>
|
<H2>1. Unix/X11 Compilation and Installation</H1>
|
||||||
|
|
||||||
<h3>1.1 Compilation</h3>
|
|
||||||
|
<h3>1.1 Prerequisites for DRI and Hardware Acceleration</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Mesa may be compiled in several different ways:
|
To build Mesa with DRI-based hardware acceleration you must first have
|
||||||
|
the right version of DRM.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
For Mesa 7.1 a particular snapshot of
|
||||||
|
<a href="http://dri.freedesktop.org/libdrm/">DRM</a> from git is required:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
git-clone git://anongit.freedesktop.org/git/mesa/drm
|
||||||
|
git-checkout (XXXX HASH ID TBD)
|
||||||
|
</pre>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You should also be using Xorg server version 1.4
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3>1.2 Autoconf Compilation</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa may be <a href="autoconf.html">built using autoconf</a>.
|
||||||
|
This should work well on most GNU-based systems.
|
||||||
|
When that fails, the traditional Mesa build system is available.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3>1.3 Traditional Compilation</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The traditional Mesa build system is based on a collection of pre-defined
|
||||||
|
system configurations.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
To see the list of configurations, type <b>make</b> alone.
|
||||||
|
Then choose a configuration from the list and type <b>make configname</b>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa may be built in several different ways using the predefined configurations:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><b><em>Stand-alone/Xlib mode</em></b> - Mesa will be compiled as
|
<li><b><em>Stand-alone/Xlib mode</em></b> - Mesa will be compiled as
|
||||||
@@ -49,62 +92,6 @@ accelerated OpenGL rendering (for ATI, Intel, Matrox, etc) will be built.
|
|||||||
The libGL.so library will support the GLX extension and will load/use
|
The libGL.so library will support the GLX extension and will load/use
|
||||||
the DRI hardware drivers.
|
the DRI hardware drivers.
|
||||||
|
|
||||||
<p>
|
|
||||||
<b>Prerequisites:</b>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<p>
|
|
||||||
DRM kernel modules and header files from the
|
|
||||||
<a href="http://dri.sf.net/" target="_parent">DRI</a> project.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
If you don't already have the DRM file, you can get the sources from
|
|
||||||
CVS by doing:
|
|
||||||
<pre>
|
|
||||||
cvs -z3 -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri co drm
|
|
||||||
</pre>
|
|
||||||
<p>
|
|
||||||
See the <a href="http://dri.freedesktop.org/wiki/Building" target="_parent">
|
|
||||||
DRI Building Instructions</a> for the steps to build the DRM modules. Mesa
|
|
||||||
6.5 requires at least libdrm 2.0.1 or greater.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
You can verify that the DRM files have been properly installed by
|
|
||||||
running <code>pkg-config --modversion libdrm</code>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
Recent /usr/include/GL/glxproto.h file.
|
|
||||||
<p>You'll need this if you get any errors about _GLXvop_BindTexImageEXT
|
|
||||||
being undefined.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Download/install the
|
|
||||||
<a href="http://gitweb.freedesktop.org/?p=xorg/proto/glproto.git">glproto</a>
|
|
||||||
module from X.org git, or grab the
|
|
||||||
<A href="http://webcvs.freedesktop.org/*checkout*/xorg/proto/GL/glxproto.h?rev=1.9&content-type=text%2Fplain">glxproto.h file</a> and put it in the
|
|
||||||
Mesa/include/GL/ directory.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>DRI-enabled X server.
|
|
||||||
<p>Visit
|
|
||||||
<a href="http://www.xfree86.org" target="_parent">XFree86</a>
|
|
||||||
or
|
|
||||||
<a href="http://freedesktop.org/wiki/Software_2fXserver" target="_parent">
|
|
||||||
X.org</a>
|
|
||||||
for more information.
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Build Mesa and the DRI hardware drivers by running
|
Build Mesa and the DRI hardware drivers by running
|
||||||
@@ -117,8 +104,13 @@ There are also <code>linux-dri-x86</code>, <code>linux-dri-x86-64</code>,
|
|||||||
and <code>linux-ppc</code> configurations which are optimized for those
|
and <code>linux-ppc</code> configurations which are optimized for those
|
||||||
architectures.
|
architectures.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
Make sure you have the prerequisite versions of DRM and Xserver mentioned
|
||||||
|
above.
|
||||||
|
</p>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
@@ -128,7 +120,7 @@ Later, if you want to rebuild for a different configuration run
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<h3>1.2 The libraries</h3>
|
<h3>1.4 The libraries</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
When compilation has finished, look in the top-level <code>lib/</code>
|
When compilation has finished, look in the top-level <code>lib/</code>
|
||||||
@@ -169,15 +161,15 @@ lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSM
|
|||||||
If you built the DRI hardware drivers, you'll also see the DRI drivers:
|
If you built the DRI hardware drivers, you'll also see the DRI drivers:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
-rwxr-xr-x 1 brian users 15607851 Jul 21 12:11 ffb_dri.so*
|
-rwxr-xr-x 1 brian users 15607851 Jul 21 12:11 ffb_dri.so
|
||||||
-rwxr-xr-x 1 brian users 15148747 Jul 21 12:11 i810_dri.so*
|
-rwxr-xr-x 1 brian users 15148747 Jul 21 12:11 i810_dri.so
|
||||||
-rwxr-xr-x 1 brian users 14497814 Jul 21 12:11 i830_dri.so*
|
-rwxr-xr-x 1 brian users 14497814 Jul 21 12:11 i830_dri.so
|
||||||
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so*
|
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so
|
||||||
-rwxr-xr-x 1 brian users 11320803 Jul 21 12:11 mach64_dri.so
|
-rwxr-xr-x 1 brian users 11320803 Jul 21 12:11 mach64_dri.so
|
||||||
-rwxr-xr-x 1 brian users 11418014 Jul 21 12:12 mga_dri.so
|
-rwxr-xr-x 1 brian users 11418014 Jul 21 12:12 mga_dri.so
|
||||||
-rwxr-xr-x 1 brian users 11064426 Jul 21 12:12 r128_dri.so
|
-rwxr-xr-x 1 brian users 11064426 Jul 21 12:12 r128_dri.so
|
||||||
-rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
|
-rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
|
||||||
-rwxr-xr-x 1 brian users 16050488 Jul 21 12:11 r300_dri.so*
|
-rwxr-xr-x 1 brian users 16050488 Jul 21 12:11 r300_dri.so
|
||||||
-rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
|
-rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
|
||||||
-rwxr-xr-x 1 brian users 11232304 Jul 21 12:13 s3v_dri.so
|
-rwxr-xr-x 1 brian users 11232304 Jul 21 12:13 s3v_dri.so
|
||||||
-rwxr-xr-x 1 brian users 11062970 Jul 21 12:13 savage_dri.so
|
-rwxr-xr-x 1 brian users 11062970 Jul 21 12:13 savage_dri.so
|
||||||
@@ -188,7 +180,7 @@ If you built the DRI hardware drivers, you'll also see the DRI drivers:
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
<h3>1.3 Running the demos</h3>
|
<h3>1.5 Running the demos</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you downloaded/unpacked the MesaDemos-x.y.z.tar.gz archive or
|
If you downloaded/unpacked the MesaDemos-x.y.z.tar.gz archive or
|
||||||
@@ -197,18 +189,15 @@ bunch of demonstration programs.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Before running a demo, you may have to set an environment variable
|
Before running a demo, you'll probably have to set two environment variables
|
||||||
(such as <b>LD_LIBRARY_PATH</b> on Linux) to indicate where the
|
to indicate where the libraries are located. For example:
|
||||||
libraries are located. For example:
|
|
||||||
<p>
|
<p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<b>cd</b> into the Mesa <b>lib/</b> directory.
|
<b>cd lib/</b>
|
||||||
<br>
|
<br>
|
||||||
<b>setenv LD_LIBRARY_PATH ${cwd}</b> (if using csh or tcsh shell)
|
<b>export LD_LIBRARY_PATH=${PWD}</b>
|
||||||
<br>
|
<br>
|
||||||
or,
|
<b>export LIBGL_DRIVERS_PATH=${PWD}</b> (if using DRI drivers)
|
||||||
<br>
|
|
||||||
<b>export LD_LIBRARY_PATH=${PWD}</b> (if using bash or sh shell)
|
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -266,7 +255,7 @@ Retrace your steps if this doesn't look right.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<H3>1.4 Installing the header and library files</H3>
|
<H3>1.6 Installing the header and library files</H3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The standard location for the OpenGL header files on Unix-type systems is
|
The standard location for the OpenGL header files on Unix-type systems is
|
||||||
@@ -287,7 +276,15 @@ already installed, you'll have to choose different directories, like
|
|||||||
To install Mesa's headers and libraries, run <code>make install</code>.
|
To install Mesa's headers and libraries, run <code>make install</code>.
|
||||||
But first, check the Mesa/configs/default file and examine the values
|
But first, check the Mesa/configs/default file and examine the values
|
||||||
of the <b>INSTALL_DIR</b> and <b>DRI_DRIVER_INSTALL_DIR</b> variables.
|
of the <b>INSTALL_DIR</b> and <b>DRI_DRIVER_INSTALL_DIR</b> variables.
|
||||||
Change them if needed, then run <code>make install</code>
|
Change them if needed, then run <code>make install</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The variable
|
||||||
|
<b>DESTDIR</b> may also be used to install the contents to a temporary
|
||||||
|
staging directory.
|
||||||
|
This can be useful for package management.
|
||||||
|
For example: <code>make install DESTDIR=/somepath/</code>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -298,6 +295,26 @@ This is a handy way to compare multiple OpenGL implementations.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H3>1.7 Building OpenGL Programs With pkg-config</H3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Running <code>make install</code> will install package configuration files
|
||||||
|
for the pkg-config utility.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
When compiling your OpenGL application you can use pkg-config to determine
|
||||||
|
the proper compiler and linker flags.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
For example, compiling and linking a GLUT application can be done with:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
<a name="windows">
|
<a name="windows">
|
||||||
<H2>2. Windows Compilation and Installation</H1>
|
<H2>2. Windows Compilation and Installation</H1>
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ GL_ARB_fragment_program extensions.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
May 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
|
June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
|
||||||
and OpenGL Shading Language.
|
and OpenGL Shading Language.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|||||||
@@ -86,29 +86,32 @@ and their respective licenses.
|
|||||||
<H1>Mesa Component Licenses</H1>
|
<H1>Mesa Component Licenses</H1>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
Component Location Primary Author License
|
Component Location License
|
||||||
----------------------------------------------------------------------------
|
------------------------------------------------------------------
|
||||||
Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
|
Main Mesa code src/mesa/ Mesa (MIT)
|
||||||
|
|
||||||
Device drivers src/mesa/drivers/* See drivers See drivers
|
Device drivers src/mesa/drivers/* MIT, generally
|
||||||
|
|
||||||
Ext headers include/GL/glext.h SGI SGI Free B
|
Ext headers include/GL/glext.h Khronos
|
||||||
include/GL/glxext.h
|
include/GL/glxext.h
|
||||||
|
|
||||||
GLUT src/glut/ Mark Kilgard Mark's copyright
|
GLUT src/glut/ Mark Kilgard's copyright
|
||||||
|
|
||||||
Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
|
SGI GLU library src/glu/sgi/ SGI Free B
|
||||||
|
|
||||||
SGI GLU library src/glu/sgi/ SGI SGI Free B
|
demo programs progs/demos/ see source files
|
||||||
|
|
||||||
demo programs progs/demos/ various see source files
|
X demos progs/xdemos/ see source files
|
||||||
|
|
||||||
X demos progs/xdemos/ Brian Paul see source files
|
SGI demos progs/samples/ SGI license
|
||||||
|
|
||||||
SGI demos progs/samples/ SGI SGI copyright
|
RedBook demos progs/redbook/ SGI license
|
||||||
|
|
||||||
RedBook demos progs/redbook/ SGI SGI copyright
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
In general, consult the source files for license terms.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
</li><li><a href="http://innovation3d.sourceforge.net/" target="_parent">Innovation3D</a>
|
</li><li><a href="http://innovation3d.sourceforge.net/" target="_parent">Innovation3D</a>
|
||||||
- 3D modeling program
|
- 3D modeling program
|
||||||
</li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">KWRL</a> - VRML browser
|
</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>
|
</li><li><a href="http://www.openvrml.org/" target="_parent">LibVRML97/Lookat</a>
|
||||||
- VRML viewer
|
- VRML viewer
|
||||||
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
|
</li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a>
|
||||||
- VR graphics and interaction system
|
- VR graphics and interaction system
|
||||||
|
|||||||
@@ -11,7 +11,53 @@
|
|||||||
<H1>News</H1>
|
<H1>News</H1>
|
||||||
|
|
||||||
|
|
||||||
<h2>May ???, 2007</h2>
|
<h2>April 4, 2008</h2>
|
||||||
|
<p>
|
||||||
|
<a href="relnotes-7.0.3.html">Mesa 7.0.3</a> is released.
|
||||||
|
This is a bug-fix release.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>January 24, 2008</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Added a new page describing the <a href="cell.html">Mesa Cell driver</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>November 13, 2007</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Gallium3D is the codename for the new Mesa device driver architecture
|
||||||
|
which is currently under development.
|
||||||
|
A <a href="http://www.tungstengraphics.com/wiki/index.php/Gallium3D"
|
||||||
|
target="_parent"> summary</a> of the architecture can be found on the
|
||||||
|
Tungsten Graphics website.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Gallium3D development is taking place on the <em>gallium-0.1</em> branch
|
||||||
|
of the git repository.
|
||||||
|
Currently, there's only a software-only driver and an Intel i915/945 driver
|
||||||
|
but other drivers will be coming...
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>November 10, 2007</h2>
|
||||||
|
<p>
|
||||||
|
<a href="relnotes-7.0.2.html">Mesa 7.0.2</a> is released.
|
||||||
|
This is a bug-fix release.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>August 3, 2007</h2>
|
||||||
|
<p>
|
||||||
|
<a href="relnotes-7.0.1.html">Mesa 7.0.1</a> is released.
|
||||||
|
This is a bug-fix release.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>June 22, 2007</h2>
|
||||||
<p>
|
<p>
|
||||||
<a href="relnotes-7.0.html">Mesa 7.0</a> is released.
|
<a href="relnotes-7.0.html">Mesa 7.0</a> is released.
|
||||||
This is a stable release featuring OpenGL 2.1 support.
|
This is a stable release featuring OpenGL 2.1 support.
|
||||||
|
|||||||
101
docs/relnotes-7.0.1.html
Normal file
101
docs/relnotes-7.0.1.html
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Release Notes</TITLE>
|
||||||
|
|
||||||
|
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<body bgcolor="#eeeeee">
|
||||||
|
|
||||||
|
<H1>Mesa 7.0.1 Release Notes / August 3, 2007</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>MD5 checksums</h2>
|
||||||
|
<pre>
|
||||||
|
db55141a44b902fcc61d9265b7862c06 MesaLib-7.0.1.tar.gz
|
||||||
|
c056abd763e899114bf745c9eedbf9ad MesaLib-7.0.1.tar.bz2
|
||||||
|
ecc2637547fae2b38271ae362d013afa MesaLib-7.0.1.zip
|
||||||
|
b85a4a5be4e829f4a1165e4514b13183 MesaDemos-7.0.1.tar.gz
|
||||||
|
3b66b3268df12ca8a6c4e0c4c457912c MesaDemos-7.0.1.tar.bz2
|
||||||
|
b1c18006f16e44e80fea66774c59b391 MesaDemos-7.0.1.zip
|
||||||
|
b87a69986839ae43ce12fc8e3dc1ebb4 MesaGLUT-7.0.1.tar.gz
|
||||||
|
25f30d0c1651997b4412366ba0572f7f MesaGLUT-7.0.1.tar.bz2
|
||||||
|
676ee6682a6ce78a5540554fd975c03e MesaGLUT-7.0.1.zip
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>New features</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Added a bluegene-osmesa build config
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Bug fixes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed some MingW build issues
|
||||||
|
<li>Added a few missing OpenGL 2.0 API entrypoints:
|
||||||
|
<ul>
|
||||||
|
<li>glVertexAttrib4bv
|
||||||
|
<li>glVertexAttrib4iv
|
||||||
|
<li>glVertexAttrib4ubv
|
||||||
|
<li>glVertexAttrib4uiv
|
||||||
|
<li>glVertexAttrib4usv
|
||||||
|
</ul>
|
||||||
|
<li>Fixed glDrawPixels(GL_STENCIL_INDEX) pixel transfer bug 11457
|
||||||
|
<li>GLSL bug fix: added vec2(vec4) constructor
|
||||||
|
<li>GLSL bug fix: .strq and .rgba writemasks didn't always work
|
||||||
|
<li>Stencil pixel map didn't always work for glDrawPixels (bug 11475)
|
||||||
|
<li>Fixed polygon stipple bug in i915 driver
|
||||||
|
<li>Binding a zero-sized texture didn't disable texturing (bug 11309)
|
||||||
|
<li>Queries of GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH didn't include
|
||||||
|
the terminating zero (bug 11588)
|
||||||
|
<li>glXChooseFBConfig() in Xlib driver didn't handle GLX_STEREO flag properly
|
||||||
|
<li>Fixed a GLSL function call bug (#11731)
|
||||||
|
<li>glPointParameteriv(GL_DISTANCE_ATTENUATION_EXT) didn't work (bug 11754)
|
||||||
|
<li>glGetAttribLocation() always returned 1 (bug 11774)
|
||||||
|
<li>Fixed a few memory-related bugs in GLU library
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Changes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>The libOSMesa library version has been reverted to 6.5.3 (soname=6)
|
||||||
|
in order to avoid application linking issues. Otherwise, applications
|
||||||
|
previously linked with libOSMesa.so.6 would no longer link with libOSMesa.so.7
|
||||||
|
<li>Dropped obsolete, unmaintained Windows project files for VC6 and VC7.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>To Do (someday) items</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Switch to freeglut
|
||||||
|
<li>Fix linux-glide target/driver.
|
||||||
|
<li>Improved lambda and derivative calculation for frag progs.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Driver Status</h2>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
Driver Status
|
||||||
|
---------------------- ----------------------
|
||||||
|
DRI drivers varies with the driver
|
||||||
|
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||||
|
OSMesa (off-screen) implements OpenGL 2.1
|
||||||
|
Windows/Win32 implements OpenGL 2.1
|
||||||
|
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA unsupported
|
||||||
|
Wind River UGL unsupported
|
||||||
|
DJGPP unsupported
|
||||||
|
GGI unsupported
|
||||||
|
BeOS unsupported
|
||||||
|
Allegro unsupported
|
||||||
|
D3D unsupported
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
88
docs/relnotes-7.0.2.html
Normal file
88
docs/relnotes-7.0.2.html
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Release Notes</TITLE>
|
||||||
|
|
||||||
|
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<body bgcolor="#eeeeee">
|
||||||
|
|
||||||
|
<H1>Mesa 7.0.2 Release Notes / November 10, 2007</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>MD5 checksums</h2>
|
||||||
|
<pre>
|
||||||
|
c9cf607f36e7e50172f5f9c7d552c34e MesaLib-7.0.2.tar.gz
|
||||||
|
93e6ed7924ff069a4f883b4fce5349dc MesaLib-7.0.2.tar.bz2
|
||||||
|
10c324c3613f90f059cb8429f700f300 MesaLib-7.0.2.zip
|
||||||
|
aa8b1244a5de1d23e5814bf9b67f1435 MesaDemos-7.0.2.tar.gz
|
||||||
|
11a10410bae7be85cf25bc7119966468 MesaDemos-7.0.2.tar.bz2
|
||||||
|
1dd0b5fd6d69430a2fd76a6adbfd8fff MesaDemos-7.0.2.zip
|
||||||
|
a7dbf25c025955858bd2d89a6eb6db4c MesaGLUT-7.0.2.tar.gz
|
||||||
|
3a33f8efc8c58a592a854cfc7a643286 MesaGLUT-7.0.2.tar.bz2
|
||||||
|
eba4ef2aa8c362ead81b54357f1903a3 MesaGLUT-7.0.2.zip
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>New features</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Updated Windows VC7 project files
|
||||||
|
<li>Added DESTDIR variable for 'make install'
|
||||||
|
<li>Added pkg-config files for gl, glu, glut and glw libraries
|
||||||
|
<li>Added bluegene-xlc-osmesa and catamount-osmesa-pgi configs
|
||||||
|
<li>Support for Intel G33/Q33/Q35 graphics chipsets
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Bug fixes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed a vertex buffer wrapping issue (bug 9962)
|
||||||
|
<li>Added mutex protection around texture object reference counters
|
||||||
|
<li>Added checking/support for additional chips in the i915/i945 family
|
||||||
|
(see 11978)
|
||||||
|
<li>Fixed a blending/banding issue (bug 11931)
|
||||||
|
<li>Fixed a GLU matrix inversion bug (#6748)
|
||||||
|
<li>Fixed problem with large glDrawArrays calls and indirect rendering (bug 12141)
|
||||||
|
<li>Fixed an assortment of i965 driver bugs
|
||||||
|
<li>Fixed x86-64 vertex transformation bug (12216)
|
||||||
|
<li>Fixed X server crash caused by multiple indirect rendering clients
|
||||||
|
<li>Parsing of state.texgen in ARB vertex/fragment programs didn't work (bug 12313)
|
||||||
|
<li>Fixed a glCopyPixels/glPixelZoom bug (12417)
|
||||||
|
<li>Fixed a bug when using glMaterial in display lists (bug 10604)
|
||||||
|
<li>Fixed a few GLUT/Fortran issues (Bill Mitchell)
|
||||||
|
<li>Fixed Blender crash bug (12164)
|
||||||
|
<li>Fixed some issues preventing cross-compiling
|
||||||
|
<li>Fixed up broken GL_ATI_separate_stencil extension
|
||||||
|
<li>glDrawArrays(count=0) led to a crash
|
||||||
|
<li>Fix SSE code gen memory leak, possible crash
|
||||||
|
<li>Fixed MMX 565 rgb conversion problem (bug 12614)
|
||||||
|
<li>Added -fno-strict-aliasing and -fPIC flags for gcc
|
||||||
|
<li>Fixed Blender crash in Unichrome driver (bug 13142)
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Driver Status</h2>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
Driver Status
|
||||||
|
---------------------- ----------------------
|
||||||
|
DRI drivers varies with the driver
|
||||||
|
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||||
|
OSMesa (off-screen) implements OpenGL 2.1
|
||||||
|
Windows/Win32 implements OpenGL 2.1
|
||||||
|
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA unsupported
|
||||||
|
Wind River UGL unsupported
|
||||||
|
DJGPP unsupported
|
||||||
|
GGI unsupported
|
||||||
|
BeOS unsupported
|
||||||
|
Allegro unsupported
|
||||||
|
D3D unsupported
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
84
docs/relnotes-7.0.3.html
Normal file
84
docs/relnotes-7.0.3.html
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Release Notes</TITLE>
|
||||||
|
|
||||||
|
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<body bgcolor="#eeeeee">
|
||||||
|
|
||||||
|
<H1>Mesa 7.0.3 Release Notes / April 4, 2008</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 7.0.3 is a stable release with bug fixes since version 7.0.2.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>MD5 checksums</h2>
|
||||||
|
<pre>
|
||||||
|
3fd1cb76531b2515ef7db92d9a93dbf8 MesaLib-7.0.3.tar.gz
|
||||||
|
e6e6379d7793af40a6bc3ce1bace572e MesaLib-7.0.3.tar.bz2
|
||||||
|
97882bac195229ee0b78cab82e0e3be1 MesaLib-7.0.3.zip
|
||||||
|
8abf6bbcb1661e7dd4ce73b3fbb85898 MesaDemos-7.0.3.tar.gz
|
||||||
|
47fd6863621d3c9c7dbb870ab7f0c303 MesaDemos-7.0.3.tar.bz2
|
||||||
|
99e442e14da1928f76a7297bb421a3af MesaDemos-7.0.3.zip
|
||||||
|
2b50fe9fadc4709b57c52adef09fce3c MesaGLUT-7.0.3.tar.gz
|
||||||
|
0ff23c4e91b238abae63a5fc9fa003e7 MesaGLUT-7.0.3.tar.bz2
|
||||||
|
70e83554a4462dad28e0d6e20f79aada MesaGLUT-7.0.3.zip
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Bug fixes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Added missing glw.pc.in file to release tarball
|
||||||
|
<li>Fix GLUT/Fortran issues
|
||||||
|
<li>GLSL gl_FrontLightModelProduct.sceneColor variable wasn't defined
|
||||||
|
<li>Fix crash upon GLSL variable array indexes (not yet supported)
|
||||||
|
<li>Two-sided stencil test didn't work in software rendering
|
||||||
|
<li>Fix two-sided lighting bugs/crashes (bug 13368)
|
||||||
|
<li>GLSL gl_FrontFacing didn't work properly
|
||||||
|
<li>glGetActiveUniform returned incorrect sizes (bug 13751)
|
||||||
|
<li>Fix several bugs relating to uniforms and attributes in GLSL API (Bruce Merry, bug 13753)
|
||||||
|
<li>glTexImage3D(GL_PROXY_TEXTURE_3D) mis-set teximage depth field
|
||||||
|
<li>Fixed GLX indirect vertex array rendering bug (14197)
|
||||||
|
<li>Fixed crash when deleting framebuffer objects (bugs 13507, 14293)
|
||||||
|
<li>User-defined clip planes enabled for R300 (bug 9871)
|
||||||
|
<li>Fixed glBindTexture() crash upon bad target (bug 14514)
|
||||||
|
<li>Fixed potential crash in glDrawPixels(GL_DEPTH_COMPONENT) (bug 13915)
|
||||||
|
<li>Bad strings given to glProgramStringARB() didn't generate GL_INVALID_OPERATION
|
||||||
|
<li>Fixed minor point rasterization regression (bug 11016)
|
||||||
|
<li>state.texenv.color state var didn't work in GL_ARB_fragment_program (bug 14931)
|
||||||
|
<li>glBitmap from a PBO didn't always work
|
||||||
|
<li>glGetTexImage into a PBO didn't always work
|
||||||
|
<li>Comments at the end of ARB vertex/fragment programs crashed the parser
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Changes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Updated glext.h to version 40
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Driver Status</h2>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
Driver Status
|
||||||
|
---------------------- ----------------------
|
||||||
|
DRI drivers varies with the driver
|
||||||
|
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||||
|
OSMesa (off-screen) implements OpenGL 2.1
|
||||||
|
Windows/Win32 implements OpenGL 2.1
|
||||||
|
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA unsupported
|
||||||
|
Wind River UGL unsupported
|
||||||
|
DJGPP unsupported
|
||||||
|
GGI unsupported
|
||||||
|
BeOS unsupported
|
||||||
|
Allegro unsupported
|
||||||
|
D3D unsupported
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -8,16 +8,25 @@
|
|||||||
|
|
||||||
<body bgcolor="#eeeeee">
|
<body bgcolor="#eeeeee">
|
||||||
|
|
||||||
<H1>Mesa 7.0 Release Notes / (<em>in progress</em>)</H1>
|
<H1>Mesa 7.0 Release Notes / June 22, 2007</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Mesa 7.0 is a stable release, featuring OpenGL 2.1 API support.
|
Mesa 7.0 is a stable release, featuring OpenGL 2.1 API support.
|
||||||
|
A number of bugs have been fixed since the 6.5.3 release.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<h2>MD5 checksums</h2>
|
<h2>MD5 checksums</h2>
|
||||||
<pre>
|
<pre>
|
||||||
TBD
|
35a1698986f7ac8dc435624ee9256cda MesaLib-7.0.tar.gz
|
||||||
|
50c371455fa7532c04aa0a970f9bc51f MesaLib-7.0.tar.bz2
|
||||||
|
bcedb6f43c97c1bc49e5cc7f12835722 MesaLib-7.0.zip
|
||||||
|
9bad332c7b74f59be96556135212ca9e MesaDemos-7.0.tar.gz
|
||||||
|
fada2bc1f29da513e015fda1e3abd0c0 MesaDemos-7.0.tar.bz2
|
||||||
|
84e3bbe470d983ae32f1f0c779faf99e MesaDemos-7.0.zip
|
||||||
|
76c7bb54f9850c689eba844f6daed332 MesaGLUT-7.0.tar.gz
|
||||||
|
4af28296e02772ef1de00e4e79bf3d12 MesaGLUT-7.0.tar.bz2
|
||||||
|
9043cb0b54cc03d1874728d74b12188c MesaGLUT-7.0.zip
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
@@ -37,6 +46,12 @@ TBD
|
|||||||
<li>Fixed R300 vertex program/matrix bug (10848)
|
<li>Fixed R300 vertex program/matrix bug (10848)
|
||||||
<li>GLSL dFdx() and dFdy() work for fragment program inputs now (texcoords)
|
<li>GLSL dFdx() and dFdy() work for fragment program inputs now (texcoords)
|
||||||
<li>Specifying an invalid texture unit as a sampler could lead to a crash
|
<li>Specifying an invalid texture unit as a sampler could lead to a crash
|
||||||
|
<li>The GLX protocol request for glXDestroyPBuffer() was incorrect (bug 10983)
|
||||||
|
<li>ARB vp state.light[n].half value was incorrect (bug 10987)
|
||||||
|
<li>Fixed a positional light source bug (bug 11009)
|
||||||
|
<li>Fixed point size attenuation problem (bug 11042)
|
||||||
|
<li>glPopAttrib didn't restore texture object's LOD bias (bug 11049)
|
||||||
|
<li>Fixed a TLS / TEXTREL problem (bug 7459)
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
68
docs/relnotes-7.1.html
Normal file
68
docs/relnotes-7.1.html
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Mesa Release Notes</TITLE>
|
||||||
|
|
||||||
|
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<body bgcolor="#eeeeee">
|
||||||
|
|
||||||
|
<H1>Mesa 7.1 Release Notes / May XX, 2008</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa 7.1 is a new development release.
|
||||||
|
There have been many internal code changes since Mesa 7.0.x.
|
||||||
|
It should be relatively stable, but those who are especially concerned about
|
||||||
|
stability should wait for Mesa 7.2.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>MD5 checksums</h2>
|
||||||
|
<pre>
|
||||||
|
TBD
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>New features</h2>
|
||||||
|
<ul>
|
||||||
|
<li>autoconf-based configuration
|
||||||
|
<li>Reduced dependencies between X server and Mesa
|
||||||
|
<li>GL_EXT_texture_from_pixmap extension for Xlib driver
|
||||||
|
<li>Support for the GL shading language with i965 driver (implemented by Intel)
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>To Do (someday) items</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Remove the MEMCPY() and _mesa_memcpy() wrappers and just use memcpy().
|
||||||
|
Probably do the same for malloc, calloc, etc.
|
||||||
|
The wrappers were useful in the past for memory debugging but now we
|
||||||
|
have valgrind. Not worried about SunOS 4 support anymore either...
|
||||||
|
<li>Switch to freeglut
|
||||||
|
<li>Fix linux-glide target/driver.
|
||||||
|
<li>Improved lambda and derivative calculation for frag progs.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Driver Status</h2>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
Driver Status
|
||||||
|
---------------------- ----------------------
|
||||||
|
DRI drivers varies with the driver
|
||||||
|
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||||
|
OSMesa (off-screen) implements OpenGL 2.1
|
||||||
|
Windows/Win32 implements OpenGL 2.1
|
||||||
|
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
|
SVGA unsupported
|
||||||
|
Wind River UGL unsupported
|
||||||
|
DJGPP unsupported
|
||||||
|
GGI unsupported
|
||||||
|
BeOS unsupported
|
||||||
|
Allegro unsupported
|
||||||
|
D3D unsupported
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -20,6 +20,10 @@ The release notes summarize what's new or changed in each Mesa release.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
<LI><A HREF="relnotes-7.1.html">7.1 release notes</A>
|
||||||
|
<LI><A HREF="relnotes-7.0.3.html">7.0.3 release notes</A>
|
||||||
|
<LI><A HREF="relnotes-7.0.2.html">7.0.2 release notes</A>
|
||||||
|
<LI><A HREF="relnotes-7.0.1.html">7.0.1 release notes</A>
|
||||||
<LI><A HREF="relnotes-7.0.html">7.0 release notes</A>
|
<LI><A HREF="relnotes-7.0.html">7.0 release notes</A>
|
||||||
<LI><A HREF="relnotes-6.5.3.html">6.5.3 release notes</A>
|
<LI><A HREF="relnotes-6.5.3.html">6.5.3 release notes</A>
|
||||||
<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A>
|
<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A>
|
||||||
|
|||||||
@@ -85,6 +85,27 @@ Once your account is established:
|
|||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Windows Users</H2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you're <a href="http://git.or.cz/gitwiki/WindowsInstall" target="_parent">
|
||||||
|
using git on Windows</a> you'll want to enable automatic CR/LF conversion in
|
||||||
|
your local copy of the repository:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
git config --global core.autocrlf true
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This will cause git to convert all text files to CR+LF on checkout,
|
||||||
|
and to LF on commit.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Unix users don't need to set this option.
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
<a name="developer">
|
<a name="developer">
|
||||||
<H2>Development Branches</H2>
|
<H2>Development Branches</H2>
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ in Mesa:
|
|||||||
<li>The inverse trig functions asin(), acos(), and atan() are not implemented
|
<li>The inverse trig functions asin(), acos(), and atan() are not implemented
|
||||||
<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
|
<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
|
||||||
without perspective correction
|
without perspective correction
|
||||||
|
<li>Floating point literal suffixes 'f' and 'F' aren't allowed.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
|
|
||||||
default: full
|
default: full
|
||||||
|
|
||||||
all: full subset
|
all: full subset
|
||||||
|
|
||||||
%.tag: %.doxy
|
%.tag: %.doxy
|
||||||
doxygen $<
|
doxygen $<
|
||||||
|
|
||||||
FULL = \
|
FULL = \
|
||||||
main.doxy \
|
main.doxy \
|
||||||
math.doxy \
|
math.doxy \
|
||||||
vbo.doxy \
|
vbo.doxy \
|
||||||
glapi.doxy \
|
glapi.doxy \
|
||||||
shader.doxy \
|
shader.doxy \
|
||||||
swrast.doxy \
|
swrast.doxy \
|
||||||
swrast_setup.doxy \
|
swrast_setup.doxy \
|
||||||
tnl.doxy \
|
tnl.doxy \
|
||||||
tnl_dd.doxy
|
tnl_dd.doxy
|
||||||
|
|
||||||
full: $(FULL:.doxy=.tag)
|
full: $(FULL:.doxy=.tag)
|
||||||
$(foreach FILE,$(FULL),doxygen $(FILE);)
|
$(foreach FILE,$(FULL),doxygen $(FILE);)
|
||||||
|
|
||||||
SUBSET = \
|
SUBSET = \
|
||||||
main.doxy \
|
main.doxy \
|
||||||
math.doxy \
|
math.doxy \
|
||||||
miniglx.doxy
|
miniglx.doxy
|
||||||
|
|
||||||
subset: $(SUBSET:.doxy=.tag)
|
subset: $(SUBSET:.doxy=.tag)
|
||||||
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
|
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
|
-rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
|
||||||
rm -rf *.tag
|
-rm -rf *.tag
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
doxygen tnl_dd.doxy
|
doxygen tnl_dd.doxy
|
||||||
doxygen vbo.doxy
|
doxygen vbo.doxy
|
||||||
doxygen math.doxy
|
doxygen math.doxy
|
||||||
doxygen swrast.doxy
|
doxygen swrast.doxy
|
||||||
doxygen swrast_setup.doxy
|
doxygen swrast_setup.doxy
|
||||||
doxygen tnl.doxy
|
doxygen tnl.doxy
|
||||||
doxygen core.doxy
|
doxygen core.doxy
|
||||||
doxygen glapi.doxy
|
doxygen glapi.doxy
|
||||||
doxygen shader.doxy
|
doxygen shader.doxy
|
||||||
|
|
||||||
echo Building again, to resolve tags
|
echo Building again, to resolve tags
|
||||||
doxygen tnl_dd.doxy
|
doxygen tnl_dd.doxy
|
||||||
doxygen vbo.doxy
|
doxygen vbo.doxy
|
||||||
doxygen math.doxy
|
doxygen math.doxy
|
||||||
doxygen swrast.doxy
|
doxygen swrast.doxy
|
||||||
doxygen swrast_setup.doxy
|
doxygen swrast_setup.doxy
|
||||||
doxygen tnl.doxy
|
doxygen tnl.doxy
|
||||||
doxygen glapi.doxy
|
doxygen glapi.doxy
|
||||||
doxygen shader.doxy
|
doxygen shader.doxy
|
||||||
|
|||||||
@@ -84,7 +84,8 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
|
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) \
|
||||||
|
&& !defined(OPENSTEP) && !defined(__CYGWIN__) || defined(__MINGW32__)
|
||||||
#include <GL/mesa_wgl.h>
|
#include <GL/mesa_wgl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -2161,11 +2162,11 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh
|
|||||||
#define GL_DEBUG_PRINT_MESA 0x875A
|
#define GL_DEBUG_PRINT_MESA 0x875A
|
||||||
#define GL_DEBUG_ASSERT_MESA 0x875B
|
#define GL_DEBUG_ASSERT_MESA 0x875B
|
||||||
|
|
||||||
GLAPI GLhandleARB APIENTRY glCreateDebugObjectMESA (void);
|
GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void);
|
||||||
GLAPI void APIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||||
GLAPI void APIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
|
GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
|
||||||
GLsizei *length, GLcharARB *debugLog);
|
GLsizei *length, GLcharARB *debugLog);
|
||||||
GLAPI GLsizei APIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
|
||||||
|
|
||||||
#endif /* GL_MESA_shader_debug */
|
#endif /* GL_MESA_shader_debug */
|
||||||
|
|
||||||
@@ -2209,6 +2210,39 @@ GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, con
|
|||||||
#endif /* GL_MESA_program_debug */
|
#endif /* GL_MESA_program_debug */
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef GL_MESA_texture_array
|
||||||
|
#define GL_MESA_texture_array 1
|
||||||
|
|
||||||
|
/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array.
|
||||||
|
*/
|
||||||
|
#ifndef GL_EXT_texture_array
|
||||||
|
|
||||||
|
#ifdef GL_GLEXT_PROTOTYPES
|
||||||
|
GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target,
|
||||||
|
GLenum attachment, GLuint texture, GLint level, GLint layer);
|
||||||
|
#endif /* GL_GLEXT_PROTOTYPES */
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* (temporarily) disabled because of collision with typedef in glext.h
|
||||||
|
* that happens if apps include both gl.h and glext.h
|
||||||
|
*/
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target,
|
||||||
|
GLenum attachment, GLuint texture, GLint level, GLint layer);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
|
||||||
|
#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
||||||
|
#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
|
||||||
|
#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
|
||||||
|
#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
|
||||||
|
#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
|
||||||
|
#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef GL_ATI_blend_equation_separate
|
#ifndef GL_ATI_blend_equation_separate
|
||||||
#define GL_ATI_blend_equation_separate 1
|
#define GL_ATI_blend_equation_separate 1
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#define glActiveStencilFaceEXT MANGLE(ActiveStencilFaceEXT)
|
#define glActiveStencilFaceEXT MANGLE(ActiveStencilFaceEXT)
|
||||||
#define glActiveTextureARB MANGLE(ActiveTextureARB)
|
#define glActiveTextureARB MANGLE(ActiveTextureARB)
|
||||||
#define glActiveTexture MANGLE(ActiveTexture)
|
#define glActiveTexture MANGLE(ActiveTexture)
|
||||||
|
#define glActiveVaryingNV MANGLE(ActiveVaryingNV)
|
||||||
#define glAlphaFragmentOp1ATI MANGLE(AlphaFragmentOp1ATI)
|
#define glAlphaFragmentOp1ATI MANGLE(AlphaFragmentOp1ATI)
|
||||||
#define glAlphaFragmentOp2ATI MANGLE(AlphaFragmentOp2ATI)
|
#define glAlphaFragmentOp2ATI MANGLE(AlphaFragmentOp2ATI)
|
||||||
#define glAlphaFragmentOp3ATI MANGLE(AlphaFragmentOp3ATI)
|
#define glAlphaFragmentOp3ATI MANGLE(AlphaFragmentOp3ATI)
|
||||||
@@ -52,11 +53,16 @@
|
|||||||
#define glBeginOcclusionQueryNV MANGLE(BeginOcclusionQueryNV)
|
#define glBeginOcclusionQueryNV MANGLE(BeginOcclusionQueryNV)
|
||||||
#define glBeginQueryARB MANGLE(BeginQueryARB)
|
#define glBeginQueryARB MANGLE(BeginQueryARB)
|
||||||
#define glBeginQuery MANGLE(BeginQuery)
|
#define glBeginQuery MANGLE(BeginQuery)
|
||||||
|
#define glBeginTransformFeedbackNV MANGLE(BeginTransformFeedbackNV)
|
||||||
#define glBeginVertexShaderEXT MANGLE(BeginVertexShaderEXT)
|
#define glBeginVertexShaderEXT MANGLE(BeginVertexShaderEXT)
|
||||||
#define glBindAttribLocationARB MANGLE(BindAttribLocationARB)
|
#define glBindAttribLocationARB MANGLE(BindAttribLocationARB)
|
||||||
#define glBindAttribLocation MANGLE(BindAttribLocation)
|
#define glBindAttribLocation MANGLE(BindAttribLocation)
|
||||||
#define glBindBufferARB MANGLE(BindBufferARB)
|
#define glBindBufferARB MANGLE(BindBufferARB)
|
||||||
|
#define glBindBufferBaseNV MANGLE(BindBufferBaseNV)
|
||||||
#define glBindBuffer MANGLE(BindBuffer)
|
#define glBindBuffer MANGLE(BindBuffer)
|
||||||
|
#define glBindBufferOffsetNV MANGLE(BindBufferOffsetNV)
|
||||||
|
#define glBindBufferRangeNV MANGLE(BindBufferRangeNV)
|
||||||
|
#define glBindFragDataLocationEXT MANGLE(BindFragDataLocationEXT)
|
||||||
#define glBindFragmentShaderATI MANGLE(BindFragmentShaderATI)
|
#define glBindFragmentShaderATI MANGLE(BindFragmentShaderATI)
|
||||||
#define glBindFramebufferEXT MANGLE(BindFramebufferEXT)
|
#define glBindFramebufferEXT MANGLE(BindFramebufferEXT)
|
||||||
#define glBindLightParameterEXT MANGLE(BindLightParameterEXT)
|
#define glBindLightParameterEXT MANGLE(BindLightParameterEXT)
|
||||||
@@ -97,6 +103,7 @@
|
|||||||
#define glBlitFramebufferEXT MANGLE(BlitFramebufferEXT)
|
#define glBlitFramebufferEXT MANGLE(BlitFramebufferEXT)
|
||||||
#define glBufferDataARB MANGLE(BufferDataARB)
|
#define glBufferDataARB MANGLE(BufferDataARB)
|
||||||
#define glBufferData MANGLE(BufferData)
|
#define glBufferData MANGLE(BufferData)
|
||||||
|
#define glBufferParameteriAPPLE MANGLE(BufferParameteriAPPLE)
|
||||||
#define glBufferSubDataARB MANGLE(BufferSubDataARB)
|
#define glBufferSubDataARB MANGLE(BufferSubDataARB)
|
||||||
#define glBufferSubData MANGLE(BufferSubData)
|
#define glBufferSubData MANGLE(BufferSubData)
|
||||||
#define glCallList MANGLE(CallList)
|
#define glCallList MANGLE(CallList)
|
||||||
@@ -104,8 +111,11 @@
|
|||||||
#define glCheckFramebufferStatusEXT MANGLE(CheckFramebufferStatusEXT)
|
#define glCheckFramebufferStatusEXT MANGLE(CheckFramebufferStatusEXT)
|
||||||
#define glClampColorARB MANGLE(ClampColorARB)
|
#define glClampColorARB MANGLE(ClampColorARB)
|
||||||
#define glClearAccum MANGLE(ClearAccum)
|
#define glClearAccum MANGLE(ClearAccum)
|
||||||
|
#define glClearColorIiEXT MANGLE(ClearColorIiEXT)
|
||||||
|
#define glClearColorIuiEXT MANGLE(ClearColorIuiEXT)
|
||||||
#define glClearColor MANGLE(ClearColor)
|
#define glClearColor MANGLE(ClearColor)
|
||||||
#define glClearDebugLogMESA MANGLE(ClearDebugLogMESA)
|
#define glClearDebugLogMESA MANGLE(ClearDebugLogMESA)
|
||||||
|
#define glClearDepthdNV MANGLE(ClearDepthdNV)
|
||||||
#define glClearDepth MANGLE(ClearDepth)
|
#define glClearDepth MANGLE(ClearDepth)
|
||||||
#define glClearIndex MANGLE(ClearIndex)
|
#define glClearIndex MANGLE(ClearIndex)
|
||||||
#define glClear MANGLE(Clear)
|
#define glClear MANGLE(Clear)
|
||||||
@@ -161,6 +171,7 @@
|
|||||||
#define glColorFragmentOp1ATI MANGLE(ColorFragmentOp1ATI)
|
#define glColorFragmentOp1ATI MANGLE(ColorFragmentOp1ATI)
|
||||||
#define glColorFragmentOp2ATI MANGLE(ColorFragmentOp2ATI)
|
#define glColorFragmentOp2ATI MANGLE(ColorFragmentOp2ATI)
|
||||||
#define glColorFragmentOp3ATI MANGLE(ColorFragmentOp3ATI)
|
#define glColorFragmentOp3ATI MANGLE(ColorFragmentOp3ATI)
|
||||||
|
#define glColorMaskIndexedEXT MANGLE(ColorMaskIndexedEXT)
|
||||||
#define glColorMask MANGLE(ColorMask)
|
#define glColorMask MANGLE(ColorMask)
|
||||||
#define glColorMaterial MANGLE(ColorMaterial)
|
#define glColorMaterial MANGLE(ColorMaterial)
|
||||||
#define glColorPointerEXT MANGLE(ColorPointerEXT)
|
#define glColorPointerEXT MANGLE(ColorPointerEXT)
|
||||||
@@ -261,19 +272,23 @@
|
|||||||
#define glDeleteTextures MANGLE(DeleteTextures)
|
#define glDeleteTextures MANGLE(DeleteTextures)
|
||||||
#define glDeleteVertexArraysAPPLE MANGLE(DeleteVertexArraysAPPLE)
|
#define glDeleteVertexArraysAPPLE MANGLE(DeleteVertexArraysAPPLE)
|
||||||
#define glDeleteVertexShaderEXT MANGLE(DeleteVertexShaderEXT)
|
#define glDeleteVertexShaderEXT MANGLE(DeleteVertexShaderEXT)
|
||||||
|
#define glDepthBoundsdNV MANGLE(DepthBoundsdNV)
|
||||||
#define glDepthBoundsEXT MANGLE(DepthBoundsEXT)
|
#define glDepthBoundsEXT MANGLE(DepthBoundsEXT)
|
||||||
#define glDepthFunc MANGLE(DepthFunc)
|
#define glDepthFunc MANGLE(DepthFunc)
|
||||||
#define glDepthMask MANGLE(DepthMask)
|
#define glDepthMask MANGLE(DepthMask)
|
||||||
|
#define glDepthRangedNV MANGLE(DepthRangedNV)
|
||||||
#define glDepthRange MANGLE(DepthRange)
|
#define glDepthRange MANGLE(DepthRange)
|
||||||
#define glDetachObjectARB MANGLE(DetachObjectARB)
|
#define glDetachObjectARB MANGLE(DetachObjectARB)
|
||||||
#define glDetachShader MANGLE(DetachShader)
|
#define glDetachShader MANGLE(DetachShader)
|
||||||
#define glDetailTexFuncSGIS MANGLE(DetailTexFuncSGIS)
|
#define glDetailTexFuncSGIS MANGLE(DetailTexFuncSGIS)
|
||||||
#define glDisableClientState MANGLE(DisableClientState)
|
#define glDisableClientState MANGLE(DisableClientState)
|
||||||
|
#define glDisableIndexedEXT MANGLE(DisableIndexedEXT)
|
||||||
#define glDisable MANGLE(Disable)
|
#define glDisable MANGLE(Disable)
|
||||||
#define glDisableVariantClientStateEXT MANGLE(DisableVariantClientStateEXT)
|
#define glDisableVariantClientStateEXT MANGLE(DisableVariantClientStateEXT)
|
||||||
#define glDisableVertexAttribArrayARB MANGLE(DisableVertexAttribArrayARB)
|
#define glDisableVertexAttribArrayARB MANGLE(DisableVertexAttribArrayARB)
|
||||||
#define glDisableVertexAttribArray MANGLE(DisableVertexAttribArray)
|
#define glDisableVertexAttribArray MANGLE(DisableVertexAttribArray)
|
||||||
#define glDrawArraysEXT MANGLE(DrawArraysEXT)
|
#define glDrawArraysEXT MANGLE(DrawArraysEXT)
|
||||||
|
#define glDrawArraysInstancedEXT MANGLE(DrawArraysInstancedEXT)
|
||||||
#define glDrawArrays MANGLE(DrawArrays)
|
#define glDrawArrays MANGLE(DrawArrays)
|
||||||
#define glDrawBuffer MANGLE(DrawBuffer)
|
#define glDrawBuffer MANGLE(DrawBuffer)
|
||||||
#define glDrawBuffersARB MANGLE(DrawBuffersARB)
|
#define glDrawBuffersARB MANGLE(DrawBuffersARB)
|
||||||
@@ -281,6 +296,7 @@
|
|||||||
#define glDrawBuffers MANGLE(DrawBuffers)
|
#define glDrawBuffers MANGLE(DrawBuffers)
|
||||||
#define glDrawElementArrayAPPLE MANGLE(DrawElementArrayAPPLE)
|
#define glDrawElementArrayAPPLE MANGLE(DrawElementArrayAPPLE)
|
||||||
#define glDrawElementArrayATI MANGLE(DrawElementArrayATI)
|
#define glDrawElementArrayATI MANGLE(DrawElementArrayATI)
|
||||||
|
#define glDrawElementsInstancedEXT MANGLE(DrawElementsInstancedEXT)
|
||||||
#define glDrawElements MANGLE(DrawElements)
|
#define glDrawElements MANGLE(DrawElements)
|
||||||
#define glDrawMeshArraysSUN MANGLE(DrawMeshArraysSUN)
|
#define glDrawMeshArraysSUN MANGLE(DrawMeshArraysSUN)
|
||||||
#define glDrawPixels MANGLE(DrawPixels)
|
#define glDrawPixels MANGLE(DrawPixels)
|
||||||
@@ -296,6 +312,7 @@
|
|||||||
#define glElementPointerAPPLE MANGLE(ElementPointerAPPLE)
|
#define glElementPointerAPPLE MANGLE(ElementPointerAPPLE)
|
||||||
#define glElementPointerATI MANGLE(ElementPointerATI)
|
#define glElementPointerATI MANGLE(ElementPointerATI)
|
||||||
#define glEnableClientState MANGLE(EnableClientState)
|
#define glEnableClientState MANGLE(EnableClientState)
|
||||||
|
#define glEnableIndexedEXT MANGLE(EnableIndexedEXT)
|
||||||
#define glEnable MANGLE(Enable)
|
#define glEnable MANGLE(Enable)
|
||||||
#define glEnableVariantClientStateEXT MANGLE(EnableVariantClientStateEXT)
|
#define glEnableVariantClientStateEXT MANGLE(EnableVariantClientStateEXT)
|
||||||
#define glEnableVertexAttribArrayARB MANGLE(EnableVertexAttribArrayARB)
|
#define glEnableVertexAttribArrayARB MANGLE(EnableVertexAttribArrayARB)
|
||||||
@@ -306,6 +323,7 @@
|
|||||||
#define glEndOcclusionQueryNV MANGLE(EndOcclusionQueryNV)
|
#define glEndOcclusionQueryNV MANGLE(EndOcclusionQueryNV)
|
||||||
#define glEndQueryARB MANGLE(EndQueryARB)
|
#define glEndQueryARB MANGLE(EndQueryARB)
|
||||||
#define glEndQuery MANGLE(EndQuery)
|
#define glEndQuery MANGLE(EndQuery)
|
||||||
|
#define glEndTransformFeedbackNV MANGLE(EndTransformFeedbackNV)
|
||||||
#define glEndVertexShaderEXT MANGLE(EndVertexShaderEXT)
|
#define glEndVertexShaderEXT MANGLE(EndVertexShaderEXT)
|
||||||
#define glEvalCoord1d MANGLE(EvalCoord1d)
|
#define glEvalCoord1d MANGLE(EvalCoord1d)
|
||||||
#define glEvalCoord1dv MANGLE(EvalCoord1dv)
|
#define glEvalCoord1dv MANGLE(EvalCoord1dv)
|
||||||
@@ -331,6 +349,7 @@
|
|||||||
#define glFinishObjectAPPLE MANGLE(FinishObjectAPPLE)
|
#define glFinishObjectAPPLE MANGLE(FinishObjectAPPLE)
|
||||||
#define glFinishTextureSUNX MANGLE(FinishTextureSUNX)
|
#define glFinishTextureSUNX MANGLE(FinishTextureSUNX)
|
||||||
#define glFlush MANGLE(Flush)
|
#define glFlush MANGLE(Flush)
|
||||||
|
#define glFlushMappedBufferRangeAPPLE MANGLE(FlushMappedBufferRangeAPPLE)
|
||||||
#define glFlushPixelDataRangeNV MANGLE(FlushPixelDataRangeNV)
|
#define glFlushPixelDataRangeNV MANGLE(FlushPixelDataRangeNV)
|
||||||
#define glFlushRasterSGIX MANGLE(FlushRasterSGIX)
|
#define glFlushRasterSGIX MANGLE(FlushRasterSGIX)
|
||||||
#define glFlushVertexArrayRangeAPPLE MANGLE(FlushVertexArrayRangeAPPLE)
|
#define glFlushVertexArrayRangeAPPLE MANGLE(FlushVertexArrayRangeAPPLE)
|
||||||
@@ -370,6 +389,9 @@
|
|||||||
#define glFramebufferTexture1DEXT MANGLE(FramebufferTexture1DEXT)
|
#define glFramebufferTexture1DEXT MANGLE(FramebufferTexture1DEXT)
|
||||||
#define glFramebufferTexture2DEXT MANGLE(FramebufferTexture2DEXT)
|
#define glFramebufferTexture2DEXT MANGLE(FramebufferTexture2DEXT)
|
||||||
#define glFramebufferTexture3DEXT MANGLE(FramebufferTexture3DEXT)
|
#define glFramebufferTexture3DEXT MANGLE(FramebufferTexture3DEXT)
|
||||||
|
#define glFramebufferTextureEXT MANGLE(FramebufferTextureEXT)
|
||||||
|
#define glFramebufferTextureFaceEXT MANGLE(FramebufferTextureFaceEXT)
|
||||||
|
#define glFramebufferTextureLayerEXT MANGLE(FramebufferTextureLayerEXT)
|
||||||
#define glFrameZoomSGIX MANGLE(FrameZoomSGIX)
|
#define glFrameZoomSGIX MANGLE(FrameZoomSGIX)
|
||||||
#define glFreeObjectBufferATI MANGLE(FreeObjectBufferATI)
|
#define glFreeObjectBufferATI MANGLE(FreeObjectBufferATI)
|
||||||
#define glFrontFace MANGLE(FrontFace)
|
#define glFrontFace MANGLE(FrontFace)
|
||||||
@@ -398,12 +420,14 @@
|
|||||||
#define glGetActiveAttrib MANGLE(GetActiveAttrib)
|
#define glGetActiveAttrib MANGLE(GetActiveAttrib)
|
||||||
#define glGetActiveUniformARB MANGLE(GetActiveUniformARB)
|
#define glGetActiveUniformARB MANGLE(GetActiveUniformARB)
|
||||||
#define glGetActiveUniform MANGLE(GetActiveUniform)
|
#define glGetActiveUniform MANGLE(GetActiveUniform)
|
||||||
|
#define glGetActiveVaryingNV MANGLE(GetActiveVaryingNV)
|
||||||
#define glGetArrayObjectfvATI MANGLE(GetArrayObjectfvATI)
|
#define glGetArrayObjectfvATI MANGLE(GetArrayObjectfvATI)
|
||||||
#define glGetArrayObjectivATI MANGLE(GetArrayObjectivATI)
|
#define glGetArrayObjectivATI MANGLE(GetArrayObjectivATI)
|
||||||
#define glGetAttachedObjectsARB MANGLE(GetAttachedObjectsARB)
|
#define glGetAttachedObjectsARB MANGLE(GetAttachedObjectsARB)
|
||||||
#define glGetAttachedShaders MANGLE(GetAttachedShaders)
|
#define glGetAttachedShaders MANGLE(GetAttachedShaders)
|
||||||
#define glGetAttribLocationARB MANGLE(GetAttribLocationARB)
|
#define glGetAttribLocationARB MANGLE(GetAttribLocationARB)
|
||||||
#define glGetAttribLocation MANGLE(GetAttribLocation)
|
#define glGetAttribLocation MANGLE(GetAttribLocation)
|
||||||
|
#define glGetBooleanIndexedvEXT MANGLE(GetBooleanIndexedvEXT)
|
||||||
#define glGetBooleanv MANGLE(GetBooleanv)
|
#define glGetBooleanv MANGLE(GetBooleanv)
|
||||||
#define glGetBufferParameterivARB MANGLE(GetBufferParameterivARB)
|
#define glGetBufferParameterivARB MANGLE(GetBufferParameterivARB)
|
||||||
#define glGetBufferParameteriv MANGLE(GetBufferParameteriv)
|
#define glGetBufferParameteriv MANGLE(GetBufferParameteriv)
|
||||||
@@ -444,6 +468,7 @@
|
|||||||
#define glGetFinalCombinerInputParameterivNV MANGLE(GetFinalCombinerInputParameterivNV)
|
#define glGetFinalCombinerInputParameterivNV MANGLE(GetFinalCombinerInputParameterivNV)
|
||||||
#define glGetFloatv MANGLE(GetFloatv)
|
#define glGetFloatv MANGLE(GetFloatv)
|
||||||
#define glGetFogFuncSGIS MANGLE(GetFogFuncSGIS)
|
#define glGetFogFuncSGIS MANGLE(GetFogFuncSGIS)
|
||||||
|
#define glGetFragDataLocationEXT MANGLE(GetFragDataLocationEXT)
|
||||||
#define glGetFragmentLightfvSGIX MANGLE(GetFragmentLightfvSGIX)
|
#define glGetFragmentLightfvSGIX MANGLE(GetFragmentLightfvSGIX)
|
||||||
#define glGetFragmentLightivSGIX MANGLE(GetFragmentLightivSGIX)
|
#define glGetFragmentLightivSGIX MANGLE(GetFragmentLightivSGIX)
|
||||||
#define glGetFragmentMaterialfvSGIX MANGLE(GetFragmentMaterialfvSGIX)
|
#define glGetFragmentMaterialfvSGIX MANGLE(GetFragmentMaterialfvSGIX)
|
||||||
@@ -460,6 +485,7 @@
|
|||||||
#define glGetImageTransformParameterivHP MANGLE(GetImageTransformParameterivHP)
|
#define glGetImageTransformParameterivHP MANGLE(GetImageTransformParameterivHP)
|
||||||
#define glGetInfoLogARB MANGLE(GetInfoLogARB)
|
#define glGetInfoLogARB MANGLE(GetInfoLogARB)
|
||||||
#define glGetInstrumentsSGIX MANGLE(GetInstrumentsSGIX)
|
#define glGetInstrumentsSGIX MANGLE(GetInstrumentsSGIX)
|
||||||
|
#define glGetIntegerIndexedvEXT MANGLE(GetIntegerIndexedvEXT)
|
||||||
#define glGetIntegerv MANGLE(GetIntegerv)
|
#define glGetIntegerv MANGLE(GetIntegerv)
|
||||||
#define glGetInvariantBooleanvEXT MANGLE(GetInvariantBooleanvEXT)
|
#define glGetInvariantBooleanvEXT MANGLE(GetInvariantBooleanvEXT)
|
||||||
#define glGetInvariantFloatvEXT MANGLE(GetInvariantFloatvEXT)
|
#define glGetInvariantFloatvEXT MANGLE(GetInvariantFloatvEXT)
|
||||||
@@ -503,12 +529,16 @@
|
|||||||
#define glGetPolygonStipple MANGLE(GetPolygonStipple)
|
#define glGetPolygonStipple MANGLE(GetPolygonStipple)
|
||||||
#define glGetProgramEnvParameterdvARB MANGLE(GetProgramEnvParameterdvARB)
|
#define glGetProgramEnvParameterdvARB MANGLE(GetProgramEnvParameterdvARB)
|
||||||
#define glGetProgramEnvParameterfvARB MANGLE(GetProgramEnvParameterfvARB)
|
#define glGetProgramEnvParameterfvARB MANGLE(GetProgramEnvParameterfvARB)
|
||||||
|
#define glGetProgramEnvParameterIivNV MANGLE(GetProgramEnvParameterIivNV)
|
||||||
|
#define glGetProgramEnvParameterIuivNV MANGLE(GetProgramEnvParameterIuivNV)
|
||||||
#define glGetProgramInfoLog MANGLE(GetProgramInfoLog)
|
#define glGetProgramInfoLog MANGLE(GetProgramInfoLog)
|
||||||
#define glGetProgramivARB MANGLE(GetProgramivARB)
|
#define glGetProgramivARB MANGLE(GetProgramivARB)
|
||||||
#define glGetProgramiv MANGLE(GetProgramiv)
|
#define glGetProgramiv MANGLE(GetProgramiv)
|
||||||
#define glGetProgramivNV MANGLE(GetProgramivNV)
|
#define glGetProgramivNV MANGLE(GetProgramivNV)
|
||||||
#define glGetProgramLocalParameterdvARB MANGLE(GetProgramLocalParameterdvARB)
|
#define glGetProgramLocalParameterdvARB MANGLE(GetProgramLocalParameterdvARB)
|
||||||
#define glGetProgramLocalParameterfvARB MANGLE(GetProgramLocalParameterfvARB)
|
#define glGetProgramLocalParameterfvARB MANGLE(GetProgramLocalParameterfvARB)
|
||||||
|
#define glGetProgramLocalParameterIivNV MANGLE(GetProgramLocalParameterIivNV)
|
||||||
|
#define glGetProgramLocalParameterIuivNV MANGLE(GetProgramLocalParameterIuivNV)
|
||||||
#define glGetProgramNamedParameterdvNV MANGLE(GetProgramNamedParameterdvNV)
|
#define glGetProgramNamedParameterdvNV MANGLE(GetProgramNamedParameterdvNV)
|
||||||
#define glGetProgramNamedParameterfvNV MANGLE(GetProgramNamedParameterfvNV)
|
#define glGetProgramNamedParameterfvNV MANGLE(GetProgramNamedParameterfvNV)
|
||||||
#define glGetProgramParameterdvNV MANGLE(GetProgramParameterdvNV)
|
#define glGetProgramParameterdvNV MANGLE(GetProgramParameterdvNV)
|
||||||
@@ -545,20 +575,27 @@
|
|||||||
#define glGetTexLevelParameterfv MANGLE(GetTexLevelParameterfv)
|
#define glGetTexLevelParameterfv MANGLE(GetTexLevelParameterfv)
|
||||||
#define glGetTexLevelParameteriv MANGLE(GetTexLevelParameteriv)
|
#define glGetTexLevelParameteriv MANGLE(GetTexLevelParameteriv)
|
||||||
#define glGetTexParameterfv MANGLE(GetTexParameterfv)
|
#define glGetTexParameterfv MANGLE(GetTexParameterfv)
|
||||||
|
#define glGetTexParameterIivEXT MANGLE(GetTexParameterIivEXT)
|
||||||
|
#define glGetTexParameterIuivEXT MANGLE(GetTexParameterIuivEXT)
|
||||||
#define glGetTexParameteriv MANGLE(GetTexParameteriv)
|
#define glGetTexParameteriv MANGLE(GetTexParameteriv)
|
||||||
#define glGetTrackMatrixivNV MANGLE(GetTrackMatrixivNV)
|
#define glGetTrackMatrixivNV MANGLE(GetTrackMatrixivNV)
|
||||||
|
#define glGetTransformFeedbackVaryingNV MANGLE(GetTransformFeedbackVaryingNV)
|
||||||
|
#define glGetUniformBufferSizeEXT MANGLE(GetUniformBufferSizeEXT)
|
||||||
#define glGetUniformfvARB MANGLE(GetUniformfvARB)
|
#define glGetUniformfvARB MANGLE(GetUniformfvARB)
|
||||||
#define glGetUniformfv MANGLE(GetUniformfv)
|
#define glGetUniformfv MANGLE(GetUniformfv)
|
||||||
#define glGetUniformivARB MANGLE(GetUniformivARB)
|
#define glGetUniformivARB MANGLE(GetUniformivARB)
|
||||||
#define glGetUniformiv MANGLE(GetUniformiv)
|
#define glGetUniformiv MANGLE(GetUniformiv)
|
||||||
#define glGetUniformLocationARB MANGLE(GetUniformLocationARB)
|
#define glGetUniformLocationARB MANGLE(GetUniformLocationARB)
|
||||||
#define glGetUniformLocation MANGLE(GetUniformLocation)
|
#define glGetUniformLocation MANGLE(GetUniformLocation)
|
||||||
|
#define glGetUniformOffsetEXT MANGLE(GetUniformOffsetEXT)
|
||||||
|
#define glGetUniformuivEXT MANGLE(GetUniformuivEXT)
|
||||||
#define glGetVariantArrayObjectfvATI MANGLE(GetVariantArrayObjectfvATI)
|
#define glGetVariantArrayObjectfvATI MANGLE(GetVariantArrayObjectfvATI)
|
||||||
#define glGetVariantArrayObjectivATI MANGLE(GetVariantArrayObjectivATI)
|
#define glGetVariantArrayObjectivATI MANGLE(GetVariantArrayObjectivATI)
|
||||||
#define glGetVariantBooleanvEXT MANGLE(GetVariantBooleanvEXT)
|
#define glGetVariantBooleanvEXT MANGLE(GetVariantBooleanvEXT)
|
||||||
#define glGetVariantFloatvEXT MANGLE(GetVariantFloatvEXT)
|
#define glGetVariantFloatvEXT MANGLE(GetVariantFloatvEXT)
|
||||||
#define glGetVariantIntegervEXT MANGLE(GetVariantIntegervEXT)
|
#define glGetVariantIntegervEXT MANGLE(GetVariantIntegervEXT)
|
||||||
#define glGetVariantPointervEXT MANGLE(GetVariantPointervEXT)
|
#define glGetVariantPointervEXT MANGLE(GetVariantPointervEXT)
|
||||||
|
#define glGetVaryingLocationNV MANGLE(GetVaryingLocationNV)
|
||||||
#define glGetVertexAttribArrayObjectfvATI MANGLE(GetVertexAttribArrayObjectfvATI)
|
#define glGetVertexAttribArrayObjectfvATI MANGLE(GetVertexAttribArrayObjectfvATI)
|
||||||
#define glGetVertexAttribArrayObjectivATI MANGLE(GetVertexAttribArrayObjectivATI)
|
#define glGetVertexAttribArrayObjectivATI MANGLE(GetVertexAttribArrayObjectivATI)
|
||||||
#define glGetVertexAttribdvARB MANGLE(GetVertexAttribdvARB)
|
#define glGetVertexAttribdvARB MANGLE(GetVertexAttribdvARB)
|
||||||
@@ -567,6 +604,8 @@
|
|||||||
#define glGetVertexAttribfvARB MANGLE(GetVertexAttribfvARB)
|
#define glGetVertexAttribfvARB MANGLE(GetVertexAttribfvARB)
|
||||||
#define glGetVertexAttribfv MANGLE(GetVertexAttribfv)
|
#define glGetVertexAttribfv MANGLE(GetVertexAttribfv)
|
||||||
#define glGetVertexAttribfvNV MANGLE(GetVertexAttribfvNV)
|
#define glGetVertexAttribfvNV MANGLE(GetVertexAttribfvNV)
|
||||||
|
#define glGetVertexAttribIivEXT MANGLE(GetVertexAttribIivEXT)
|
||||||
|
#define glGetVertexAttribIuivEXT MANGLE(GetVertexAttribIuivEXT)
|
||||||
#define glGetVertexAttribivARB MANGLE(GetVertexAttribivARB)
|
#define glGetVertexAttribivARB MANGLE(GetVertexAttribivARB)
|
||||||
#define glGetVertexAttribiv MANGLE(GetVertexAttribiv)
|
#define glGetVertexAttribiv MANGLE(GetVertexAttribiv)
|
||||||
#define glGetVertexAttribivNV MANGLE(GetVertexAttribivNV)
|
#define glGetVertexAttribivNV MANGLE(GetVertexAttribivNV)
|
||||||
@@ -613,6 +652,7 @@
|
|||||||
#define glIsAsyncMarkerSGIX MANGLE(IsAsyncMarkerSGIX)
|
#define glIsAsyncMarkerSGIX MANGLE(IsAsyncMarkerSGIX)
|
||||||
#define glIsBufferARB MANGLE(IsBufferARB)
|
#define glIsBufferARB MANGLE(IsBufferARB)
|
||||||
#define glIsBuffer MANGLE(IsBuffer)
|
#define glIsBuffer MANGLE(IsBuffer)
|
||||||
|
#define glIsEnabledIndexedEXT MANGLE(IsEnabledIndexedEXT)
|
||||||
#define glIsEnabled MANGLE(IsEnabled)
|
#define glIsEnabled MANGLE(IsEnabled)
|
||||||
#define glIsFenceAPPLE MANGLE(IsFenceAPPLE)
|
#define glIsFenceAPPLE MANGLE(IsFenceAPPLE)
|
||||||
#define glIsFenceNV MANGLE(IsFenceNV)
|
#define glIsFenceNV MANGLE(IsFenceNV)
|
||||||
@@ -852,17 +892,32 @@
|
|||||||
#define glPrimitiveRestartNV MANGLE(PrimitiveRestartNV)
|
#define glPrimitiveRestartNV MANGLE(PrimitiveRestartNV)
|
||||||
#define glPrioritizeTexturesEXT MANGLE(PrioritizeTexturesEXT)
|
#define glPrioritizeTexturesEXT MANGLE(PrioritizeTexturesEXT)
|
||||||
#define glPrioritizeTextures MANGLE(PrioritizeTextures)
|
#define glPrioritizeTextures MANGLE(PrioritizeTextures)
|
||||||
|
#define glProgramBufferParametersfvNV MANGLE(ProgramBufferParametersfvNV)
|
||||||
|
#define glProgramBufferParametersIivNV MANGLE(ProgramBufferParametersIivNV)
|
||||||
|
#define glProgramBufferParametersIuivNV MANGLE(ProgramBufferParametersIuivNV)
|
||||||
#define glProgramCallbackMESA MANGLE(ProgramCallbackMESA)
|
#define glProgramCallbackMESA MANGLE(ProgramCallbackMESA)
|
||||||
#define glProgramEnvParameter4dARB MANGLE(ProgramEnvParameter4dARB)
|
#define glProgramEnvParameter4dARB MANGLE(ProgramEnvParameter4dARB)
|
||||||
#define glProgramEnvParameter4dvARB MANGLE(ProgramEnvParameter4dvARB)
|
#define glProgramEnvParameter4dvARB MANGLE(ProgramEnvParameter4dvARB)
|
||||||
#define glProgramEnvParameter4fARB MANGLE(ProgramEnvParameter4fARB)
|
#define glProgramEnvParameter4fARB MANGLE(ProgramEnvParameter4fARB)
|
||||||
#define glProgramEnvParameter4fvARB MANGLE(ProgramEnvParameter4fvARB)
|
#define glProgramEnvParameter4fvARB MANGLE(ProgramEnvParameter4fvARB)
|
||||||
|
#define glProgramEnvParameterI4iNV MANGLE(ProgramEnvParameterI4iNV)
|
||||||
|
#define glProgramEnvParameterI4ivNV MANGLE(ProgramEnvParameterI4ivNV)
|
||||||
|
#define glProgramEnvParameterI4uiNV MANGLE(ProgramEnvParameterI4uiNV)
|
||||||
|
#define glProgramEnvParameterI4uivNV MANGLE(ProgramEnvParameterI4uivNV)
|
||||||
#define glProgramEnvParameters4fvEXT MANGLE(ProgramEnvParameters4fvEXT)
|
#define glProgramEnvParameters4fvEXT MANGLE(ProgramEnvParameters4fvEXT)
|
||||||
|
#define glProgramEnvParametersI4ivNV MANGLE(ProgramEnvParametersI4ivNV)
|
||||||
|
#define glProgramEnvParametersI4uivNV MANGLE(ProgramEnvParametersI4uivNV)
|
||||||
#define glProgramLocalParameter4dARB MANGLE(ProgramLocalParameter4dARB)
|
#define glProgramLocalParameter4dARB MANGLE(ProgramLocalParameter4dARB)
|
||||||
#define glProgramLocalParameter4dvARB MANGLE(ProgramLocalParameter4dvARB)
|
#define glProgramLocalParameter4dvARB MANGLE(ProgramLocalParameter4dvARB)
|
||||||
#define glProgramLocalParameter4fARB MANGLE(ProgramLocalParameter4fARB)
|
#define glProgramLocalParameter4fARB MANGLE(ProgramLocalParameter4fARB)
|
||||||
#define glProgramLocalParameter4fvARB MANGLE(ProgramLocalParameter4fvARB)
|
#define glProgramLocalParameter4fvARB MANGLE(ProgramLocalParameter4fvARB)
|
||||||
|
#define glProgramLocalParameterI4iNV MANGLE(ProgramLocalParameterI4iNV)
|
||||||
|
#define glProgramLocalParameterI4ivNV MANGLE(ProgramLocalParameterI4ivNV)
|
||||||
|
#define glProgramLocalParameterI4uiNV MANGLE(ProgramLocalParameterI4uiNV)
|
||||||
|
#define glProgramLocalParameterI4uivNV MANGLE(ProgramLocalParameterI4uivNV)
|
||||||
#define glProgramLocalParameters4fvEXT MANGLE(ProgramLocalParameters4fvEXT)
|
#define glProgramLocalParameters4fvEXT MANGLE(ProgramLocalParameters4fvEXT)
|
||||||
|
#define glProgramLocalParametersI4ivNV MANGLE(ProgramLocalParametersI4ivNV)
|
||||||
|
#define glProgramLocalParametersI4uivNV MANGLE(ProgramLocalParametersI4uivNV)
|
||||||
#define glProgramNamedParameter4dNV MANGLE(ProgramNamedParameter4dNV)
|
#define glProgramNamedParameter4dNV MANGLE(ProgramNamedParameter4dNV)
|
||||||
#define glProgramNamedParameter4dvNV MANGLE(ProgramNamedParameter4dvNV)
|
#define glProgramNamedParameter4dvNV MANGLE(ProgramNamedParameter4dvNV)
|
||||||
#define glProgramNamedParameter4fNV MANGLE(ProgramNamedParameter4fNV)
|
#define glProgramNamedParameter4fNV MANGLE(ProgramNamedParameter4fNV)
|
||||||
@@ -871,9 +926,11 @@
|
|||||||
#define glProgramParameter4dvNV MANGLE(ProgramParameter4dvNV)
|
#define glProgramParameter4dvNV MANGLE(ProgramParameter4dvNV)
|
||||||
#define glProgramParameter4fNV MANGLE(ProgramParameter4fNV)
|
#define glProgramParameter4fNV MANGLE(ProgramParameter4fNV)
|
||||||
#define glProgramParameter4fvNV MANGLE(ProgramParameter4fvNV)
|
#define glProgramParameter4fvNV MANGLE(ProgramParameter4fvNV)
|
||||||
|
#define glProgramParameteriEXT MANGLE(ProgramParameteriEXT)
|
||||||
#define glProgramParameters4dvNV MANGLE(ProgramParameters4dvNV)
|
#define glProgramParameters4dvNV MANGLE(ProgramParameters4dvNV)
|
||||||
#define glProgramParameters4fvNV MANGLE(ProgramParameters4fvNV)
|
#define glProgramParameters4fvNV MANGLE(ProgramParameters4fvNV)
|
||||||
#define glProgramStringARB MANGLE(ProgramStringARB)
|
#define glProgramStringARB MANGLE(ProgramStringARB)
|
||||||
|
#define glProgramVertexLimitNV MANGLE(ProgramVertexLimitNV)
|
||||||
#define glPushAttrib MANGLE(PushAttrib)
|
#define glPushAttrib MANGLE(PushAttrib)
|
||||||
#define glPushClientAttrib MANGLE(PushClientAttrib)
|
#define glPushClientAttrib MANGLE(PushClientAttrib)
|
||||||
#define glPushMatrix MANGLE(PushMatrix)
|
#define glPushMatrix MANGLE(PushMatrix)
|
||||||
@@ -915,6 +972,7 @@
|
|||||||
#define glRectsv MANGLE(Rectsv)
|
#define glRectsv MANGLE(Rectsv)
|
||||||
#define glReferencePlaneSGIX MANGLE(ReferencePlaneSGIX)
|
#define glReferencePlaneSGIX MANGLE(ReferencePlaneSGIX)
|
||||||
#define glRenderbufferStorageEXT MANGLE(RenderbufferStorageEXT)
|
#define glRenderbufferStorageEXT MANGLE(RenderbufferStorageEXT)
|
||||||
|
#define glRenderbufferStorageMultisampleCoverageNV MANGLE(RenderbufferStorageMultisampleCoverageNV)
|
||||||
#define glRenderbufferStorageMultisampleEXT MANGLE(RenderbufferStorageMultisampleEXT)
|
#define glRenderbufferStorageMultisampleEXT MANGLE(RenderbufferStorageMultisampleEXT)
|
||||||
#define glRenderMode MANGLE(RenderMode)
|
#define glRenderMode MANGLE(RenderMode)
|
||||||
#define glReplacementCodePointerSUN MANGLE(ReplacementCodePointerSUN)
|
#define glReplacementCodePointerSUN MANGLE(ReplacementCodePointerSUN)
|
||||||
@@ -1043,6 +1101,7 @@
|
|||||||
#define glTestFenceAPPLE MANGLE(TestFenceAPPLE)
|
#define glTestFenceAPPLE MANGLE(TestFenceAPPLE)
|
||||||
#define glTestFenceNV MANGLE(TestFenceNV)
|
#define glTestFenceNV MANGLE(TestFenceNV)
|
||||||
#define glTestObjectAPPLE MANGLE(TestObjectAPPLE)
|
#define glTestObjectAPPLE MANGLE(TestObjectAPPLE)
|
||||||
|
#define glTexBufferEXT MANGLE(TexBufferEXT)
|
||||||
#define glTexBumpParameterfvATI MANGLE(TexBumpParameterfvATI)
|
#define glTexBumpParameterfvATI MANGLE(TexBumpParameterfvATI)
|
||||||
#define glTexBumpParameterivATI MANGLE(TexBumpParameterivATI)
|
#define glTexBumpParameterivATI MANGLE(TexBumpParameterivATI)
|
||||||
#define glTexCoord1d MANGLE(TexCoord1d)
|
#define glTexCoord1d MANGLE(TexCoord1d)
|
||||||
@@ -1121,7 +1180,9 @@
|
|||||||
#define glTexImage4DSGIS MANGLE(TexImage4DSGIS)
|
#define glTexImage4DSGIS MANGLE(TexImage4DSGIS)
|
||||||
#define glTexParameterf MANGLE(TexParameterf)
|
#define glTexParameterf MANGLE(TexParameterf)
|
||||||
#define glTexParameterfv MANGLE(TexParameterfv)
|
#define glTexParameterfv MANGLE(TexParameterfv)
|
||||||
|
#define glTexParameterIivEXT MANGLE(TexParameterIivEXT)
|
||||||
#define glTexParameteri MANGLE(TexParameteri)
|
#define glTexParameteri MANGLE(TexParameteri)
|
||||||
|
#define glTexParameterIuivEXT MANGLE(TexParameterIuivEXT)
|
||||||
#define glTexParameteriv MANGLE(TexParameteriv)
|
#define glTexParameteriv MANGLE(TexParameteriv)
|
||||||
#define glTexSubImage1DEXT MANGLE(TexSubImage1DEXT)
|
#define glTexSubImage1DEXT MANGLE(TexSubImage1DEXT)
|
||||||
#define glTexSubImage1D MANGLE(TexSubImage1D)
|
#define glTexSubImage1D MANGLE(TexSubImage1D)
|
||||||
@@ -1135,6 +1196,8 @@
|
|||||||
#define glTextureMaterialEXT MANGLE(TextureMaterialEXT)
|
#define glTextureMaterialEXT MANGLE(TextureMaterialEXT)
|
||||||
#define glTextureNormalEXT MANGLE(TextureNormalEXT)
|
#define glTextureNormalEXT MANGLE(TextureNormalEXT)
|
||||||
#define glTrackMatrixNV MANGLE(TrackMatrixNV)
|
#define glTrackMatrixNV MANGLE(TrackMatrixNV)
|
||||||
|
#define glTransformFeedbackAttribsNV MANGLE(TransformFeedbackAttribsNV)
|
||||||
|
#define glTransformFeedbackVaryingsNV MANGLE(TransformFeedbackVaryingsNV)
|
||||||
#define glTranslated MANGLE(Translated)
|
#define glTranslated MANGLE(Translated)
|
||||||
#define glTranslatef MANGLE(Translatef)
|
#define glTranslatef MANGLE(Translatef)
|
||||||
#define glUniform1fARB MANGLE(Uniform1fARB)
|
#define glUniform1fARB MANGLE(Uniform1fARB)
|
||||||
@@ -1145,6 +1208,8 @@
|
|||||||
#define glUniform1i MANGLE(Uniform1i)
|
#define glUniform1i MANGLE(Uniform1i)
|
||||||
#define glUniform1ivARB MANGLE(Uniform1ivARB)
|
#define glUniform1ivARB MANGLE(Uniform1ivARB)
|
||||||
#define glUniform1iv MANGLE(Uniform1iv)
|
#define glUniform1iv MANGLE(Uniform1iv)
|
||||||
|
#define glUniform1uiEXT MANGLE(Uniform1uiEXT)
|
||||||
|
#define glUniform1uivEXT MANGLE(Uniform1uivEXT)
|
||||||
#define glUniform2fARB MANGLE(Uniform2fARB)
|
#define glUniform2fARB MANGLE(Uniform2fARB)
|
||||||
#define glUniform2f MANGLE(Uniform2f)
|
#define glUniform2f MANGLE(Uniform2f)
|
||||||
#define glUniform2fvARB MANGLE(Uniform2fvARB)
|
#define glUniform2fvARB MANGLE(Uniform2fvARB)
|
||||||
@@ -1153,6 +1218,8 @@
|
|||||||
#define glUniform2i MANGLE(Uniform2i)
|
#define glUniform2i MANGLE(Uniform2i)
|
||||||
#define glUniform2ivARB MANGLE(Uniform2ivARB)
|
#define glUniform2ivARB MANGLE(Uniform2ivARB)
|
||||||
#define glUniform2iv MANGLE(Uniform2iv)
|
#define glUniform2iv MANGLE(Uniform2iv)
|
||||||
|
#define glUniform2uiEXT MANGLE(Uniform2uiEXT)
|
||||||
|
#define glUniform2uivEXT MANGLE(Uniform2uivEXT)
|
||||||
#define glUniform3fARB MANGLE(Uniform3fARB)
|
#define glUniform3fARB MANGLE(Uniform3fARB)
|
||||||
#define glUniform3f MANGLE(Uniform3f)
|
#define glUniform3f MANGLE(Uniform3f)
|
||||||
#define glUniform3fvARB MANGLE(Uniform3fvARB)
|
#define glUniform3fvARB MANGLE(Uniform3fvARB)
|
||||||
@@ -1161,6 +1228,8 @@
|
|||||||
#define glUniform3i MANGLE(Uniform3i)
|
#define glUniform3i MANGLE(Uniform3i)
|
||||||
#define glUniform3ivARB MANGLE(Uniform3ivARB)
|
#define glUniform3ivARB MANGLE(Uniform3ivARB)
|
||||||
#define glUniform3iv MANGLE(Uniform3iv)
|
#define glUniform3iv MANGLE(Uniform3iv)
|
||||||
|
#define glUniform3uiEXT MANGLE(Uniform3uiEXT)
|
||||||
|
#define glUniform3uivEXT MANGLE(Uniform3uivEXT)
|
||||||
#define glUniform4fARB MANGLE(Uniform4fARB)
|
#define glUniform4fARB MANGLE(Uniform4fARB)
|
||||||
#define glUniform4f MANGLE(Uniform4f)
|
#define glUniform4f MANGLE(Uniform4f)
|
||||||
#define glUniform4fvARB MANGLE(Uniform4fvARB)
|
#define glUniform4fvARB MANGLE(Uniform4fvARB)
|
||||||
@@ -1169,6 +1238,9 @@
|
|||||||
#define glUniform4i MANGLE(Uniform4i)
|
#define glUniform4i MANGLE(Uniform4i)
|
||||||
#define glUniform4ivARB MANGLE(Uniform4ivARB)
|
#define glUniform4ivARB MANGLE(Uniform4ivARB)
|
||||||
#define glUniform4iv MANGLE(Uniform4iv)
|
#define glUniform4iv MANGLE(Uniform4iv)
|
||||||
|
#define glUniform4uiEXT MANGLE(Uniform4uiEXT)
|
||||||
|
#define glUniform4uivEXT MANGLE(Uniform4uivEXT)
|
||||||
|
#define glUniformBufferEXT MANGLE(UniformBufferEXT)
|
||||||
#define glUniformMatrix2fvARB MANGLE(UniformMatrix2fvARB)
|
#define glUniformMatrix2fvARB MANGLE(UniformMatrix2fvARB)
|
||||||
#define glUniformMatrix2fv MANGLE(UniformMatrix2fv)
|
#define glUniformMatrix2fv MANGLE(UniformMatrix2fv)
|
||||||
#define glUniformMatrix2x3fv MANGLE(UniformMatrix2x3fv)
|
#define glUniformMatrix2x3fv MANGLE(UniformMatrix2x3fv)
|
||||||
@@ -1340,6 +1412,27 @@
|
|||||||
#define glVertexAttrib4usvARB MANGLE(VertexAttrib4usvARB)
|
#define glVertexAttrib4usvARB MANGLE(VertexAttrib4usvARB)
|
||||||
#define glVertexAttrib4usv MANGLE(VertexAttrib4usv)
|
#define glVertexAttrib4usv MANGLE(VertexAttrib4usv)
|
||||||
#define glVertexAttribArrayObjectATI MANGLE(VertexAttribArrayObjectATI)
|
#define glVertexAttribArrayObjectATI MANGLE(VertexAttribArrayObjectATI)
|
||||||
|
#define glVertexAttribI1iEXT MANGLE(VertexAttribI1iEXT)
|
||||||
|
#define glVertexAttribI1ivEXT MANGLE(VertexAttribI1ivEXT)
|
||||||
|
#define glVertexAttribI1uiEXT MANGLE(VertexAttribI1uiEXT)
|
||||||
|
#define glVertexAttribI1uivEXT MANGLE(VertexAttribI1uivEXT)
|
||||||
|
#define glVertexAttribI2iEXT MANGLE(VertexAttribI2iEXT)
|
||||||
|
#define glVertexAttribI2ivEXT MANGLE(VertexAttribI2ivEXT)
|
||||||
|
#define glVertexAttribI2uiEXT MANGLE(VertexAttribI2uiEXT)
|
||||||
|
#define glVertexAttribI2uivEXT MANGLE(VertexAttribI2uivEXT)
|
||||||
|
#define glVertexAttribI3iEXT MANGLE(VertexAttribI3iEXT)
|
||||||
|
#define glVertexAttribI3ivEXT MANGLE(VertexAttribI3ivEXT)
|
||||||
|
#define glVertexAttribI3uiEXT MANGLE(VertexAttribI3uiEXT)
|
||||||
|
#define glVertexAttribI3uivEXT MANGLE(VertexAttribI3uivEXT)
|
||||||
|
#define glVertexAttribI4bvEXT MANGLE(VertexAttribI4bvEXT)
|
||||||
|
#define glVertexAttribI4iEXT MANGLE(VertexAttribI4iEXT)
|
||||||
|
#define glVertexAttribI4ivEXT MANGLE(VertexAttribI4ivEXT)
|
||||||
|
#define glVertexAttribI4svEXT MANGLE(VertexAttribI4svEXT)
|
||||||
|
#define glVertexAttribI4ubvEXT MANGLE(VertexAttribI4ubvEXT)
|
||||||
|
#define glVertexAttribI4uiEXT MANGLE(VertexAttribI4uiEXT)
|
||||||
|
#define glVertexAttribI4uivEXT MANGLE(VertexAttribI4uivEXT)
|
||||||
|
#define glVertexAttribI4usvEXT MANGLE(VertexAttribI4usvEXT)
|
||||||
|
#define glVertexAttribIPointerEXT MANGLE(VertexAttribIPointerEXT)
|
||||||
#define glVertexAttribPointerARB MANGLE(VertexAttribPointerARB)
|
#define glVertexAttribPointerARB MANGLE(VertexAttribPointerARB)
|
||||||
#define glVertexAttribPointer MANGLE(VertexAttribPointer)
|
#define glVertexAttribPointer MANGLE(VertexAttribPointer)
|
||||||
#define glVertexAttribPointerNV MANGLE(VertexAttribPointerNV)
|
#define glVertexAttribPointerNV MANGLE(VertexAttribPointerNV)
|
||||||
|
|||||||
@@ -46,9 +46,9 @@ extern "C" {
|
|||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
|
|
||||||
/* Header file version number, required by OpenGL ABI for Linux */
|
/* Header file version number, required by OpenGL ABI for Linux */
|
||||||
/* glext.h last updated 2007/02/12 */
|
/* glext.h last updated 2008/03/24 */
|
||||||
/* Current version at http://www.opengl.org/registry/ */
|
/* Current version at http://www.opengl.org/registry/ */
|
||||||
#define GL_GLEXT_VERSION 39
|
#define GL_GLEXT_VERSION 40
|
||||||
|
|
||||||
#ifndef GL_VERSION_1_2
|
#ifndef GL_VERSION_1_2
|
||||||
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
|
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
|
||||||
@@ -3091,8 +3091,8 @@ extern "C" {
|
|||||||
#ifndef GL_EXT_framebuffer_blit
|
#ifndef GL_EXT_framebuffer_blit
|
||||||
#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
|
#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
|
||||||
#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
|
#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
|
||||||
#define GL_READ_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT
|
#define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT
|
||||||
#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CAA
|
#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_EXT_framebuffer_multisample
|
#ifndef GL_EXT_framebuffer_multisample
|
||||||
@@ -3379,6 +3379,9 @@ extern "C" {
|
|||||||
#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
|
#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_GREMEDY_frame_terminator
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
|
|
||||||
@@ -7252,6 +7255,14 @@ typedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint
|
|||||||
typedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
|
typedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_GREMEDY_frame_terminator
|
||||||
|
#define GL_GREMEDY_frame_terminator 1
|
||||||
|
#ifdef GL_GLEXT_PROTOTYPES
|
||||||
|
GLAPI void APIENTRY glFrameTerminatorGREMEDY (void);
|
||||||
|
#endif /* GL_GLEXT_PROTOTYPES */
|
||||||
|
typedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC) (void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,9 +44,17 @@
|
|||||||
#define GLAPIENTRYP GLAPIENTRY *
|
#define GLAPIENTRYP GLAPIENTRY *
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GLAPI
|
#if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
|
||||||
#define GLAPI
|
# undef GLAPI
|
||||||
#endif
|
# define GLAPI __declspec(dllexport)
|
||||||
|
#elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL)
|
||||||
|
/* tag specifying we're building for DLL runtime support */
|
||||||
|
# undef GLAPI
|
||||||
|
# define GLAPI __declspec(dllimport)
|
||||||
|
#elif !defined(GLAPI)
|
||||||
|
/* for use with static link lib build of Win32 edition only */
|
||||||
|
# define GLAPI extern
|
||||||
|
#endif /* _STATIC_MESA support */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|||||||
@@ -10,6 +10,10 @@
|
|||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
#include <GL/glu.h>
|
#include <GL/glu.h>
|
||||||
|
|
||||||
|
#if defined(__MINGW32__)
|
||||||
|
#include <GL/mesa_wgl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
@@ -115,7 +119,7 @@ extern _CRTIMP void __cdecl exit(int);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* GLUT API entry point declarations for Win32. */
|
/* GLUT API entry point declarations for Win32. */
|
||||||
#if defined(GLUT_BUILDING_LIB) && defined(_DLL)
|
#if (defined(BUILD_GLUT32) || defined(GLUT_BUILDING_LIB)) && defined(_DLL)
|
||||||
# define GLUTAPI __declspec(dllexport)
|
# define GLUTAPI __declspec(dllexport)
|
||||||
#elif defined(_DLL)
|
#elif defined(_DLL)
|
||||||
# define GLUTAPI __declspec(dllimport)
|
# define GLUTAPI __declspec(dllimport)
|
||||||
@@ -130,9 +134,12 @@ extern _CRTIMP void __cdecl exit(int);
|
|||||||
# pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/glut.h" )
|
# pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/glut.h" )
|
||||||
# endif
|
# endif
|
||||||
# define CALLBACK __stdcall
|
# define CALLBACK __stdcall
|
||||||
typedef int (GLUTAPIENTRY *PROC)();
|
|
||||||
typedef void *HGLRC;
|
#if !defined(__MINGW32__)
|
||||||
typedef void *HDC;
|
typedef int (GLUTAPIENTRY *PROC)();
|
||||||
|
typedef void *HGLRC;
|
||||||
|
typedef void *HDC;
|
||||||
|
#endif
|
||||||
typedef unsigned long COLORREF;
|
typedef unsigned long COLORREF;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *);
|
|||||||
typedef void (GLUTCALLBACK *GLUTidleFCB) (void);
|
typedef void (GLUTCALLBACK *GLUTidleFCB) (void);
|
||||||
|
|
||||||
/* Functions that set and return Fortran callback functions. */
|
/* Functions that set and return Fortran callback functions. */
|
||||||
GLUTAPI void* APIENTRY __glutGetFCB(int which);
|
GLUTAPI GLUTproc APIENTRY __glutGetFCB(int which);
|
||||||
GLUTAPI void APIENTRY __glutSetFCB(int which, void *func);
|
GLUTAPI void APIENTRY __glutSetFCB(int which, GLUTproc func);
|
||||||
|
|
||||||
#endif /* __glutf90_h__ */
|
#endif /* __glutf90_h__ */
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
||||||
|
* Copyright 2007-2008 Red Hat, Inc.
|
||||||
* (C) Copyright IBM Corporation 2004
|
* (C) Copyright IBM Corporation 2004
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
*
|
*
|
||||||
@@ -33,12 +34,12 @@
|
|||||||
*
|
*
|
||||||
* \author Kevin E. Martin <kevin@precisioninsight.com>
|
* \author Kevin E. Martin <kevin@precisioninsight.com>
|
||||||
* \author Ian Romanick <idr@us.ibm.com>
|
* \author Ian Romanick <idr@us.ibm.com>
|
||||||
|
* \author Kristian Høgsberg <krh@redhat.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DRI_INTERFACE_H
|
#ifndef DRI_INTERFACE_H
|
||||||
#define DRI_INTERFACE_H
|
#define DRI_INTERFACE_H
|
||||||
|
|
||||||
#include <GL/internal/glcore.h>
|
|
||||||
#include <drm.h>
|
#include <drm.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -48,65 +49,190 @@
|
|||||||
* side library and the DRI (direct rendering infrastructure).
|
* side library and the DRI (direct rendering infrastructure).
|
||||||
*/
|
*/
|
||||||
/*@{*/
|
/*@{*/
|
||||||
typedef struct __DRIdisplayRec __DRIdisplay;
|
typedef struct __DRIdisplayRec __DRIdisplay;
|
||||||
typedef struct __DRIscreenRec __DRIscreen;
|
typedef struct __DRIscreenRec __DRIscreen;
|
||||||
typedef struct __DRIcontextRec __DRIcontext;
|
typedef struct __DRIcontextRec __DRIcontext;
|
||||||
typedef struct __DRIdrawableRec __DRIdrawable;
|
typedef struct __DRIdrawableRec __DRIdrawable;
|
||||||
typedef struct __DRIdriverRec __DRIdriver;
|
typedef struct __DRIconfigRec __DRIconfig;
|
||||||
typedef struct __DRIframebufferRec __DRIframebuffer;
|
typedef struct __DRIframebufferRec __DRIframebuffer;
|
||||||
typedef struct __DRIversionRec __DRIversion;
|
typedef struct __DRIversionRec __DRIversion;
|
||||||
typedef struct __DRIinterfaceMethodsRec __DRIinterfaceMethods;
|
|
||||||
typedef unsigned long __DRIid;
|
typedef struct __DRIcoreExtensionRec __DRIcoreExtension;
|
||||||
typedef void __DRInativeDisplay;
|
typedef struct __DRIextensionRec __DRIextension;
|
||||||
|
typedef struct __DRIcopySubBufferExtensionRec __DRIcopySubBufferExtension;
|
||||||
|
typedef struct __DRIswapControlExtensionRec __DRIswapControlExtension;
|
||||||
|
typedef struct __DRIallocateExtensionRec __DRIallocateExtension;
|
||||||
|
typedef struct __DRIframeTrackingExtensionRec __DRIframeTrackingExtension;
|
||||||
|
typedef struct __DRImediaStreamCounterExtensionRec __DRImediaStreamCounterExtension;
|
||||||
|
typedef struct __DRItexOffsetExtensionRec __DRItexOffsetExtension;
|
||||||
|
typedef struct __DRItexBufferExtensionRec __DRItexBufferExtension;
|
||||||
|
typedef struct __DRIlegacyExtensionRec __DRIlegacyExtension;
|
||||||
|
typedef struct __DRIswrastExtensionRec __DRIswrastExtension;
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \name Functions provided by the driver loader.
|
* Extension struct. Drivers 'inherit' from this struct by embedding
|
||||||
*/
|
* it as the first element in the extension struct.
|
||||||
/*@{*/
|
|
||||||
/**
|
|
||||||
* Type of a pointer to \c glXGetScreenDriver, as returned by
|
|
||||||
* \c glXGetProcAddress. This function is used to get the name of the DRI
|
|
||||||
* driver for the specified screen of the specified display. The driver
|
|
||||||
* name is typically used with \c glXGetDriverConfig.
|
|
||||||
*
|
*
|
||||||
* \sa glXGetScreenDriver, glXGetProcAddress, glXGetDriverConfig
|
* We never break API in for a DRI extension. If we need to change
|
||||||
*/
|
* the way things work in a non-backwards compatible manner, we
|
||||||
typedef const char * (* PFNGLXGETSCREENDRIVERPROC) (__DRInativeDisplay *dpy, int scrNum);
|
* introduce a new extension. During a transition period, we can
|
||||||
|
* leave both the old and the new extension in the driver, which
|
||||||
/**
|
* allows us to move to the new interface without having to update the
|
||||||
* Type of a pointer to \c glXGetDriverConfig, as returned by
|
* loader(s) in lock step.
|
||||||
* \c glXGetProcAddress. This function is used to get the XML document
|
|
||||||
* describing the configuration options available for the specified driver.
|
|
||||||
*
|
*
|
||||||
* \sa glXGetDriverConfig, glXGetProcAddress, glXGetScreenDriver
|
* However, we can add entry points to an extension over time as long
|
||||||
|
* as we don't break the old ones. As we add entry points to an
|
||||||
|
* extension, we increase the version number. The corresponding
|
||||||
|
* #define can be used to guard code that accesses the new entry
|
||||||
|
* points at compile time and the version field in the extension
|
||||||
|
* struct can be used at run-time to determine how to use the
|
||||||
|
* extension.
|
||||||
*/
|
*/
|
||||||
typedef const char * (* PFNGLXGETDRIVERCONFIGPROC) (const char *driverName);
|
struct __DRIextensionRec {
|
||||||
|
const char *name;
|
||||||
|
int version;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type of a pointer to \c glxEnableExtension, as returned by
|
* The first set of extension are the screen extensions, returned by
|
||||||
* \c __DRIinterfaceMethods::getProcAddress. This function is used to enable
|
* __DRIcore::getExtensions(). This entry point will return a list of
|
||||||
* a GLX extension on the specified screen.
|
* extensions and the loader can use the ones it knows about by
|
||||||
|
* casting them to more specific extensions and advertising any GLX
|
||||||
|
* extensions the DRI extensions enables.
|
||||||
*/
|
*/
|
||||||
typedef void (* PFNGLXSCRENABLEEXTENSIONPROC) ( void *psc, const char * name );
|
|
||||||
/*@}*/
|
/**
|
||||||
|
* Used by drivers to indicate support for setting the read drawable.
|
||||||
|
*/
|
||||||
|
#define __DRI_READ_DRAWABLE "DRI_ReadDrawable"
|
||||||
|
#define __DRI_READ_DRAWABLE_VERSION 1
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by drivers that implement the GLX_MESA_copy_sub_buffer extension.
|
||||||
|
*/
|
||||||
|
#define __DRI_COPY_SUB_BUFFER "DRI_CopySubBuffer"
|
||||||
|
#define __DRI_COPY_SUB_BUFFER_VERSION 1
|
||||||
|
struct __DRIcopySubBufferExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
void (*copySubBuffer)(__DRIdrawable *drawable, int x, int y, int w, int h);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by drivers that implement the GLX_SGI_swap_control or
|
||||||
|
* GLX_MESA_swap_control extension.
|
||||||
|
*/
|
||||||
|
#define __DRI_SWAP_CONTROL "DRI_SwapControl"
|
||||||
|
#define __DRI_SWAP_CONTROL_VERSION 1
|
||||||
|
struct __DRIswapControlExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
void (*setSwapInterval)(__DRIdrawable *drawable, unsigned int inteval);
|
||||||
|
unsigned int (*getSwapInterval)(__DRIdrawable *drawable);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by drivers that implement the GLX_MESA_allocate_memory.
|
||||||
|
*/
|
||||||
|
#define __DRI_ALLOCATE "DRI_Allocate"
|
||||||
|
#define __DRI_ALLOCATE_VERSION 1
|
||||||
|
struct __DRIallocateExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
void *(*allocateMemory)(__DRIscreen *screen, GLsizei size,
|
||||||
|
GLfloat readfreq, GLfloat writefreq,
|
||||||
|
GLfloat priority);
|
||||||
|
|
||||||
|
void (*freeMemory)(__DRIscreen *screen, GLvoid *pointer);
|
||||||
|
|
||||||
|
GLuint (*memoryOffset)(__DRIscreen *screen, const GLvoid *pointer);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by drivers that implement the GLX_MESA_swap_frame_usage extension.
|
||||||
|
*/
|
||||||
|
#define __DRI_FRAME_TRACKING "DRI_FrameTracking"
|
||||||
|
#define __DRI_FRAME_TRACKING_VERSION 1
|
||||||
|
struct __DRIframeTrackingExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable frame usage tracking.
|
||||||
|
*
|
||||||
|
* \since Internal API version 20030317.
|
||||||
|
*/
|
||||||
|
int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve frame usage information.
|
||||||
|
*
|
||||||
|
* \since Internal API version 20030317.
|
||||||
|
*/
|
||||||
|
int (*queryFrameTracking)(__DRIdrawable *drawable,
|
||||||
|
int64_t * sbc, int64_t * missedFrames,
|
||||||
|
float * lastMissedUsage, float * usage);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \name Functions and data provided by the driver.
|
* Used by drivers that implement the GLX_SGI_video_sync extension.
|
||||||
*/
|
*/
|
||||||
/*@{*/
|
#define __DRI_MEDIA_STREAM_COUNTER "DRI_MediaStreamCounter"
|
||||||
|
#define __DRI_MEDIA_STREAM_COUNTER_VERSION 1
|
||||||
|
struct __DRImediaStreamCounterExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
typedef void *(CREATENEWSCREENFUNC)(__DRInativeDisplay *dpy, int scrn,
|
/**
|
||||||
__DRIscreen *psc, const __GLcontextModes * modes,
|
* Wait for the MSC to equal target_msc, or, if that has already passed,
|
||||||
const __DRIversion * ddx_version, const __DRIversion * dri_version,
|
* the next time (MSC % divisor) is equal to remainder. If divisor is
|
||||||
const __DRIversion * drm_version, const __DRIframebuffer * frame_buffer,
|
* zero, the function will return as soon as MSC is greater than or equal
|
||||||
void * pSAREA, int fd, int internal_api_version,
|
* to target_msc.
|
||||||
const __DRIinterfaceMethods * interface,
|
*/
|
||||||
__GLcontextModes ** driver_modes);
|
int (*waitForMSC)(__DRIdrawable *drawable,
|
||||||
typedef CREATENEWSCREENFUNC* PFNCREATENEWSCREENFUNC;
|
int64_t target_msc, int64_t divisor, int64_t remainder,
|
||||||
extern CREATENEWSCREENFUNC __driCreateNewScreen_20050727;
|
int64_t * msc, int64_t * sbc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the number of vertical refreshes since some point in time before
|
||||||
|
* this function was first called (i.e., system start up).
|
||||||
|
*/
|
||||||
|
int (*getDrawableMSC)(__DRIscreen *screen, __DRIdrawable *drawable,
|
||||||
|
int64_t *msc);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#define __DRI_TEX_OFFSET "DRI_TexOffset"
|
||||||
|
#define __DRI_TEX_OFFSET_VERSION 1
|
||||||
|
struct __DRItexOffsetExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to override base texture image with a driver specific 'offset'.
|
||||||
|
* The depth passed in allows e.g. to ignore the alpha channel of texture
|
||||||
|
* images where the non-alpha components don't occupy a whole texel.
|
||||||
|
*
|
||||||
|
* For GLX_EXT_texture_from_pixmap with AIGLX.
|
||||||
|
*/
|
||||||
|
void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
|
||||||
|
unsigned long long offset, GLint depth, GLuint pitch);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#define __DRI_TEX_BUFFER "DRI_TexBuffer"
|
||||||
|
#define __DRI_TEX_BUFFER_VERSION 1
|
||||||
|
struct __DRItexBufferExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to override base texture image with the contents of a
|
||||||
|
* __DRIdrawable.
|
||||||
|
*
|
||||||
|
* For GLX_EXT_texture_from_pixmap with AIGLX.
|
||||||
|
*/
|
||||||
|
void (*setTexBuffer)(__DRIcontext *pDRICtx,
|
||||||
|
GLint target,
|
||||||
|
__DRIdrawable *pDraw);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -117,6 +243,289 @@ extern const char __driConfigOptions[];
|
|||||||
|
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The following extensions describe loader features that the DRI
|
||||||
|
* driver can make use of. Some of these are mandatory, such as the
|
||||||
|
* getDrawableInfo extension for DRI and the DRI Loader extensions for
|
||||||
|
* DRI2, while others are optional, and if present allow the driver to
|
||||||
|
* expose certain features. The loader pass in a NULL terminated
|
||||||
|
* array of these extensions to the driver in the createNewScreen
|
||||||
|
* constructor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct __DRIgetDrawableInfoExtensionRec __DRIgetDrawableInfoExtension;
|
||||||
|
typedef struct __DRIsystemTimeExtensionRec __DRIsystemTimeExtension;
|
||||||
|
typedef struct __DRIdamageExtensionRec __DRIdamageExtension;
|
||||||
|
typedef struct __DRIloaderExtensionRec __DRIloaderExtension;
|
||||||
|
typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback to getDrawableInfo protocol
|
||||||
|
*/
|
||||||
|
#define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo"
|
||||||
|
#define __DRI_GET_DRAWABLE_INFO_VERSION 1
|
||||||
|
struct __DRIgetDrawableInfoExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is used to get information about the position, size, and
|
||||||
|
* clip rects of a drawable.
|
||||||
|
*/
|
||||||
|
GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable,
|
||||||
|
unsigned int * index, unsigned int * stamp,
|
||||||
|
int * x, int * y, int * width, int * height,
|
||||||
|
int * numClipRects, drm_clip_rect_t ** pClipRects,
|
||||||
|
int * backX, int * backY,
|
||||||
|
int * numBackClipRects, drm_clip_rect_t ** pBackClipRects,
|
||||||
|
void *loaderPrivate);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback to get system time for media stream counter extensions.
|
||||||
|
*/
|
||||||
|
#define __DRI_SYSTEM_TIME "DRI_SystemTime"
|
||||||
|
#define __DRI_SYSTEM_TIME_VERSION 1
|
||||||
|
struct __DRIsystemTimeExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the 64-bit unadjusted system time (UST).
|
||||||
|
*/
|
||||||
|
int (*getUST)(int64_t * ust);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the media stream counter (MSC) rate.
|
||||||
|
*
|
||||||
|
* Matching the definition in GLX_OML_sync_control, this function returns
|
||||||
|
* the rate of the "media stream counter". In practical terms, this is
|
||||||
|
* the frame refresh rate of the display.
|
||||||
|
*/
|
||||||
|
GLboolean (*getMSCRate)(__DRIdrawable *draw,
|
||||||
|
int32_t * numerator, int32_t * denominator,
|
||||||
|
void *loaderPrivate);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Damage reporting
|
||||||
|
*/
|
||||||
|
#define __DRI_DAMAGE "DRI_Damage"
|
||||||
|
#define __DRI_DAMAGE_VERSION 1
|
||||||
|
struct __DRIdamageExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reports areas of the given drawable which have been modified by the
|
||||||
|
* driver.
|
||||||
|
*
|
||||||
|
* \param drawable which the drawing was done to.
|
||||||
|
* \param rects rectangles affected, with the drawable origin as the
|
||||||
|
* origin.
|
||||||
|
* \param x X offset of the drawable within the screen (used in the
|
||||||
|
* front_buffer case)
|
||||||
|
* \param y Y offset of the drawable within the screen.
|
||||||
|
* \param front_buffer boolean flag for whether the drawing to the
|
||||||
|
* drawable was actually done directly to the front buffer (instead
|
||||||
|
* of backing storage, for example)
|
||||||
|
* \param loaderPrivate the data passed in at createNewDrawable time
|
||||||
|
*/
|
||||||
|
void (*reportDamage)(__DRIdrawable *draw,
|
||||||
|
int x, int y,
|
||||||
|
drm_clip_rect_t *rects, int num_rects,
|
||||||
|
GLboolean front_buffer,
|
||||||
|
void *loaderPrivate);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DRI2 Loader extension. This extension describes the basic
|
||||||
|
* functionality the loader needs to provide for the DRI driver.
|
||||||
|
*/
|
||||||
|
#define __DRI_LOADER "DRI_Loader"
|
||||||
|
#define __DRI_LOADER_VERSION 1
|
||||||
|
struct __DRIloaderExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ping the windowing system to get it to reemit info for the
|
||||||
|
* specified drawable in the DRI2 event buffer.
|
||||||
|
*
|
||||||
|
* \param draw the drawable for which to request info
|
||||||
|
* \param tail the new event buffer tail pointer
|
||||||
|
*/
|
||||||
|
void (*reemitDrawableInfo)(__DRIdrawable *draw, unsigned int *tail,
|
||||||
|
void *loaderPrivate);
|
||||||
|
|
||||||
|
void (*postDamage)(__DRIdrawable *draw, struct drm_clip_rect *rects,
|
||||||
|
int num_rects, void *loaderPrivate);
|
||||||
|
};
|
||||||
|
|
||||||
|
#define __DRI_SWRAST_IMAGE_OP_DRAW 1
|
||||||
|
#define __DRI_SWRAST_IMAGE_OP_CLEAR 2
|
||||||
|
#define __DRI_SWRAST_IMAGE_OP_SWAP 3
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SWRast Loader extension.
|
||||||
|
*/
|
||||||
|
#define __DRI_SWRAST_LOADER "DRI_SWRastLoader"
|
||||||
|
#define __DRI_SWRAST_LOADER_VERSION 1
|
||||||
|
struct __DRIswrastLoaderExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drawable position and size
|
||||||
|
*/
|
||||||
|
void (*getDrawableInfo)(__DRIdrawable *drawable,
|
||||||
|
int *x, int *y, int *width, int *height,
|
||||||
|
void *loaderPrivate);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Put image to drawable
|
||||||
|
*/
|
||||||
|
void (*putImage)(__DRIdrawable *drawable, int op,
|
||||||
|
int x, int y, int width, int height, char *data,
|
||||||
|
void *loaderPrivate);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get image from drawable
|
||||||
|
*/
|
||||||
|
void (*getImage)(__DRIdrawable *drawable,
|
||||||
|
int x, int y, int width, int height, char *data,
|
||||||
|
void *loaderPrivate);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The remaining extensions describe driver extensions, immediately
|
||||||
|
* available interfaces provided by the driver. To start using the
|
||||||
|
* driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for
|
||||||
|
* the extension you need in the array.
|
||||||
|
*/
|
||||||
|
#define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tokens for __DRIconfig attribs. A number of attributes defined by
|
||||||
|
* GLX or EGL standards are not in the table, as they must be provided
|
||||||
|
* by the loader. For example, FBConfig ID or visual ID, drawable type.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define __DRI_ATTRIB_BUFFER_SIZE 1
|
||||||
|
#define __DRI_ATTRIB_LEVEL 2
|
||||||
|
#define __DRI_ATTRIB_RED_SIZE 3
|
||||||
|
#define __DRI_ATTRIB_GREEN_SIZE 4
|
||||||
|
#define __DRI_ATTRIB_BLUE_SIZE 5
|
||||||
|
#define __DRI_ATTRIB_LUMINANCE_SIZE 6
|
||||||
|
#define __DRI_ATTRIB_ALPHA_SIZE 7
|
||||||
|
#define __DRI_ATTRIB_ALPHA_MASK_SIZE 8
|
||||||
|
#define __DRI_ATTRIB_DEPTH_SIZE 9
|
||||||
|
#define __DRI_ATTRIB_STENCIL_SIZE 10
|
||||||
|
#define __DRI_ATTRIB_ACCUM_RED_SIZE 11
|
||||||
|
#define __DRI_ATTRIB_ACCUM_GREEN_SIZE 12
|
||||||
|
#define __DRI_ATTRIB_ACCUM_BLUE_SIZE 13
|
||||||
|
#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE 14
|
||||||
|
#define __DRI_ATTRIB_SAMPLE_BUFFERS 15
|
||||||
|
#define __DRI_ATTRIB_SAMPLES 16
|
||||||
|
#define __DRI_ATTRIB_RENDER_TYPE 17
|
||||||
|
#define __DRI_ATTRIB_CONFIG_CAVEAT 18
|
||||||
|
#define __DRI_ATTRIB_CONFORMANT 19
|
||||||
|
#define __DRI_ATTRIB_DOUBLE_BUFFER 20
|
||||||
|
#define __DRI_ATTRIB_STEREO 21
|
||||||
|
#define __DRI_ATTRIB_AUX_BUFFERS 22
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_TYPE 23
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE 24
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE 25
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE 26
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE 27
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE 28
|
||||||
|
#define __DRI_ATTRIB_FLOAT_MODE 29
|
||||||
|
#define __DRI_ATTRIB_RED_MASK 30
|
||||||
|
#define __DRI_ATTRIB_GREEN_MASK 31
|
||||||
|
#define __DRI_ATTRIB_BLUE_MASK 32
|
||||||
|
#define __DRI_ATTRIB_ALPHA_MASK 33
|
||||||
|
#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH 34
|
||||||
|
#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT 35
|
||||||
|
#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS 36
|
||||||
|
#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH 37
|
||||||
|
#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT 38
|
||||||
|
#define __DRI_ATTRIB_VISUAL_SELECT_GROUP 39
|
||||||
|
#define __DRI_ATTRIB_SWAP_METHOD 40
|
||||||
|
#define __DRI_ATTRIB_MAX_SWAP_INTERVAL 41
|
||||||
|
#define __DRI_ATTRIB_MIN_SWAP_INTERVAL 42
|
||||||
|
#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB 43
|
||||||
|
#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA 44
|
||||||
|
#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE 45
|
||||||
|
#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS 46
|
||||||
|
#define __DRI_ATTRIB_YINVERTED 47
|
||||||
|
|
||||||
|
/* __DRI_ATTRIB_RENDER_TYPE */
|
||||||
|
#define __DRI_ATTRIB_RGBA_BIT 0x01
|
||||||
|
#define __DRI_ATTRIB_COLOR_INDEX_BIT 0x02
|
||||||
|
#define __DRI_ATTRIB_LUMINANCE_BIT 0x04
|
||||||
|
|
||||||
|
/* __DRI_ATTRIB_CONFIG_CAVEAT */
|
||||||
|
#define __DRI_ATTRIB_SLOW_BIT 0x01
|
||||||
|
#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG 0x02
|
||||||
|
|
||||||
|
/* __DRI_ATTRIB_TRANSPARENT_TYPE */
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_RGB 0x00
|
||||||
|
#define __DRI_ATTRIB_TRANSPARENT_INDEX 0x01
|
||||||
|
|
||||||
|
/* __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS */
|
||||||
|
#define __DRI_ATTRIB_TEXTURE_1D_BIT 0x01
|
||||||
|
#define __DRI_ATTRIB_TEXTURE_2D_BIT 0x02
|
||||||
|
#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT 0x04
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This extension defines the core DRI functionality.
|
||||||
|
*/
|
||||||
|
#define __DRI_CORE "DRI_Core"
|
||||||
|
#define __DRI_CORE_VERSION 1
|
||||||
|
|
||||||
|
struct __DRIcoreExtensionRec {
|
||||||
|
__DRIextension base;
|
||||||
|
|
||||||
|
__DRIscreen *(*createNewScreen)(int screen, int fd,
|
||||||
|
unsigned int sarea_handle,
|
||||||
|
const __DRIextension **extensions,
|
||||||
|
const __DRIconfig ***driverConfigs,
|
||||||
|
void *loaderPrivate);
|
||||||
|
|
||||||
|
void (*destroyScreen)(__DRIscreen *screen);
|
||||||
|
|
||||||
|
const __DRIextension **(*getExtensions)(__DRIscreen *screen);
|
||||||
|
|
||||||
|
int (*getConfigAttrib)(const __DRIconfig *config,
|
||||||
|
unsigned int attrib,
|
||||||
|
unsigned int *value);
|
||||||
|
|
||||||
|
int (*indexConfigAttrib)(const __DRIconfig *config, int index,
|
||||||
|
unsigned int *attrib, unsigned int *value);
|
||||||
|
|
||||||
|
__DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
|
||||||
|
const __DRIconfig *config,
|
||||||
|
unsigned int drawable_id,
|
||||||
|
unsigned int head,
|
||||||
|
void *loaderPrivate);
|
||||||
|
|
||||||
|
void (*destroyDrawable)(__DRIdrawable *drawable);
|
||||||
|
|
||||||
|
void (*swapBuffers)(__DRIdrawable *drawable);
|
||||||
|
|
||||||
|
__DRIcontext *(*createNewContext)(__DRIscreen *screen,
|
||||||
|
const __DRIconfig *config,
|
||||||
|
__DRIcontext *shared,
|
||||||
|
void *loaderPrivate);
|
||||||
|
|
||||||
|
int (*copyContext)(__DRIcontext *dest,
|
||||||
|
__DRIcontext *src,
|
||||||
|
unsigned long mask);
|
||||||
|
|
||||||
|
void (*destroyContext)(__DRIcontext *context);
|
||||||
|
|
||||||
|
int (*bindContext)(__DRIcontext *ctx,
|
||||||
|
__DRIdrawable *pdraw,
|
||||||
|
__DRIdrawable *pread);
|
||||||
|
|
||||||
|
int (*unbindContext)(__DRIcontext *ctx);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stored version of some component (i.e., server-side DRI module, kernel-side
|
* Stored version of some component (i.e., server-side DRI module, kernel-side
|
||||||
@@ -133,133 +542,6 @@ struct __DRIversionRec {
|
|||||||
int patch; /**< Patch-level. */
|
int patch; /**< Patch-level. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef void (*__DRIfuncPtr)(void);
|
|
||||||
|
|
||||||
struct __DRIinterfaceMethodsRec {
|
|
||||||
/**
|
|
||||||
* Get pointer to named function.
|
|
||||||
*/
|
|
||||||
__DRIfuncPtr (*getProcAddress)( const char * proc_name );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a list of \c __GLcontextModes structures.
|
|
||||||
*/
|
|
||||||
__GLcontextModes * (*createContextModes)(unsigned count,
|
|
||||||
size_t minimum_bytes_per_struct);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destroy a list of \c __GLcontextModes structures.
|
|
||||||
*
|
|
||||||
* \todo
|
|
||||||
* Determine if the drivers actually need to call this.
|
|
||||||
*/
|
|
||||||
void (*destroyContextModes)( __GLcontextModes * modes );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the \c __DRIscreen for a given display and screen number.
|
|
||||||
*/
|
|
||||||
__DRIscreen *(*getScreen)(__DRInativeDisplay *dpy, int screenNum);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \name Client/server protocol functions.
|
|
||||||
*
|
|
||||||
* These functions implement the DRI client/server protocol for
|
|
||||||
* context and drawable operations. Platforms that do not implement
|
|
||||||
* the wire protocol (e.g., EGL) will implement glorified no-op functions.
|
|
||||||
*/
|
|
||||||
/*@{*/
|
|
||||||
/**
|
|
||||||
* Determine if the specified window ID still exists.
|
|
||||||
*
|
|
||||||
* \note
|
|
||||||
* Implementations may assume that the driver will only pass an ID into
|
|
||||||
* this function that actually corresponds to a window. On
|
|
||||||
* implementations where windows can only be destroyed by the DRI driver
|
|
||||||
* (e.g., EGL), this function is allowed to always return \c GL_TRUE.
|
|
||||||
*/
|
|
||||||
GLboolean (*windowExists)(__DRInativeDisplay *dpy, __DRIid draw);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create the server-side portion of the GL context.
|
|
||||||
*/
|
|
||||||
GLboolean (* createContext)( __DRInativeDisplay *dpy, int screenNum,
|
|
||||||
int configID, void * contextID, drm_context_t * hw_context );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destroy the server-side portion of the GL context.
|
|
||||||
*/
|
|
||||||
GLboolean (* destroyContext)( __DRInativeDisplay *dpy, int screenNum,
|
|
||||||
__DRIid context );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create the server-side portion of the drawable.
|
|
||||||
*/
|
|
||||||
GLboolean (*createDrawable)( __DRInativeDisplay * ndpy, int screen,
|
|
||||||
__DRIid drawable, drm_drawable_t * hHWDrawable );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destroy the server-side portion of the drawable.
|
|
||||||
*/
|
|
||||||
GLboolean (*destroyDrawable)( __DRInativeDisplay * ndpy, int screen,
|
|
||||||
__DRIid drawable );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This function is used to get information about the position, size, and
|
|
||||||
* clip rects of a drawable.
|
|
||||||
*/
|
|
||||||
GLboolean (* getDrawableInfo) ( __DRInativeDisplay *dpy, int scrn,
|
|
||||||
__DRIid draw, unsigned int * index, unsigned int * stamp,
|
|
||||||
int * x, int * y, int * width, int * height,
|
|
||||||
int * numClipRects, drm_clip_rect_t ** pClipRects,
|
|
||||||
int * backX, int * backY,
|
|
||||||
int * numBackClipRects, drm_clip_rect_t ** pBackClipRects );
|
|
||||||
/*@}*/
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \name Timing related functions.
|
|
||||||
*/
|
|
||||||
/*@{*/
|
|
||||||
/**
|
|
||||||
* Get the 64-bit unadjusted system time (UST).
|
|
||||||
*/
|
|
||||||
int (*getUST)(int64_t * ust);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the media stream counter (MSC) rate.
|
|
||||||
*
|
|
||||||
* Matching the definition in GLX_OML_sync_control, this function returns
|
|
||||||
* the rate of the "media stream counter". In practical terms, this is
|
|
||||||
* the frame refresh rate of the display.
|
|
||||||
*/
|
|
||||||
GLboolean (*getMSCRate)(__DRInativeDisplay * dpy, __DRIid drawable,
|
|
||||||
int32_t * numerator, int32_t * denominator);
|
|
||||||
/*@}*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reports areas of the given drawable which have been modified by the
|
|
||||||
* driver.
|
|
||||||
*
|
|
||||||
* \param drawable which the drawing was done to.
|
|
||||||
* \param rects rectangles affected, with the drawable origin as the
|
|
||||||
* origin.
|
|
||||||
* \param x X offset of the drawable within the screen (used in the
|
|
||||||
* front_buffer case)
|
|
||||||
* \param y Y offset of the drawable within the screen.
|
|
||||||
* \param front_buffer boolean flag for whether the drawing to the
|
|
||||||
* drawable was actually done directly to the front buffer (instead
|
|
||||||
* of backing storage, for example)
|
|
||||||
*/
|
|
||||||
void (*reportDamage)(__DRInativeDisplay * dpy, int screen,
|
|
||||||
__DRIid drawable,
|
|
||||||
int x, int y,
|
|
||||||
drm_clip_rect_t *rects, int num_rects,
|
|
||||||
int front_buffer);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Framebuffer information record. Used by libGL to communicate information
|
* Framebuffer information record. Used by libGL to communicate information
|
||||||
* about the framebuffer to the driver's \c __driCreateNewScreen function.
|
* about the framebuffer to the driver's \c __driCreateNewScreen function.
|
||||||
@@ -289,217 +571,59 @@ struct __DRIframebufferRec {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Screen dependent methods. This structure is initialized during the
|
* This extension provides alternative screen, drawable and context
|
||||||
* \c __DRIdisplayRec::createScreen call.
|
* constructors for legacy DRI functionality. This is used in
|
||||||
|
* conjunction with the core extension.
|
||||||
*/
|
*/
|
||||||
struct __DRIscreenRec {
|
#define __DRI_LEGACY "DRI_Legacy"
|
||||||
/**
|
#define __DRI_LEGACY_VERSION 1
|
||||||
* Method to destroy the private DRI screen data.
|
|
||||||
*/
|
|
||||||
void (*destroyScreen)(__DRInativeDisplay *dpy, int scrn, void *screenPrivate);
|
|
||||||
|
|
||||||
/**
|
struct __DRIlegacyExtensionRec {
|
||||||
* Method to create the private DRI drawable data and initialize the
|
__DRIextension base;
|
||||||
* drawable dependent methods.
|
|
||||||
*/
|
|
||||||
void *(*createNewDrawable)(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
|
|
||||||
__DRIid draw, __DRIdrawable *pdraw,
|
|
||||||
int renderType, const int *attrs);
|
|
||||||
|
|
||||||
/**
|
__DRIscreen *(*createNewScreen)(int screen,
|
||||||
* Method to return a pointer to the DRI drawable data.
|
const __DRIversion *ddx_version,
|
||||||
*/
|
const __DRIversion *dri_version,
|
||||||
__DRIdrawable *(*getDrawable)(__DRInativeDisplay *dpy, __DRIid draw,
|
const __DRIversion *drm_version,
|
||||||
void *drawablePrivate);
|
const __DRIframebuffer *frame_buffer,
|
||||||
|
void *pSAREA, int fd,
|
||||||
|
const __DRIextension **extensions,
|
||||||
|
const __DRIconfig ***driver_configs,
|
||||||
|
void *loaderPrivate);
|
||||||
|
|
||||||
/**
|
__DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
|
||||||
* Opaque pointer to private per screen direct rendering data. \c NULL
|
const __DRIconfig *config,
|
||||||
* if direct rendering is not supported on this screen. Never
|
drm_drawable_t hwDrawable,
|
||||||
* dereferenced in libGL.
|
int renderType, const int *attrs,
|
||||||
*/
|
void *loaderPrivate);
|
||||||
void *private;
|
|
||||||
|
|
||||||
/**
|
__DRIcontext *(*createNewContext)(__DRIscreen *screen,
|
||||||
* Get the number of vertical refreshes since some point in time before
|
const __DRIconfig *config,
|
||||||
* this function was first called (i.e., system start up).
|
int render_type,
|
||||||
*
|
__DRIcontext *shared,
|
||||||
* \since Internal API version 20030317.
|
drm_context_t hwContext,
|
||||||
*/
|
void *loaderPrivate);
|
||||||
int (*getMSC)( void *screenPrivate, int64_t *msc );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Opaque pointer that points back to the containing
|
|
||||||
* \c __GLXscreenConfigs. This data structure is shared with DRI drivers
|
|
||||||
* but \c __GLXscreenConfigs is not. However, they are needed by some GLX
|
|
||||||
* functions called by DRI drivers.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030813.
|
|
||||||
*/
|
|
||||||
void *screenConfigs;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Functions associated with MESA_allocate_memory.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030815.
|
|
||||||
*/
|
|
||||||
/*@{*/
|
|
||||||
void *(*allocateMemory)(__DRInativeDisplay *dpy, int scrn, GLsizei size,
|
|
||||||
GLfloat readfreq, GLfloat writefreq,
|
|
||||||
GLfloat priority);
|
|
||||||
|
|
||||||
void (*freeMemory)(__DRInativeDisplay *dpy, int scrn, GLvoid *pointer);
|
|
||||||
|
|
||||||
GLuint (*memoryOffset)(__DRInativeDisplay *dpy, int scrn, const GLvoid *pointer);
|
|
||||||
/*@}*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Method to create the private DRI context data and initialize the
|
|
||||||
* context dependent methods.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20031201.
|
|
||||||
*/
|
|
||||||
void * (*createNewContext)(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
|
|
||||||
int render_type,
|
|
||||||
void *sharedPrivate, __DRIcontext *pctx);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Context dependent methods. This structure is initialized during the
|
* This extension provides alternative screen, drawable and context
|
||||||
* \c __DRIscreenRec::createContext call.
|
* constructors for swrast DRI functionality. This is used in
|
||||||
|
* conjunction with the core extension.
|
||||||
*/
|
*/
|
||||||
struct __DRIcontextRec {
|
#define __DRI_SWRAST "DRI_SWRast"
|
||||||
/**
|
#define __DRI_SWRAST_VERSION 1
|
||||||
* Method to destroy the private DRI context data.
|
|
||||||
*/
|
|
||||||
void (*destroyContext)(__DRInativeDisplay *dpy, int scrn, void *contextPrivate);
|
|
||||||
|
|
||||||
/**
|
struct __DRIswrastExtensionRec {
|
||||||
* Opaque pointer to private per context direct rendering data.
|
__DRIextension base;
|
||||||
* \c NULL if direct rendering is not supported on the display or
|
|
||||||
* screen used to create this context. Never dereferenced in libGL.
|
|
||||||
*/
|
|
||||||
void *private;
|
|
||||||
|
|
||||||
/**
|
__DRIscreen *(*createNewScreen)(int screen,
|
||||||
* Pointer to the mode used to create this context.
|
const __DRIextension **extensions,
|
||||||
*
|
const __DRIconfig ***driver_configs,
|
||||||
* \since Internal API version 20040317.
|
void *loaderPrivate);
|
||||||
*/
|
|
||||||
const __GLcontextModes * mode;
|
|
||||||
|
|
||||||
/**
|
__DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
|
||||||
* Method to bind a DRI drawable to a DRI graphics context.
|
const __DRIconfig *config,
|
||||||
*
|
void *loaderPrivate);
|
||||||
* \since Internal API version 20050727.
|
|
||||||
*/
|
|
||||||
GLboolean (*bindContext)(__DRInativeDisplay *dpy, int scrn, __DRIid draw,
|
|
||||||
__DRIid read, __DRIcontext *ctx);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Method to unbind a DRI drawable from a DRI graphics context.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20050727.
|
|
||||||
*/
|
|
||||||
GLboolean (*unbindContext)(__DRInativeDisplay *dpy, int scrn, __DRIid draw,
|
|
||||||
__DRIid read, __DRIcontext *ctx);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Drawable dependent methods. This structure is initialized during the
|
|
||||||
* \c __DRIscreenRec::createDrawable call. \c createDrawable is not called
|
|
||||||
* by libGL at this time. It's currently used via the dri_util.c utility code
|
|
||||||
* instead.
|
|
||||||
*/
|
|
||||||
struct __DRIdrawableRec {
|
|
||||||
/**
|
|
||||||
* Method to destroy the private DRI drawable data.
|
|
||||||
*/
|
|
||||||
void (*destroyDrawable)(__DRInativeDisplay *dpy, void *drawablePrivate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Method to swap the front and back buffers.
|
|
||||||
*/
|
|
||||||
void (*swapBuffers)(__DRInativeDisplay *dpy, void *drawablePrivate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Opaque pointer to private per drawable direct rendering data.
|
|
||||||
* \c NULL if direct rendering is not supported on the display or
|
|
||||||
* screen used to create this drawable. Never dereferenced in libGL.
|
|
||||||
*/
|
|
||||||
void *private;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the number of completed swap buffers for this drawable.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030317.
|
|
||||||
*/
|
|
||||||
int (*getSBC)(__DRInativeDisplay *dpy, void *drawablePrivate, int64_t *sbc );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Wait for the SBC to be greater than or equal target_sbc.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030317.
|
|
||||||
*/
|
|
||||||
int (*waitForSBC)( __DRInativeDisplay * dpy, void *drawablePriv,
|
|
||||||
int64_t target_sbc,
|
|
||||||
int64_t * msc, int64_t * sbc );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Wait for the MSC to equal target_msc, or, if that has already passed,
|
|
||||||
* the next time (MSC % divisor) is equal to remainder. If divisor is
|
|
||||||
* zero, the function will return as soon as MSC is greater than or equal
|
|
||||||
* to target_msc.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030317.
|
|
||||||
*/
|
|
||||||
int (*waitForMSC)( __DRInativeDisplay * dpy, void *drawablePriv,
|
|
||||||
int64_t target_msc, int64_t divisor, int64_t remainder,
|
|
||||||
int64_t * msc, int64_t * sbc );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Like \c swapBuffers, but does NOT have an implicit \c glFlush. Once
|
|
||||||
* rendering is complete, waits until MSC is equal to target_msc, or
|
|
||||||
* if that has already passed, waits until (MSC % divisor) is equal
|
|
||||||
* to remainder. If divisor is zero, the swap will happen as soon as
|
|
||||||
* MSC is greater than or equal to target_msc.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030317.
|
|
||||||
*/
|
|
||||||
int64_t (*swapBuffersMSC)(__DRInativeDisplay *dpy, void *drawablePrivate,
|
|
||||||
int64_t target_msc,
|
|
||||||
int64_t divisor, int64_t remainder);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable or disable frame usage tracking.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030317.
|
|
||||||
*/
|
|
||||||
int (*frameTracking)(__DRInativeDisplay *dpy, void *drawablePrivate, GLboolean enable);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieve frame usage information.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030317.
|
|
||||||
*/
|
|
||||||
int (*queryFrameTracking)(__DRInativeDisplay *dpy, void *drawablePrivate,
|
|
||||||
int64_t * sbc, int64_t * missedFrames,
|
|
||||||
float * lastMissedUsage, float * usage );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Used by drivers that implement the GLX_SGI_swap_control or
|
|
||||||
* GLX_MESA_swap_control extension.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20030317.
|
|
||||||
*/
|
|
||||||
unsigned swap_interval;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Used by drivers that implement the GLX_MESA_copy_sub_buffer extension.
|
|
||||||
*
|
|
||||||
* \since Internal API version 20060314.
|
|
||||||
*/
|
|
||||||
void (*copySubBuffer)(__DRInativeDisplay *dpy, void *drawablePrivate,
|
|
||||||
int x, int y, int w, int h);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
134
include/GL/internal/dri_sarea.h
Normal file
134
include/GL/internal/dri_sarea.h
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2007 Red Hat, Inc
|
||||||
|
* 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
|
||||||
|
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||||
|
* license, 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 (including the next
|
||||||
|
* paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
* THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef DRI_SAREA_H
|
||||||
|
#define DRI_SAREA_H
|
||||||
|
|
||||||
|
#include <drm.h>
|
||||||
|
|
||||||
|
/* The DRI2 SAREA holds a list of self-describing blocks. Each block
|
||||||
|
* is 8 byte aligned and has a common 32-bit header word. The upper
|
||||||
|
* 16 bits describe the type of the block and the lower 16 bits the
|
||||||
|
* size. DRI2 only defines a couple of blocks and allows drivers to
|
||||||
|
* define driver specific blocks using type codes from 0x8000 and up.
|
||||||
|
* The type code 0x0000 defines the end of the sarea. */
|
||||||
|
|
||||||
|
#define DRI2_SAREA_BLOCK_HEADER(type, size) (((type) << 16) | (size))
|
||||||
|
#define DRI2_SAREA_BLOCK_TYPE(b) ((b) >> 16)
|
||||||
|
#define DRI2_SAREA_BLOCK_SIZE(b) ((b) & 0xffff)
|
||||||
|
#define DRI2_SAREA_BLOCK_NEXT(p) \
|
||||||
|
((void *) ((unsigned char *) (p) + \
|
||||||
|
DRI2_SAREA_BLOCK_SIZE(*(unsigned int *) p)))
|
||||||
|
|
||||||
|
#define DRI2_SAREA_BLOCK_END 0x0000
|
||||||
|
#define DRI2_SAREA_BLOCK_LOCK 0x0001
|
||||||
|
#define DRI2_SAREA_BLOCK_EVENT_BUFFER 0x0002
|
||||||
|
|
||||||
|
/* Chipset specific blocks start at 0x8000, 0xffff is reserved. */
|
||||||
|
|
||||||
|
typedef struct __DRILock __DRILock;
|
||||||
|
typedef struct __DRIEventBuffer __DRIEventBuffer;
|
||||||
|
typedef struct __DRIDrawableBuffer __DRIDrawableBuffer;
|
||||||
|
typedef struct __DRIDrawableConfigEvent __DRIDrawableConfigEvent;
|
||||||
|
typedef struct __DRIBufferAttachEvent __DRIBufferAttachEvent;
|
||||||
|
|
||||||
|
struct __DRILock {
|
||||||
|
unsigned int block_header;
|
||||||
|
drm_hw_lock_t lock;
|
||||||
|
|
||||||
|
/* We use this with DRM_CAS to allocate lock IDs for the real lock.*/
|
||||||
|
unsigned int next_id;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct __DRIEventBuffer {
|
||||||
|
unsigned int block_header;
|
||||||
|
unsigned int head; /* last valid event */
|
||||||
|
unsigned int prealloc; /* event currently being written */
|
||||||
|
unsigned int size; /* size of data */
|
||||||
|
unsigned char data[0];
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
/* the four standard color buffers */
|
||||||
|
DRI_DRAWABLE_BUFFER_FRONT_LEFT = 0,
|
||||||
|
DRI_DRAWABLE_BUFFER_BACK_LEFT = 1,
|
||||||
|
DRI_DRAWABLE_BUFFER_FRONT_RIGHT = 2,
|
||||||
|
DRI_DRAWABLE_BUFFER_BACK_RIGHT = 3,
|
||||||
|
/* optional aux buffer */
|
||||||
|
DRI_DRAWABLE_BUFFER_AUX0 = 4,
|
||||||
|
DRI_DRAWABLE_BUFFER_AUX1 = 5,
|
||||||
|
DRI_DRAWABLE_BUFFER_AUX2 = 6,
|
||||||
|
DRI_DRAWABLE_BUFFER_AUX3 = 7,
|
||||||
|
DRI_DRAWABLE_BUFFER_DEPTH = 8,
|
||||||
|
DRI_DRAWABLE_BUFFER_STENCIL = 9,
|
||||||
|
DRI_DRAWABLE_BUFFER_ACCUM = 10,
|
||||||
|
/* generic renderbuffers */
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR0 = 11,
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR1 = 12,
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR2 = 13,
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR3 = 14,
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR4 = 15,
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR5 = 16,
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR6 = 17,
|
||||||
|
DRI_DRAWABLE_BUFFER_COLOR7 = 18,
|
||||||
|
DRI_DRAWABLE_BUFFER_COUNT = 19
|
||||||
|
};
|
||||||
|
|
||||||
|
struct __DRIDrawableBuffer {
|
||||||
|
unsigned int attachment;
|
||||||
|
unsigned int handle;
|
||||||
|
unsigned int pitch;
|
||||||
|
unsigned short cpp;
|
||||||
|
|
||||||
|
/* Upper 8 bits are driver specific, lower 8 bits generic. The
|
||||||
|
* bits can inidicate buffer properties such as tiled, swizzled etc. */
|
||||||
|
unsigned short flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define DRI2_EVENT_HEADER(type, size) (((type) << 16) | (size))
|
||||||
|
#define DRI2_EVENT_TYPE(b) ((b) >> 16)
|
||||||
|
#define DRI2_EVENT_SIZE(b) ((b) & 0xffff)
|
||||||
|
|
||||||
|
#define DRI2_EVENT_PAD 0x0000
|
||||||
|
#define DRI2_EVENT_DRAWABLE_CONFIG 0x0001
|
||||||
|
#define DRI2_EVENT_BUFFER_ATTACH 0x0002
|
||||||
|
|
||||||
|
struct __DRIDrawableConfigEvent {
|
||||||
|
unsigned int event_header;
|
||||||
|
unsigned int drawable;
|
||||||
|
short x;
|
||||||
|
short y;
|
||||||
|
unsigned int width;
|
||||||
|
unsigned int height;
|
||||||
|
unsigned int num_rects;
|
||||||
|
struct drm_clip_rect rects[0];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct __DRIBufferAttachEvent {
|
||||||
|
unsigned int event_header;
|
||||||
|
unsigned int drawable;
|
||||||
|
__DRIDrawableBuffer buffer;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* DRI_SAREA_H */
|
||||||
@@ -41,6 +41,7 @@
|
|||||||
#define GL_CORE_SGI 1
|
#define GL_CORE_SGI 1
|
||||||
#define GL_CORE_MESA 2
|
#define GL_CORE_MESA 2
|
||||||
#define GL_CORE_APPLE 4
|
#define GL_CORE_APPLE 4
|
||||||
|
#define GL_CORE_WINDOWS 8
|
||||||
|
|
||||||
typedef struct __GLcontextRec __GLcontext;
|
typedef struct __GLcontextRec __GLcontext;
|
||||||
|
|
||||||
|
|||||||
@@ -26,11 +26,12 @@
|
|||||||
/* prototypes for the Mesa WGL functions */
|
/* prototypes for the Mesa WGL functions */
|
||||||
/* relocated here so that I could make GLUT get them properly */
|
/* relocated here so that I could make GLUT get them properly */
|
||||||
|
|
||||||
#define _mesa_wgl_h_
|
|
||||||
|
|
||||||
#ifndef _mesa_wgl_h_
|
#ifndef _mesa_wgl_h_
|
||||||
#define _mesa_wgl_h_
|
#define _mesa_wgl_h_
|
||||||
|
|
||||||
|
#if defined(__MINGW32__)
|
||||||
|
# define __W32API_USE_DLLIMPORT__
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
|
|
||||||
@@ -39,23 +40,16 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__))
|
#ifndef WGLAPI
|
||||||
# if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
|
#define WGLAPI GLAPI
|
||||||
# define GLAPI __declspec(dllexport)
|
#endif
|
||||||
# define WGLAPI __declspec(dllexport)
|
|
||||||
# elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
|
#if defined(__MINGW32__)
|
||||||
# define GLAPI __declspec(dllimport)
|
# ifndef WIN32_LEAN_AND_MEAN
|
||||||
# define WGLAPI __declspec(dllimport)
|
# define WIN32_LEAN_AND_MEAN 1
|
||||||
# else /* for use with static link lib build of Win32 edition only */
|
# endif
|
||||||
# define GLAPI extern
|
# include <windows.h>
|
||||||
# define WGLAPI __declspec(dllimport)
|
#endif
|
||||||
# endif /* _STATIC_MESA support */
|
|
||||||
# define GLAPIENTRY __stdcall
|
|
||||||
#else
|
|
||||||
/* non-Windows compilation */
|
|
||||||
# define GLAPI extern
|
|
||||||
# define GLAPIENTRY
|
|
||||||
#endif /* WIN32 / CYGWIN32 bracket */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP)
|
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP)
|
||||||
@@ -80,23 +74,23 @@ typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESC
|
|||||||
# pragma warning( disable : 4273 ) /* 'function' : inconsistent DLL linkage. dllexport assumed. */
|
# pragma warning( disable : 4273 ) /* 'function' : inconsistent DLL linkage. dllexport assumed. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC);
|
|
||||||
WGLAPI int GLAPIENTRY wglMakeCurrent(HDC,HGLRC);
|
|
||||||
WGLAPI int GLAPIENTRY wglSetPixelFormat(HDC, int, const PIXELFORMATDESCRIPTOR *);
|
WGLAPI int GLAPIENTRY wglSetPixelFormat(HDC, int, const PIXELFORMATDESCRIPTOR *);
|
||||||
WGLAPI int GLAPIENTRY wglSwapBuffers(HDC hdc);
|
WGLAPI int GLAPIENTRY wglSwapBuffers(HDC hdc);
|
||||||
WGLAPI HDC GLAPIENTRY wglGetCurrentDC(void);
|
WGLAPI int GLAPIENTRY wglChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *);
|
||||||
|
WGLAPI int GLAPIENTRY wglDescribePixelFormat(HDC,int, unsigned int, LPPIXELFORMATDESCRIPTOR);
|
||||||
|
WGLAPI int GLAPIENTRY wglGetPixelFormat(HDC hdc);
|
||||||
|
|
||||||
|
WGLAPI int GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int);
|
||||||
WGLAPI HGLRC GLAPIENTRY wglCreateContext(HDC);
|
WGLAPI HGLRC GLAPIENTRY wglCreateContext(HDC);
|
||||||
WGLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC,int);
|
WGLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC,int);
|
||||||
WGLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void);
|
|
||||||
WGLAPI PROC GLAPIENTRY wglGetProcAddress(const char*);
|
|
||||||
WGLAPI int GLAPIENTRY wglChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *);
|
|
||||||
WGLAPI int GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int);
|
|
||||||
WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC);
|
WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC);
|
||||||
WGLAPI int GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR);
|
WGLAPI int GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR);
|
||||||
WGLAPI int GLAPIENTRY wglDescribePixelFormat(HDC,int, unsigned int, LPPIXELFORMATDESCRIPTOR);
|
WGLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void);
|
||||||
|
WGLAPI HDC GLAPIENTRY wglGetCurrentDC(void);
|
||||||
WGLAPI int GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *);
|
WGLAPI int GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *);
|
||||||
WGLAPI int GLAPIENTRY wglGetPixelFormat(HDC hdc);
|
WGLAPI PROC GLAPIENTRY wglGetProcAddress(const char*);
|
||||||
WGLAPI int GLAPIENTRY wglMakeCurrent(HDC, HGLRC);
|
WGLAPI int GLAPIENTRY wglMakeCurrent(HDC,HGLRC);
|
||||||
WGLAPI int GLAPIENTRY wglRealizeLayerPalette(HDC, int, int);
|
WGLAPI int GLAPIENTRY wglRealizeLayerPalette(HDC, int, int);
|
||||||
WGLAPI int GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *);
|
WGLAPI int GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *);
|
||||||
WGLAPI int GLAPIENTRY wglShareLists(HGLRC, HGLRC);
|
WGLAPI int GLAPIENTRY wglShareLists(HGLRC, HGLRC);
|
||||||
@@ -105,12 +99,14 @@ WGLAPI int GLAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, un
|
|||||||
WGLAPI int GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long);
|
WGLAPI int GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long);
|
||||||
WGLAPI int GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
WGLAPI int GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
||||||
WGLAPI int GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
WGLAPI int GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
|
||||||
|
|
||||||
|
#ifndef __MINGW32__
|
||||||
WGLAPI int GLAPIENTRY SwapBuffers(HDC);
|
WGLAPI int GLAPIENTRY SwapBuffers(HDC);
|
||||||
WGLAPI int GLAPIENTRY ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR *);
|
WGLAPI int GLAPIENTRY ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR *);
|
||||||
WGLAPI int GLAPIENTRY DescribePixelFormat(HDC,int,unsigned int,LPPIXELFORMATDESCRIPTOR);
|
WGLAPI int GLAPIENTRY DescribePixelFormat(HDC,int,unsigned int,LPPIXELFORMATDESCRIPTOR);
|
||||||
WGLAPI int GLAPIENTRY GetPixelFormat(HDC);
|
WGLAPI int GLAPIENTRY GetPixelFormat(HDC);
|
||||||
WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
|
WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef WGL_ARB_extensions_string
|
#ifndef WGL_ARB_extensions_string
|
||||||
#define WGL_ARB_extensions_string 1
|
#define WGL_ARB_extensions_string 1
|
||||||
|
|||||||
@@ -1,79 +1,79 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Mesa bindings for SciTech MGL
|
* Mesa bindings for SciTech MGL
|
||||||
*
|
*
|
||||||
* Copyright (C) 1996 SciTech Software.
|
* Copyright (C) 1996 SciTech Software.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Filename: mglmesa.h
|
* Filename: mglmesa.h
|
||||||
* Version: Revision: 1.1.1.1
|
* Version: Revision: 1.1.1.1
|
||||||
*
|
*
|
||||||
* Language: ANSI C
|
* Language: ANSI C
|
||||||
* Environment: Any
|
* Environment: Any
|
||||||
*
|
*
|
||||||
* Description: Header file for the Mesa/OpenGL interface bindings for the
|
* Description: Header file for the Mesa/OpenGL interface bindings for the
|
||||||
* SciTech MGL graphics library. Uses the MGL internal
|
* SciTech MGL graphics library. Uses the MGL internal
|
||||||
* device context structures to get direct access to the
|
* device context structures to get direct access to the
|
||||||
* high performance MGL rasterization functions for maximum
|
* high performance MGL rasterization functions for maximum
|
||||||
* performance. Utilizes the VESA VBE/AF Accelerator Functions
|
* performance. Utilizes the VESA VBE/AF Accelerator Functions
|
||||||
* via the MGL's accelerated device driver functions, as well
|
* via the MGL's accelerated device driver functions, as well
|
||||||
* as basic DirectDraw accelerated functions provided by the
|
* as basic DirectDraw accelerated functions provided by the
|
||||||
* MGL.
|
* MGL.
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Library General Public
|
* modify it under the terms of the GNU Library General Public
|
||||||
* License as published by the Free Software Foundation; either
|
* License as published by the Free Software Foundation; either
|
||||||
* version 2 of the License, or (at your option) any later version.
|
* version 2 of the License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This library is distributed in the hope that it will be useful,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Library General Public License for more details.
|
* Library General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Library General Public
|
* You should have received a copy of the GNU Library General Public
|
||||||
* License along with this library; if not, write to the Free
|
* License along with this library; if not, write to the Free
|
||||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef __MGLMESA_H
|
#ifndef __MGLMESA_H
|
||||||
#define __MGLMESA_H
|
#define __MGLMESA_H
|
||||||
|
|
||||||
#include "mgraph.h"
|
#include "mgraph.h"
|
||||||
|
|
||||||
/*------------------------- Function Prototypes ---------------------------*/
|
/*------------------------- Function Prototypes ---------------------------*/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" { /* Use "C" linkage when in C++ mode */
|
extern "C" { /* Use "C" linkage when in C++ mode */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __WINDOWS__
|
#ifndef __WINDOWS__
|
||||||
#define GLAPIENTRY
|
#define GLAPIENTRY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
bool GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
|
bool GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
|
||||||
#endif
|
#endif
|
||||||
void GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
|
void GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
|
||||||
bool GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
|
bool GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
|
||||||
bool GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
|
bool GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
|
||||||
void GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
|
void GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
|
||||||
void GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
|
void GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
|
||||||
void GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
|
void GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
|
||||||
|
|
||||||
/* Palette manipulation support. The reason we provide palette manipulation
|
/* Palette manipulation support. The reason we provide palette manipulation
|
||||||
* routines is so that when rendering in double buffered modes with a
|
* routines is so that when rendering in double buffered modes with a
|
||||||
* software backbuffer, the palette for the backbuffer is kept consistent
|
* software backbuffer, the palette for the backbuffer is kept consistent
|
||||||
* with the hardware front buffer.
|
* with the hardware front buffer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
|
void GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
|
||||||
void GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
|
void GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
|
||||||
void GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
|
void GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} /* End of "C" linkage for C++ */
|
} /* End of "C" linkage for C++ */
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#endif /* __MGLMESA_H */
|
#endif /* __MGLMESA_H */
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 4.1
|
* Version: 7.1
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@@ -397,6 +397,25 @@ extern XMesaBuffer XMesaCreatePBuffer(XMesaVisual v, XMesaColormap cmap,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Texture from Pixmap
|
||||||
|
* New in Mesa 7.1
|
||||||
|
*/
|
||||||
|
extern void
|
||||||
|
XMesaBindTexImage(XMesaDisplay *dpy, XMesaBuffer drawable, int buffer,
|
||||||
|
const int *attrib_list);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
XMesaReleaseTexImage(XMesaDisplay *dpy, XMesaBuffer drawable, int buffer);
|
||||||
|
|
||||||
|
|
||||||
|
extern XMesaBuffer
|
||||||
|
XMesaCreatePixmapTextureBuffer(XMesaVisual v, XMesaPixmap p,
|
||||||
|
XMesaColormap cmap,
|
||||||
|
int format, int target, int mipmap);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user