Compare commits
1375 Commits
pre-merge-
...
mesa_7_0_2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a40b670c3 | ||
|
|
d9fa5cbfc9 | ||
|
|
1c21564292 | ||
|
|
6cc96bf156 | ||
|
|
29afd4bbc4 | ||
|
|
4e3db063ec | ||
|
|
6560744c38 | ||
|
|
572ad87881 | ||
|
|
2ab75d6cfa | ||
|
|
041a8eb5ec | ||
|
|
c1c13bdcfa | ||
|
|
403edd34dd | ||
|
|
f279e48416 | ||
|
|
bf854d8d27 | ||
|
|
f334121679 | ||
|
|
b88e2be609 | ||
|
|
08229c8bb8 | ||
|
|
c984017f71 | ||
|
|
00e7dd8a13 | ||
|
|
d11b375b16 | ||
|
|
d1afa8146f | ||
|
|
31d4ba8a93 | ||
|
|
1a7640958c | ||
|
|
2e2a5a450b | ||
|
|
574fd63ff0 | ||
|
|
1063d47526 | ||
|
|
b59a892d3e | ||
|
|
6e5d5d77df | ||
|
|
a6319d18cf | ||
|
|
5103e883fd | ||
|
|
98c4ea4b24 | ||
|
|
29b8cac7d7 | ||
|
|
cdb02d43fe | ||
|
|
50cecddc4a | ||
|
|
177f6398e5 | ||
|
|
887bd6a46f | ||
|
|
9af5153410 | ||
|
|
0e2103689e | ||
|
|
2c496d8e46 | ||
|
|
8f0ba02e44 | ||
|
|
524c56e417 | ||
|
|
773f3a266c | ||
|
|
882ada0d22 | ||
|
|
6229005f93 | ||
|
|
6c63b35ef7 | ||
|
|
fb85e50e09 | ||
|
|
5e5f908d0c | ||
|
|
c09e2143c7 | ||
|
|
74ced1e67f | ||
|
|
dd02c1609e | ||
|
|
cdf4880a79 | ||
|
|
2ec8e8547d | ||
|
|
b7c36d1d33 | ||
|
|
970d18a708 | ||
|
|
9456e7f0ff | ||
|
|
a5db24adc2 | ||
|
|
17664e2620 | ||
|
|
43a0eb0253 | ||
|
|
bcdaed2c0a | ||
|
|
78c6637db5 | ||
|
|
44214a98fd | ||
|
|
9cc6d2310c | ||
|
|
1a045954be | ||
|
|
b3fc9a1585 | ||
|
|
2a86a449ca | ||
|
|
44f032db61 | ||
|
|
5a520729ee | ||
|
|
36fbe78c60 | ||
|
|
029bb17770 | ||
|
|
7958bee6be | ||
|
|
0b9bb21ce4 | ||
|
|
cfcc5b794e | ||
|
|
925ff408a6 | ||
|
|
f40ca444f5 | ||
|
|
638a5e0382 | ||
|
|
6d777bf055 | ||
|
|
ae6d4e8bc0 | ||
|
|
f2728724d3 | ||
|
|
bc95b34cce | ||
|
|
9eb89616af | ||
|
|
f7713a6d81 | ||
|
|
1cec9b727a | ||
|
|
18a4730f5b | ||
|
|
1342aefcdd | ||
|
|
1fd4b1e702 | ||
|
|
32dff44c28 | ||
|
|
e7c2ae476a | ||
|
|
a66301f83d | ||
|
|
a5f7d56221 | ||
|
|
140080c1ec | ||
|
|
ef43af6d43 | ||
|
|
949d0532f0 | ||
|
|
96efc76d74 | ||
|
|
6ca0d63692 | ||
|
|
95fc2485e2 | ||
|
|
d6ce1e4834 | ||
|
|
2cc2b12fc7 | ||
|
|
2259f81cf7 | ||
|
|
791f12880f | ||
|
|
7aa7373a64 | ||
|
|
2f186a190f | ||
|
|
357893a873 | ||
|
|
a17881da5f | ||
|
|
4872ee83a9 | ||
|
|
5ec222a832 | ||
|
|
40438b3440 | ||
|
|
e0b80660c8 | ||
|
|
a2016301f5 | ||
|
|
7ec6729fb6 | ||
|
|
837a2cf72e | ||
|
|
0adca14536 | ||
|
|
57b0f66c6d | ||
|
|
e47e7a9571 | ||
|
|
68ca01560f | ||
|
|
64f1c91fcb | ||
|
|
7d33f94198 | ||
|
|
d69a596193 | ||
|
|
8aa4ae638e | ||
|
|
3069f34841 | ||
|
|
b3788a0e4f | ||
|
|
582bc029ab | ||
|
|
e9e3099433 | ||
|
|
4fc561cc7b | ||
|
|
ad3e3a0b99 | ||
|
|
bfb8c849cb | ||
|
|
09dd25b5d1 | ||
|
|
c48efb1dbe | ||
|
|
5408acb6b7 | ||
|
|
15481160f9 | ||
|
|
00ccff03a5 | ||
|
|
21594921b1 | ||
|
|
42c91eebc9 | ||
|
|
88273e08b4 | ||
|
|
08f7fb45ef | ||
|
|
75ebda3ce6 | ||
|
|
53ff15fcbf | ||
|
|
72adb70ee2 | ||
|
|
960d41fcfe | ||
|
|
0c4e35b070 | ||
|
|
c53f1cb813 | ||
|
|
f6696cc15e | ||
|
|
fef9a41fe4 | ||
|
|
e279a0a076 | ||
|
|
88c8aaed96 | ||
|
|
62cbbd7226 | ||
|
|
f7cbe7fcee | ||
|
|
d8e4ff9079 | ||
|
|
510ff27eda | ||
|
|
5abf055100 | ||
|
|
4bb5721f6b | ||
|
|
c41ab70d3a | ||
|
|
a05e403bf2 | ||
|
|
2f57e0f71d | ||
|
|
95a2eb9767 | ||
|
|
55175daed7 | ||
|
|
ae16a51e95 | ||
|
|
4398d67546 | ||
|
|
c93738687c | ||
|
|
799492e606 | ||
|
|
f33ff071bb | ||
|
|
99e854743c | ||
|
|
6f79062d91 | ||
|
|
2f682c3995 | ||
|
|
067370e68f | ||
|
|
2aa439a6a4 | ||
|
|
b477182dc3 | ||
|
|
a8964ca89e | ||
|
|
4f0e92d07c | ||
|
|
577f4e8a5f | ||
|
|
0586d9fe56 | ||
|
|
1f0d9bf05e | ||
|
|
8bcae2a527 | ||
|
|
35ca9aae91 | ||
|
|
6cdd2bf8d7 | ||
|
|
ce7d175adb | ||
|
|
1904fd095f | ||
|
|
897d0ac5cc | ||
|
|
e262d0182f | ||
|
|
aa5b748c10 | ||
|
|
3c182c5bc8 | ||
|
|
1b5677847b | ||
|
|
1be59a9dbe | ||
|
|
55c2178ad4 | ||
|
|
3e3d392e1c | ||
|
|
756a7a4e4b | ||
|
|
121b4ac220 | ||
|
|
cdbd5db3af | ||
|
|
b2240f6ad4 | ||
|
|
33814a55f8 | ||
|
|
a57c5a417b | ||
|
|
ff1a28de17 | ||
|
|
772f57f99b | ||
|
|
dacee32b8b | ||
|
|
fa1a3eb06d | ||
|
|
bd4817ca54 | ||
|
|
005eea249c | ||
|
|
9747de8ec6 | ||
|
|
849a9799d0 | ||
|
|
e32ae4fe33 | ||
|
|
4595389c4c | ||
|
|
e8ccc7cc49 | ||
|
|
673d21047a | ||
|
|
fdefc2bbda | ||
|
|
2079df8527 | ||
|
|
b53659452c | ||
|
|
46f1d6653e | ||
|
|
c1938a60f7 | ||
|
|
d65110f352 | ||
|
|
9fa3bbcb5a | ||
|
|
99d62f2922 | ||
|
|
284743cafe | ||
|
|
08d7307b2a | ||
|
|
ef6a64abe6 | ||
|
|
18bfa52ef7 | ||
|
|
d62be2652c | ||
|
|
ea53ff80af | ||
|
|
feeca1bcbc | ||
|
|
12e7278c08 | ||
|
|
45b5c44eb9 | ||
|
|
e3456c1028 | ||
|
|
327fb38573 | ||
|
|
1d25d9e15f | ||
|
|
cc7cee3f48 | ||
|
|
d7062710cd | ||
|
|
9bfba734d8 | ||
|
|
aaebf2f47e | ||
|
|
23f8d77b38 | ||
|
|
87d22ee0fe | ||
|
|
52e25f63d4 | ||
|
|
f3fb67972b | ||
|
|
6400756364 | ||
|
|
d59f0314bd | ||
|
|
131baefac3 | ||
|
|
a450078b67 | ||
|
|
f6b041bf6c | ||
|
|
4f340d181a | ||
|
|
b58e38e936 | ||
|
|
8713cb48a8 | ||
|
|
277c5e57ed | ||
|
|
b3d62d5af5 | ||
|
|
9c0f0c8d81 | ||
|
|
18a0a2a7ac | ||
|
|
8b99d9e33c | ||
|
|
01e7e153e3 | ||
|
|
0ad4ca24d2 | ||
|
|
724a155552 | ||
|
|
d38b74a316 | ||
|
|
54cab4b47b | ||
|
|
c093666bc5 | ||
|
|
04972f6761 | ||
|
|
67f8234622 | ||
|
|
201d6dbd9c | ||
|
|
fbcac5aa83 | ||
|
|
2b72ab8f8f | ||
|
|
0ea97b9408 | ||
|
|
28683ac7c0 | ||
|
|
c72e3e210f | ||
|
|
b0fe0d8a55 | ||
|
|
c128c3ce8c | ||
|
|
6efdf648f5 | ||
|
|
6a587c0124 | ||
|
|
524c3336c4 | ||
|
|
0e7e211055 | ||
|
|
4e641bf3e9 | ||
|
|
2189ff5e51 | ||
|
|
33a73466ae | ||
|
|
13c0abd8a7 | ||
|
|
82de92c0fb | ||
|
|
e4b8481f39 | ||
|
|
b5990cec90 | ||
|
|
d93642251e | ||
|
|
c66fd808ac | ||
|
|
73449270bb | ||
|
|
6f56e68ee3 | ||
|
|
65fae19383 | ||
|
|
b78aec5767 | ||
|
|
6bae7d40f7 | ||
|
|
5f1f1f5704 | ||
|
|
93881edb46 | ||
|
|
56b99ace19 | ||
|
|
3aad47679e | ||
|
|
dac5303692 | ||
|
|
64b03f33ee | ||
|
|
b8b0dd1e20 | ||
|
|
93f9e61f43 | ||
|
|
f405fbb36d | ||
|
|
5a09ea01e0 | ||
|
|
98d25a5a28 | ||
|
|
0aa998b2ab | ||
|
|
b6087270a0 | ||
|
|
3f709f16ef | ||
|
|
67363327e5 | ||
|
|
bcaf8fc7b1 | ||
|
|
ef29d6af6c | ||
|
|
6a69bb5864 | ||
|
|
cbd29adbc8 | ||
|
|
c729e67321 | ||
|
|
5b23d36613 | ||
|
|
a87390504f | ||
|
|
cc358d861d | ||
|
|
749e093e33 | ||
|
|
eab6e16522 | ||
|
|
1b39be3790 | ||
|
|
69ff5a3dbc | ||
|
|
01ec508c7f | ||
|
|
d4e3b0b2c2 | ||
|
|
b63c70666f | ||
|
|
c33c00764c | ||
|
|
6c342ad859 | ||
|
|
86e4f52f3c | ||
|
|
f0707c789a | ||
|
|
aed53ba525 | ||
|
|
3dec7c57b0 | ||
|
|
544e441f53 | ||
|
|
fa546c367d | ||
|
|
64a6a50155 | ||
|
|
c103453d4f | ||
|
|
d7e3d1dc42 | ||
|
|
02e44e41c8 | ||
|
|
eed67a6e3e | ||
|
|
e856edb279 | ||
|
|
58239d2ae3 | ||
|
|
2f6a0840c4 | ||
|
|
c9e723e501 | ||
|
|
87a980a795 | ||
|
|
e282f89a38 | ||
|
|
e2e4b60c7d | ||
|
|
58dacc8df1 | ||
|
|
b470189378 | ||
|
|
574bf4d346 | ||
|
|
795ebb1a3b | ||
|
|
d0be8b959a | ||
|
|
672ecba175 | ||
|
|
0dcea4bf8e | ||
|
|
16c503f39a | ||
|
|
4d5d4e1f97 | ||
|
|
a9ab36b8f2 | ||
|
|
88288b614e | ||
|
|
a154706061 | ||
|
|
6fe41a4c01 | ||
|
|
f4a2b9f83d | ||
|
|
56c2f7bb42 | ||
|
|
df747eb354 | ||
|
|
ff7a41a159 | ||
|
|
01fdb34b39 | ||
|
|
3c9e5cb0bd | ||
|
|
a6aa1f8016 | ||
|
|
967c2d220d | ||
|
|
0e6b7eb9c0 | ||
|
|
ed42bd6e20 | ||
|
|
2db667290a | ||
|
|
cea0c2b144 | ||
|
|
2b5ef29a7b | ||
|
|
4ed59c6012 | ||
|
|
7e7b1f7c4d | ||
|
|
c48e4c6f09 | ||
|
|
4f20fe8a93 | ||
|
|
d28f6d9176 | ||
|
|
fe6a2c4295 | ||
|
|
faf47d9f84 | ||
|
|
f9828f5c4f | ||
|
|
7b165de5f8 | ||
|
|
62ef001de7 | ||
|
|
76d7b62cd2 | ||
|
|
901fc0de18 | ||
|
|
c970811dab | ||
|
|
bb97694fad | ||
|
|
516259d609 | ||
|
|
3e4302fe3b | ||
|
|
dcc8e5f4c1 | ||
|
|
32c8d002d0 | ||
|
|
c9b87b8ad8 | ||
|
|
5d61cfd1fd | ||
|
|
93e957cc65 | ||
|
|
3eae496deb | ||
|
|
81c6516af1 | ||
|
|
9e91351826 | ||
|
|
328b307e2f | ||
|
|
d316b4dc22 | ||
|
|
f0126a76ac | ||
|
|
b8640db021 | ||
|
|
28b47110b6 | ||
|
|
fe2c58d2d5 | ||
|
|
4917955205 | ||
|
|
eca50a27e1 | ||
|
|
0950e9727e | ||
|
|
504fafe389 | ||
|
|
72608aedc3 | ||
|
|
be56660ba0 | ||
|
|
36c8bc6141 | ||
|
|
5c8296a6ab | ||
|
|
6665658a56 | ||
|
|
204bc4e441 | ||
|
|
e90ad3dbbb | ||
|
|
8d62afdb6a | ||
|
|
59494bafb4 | ||
|
|
33939fd29b | ||
|
|
4960af08ad | ||
|
|
f5b0cafbb1 | ||
|
|
c578354642 | ||
|
|
da37ac5ee7 | ||
|
|
ed2fddc98e | ||
|
|
58eaf0acca | ||
|
|
d132f7245d | ||
|
|
73bc8b63ac | ||
|
|
377ce9e074 | ||
|
|
f1d785188b | ||
|
|
313c4c2643 | ||
|
|
fbeae4f70c | ||
|
|
9301a6a325 | ||
|
|
6c036812be | ||
|
|
c6abbbfd02 | ||
|
|
8a7f474c69 | ||
|
|
47e33a27df | ||
|
|
401629c721 | ||
|
|
f1770c3210 | ||
|
|
8130a4fe98 | ||
|
|
8f1c63b263 | ||
|
|
857ebc6d47 | ||
|
|
660bdc616b | ||
|
|
88ae491bd2 | ||
|
|
8445960d9f | ||
|
|
74cae00c0e | ||
|
|
56d9663574 | ||
|
|
81d1a04e04 | ||
|
|
62cbe6c3f3 | ||
|
|
16cec9f767 | ||
|
|
5e2a66466d | ||
|
|
b3378f6cc5 | ||
|
|
91948f99dd | ||
|
|
ae5f67575d | ||
|
|
e75fbd3f91 | ||
|
|
a6dad578b5 | ||
|
|
c6443eb1a3 | ||
|
|
121533defb | ||
|
|
3cddba688d | ||
|
|
dc881e1909 | ||
|
|
2dfb03beb2 | ||
|
|
18cfe0c801 | ||
|
|
60d136f63c | ||
|
|
62da6a1b3e | ||
|
|
77e7535c0f | ||
|
|
5c1b53d58d | ||
|
|
b2f1d6422b | ||
|
|
99f24c8d17 | ||
|
|
04c401c91e | ||
|
|
03f201d935 | ||
|
|
594b5ad87d | ||
|
|
bfd5cf72c4 | ||
|
|
7559364027 | ||
|
|
65faf02367 | ||
|
|
c409dbcae3 | ||
|
|
cbf280dc26 | ||
|
|
af0ae93863 | ||
|
|
bcc3baadba | ||
|
|
4ca7c804db | ||
|
|
bfaf6156fb | ||
|
|
d741b10be6 | ||
|
|
e371a5f084 | ||
|
|
af846712fd | ||
|
|
c4615abb11 | ||
|
|
430e036413 | ||
|
|
502ebe90e8 | ||
|
|
02e958a1e4 | ||
|
|
cce5084941 | ||
|
|
4b1d1b7b18 | ||
|
|
7ff72a7659 | ||
|
|
c4b3b8dece | ||
|
|
65bab0dad8 | ||
|
|
74edc663a6 | ||
|
|
54d59cfb70 | ||
|
|
b7f5b8af65 | ||
|
|
4099531a0a | ||
|
|
1606f2c123 | ||
|
|
1dd7c00214 | ||
|
|
f42d4ab41e | ||
|
|
4a28548cbf | ||
|
|
5814922d25 | ||
|
|
3de20aead2 | ||
|
|
6d27194dff | ||
|
|
c233aa2768 | ||
|
|
c93b2a1cb7 | ||
|
|
eca456b63d | ||
|
|
4003bde6ff | ||
|
|
ddcf819906 | ||
|
|
9ede048127 | ||
|
|
97693436a5 | ||
|
|
8a8a5bd104 | ||
|
|
3e5eda9ee9 | ||
|
|
f38dcc8a6a | ||
|
|
b1b154c498 | ||
|
|
286faac68e | ||
|
|
3b0bd0ce17 | ||
|
|
208ea84524 | ||
|
|
7868ab6617 | ||
|
|
47ad443c55 | ||
|
|
3db3dc58bc | ||
|
|
c27adc52ce | ||
|
|
afc132e7a9 | ||
|
|
335769a875 | ||
|
|
0bdf216dd0 | ||
|
|
d59e6f233b | ||
|
|
ad02042db2 | ||
|
|
f793e90e82 | ||
|
|
112e1f2b5a | ||
|
|
e5cf37c178 | ||
|
|
b5e9b0e562 | ||
|
|
b1502588c4 | ||
|
|
74afcabd85 | ||
|
|
b3ab925e91 | ||
|
|
2d2c6a622d | ||
|
|
fc3d6bd351 | ||
|
|
e261d66d81 | ||
|
|
cd3e39340f | ||
|
|
ad3cc95485 | ||
|
|
4e0a64675c | ||
|
|
d5e7234ba8 | ||
|
|
bc74cb4c0a | ||
|
|
257f799849 | ||
|
|
81c4fee160 | ||
|
|
1fbdd9d794 | ||
|
|
82839e8430 | ||
|
|
ced6f76404 | ||
|
|
4cc2674aee | ||
|
|
a7f7366d38 | ||
|
|
11e3f733ba | ||
|
|
98ef18909a | ||
|
|
f2346498aa | ||
|
|
4b7c6fc5a6 | ||
|
|
fe16b9f663 | ||
|
|
c9855a60f4 | ||
|
|
838a2a2633 | ||
|
|
e7e5279fc0 | ||
|
|
7fd3a6c521 | ||
|
|
720cf3aa13 | ||
|
|
5491c8194c | ||
|
|
e4e2068ac9 | ||
|
|
6346a753c6 | ||
|
|
4d944b502f | ||
|
|
6aa5668871 | ||
|
|
d60009bd6d | ||
|
|
535c37e85d | ||
|
|
ba3d384e94 | ||
|
|
8b5fce6bcc | ||
|
|
020cdb47cf | ||
|
|
121f2212cc | ||
|
|
24a93dd6a4 | ||
|
|
00da9afb84 | ||
|
|
4abcaf3949 | ||
|
|
6bde08815f | ||
|
|
8e6207396c | ||
|
|
5ca8d4ccf2 | ||
|
|
6b3027e291 | ||
|
|
8d370fb2ee | ||
|
|
36a6a59972 | ||
|
|
addd03da2e | ||
|
|
c93e883b20 | ||
|
|
274ac7a801 | ||
|
|
aaa57412c1 | ||
|
|
2a2f8d806f | ||
|
|
bac15c8db8 | ||
|
|
f3e8c32376 | ||
|
|
6d3d9c1c6d | ||
|
|
e57e752eee | ||
|
|
884af40864 | ||
|
|
30a79f76fc | ||
|
|
8598f55091 | ||
|
|
6d01f3f1ec | ||
|
|
e3caa5f891 | ||
|
|
d9443c2494 | ||
|
|
565cd49b5f | ||
|
|
a4b2b88337 | ||
|
|
04bda46739 | ||
|
|
d2d86a3f0b | ||
|
|
9cbcf7c696 | ||
|
|
468a33d19a | ||
|
|
893b368a82 | ||
|
|
41fc55dd81 | ||
|
|
1a9483c954 | ||
|
|
36949abec7 | ||
|
|
6459adf79b | ||
|
|
badc346206 | ||
|
|
4a7c45118d | ||
|
|
34ca2be769 | ||
|
|
5888010362 | ||
|
|
dfee7619d4 | ||
|
|
96e05da1c9 | ||
|
|
1560de2c3c | ||
|
|
921b008419 | ||
|
|
aa6992a296 | ||
|
|
4b3835dadf | ||
|
|
64e8088667 | ||
|
|
3dfcd48469 | ||
|
|
e812a2a484 | ||
|
|
da56df9d72 | ||
|
|
9519785e29 | ||
|
|
83ad64d94a | ||
|
|
fde15a2bae | ||
|
|
216eb81c53 | ||
|
|
4fc46a6c82 | ||
|
|
e19cfabb6e | ||
|
|
8d8a3cc398 | ||
|
|
fb1d22d23d | ||
|
|
3d59042afd | ||
|
|
967c1056d5 | ||
|
|
9f8373d5ca | ||
|
|
50aaabc248 | ||
|
|
30b6f11de1 | ||
|
|
f11604a30d | ||
|
|
99193e4f74 | ||
|
|
5b74fe0889 | ||
|
|
431d650f2b | ||
|
|
3c008a014f | ||
|
|
bf287356cf | ||
|
|
bce7043ebc | ||
|
|
70b0e123c4 | ||
|
|
f98f4f6d7a | ||
|
|
afc58f5f7e | ||
|
|
b61d74c575 | ||
|
|
9f66025f54 | ||
|
|
183d8e0620 | ||
|
|
b0bba03846 | ||
|
|
ba876be0c0 | ||
|
|
319ce38fa4 | ||
|
|
64700be4e1 | ||
|
|
159ecba4b3 | ||
|
|
e798d22556 | ||
|
|
0109b47106 | ||
|
|
7b2626f7d8 | ||
|
|
19121e2802 | ||
|
|
e0bbf46342 | ||
|
|
702c8f1e6c | ||
|
|
f9574c3f6b | ||
|
|
e8292d28e4 | ||
|
|
c96974f78c | ||
|
|
6461e91ac3 | ||
|
|
af807a4696 | ||
|
|
5c0c60a13c | ||
|
|
5dba996dba | ||
|
|
9612a3011f | ||
|
|
0d3d930912 | ||
|
|
d8bfc42bb7 | ||
|
|
ca7885f733 | ||
|
|
9176752172 | ||
|
|
79bf692420 | ||
|
|
f72e7fb1d6 | ||
|
|
4647f13c43 | ||
|
|
20ec486baf | ||
|
|
55000888b9 | ||
|
|
4f9d3a07bb | ||
|
|
84803279ca | ||
|
|
8d2d6e5194 | ||
|
|
e9c614a1af | ||
|
|
8f3fc5221c | ||
|
|
ae55d5322c | ||
|
|
92b7fa7b48 | ||
|
|
eb4a8b4bb5 | ||
|
|
663a3e9ba7 | ||
|
|
51a894e6eb | ||
|
|
ac32b644ee | ||
|
|
487f7a73cb | ||
|
|
aa1c79eaea | ||
|
|
885111518e | ||
|
|
0cae814f36 | ||
|
|
33c3739628 | ||
|
|
4d864b087e | ||
|
|
2f207dcf1e | ||
|
|
f9c01c33d3 | ||
|
|
d4dc57bb13 | ||
|
|
a28e648690 | ||
|
|
40ae3943f2 | ||
|
|
dba21ed913 | ||
|
|
66d336808d | ||
|
|
dccd9c4f4d | ||
|
|
3fe47d5c57 | ||
|
|
3fd88089c0 | ||
|
|
0683e4ce4b | ||
|
|
ec42af9263 | ||
|
|
00831b5b3b | ||
|
|
ec6c8f86f3 | ||
|
|
e608d92c5b | ||
|
|
57dadf71ca | ||
|
|
adb91c056f | ||
|
|
6f652c89d7 | ||
|
|
7439a36785 | ||
|
|
7eba12edce | ||
|
|
ba730e14ed | ||
|
|
1ba858591b | ||
|
|
f2f5d06853 | ||
|
|
b2ac30ac36 | ||
|
|
3b7f2f53a2 | ||
|
|
8128f7143d | ||
|
|
393a93ea32 | ||
|
|
3e7d43cd48 | ||
|
|
1bbd69251b | ||
|
|
f841b04601 | ||
|
|
b463d52143 | ||
|
|
7e4a7fdddd | ||
|
|
ee2f31e281 | ||
|
|
dad97b4688 | ||
|
|
a01616eed5 | ||
|
|
d750861dc2 | ||
|
|
59f7f6dbe9 | ||
|
|
20d85c609a | ||
|
|
ad766b5785 | ||
|
|
0420d8505a | ||
|
|
05e6fd8398 | ||
|
|
e5d00e8cf4 | ||
|
|
31dc7a3c89 | ||
|
|
17238f1ee5 | ||
|
|
f407cada8a | ||
|
|
e713ef66ef | ||
|
|
a0275b0d2c | ||
|
|
d6d6d20b13 | ||
|
|
1f1f582304 | ||
|
|
811c2e9a91 | ||
|
|
cda3236092 | ||
|
|
9b9e056615 | ||
|
|
ff65fa39e8 | ||
|
|
3e45db6729 | ||
|
|
3b8ab88131 | ||
|
|
32225d06b9 | ||
|
|
a835939222 | ||
|
|
98abd1bbc8 | ||
|
|
a9455bb9a7 | ||
|
|
63c57a14d3 | ||
|
|
25f21b5331 | ||
|
|
da82d86ea0 | ||
|
|
075d3d892f | ||
|
|
ae36cfc65e | ||
|
|
9878e8ff51 | ||
|
|
6583429f89 | ||
|
|
037c068460 | ||
|
|
c042a91b8b | ||
|
|
813a0e11f1 | ||
|
|
52cc32378c | ||
|
|
c3da0bd7dd | ||
|
|
e508155d16 | ||
|
|
0426d3c0c8 | ||
|
|
b53745ce91 | ||
|
|
768f7231ea | ||
|
|
680abf8a02 | ||
|
|
1170268088 | ||
|
|
38a1c2b495 | ||
|
|
b5d988dd19 | ||
|
|
b67d93111d | ||
|
|
22d9132081 | ||
|
|
d619cceea4 | ||
|
|
76f3b66e04 | ||
|
|
e71c34aaa1 | ||
|
|
b9fbedd601 | ||
|
|
ee9bc897f8 | ||
|
|
1b354bb5e4 | ||
|
|
bb0393a0cd | ||
|
|
9fe342d1e6 | ||
|
|
cfdd07d7d3 | ||
|
|
1968444bed | ||
|
|
935f93f966 | ||
|
|
3493e867e9 | ||
|
|
49134e8e53 | ||
|
|
0e71d08e8d | ||
|
|
b50b036ffb | ||
|
|
dc3015f157 | ||
|
|
b2bc563142 | ||
|
|
44fb5156bb | ||
|
|
8f9db0f81c | ||
|
|
d1934c2065 | ||
|
|
81767eead9 | ||
|
|
63556fa994 | ||
|
|
bf020d8d7f | ||
|
|
2bdac09d16 | ||
|
|
ad76128204 | ||
|
|
fe20a619cf | ||
|
|
e6aeb24b23 | ||
|
|
0aad9e2627 | ||
|
|
12229f119d | ||
|
|
1bf81e3c5d | ||
|
|
1936b25ebd | ||
|
|
2eb656ef4f | ||
|
|
629ec2b06b | ||
|
|
2500d82d0d | ||
|
|
97c9b3ecc6 | ||
|
|
e02b989ff9 | ||
|
|
23d31efc16 | ||
|
|
180cc2f845 | ||
|
|
8ba06464ac | ||
|
|
76444d042c | ||
|
|
fdcbbeb55e | ||
|
|
e01ee3da57 | ||
|
|
fd1b1fce3f | ||
|
|
38889f5221 | ||
|
|
a02870f4f6 | ||
|
|
e348016253 | ||
|
|
7ed292a4e9 | ||
|
|
d63eef4b86 | ||
|
|
62b4601e53 | ||
|
|
565d097d8f | ||
|
|
2dc3e94470 | ||
|
|
b1a955b518 | ||
|
|
b01f146fd0 | ||
|
|
805b1cf482 | ||
|
|
52363954bf | ||
|
|
98650bdf89 | ||
|
|
5186529e57 | ||
|
|
fdf513e07a | ||
|
|
8d9db3dd03 | ||
|
|
fd08463dea | ||
|
|
c7b2cce418 | ||
|
|
000b2899b9 | ||
|
|
a49a865cf5 | ||
|
|
948c60badc | ||
|
|
d8070889d7 | ||
|
|
c000843a14 | ||
|
|
da55430952 | ||
|
|
17ad1d12eb | ||
|
|
8b9842a256 | ||
|
|
7265e6928e | ||
|
|
4110fac389 | ||
|
|
b3a22d0ed6 | ||
|
|
8946d7f029 | ||
|
|
d2a6f43eaf | ||
|
|
5a5b55943d | ||
|
|
3f7ef618b6 | ||
|
|
15aa7aaa93 | ||
|
|
ccb80d7ec4 | ||
|
|
1c09bcfdda | ||
|
|
d23dd812ad | ||
|
|
10b5895597 | ||
|
|
1fcb4ecc07 | ||
|
|
c9872b80c8 | ||
|
|
46bd63819e | ||
|
|
ff95925e70 | ||
|
|
b9ea936150 | ||
|
|
2cf5fd48d1 | ||
|
|
9f44247acf | ||
|
|
b03e1712b2 | ||
|
|
a706b0b8bd | ||
|
|
05b74e4ae4 | ||
|
|
2f35a17f38 | ||
|
|
5761a93bba | ||
|
|
3e0fbc7efc | ||
|
|
19a9050548 | ||
|
|
ee931f8d4d | ||
|
|
ec89aba7c6 | ||
|
|
cce4e50569 | ||
|
|
63772e2a2c | ||
|
|
b3dd49429b | ||
|
|
609306de17 | ||
|
|
c9f486c38f | ||
|
|
bf86ddaa20 | ||
|
|
de8172673e | ||
|
|
6ff0a04f7c | ||
|
|
7e66cad998 | ||
|
|
9637c963f5 | ||
|
|
fb3f0beb42 | ||
|
|
0aec2bb8f2 | ||
|
|
da899d190e | ||
|
|
1e055089a3 | ||
|
|
29bc4b8974 | ||
|
|
c3412e9a08 | ||
|
|
842c782cee | ||
|
|
faeea574af | ||
|
|
35d25c0ce4 | ||
|
|
5b5a80d011 | ||
|
|
ab673c8527 | ||
|
|
1dca089149 | ||
|
|
3efd0c7b8d | ||
|
|
f3da222839 | ||
|
|
d25046b648 | ||
|
|
e61ec95deb | ||
|
|
cec81eef31 | ||
|
|
55821d021d | ||
|
|
6cb0aa12b8 | ||
|
|
e10a1457e8 | ||
|
|
87c9ad6fd5 | ||
|
|
28ab1125c2 | ||
|
|
c6d930a114 | ||
|
|
c05b6f800a | ||
|
|
540e1c70cc | ||
|
|
180c0d70c4 | ||
|
|
6a47e35065 | ||
|
|
07e62084bb | ||
|
|
381b4b0c91 | ||
|
|
0e1bd23025 | ||
|
|
2cf8d24131 | ||
|
|
fa4d036424 | ||
|
|
4f26a52908 | ||
|
|
553fe132d4 | ||
|
|
aa6f4241f8 | ||
|
|
b58ea057fe | ||
|
|
4b8d75e2e6 | ||
|
|
f446e58e45 | ||
|
|
6817407d49 | ||
|
|
365f8fb0dd | ||
|
|
ed0ae62ad7 | ||
|
|
ca279b80e6 | ||
|
|
c4ac5ac9d7 | ||
|
|
7f01ef171f | ||
|
|
e63c7e0893 | ||
|
|
25ea5ea27e | ||
|
|
4e53ce81cf | ||
|
|
3c1c999226 | ||
|
|
313d50e903 | ||
|
|
b85d4d61a7 | ||
|
|
33eac56e4a | ||
|
|
6774f32adb | ||
|
|
21bcb2e1f6 | ||
|
|
cfd0011f2f | ||
|
|
8b34b7da41 | ||
|
|
085d7d59f0 | ||
|
|
12fd8faa5d | ||
|
|
29796b62bd | ||
|
|
e71a33bbf8 | ||
|
|
f68067e101 | ||
|
|
9854a17f29 | ||
|
|
21625d729c | ||
|
|
675f7f627b | ||
|
|
32fbbf38b4 | ||
|
|
a127537efb | ||
|
|
fbc4929185 | ||
|
|
efcfdbd4d1 | ||
|
|
292a80466d | ||
|
|
5e80c62f31 | ||
|
|
197af3dc32 | ||
|
|
824dcd4399 | ||
|
|
761728afe8 | ||
|
|
f183a2d7ea | ||
|
|
a2786a97d7 | ||
|
|
f1390a3424 | ||
|
|
e80d901d98 | ||
|
|
6df328e84d | ||
|
|
064ae479a7 | ||
|
|
36a0ee199d | ||
|
|
15b3bd1689 | ||
|
|
cc6a08b2a0 | ||
|
|
fce8409cbb | ||
|
|
9fe3e2efc3 | ||
|
|
0020d1022f | ||
|
|
ef0cc9db54 | ||
|
|
aa9d22a1c0 | ||
|
|
99902198de | ||
|
|
5186ae9bbe | ||
|
|
308be21c2f | ||
|
|
c2a261f493 | ||
|
|
75d4ed968d | ||
|
|
c18c75b0b7 | ||
|
|
afbf7c7e6b | ||
|
|
d8d07b2a8a | ||
|
|
0cc9419631 | ||
|
|
059376c855 | ||
|
|
ff0cc92757 | ||
|
|
bc18ac45a3 | ||
|
|
da46353056 | ||
|
|
13e3b21b16 | ||
|
|
7aaefcbe48 | ||
|
|
f6803de739 | ||
|
|
e382efc85d | ||
|
|
6cfe2114f1 | ||
|
|
fd89396012 | ||
|
|
7c86e10193 | ||
|
|
740a8b0b66 | ||
|
|
ef64cda978 | ||
|
|
3ed1acd13c | ||
|
|
b7aeac0de1 | ||
|
|
79fb4527ca | ||
|
|
29925c6dcd | ||
|
|
e47c60443f | ||
|
|
11b9ef9454 | ||
|
|
2eeaae6cbc | ||
|
|
50040573d7 | ||
|
|
b618ac8c0b | ||
|
|
776bc9cf55 | ||
|
|
3f4826a358 | ||
|
|
6ec7484ae8 | ||
|
|
96abc6bf72 | ||
|
|
7b30053b26 | ||
|
|
29c471aafc | ||
|
|
6d4cf6be4e | ||
|
|
5a2c1ad625 | ||
|
|
917a5086b3 | ||
|
|
5d89b027ee | ||
|
|
502c132738 | ||
|
|
f958aabdf3 | ||
|
|
78399d23dc | ||
|
|
f941892829 | ||
|
|
6531952b3c | ||
|
|
c3301d038d | ||
|
|
aa7ddbd0ff | ||
|
|
760c114b24 | ||
|
|
10f42ddb9e | ||
|
|
361b60678e | ||
|
|
243c2dd746 | ||
|
|
48d65aabbc | ||
|
|
bd894c4705 | ||
|
|
174c555414 | ||
|
|
3d001b81c2 | ||
|
|
9449a4d894 | ||
|
|
61d31ae10d | ||
|
|
cc153541a2 | ||
|
|
501ee87180 | ||
|
|
00647c39de | ||
|
|
c177191804 | ||
|
|
1c1a0a23d3 | ||
|
|
d15059b128 | ||
|
|
d30806b0c5 | ||
|
|
9ea2315d2d | ||
|
|
d003877c66 | ||
|
|
ed490e4643 | ||
|
|
5620392d67 | ||
|
|
942ee02590 | ||
|
|
383ecc0374 | ||
|
|
b3893baf80 | ||
|
|
3d479b9638 | ||
|
|
cf490a7f81 | ||
|
|
5e6908944b | ||
|
|
bd9615bbc5 | ||
|
|
c0a9f554be | ||
|
|
6230ae7faf | ||
|
|
a1c2e87c4b | ||
|
|
fbf0f400b7 | ||
|
|
34af2b7194 | ||
|
|
c81aedeaec | ||
|
|
b768c48547 | ||
|
|
97125fb370 | ||
|
|
2c75ef62ea | ||
|
|
b35b4566c2 | ||
|
|
c5e6bf63e6 | ||
|
|
a7c2c7d6b2 | ||
|
|
4aa487e796 | ||
|
|
1f99a7514e | ||
|
|
f22ed0986a | ||
|
|
5f7d4668c4 | ||
|
|
7e73bc32f5 | ||
|
|
2043364516 | ||
|
|
d434019633 | ||
|
|
2755c798f3 | ||
|
|
8608079647 | ||
|
|
d9731b26e7 | ||
|
|
5e73284cee | ||
|
|
cf92c72797 | ||
|
|
5db088d70f | ||
|
|
01001d80e2 | ||
|
|
dd34fe8679 | ||
|
|
93b975a1d9 | ||
|
|
5ee684cba9 | ||
|
|
82f53f45d9 | ||
|
|
edf24e699e | ||
|
|
00d63aafc6 | ||
|
|
8e0c6fc0be | ||
|
|
68fc4ff1d7 | ||
|
|
fee9bbe475 | ||
|
|
a90e4c3ddf | ||
|
|
1b3092e4bb | ||
|
|
bf823b6b77 | ||
|
|
670e900719 | ||
|
|
31d2a00192 | ||
|
|
b4f38a4d60 | ||
|
|
4bbef7a644 | ||
|
|
d9dbb3e154 | ||
|
|
e1b47b68ec | ||
|
|
1f9def3163 | ||
|
|
9cfee527f6 | ||
|
|
3f71282850 | ||
|
|
72c3672857 | ||
|
|
0d1cd6d41c | ||
|
|
1bc71e32ea | ||
|
|
fe45343df9 | ||
|
|
884fdfeb22 | ||
|
|
4a2ef4fd88 | ||
|
|
6c52dd3852 | ||
|
|
5c1763e7b5 | ||
|
|
f65091c947 | ||
|
|
7ace638da2 | ||
|
|
4f22bdf3e5 | ||
|
|
640afdf4f2 | ||
|
|
452217e29a | ||
|
|
11e92390f6 | ||
|
|
b94c14114f | ||
|
|
8d39610037 | ||
|
|
fa1fe5f6f3 | ||
|
|
1b24e2d5a7 | ||
|
|
5072fd3a64 | ||
|
|
8b60787e85 | ||
|
|
d79fd74871 | ||
|
|
a4f4ca7767 | ||
|
|
ccd3e7dcef | ||
|
|
650d46a107 | ||
|
|
d265bdf81a | ||
|
|
aa6866d63c | ||
|
|
b12b13f832 | ||
|
|
06daf74a71 | ||
|
|
70570d4199 | ||
|
|
5c21747783 | ||
|
|
2f5b3c9607 | ||
|
|
e53ec3a862 | ||
|
|
6147ccba63 | ||
|
|
531348e814 | ||
|
|
e4f976b8b9 | ||
|
|
9ab512ad8c | ||
|
|
462d8f5faf | ||
|
|
4e7fd7ad96 | ||
|
|
51bfb8fc8c | ||
|
|
6b6760d6bc | ||
|
|
9742547245 | ||
|
|
abeca8d17d | ||
|
|
496aa47042 | ||
|
|
f3e507ef9f | ||
|
|
81ef03be65 | ||
|
|
8fa6f7363e | ||
|
|
3866558c98 | ||
|
|
f673b24017 | ||
|
|
d9d33b6fc8 | ||
|
|
b63c100677 | ||
|
|
309d5b6650 | ||
|
|
9d5853813f | ||
|
|
7162398778 | ||
|
|
fc5a7ea5de | ||
|
|
7aece10039 | ||
|
|
f94e4f216f | ||
|
|
a06f929362 | ||
|
|
62e7c033c0 | ||
|
|
4de6fac4da | ||
|
|
602dc1a638 | ||
|
|
bbec2fdb3a | ||
|
|
513325fa32 | ||
|
|
d6772f157a | ||
|
|
ea8b68e0f7 | ||
|
|
ff13f0ea4d | ||
|
|
5ef553da9a | ||
|
|
e713c21bd0 | ||
|
|
ff917003f6 | ||
|
|
ccea3ff8a9 | ||
|
|
0552abce0e | ||
|
|
07373512c7 | ||
|
|
c920d201c2 | ||
|
|
6d4e561e39 | ||
|
|
223d7cb3c7 | ||
|
|
bc5d480e2c | ||
|
|
9595d1935c | ||
|
|
059e901446 | ||
|
|
f116fcc328 | ||
|
|
1f208c3546 | ||
|
|
5ae49cf3ed | ||
|
|
a3e938b8da | ||
|
|
9f07ed00e4 | ||
|
|
3cec66512d | ||
|
|
eff9690351 | ||
|
|
dceae2829e | ||
|
|
203946e1f9 | ||
|
|
74b27674a8 | ||
|
|
a0092c51b1 | ||
|
|
8374ccb66f | ||
|
|
16183e6430 | ||
|
|
ce6640001d | ||
|
|
d70771752f | ||
|
|
d885ff470a | ||
|
|
e4e66476a9 | ||
|
|
f43eac3ed8 | ||
|
|
c171166987 | ||
|
|
8a2368edce | ||
|
|
89a3bafe04 | ||
|
|
272622a2e0 | ||
|
|
2585b74e19 | ||
|
|
4864aaeb02 | ||
|
|
f4e345c1a8 | ||
|
|
eb0c478b17 | ||
|
|
3a3bb953b6 | ||
|
|
eabb7e66bd | ||
|
|
397b807ad5 | ||
|
|
bb53124fca | ||
|
|
0bad236cfb | ||
|
|
46a9241248 | ||
|
|
811f54fa75 | ||
|
|
552a65e454 | ||
|
|
3596903068 | ||
|
|
271d504ed7 | ||
|
|
9d0ae967d4 | ||
|
|
f44ba11815 | ||
|
|
9b5dc1358a | ||
|
|
4f027a33b9 | ||
|
|
0f91310bf3 | ||
|
|
d90c655b05 | ||
|
|
99e788fe56 | ||
|
|
156e583a35 | ||
|
|
0d55346156 | ||
|
|
2ccd264695 | ||
|
|
f6507157e2 | ||
|
|
c410994653 | ||
|
|
0a097675f1 | ||
|
|
82258b7af3 | ||
|
|
04ac15fd80 | ||
|
|
83d3ff590d | ||
|
|
c807169888 | ||
|
|
a5bbe206a8 | ||
|
|
8de3dc1701 | ||
|
|
4f5901b265 | ||
|
|
629fd78f79 | ||
|
|
64414ea0e9 | ||
|
|
691ed5e54b | ||
|
|
5daa99d2a4 | ||
|
|
97c7937c65 | ||
|
|
95a441112e | ||
|
|
063f3f7fc4 | ||
|
|
749ed66549 | ||
|
|
c8e148e38c | ||
|
|
c0c31024a3 | ||
|
|
88e2dbfd10 | ||
|
|
8a48f35574 | ||
|
|
ee11842bfc | ||
|
|
29bff4e12d | ||
|
|
88f7212312 | ||
|
|
01a91eb657 | ||
|
|
b7978af693 | ||
|
|
cc858bfa84 | ||
|
|
3209c3ed0d | ||
|
|
5e75db12d7 | ||
|
|
e8673143ea | ||
|
|
048412473b | ||
|
|
21f99792a9 | ||
|
|
ae80d13f6d | ||
|
|
829da4c345 | ||
|
|
855ebb26d1 | ||
|
|
20aec24ac7 | ||
|
|
41a4e828d9 | ||
|
|
8cad795a80 | ||
|
|
9a78ef980d | ||
|
|
85e0634b54 | ||
|
|
42153d7858 | ||
|
|
483ca39bca | ||
|
|
d3fe7398e3 | ||
|
|
27cc9068ce | ||
|
|
cf4d4342c9 | ||
|
|
a27d3e43fe | ||
|
|
6a632de96d | ||
|
|
92de58f001 | ||
|
|
caf8010652 | ||
|
|
5cf7326132 | ||
|
|
b2ab693d68 | ||
|
|
eef70ff79a | ||
|
|
288c5396e6 | ||
|
|
9805e76744 | ||
|
|
4cc90ee0b0 | ||
|
|
4428e8f20f | ||
|
|
64f78dd6a8 | ||
|
|
c9db223f90 | ||
|
|
7edd2ecb55 | ||
|
|
ff81f074fb | ||
|
|
de03fe4a3f | ||
|
|
7b4d10b4a3 | ||
|
|
e640300602 | ||
|
|
6a92d98d1a | ||
|
|
89dc48569a | ||
|
|
602045fd7b | ||
|
|
439758353a | ||
|
|
f34cad0f97 | ||
|
|
adccb084df | ||
|
|
d8babcfc57 | ||
|
|
aa710c3e6b | ||
|
|
9b694589e9 | ||
|
|
01f2e7f62f | ||
|
|
392d9701e3 | ||
|
|
eb2a6d62f9 | ||
|
|
2905385744 | ||
|
|
58af54c767 | ||
|
|
c155ae1dfe | ||
|
|
a0d6b506cd | ||
|
|
356f8ea213 | ||
|
|
c73e07405c | ||
|
|
bb1bf8b3aa | ||
|
|
a33532f5f4 | ||
|
|
1ff1e89ff4 | ||
|
|
cec316c9eb | ||
|
|
8d239a6880 | ||
|
|
2a62cbd24b | ||
|
|
3a8e2776a6 | ||
|
|
83ca3ff384 | ||
|
|
2cc7dba718 | ||
|
|
79a340bc15 | ||
|
|
f2923613a4 | ||
|
|
d881a9c136 | ||
|
|
9e4bae9cca | ||
|
|
65a18442e5 | ||
|
|
0bf5dbe002 | ||
|
|
5b01c5e9d2 | ||
|
|
46b06bdb26 | ||
|
|
2e76f0a846 | ||
|
|
af1d46b68a | ||
|
|
bb8f7627f7 | ||
|
|
8473ae475f | ||
|
|
194bc5afbd | ||
|
|
8e20c417d4 | ||
|
|
d22079217c | ||
|
|
b50280e95f | ||
|
|
fbb71da2b9 | ||
|
|
1aee657b0f | ||
|
|
34ae99d604 | ||
|
|
ad2519ac6b | ||
|
|
962a9f2f9d | ||
|
|
ead0f46d5f | ||
|
|
0031ea7d85 | ||
|
|
f7159552ae | ||
|
|
3a2815370d | ||
|
|
3e1f4bc15b | ||
|
|
b456413d76 | ||
|
|
a4be104887 | ||
|
|
cb7ccc4b14 | ||
|
|
f167d0e7d5 | ||
|
|
fa8059a89c | ||
|
|
9b00fa9ac2 | ||
|
|
bfc02dd30f | ||
|
|
6579245800 | ||
|
|
4b4632f94c | ||
|
|
d6aff512fe | ||
|
|
464b9f4f6c | ||
|
|
9abf73b8cc | ||
|
|
a7e252026d | ||
|
|
60a7200c0d | ||
|
|
89f88058b9 | ||
|
|
e3b2668865 | ||
|
|
a7a582296b | ||
|
|
a90046f109 | ||
|
|
becb393d42 | ||
|
|
e55b771a1e | ||
|
|
39adc30250 | ||
|
|
c968d3d410 | ||
|
|
b78fb7abaf | ||
|
|
6232438acb | ||
|
|
885afd59ec | ||
|
|
2c1f975852 | ||
|
|
901c1bb402 | ||
|
|
0831ef5038 | ||
|
|
cc6a141dc1 | ||
|
|
464b82b1e6 | ||
|
|
865f88afc0 | ||
|
|
49f82803cc | ||
|
|
60417b646d | ||
|
|
57d9531cd6 | ||
|
|
c0551f0a46 | ||
|
|
a7a89e362b | ||
|
|
0560d81ce9 | ||
|
|
00cdc0a472 | ||
|
|
200736ebd8 | ||
|
|
cc0c8b2248 | ||
|
|
ef264c2971 | ||
|
|
d4f7e4cc01 | ||
|
|
b2a3a8554a | ||
|
|
e7e4181361 | ||
|
|
2a9950dcb3 | ||
|
|
2cbfbcd972 | ||
|
|
33ae886bbd | ||
|
|
aed4f2cc2c | ||
|
|
05dab5eaa2 | ||
|
|
1fbb1c8d78 | ||
|
|
a5011d9753 | ||
|
|
cefc983bec | ||
|
|
12ef1fbefc | ||
|
|
a328e469d3 | ||
|
|
fe1d01cb39 | ||
|
|
8627bf1452 | ||
|
|
77b862a849 | ||
|
|
aff8e204d2 | ||
|
|
ed7fbad206 | ||
|
|
4720cd0050 | ||
|
|
c9795c6ca2 | ||
|
|
bce82efe1f | ||
|
|
aeda4c589a | ||
|
|
696fe3f52e | ||
|
|
c34d026eb0 | ||
|
|
de90bbd0b7 | ||
|
|
d214138910 | ||
|
|
89433fef0d | ||
|
|
b4d9c0048f | ||
|
|
9a94dae4c2 | ||
|
|
183abbcd6b | ||
|
|
0536268267 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,7 +1,9 @@
|
|||||||
*~
|
|
||||||
*.a
|
*.a
|
||||||
*.o
|
*.o
|
||||||
*.so
|
*.so
|
||||||
|
*.sw[a-z]
|
||||||
|
*.pc
|
||||||
|
*~
|
||||||
depend
|
depend
|
||||||
depend.bak
|
depend.bak
|
||||||
lib
|
lib
|
||||||
|
|||||||
69
Makefile
69
Makefile
@@ -7,7 +7,9 @@ SUBDIRS = src progs
|
|||||||
|
|
||||||
default: $(TOP)/configs/current
|
default: $(TOP)/configs/current
|
||||||
@for dir in $(SUBDIRS) ; do \
|
@for dir in $(SUBDIRS) ; do \
|
||||||
(cd $$dir ; $(MAKE)) || exit 1 ; \
|
if [ -d $$dir ] ; then \
|
||||||
|
(cd $$dir && $(MAKE)) || exit 1 ; \
|
||||||
|
fi \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
@@ -16,7 +18,9 @@ doxygen:
|
|||||||
|
|
||||||
clean:
|
clean:
|
||||||
@for dir in $(SUBDIRS) ; do \
|
@for dir in $(SUBDIRS) ; do \
|
||||||
(cd $$dir ; $(MAKE) clean) ; \
|
if [ -d $$dir ] ; then \
|
||||||
|
(cd $$dir && $(MAKE) clean) ; \
|
||||||
|
fi \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
@@ -34,9 +38,12 @@ realclean:
|
|||||||
|
|
||||||
install:
|
install:
|
||||||
@for dir in $(SUBDIRS) ; do \
|
@for dir in $(SUBDIRS) ; do \
|
||||||
(cd $$dir ; $(MAKE) install) || exit 1 ; \
|
if [ -d $$dir ] ; then \
|
||||||
|
(cd $$dir && $(MAKE) install) || exit 1 ; \
|
||||||
|
fi \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# DirectFBGL module installation
|
# DirectFBGL module installation
|
||||||
linux-directfb-install:
|
linux-directfb-install:
|
||||||
cd src/mesa/drivers/directfb && $(MAKE) install
|
cd src/mesa/drivers/directfb && $(MAKE) install
|
||||||
@@ -60,6 +67,9 @@ aix-64-static \
|
|||||||
aix-gcc \
|
aix-gcc \
|
||||||
aix-static \
|
aix-static \
|
||||||
beos \
|
beos \
|
||||||
|
bluegene-osmesa \
|
||||||
|
bluegene-xlc-osmesa \
|
||||||
|
catamount-osmesa-pgi \
|
||||||
darwin \
|
darwin \
|
||||||
darwin-static \
|
darwin-static \
|
||||||
darwin-static-x86ppc \
|
darwin-static-x86ppc \
|
||||||
@@ -92,6 +102,7 @@ linux-alpha-static \
|
|||||||
linux-debug \
|
linux-debug \
|
||||||
linux-directfb \
|
linux-directfb \
|
||||||
linux-dri \
|
linux-dri \
|
||||||
|
linux-dri-debug \
|
||||||
linux-dri-x86 \
|
linux-dri-x86 \
|
||||||
linux-dri-x86-64 \
|
linux-dri-x86-64 \
|
||||||
linux-dri-ppc \
|
linux-dri-ppc \
|
||||||
@@ -143,8 +154,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
|
||||||
@@ -154,10 +166,10 @@ ultrix-gcc:
|
|||||||
|
|
||||||
# Rules for making release tarballs
|
# Rules for making release tarballs
|
||||||
|
|
||||||
DIRECTORY = Mesa-6.5.2
|
DIRECTORY = Mesa-7.0.2
|
||||||
LIB_NAME = MesaLib-6.5.2
|
LIB_NAME = MesaLib-7.0.2
|
||||||
DEMO_NAME = MesaDemos-6.5.2
|
DEMO_NAME = MesaDemos-7.0.2
|
||||||
GLUT_NAME = MesaGLUT-6.5.2
|
GLUT_NAME = MesaGLUT-7.0.2
|
||||||
|
|
||||||
MAIN_FILES = \
|
MAIN_FILES = \
|
||||||
$(DIRECTORY)/Makefile* \
|
$(DIRECTORY)/Makefile* \
|
||||||
@@ -201,6 +213,7 @@ 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 \
|
||||||
@@ -208,9 +221,6 @@ MAIN_FILES = \
|
|||||||
$(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/glapi/sources \
|
||||||
$(DIRECTORY)/src/mesa/array_cache/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/array_cache/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/array_cache/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/math/sources \
|
||||||
@@ -224,12 +234,17 @@ MAIN_FILES = \
|
|||||||
$(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/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/*.syn \
|
||||||
|
$(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/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/swrast_setup/sources \
|
||||||
|
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
|
||||||
|
$(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/sources \
|
||||||
@@ -278,17 +293,15 @@ 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/VC8/mesa/mesa.sln \
|
||||||
$(DIRECTORY)/windows/VC6/mesa/glu/*.txt \
|
$(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj \
|
||||||
$(DIRECTORY)/windows/VC6/mesa/glu/glu.dsp \
|
$(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj \
|
||||||
$(DIRECTORY)/windows/VC6/mesa/mesa.dsw \
|
$(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj \
|
||||||
$(DIRECTORY)/windows/VC6/mesa/mesa/mesa.dsp \
|
$(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj \
|
||||||
$(DIRECTORY)/windows/VC6/mesa/osmesa/osmesa.dsp \
|
$(DIRECTORY)/windows/VC8/progs/progs.sln \
|
||||||
$(DIRECTORY)/windows/VC7/mesa/gdi/gdi.vcproj \
|
$(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj \
|
||||||
$(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj \
|
$(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj
|
||||||
$(DIRECTORY)/windows/VC7/mesa/mesa.sln \
|
|
||||||
$(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj \
|
|
||||||
$(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj
|
|
||||||
|
|
||||||
DRI_FILES = \
|
DRI_FILES = \
|
||||||
$(DIRECTORY)/include/GL/internal/dri_interface.h \
|
$(DIRECTORY)/include/GL/internal/dri_interface.h \
|
||||||
@@ -308,7 +321,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 \
|
||||||
@@ -353,6 +368,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* \
|
||||||
@@ -364,6 +381,9 @@ DEMO_FILES = \
|
|||||||
$(DIRECTORY)/progs/samples/Makefile* \
|
$(DIRECTORY)/progs/samples/Makefile* \
|
||||||
$(DIRECTORY)/progs/samples/README \
|
$(DIRECTORY)/progs/samples/README \
|
||||||
$(DIRECTORY)/progs/samples/*.c \
|
$(DIRECTORY)/progs/samples/*.c \
|
||||||
|
$(DIRECTORY)/progs/glsl/Makefile* \
|
||||||
|
$(DIRECTORY)/progs/glsl/*.c \
|
||||||
|
$(DIRECTORY)/progs/glsl/*.txt \
|
||||||
$(DIRECTORY)/progs/windml/Makefile.ugl \
|
$(DIRECTORY)/progs/windml/Makefile.ugl \
|
||||||
$(DIRECTORY)/progs/windml/*.c \
|
$(DIRECTORY)/progs/windml/*.c \
|
||||||
$(DIRECTORY)/progs/windml/*.bmp \
|
$(DIRECTORY)/progs/windml/*.bmp \
|
||||||
@@ -378,6 +398,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 \
|
||||||
@@ -393,6 +414,9 @@ 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/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
|
||||||
|
|
||||||
@@ -400,6 +424,7 @@ DEPEND_FILES = \
|
|||||||
$(TOP)/src/mesa/depend \
|
$(TOP)/src/mesa/depend \
|
||||||
$(TOP)/src/glx/x11/depend \
|
$(TOP)/src/glx/x11/depend \
|
||||||
$(TOP)/src/glw/depend \
|
$(TOP)/src/glw/depend \
|
||||||
|
$(TOP)/src/glw/glw.pc.in \
|
||||||
$(TOP)/src/glut/glx/depend \
|
$(TOP)/src/glut/glx/depend \
|
||||||
$(TOP)/src/glu/sgi/depend
|
$(TOP)/src/glu/sgi/depend
|
||||||
|
|
||||||
|
|||||||
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)
|
||||||
|
|||||||
49
bin/mklib
49
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,6 +64,7 @@ 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'
|
||||||
@@ -94,12 +96,24 @@ 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"
|
||||||
;;
|
;;
|
||||||
|
-pthread)
|
||||||
|
# this is a special case (see bugzilla 10876)
|
||||||
|
DEPS="$DEPS $1"
|
||||||
|
;;
|
||||||
|
'-pthread')
|
||||||
|
# for FreeBSD
|
||||||
|
DEPS="$DEPS -pthread"
|
||||||
|
;;
|
||||||
'-cplusplus')
|
'-cplusplus')
|
||||||
CPLUSPLUS=1
|
CPLUSPLUS=1
|
||||||
;;
|
;;
|
||||||
@@ -208,19 +222,20 @@ case $ARCH in
|
|||||||
|
|
||||||
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
|
||||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
LIBNAME="lib${LIBNAME}.a" # prefix with "lib", suffix with ".a"
|
||||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
|
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
|
||||||
LINK="ar"
|
LINK="ar"
|
||||||
OPTS="-ru"
|
OPTS="-ru"
|
||||||
|
rm -f ${LIBNAME}
|
||||||
# make lib
|
# make lib
|
||||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
||||||
ranlib ${LIBNAME}.a
|
ranlib ${LIBNAME}
|
||||||
# finish up
|
# finish up
|
||||||
FINAL_LIBS=${LIBNAME}.a
|
FINAL_LIBS=${LIBNAME}
|
||||||
else
|
else
|
||||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
||||||
case $ARCH in 'Linux' | 'GNU' | GNU/*)
|
case $ARCH in 'Linux' | 'GNU' | GNU/*)
|
||||||
@@ -265,7 +280,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,10 +352,10 @@ case $ARCH in
|
|||||||
#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}"
|
||||||
@@ -364,7 +379,7 @@ case $ARCH in
|
|||||||
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
|
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
|
||||||
OPTS="-shared"
|
OPTS="-shared"
|
||||||
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"
|
||||||
@@ -378,7 +393,7 @@ case $ARCH in
|
|||||||
OPTS="-shared -Wl,-soname,${SHLIB}"
|
OPTS="-shared -Wl,-soname,${SHLIB}"
|
||||||
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
|
||||||
@@ -436,7 +451,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
|
||||||
;;
|
;;
|
||||||
@@ -512,9 +527,9 @@ case $ARCH in
|
|||||||
# 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
|
||||||
|
|
||||||
@@ -596,7 +611,7 @@ 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}"
|
FINAL_LIBS="${LIBNAME} ${LINKNAME}"
|
||||||
fi
|
fi
|
||||||
@@ -673,7 +688,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
|
||||||
@@ -745,7 +760,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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -10,6 +10,10 @@ CXX = cc
|
|||||||
CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||||
CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
||||||
|
|
||||||
|
# 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
|
||||||
GLU_LIB_NAME = libGLU.dylib
|
GLU_LIB_NAME = libGLU.dylib
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
|
|||||||
|
|
||||||
MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
MKLIB_OPTIONS = -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.dylib
|
GL_LIB_NAME = libGL.dylib
|
||||||
GLU_LIB_NAME = libGLU.dylib
|
GLU_LIB_NAME = libGLU.dylib
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
CONFIG_NAME = default
|
CONFIG_NAME = default
|
||||||
|
|
||||||
# Version info
|
# Version info
|
||||||
MESA_MAJOR=6
|
MESA_MAJOR=7
|
||||||
MESA_MINOR=5
|
MESA_MINOR=0
|
||||||
MESA_TINY=2
|
MESA_TINY=2
|
||||||
|
|
||||||
# external projects. This should be useless now that we use libdrm.
|
# external projects. This should be useless now that we use libdrm.
|
||||||
@@ -20,6 +20,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
|
||||||
@@ -63,17 +64,19 @@ SRC_DIRS = mesa glu glut/glx glw
|
|||||||
GLU_DIRS = sgi
|
GLU_DIRS = sgi
|
||||||
DRIVER_DIRS = x11 osmesa
|
DRIVER_DIRS = x11 osmesa
|
||||||
# Which subdirs under $(TOP)/progs/ to enter:
|
# Which subdirs under $(TOP)/progs/ to enter:
|
||||||
PROGRAM_DIRS = demos redbook samples 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 -lXt -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ 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/X11R6/include
|
||||||
|
|
||||||
@@ -23,5 +23,9 @@ CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
|
|||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
EXTRA_LIB_PATH = -L/usr/X11R6/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
|
||||||
|
|||||||
@@ -15,21 +15,25 @@ EXPAT_INCLUDES = -I/usr/local/include
|
|||||||
X11_INCLUDES = -I/usr/X11R6/include
|
X11_INCLUDES = -I/usr/X11R6/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/X11R6/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/X11R6/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/X11R6/lib -lGL -lXt -lX11
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
|
||||||
@@ -55,10 +60,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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ ARCH_FLAGS ?=
|
|||||||
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 \
|
-D_BSD_SOURCE -D_GNU_SOURCE \
|
||||||
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
|
||||||
-DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DUSE_XCB -DHAVE_POSIX_MEMALIGN
|
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
|
||||||
|
-DHAVE_ALIAS -DUSE_XCB -DHAVE_POSIX_MEMALIGN
|
||||||
|
|
||||||
X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`
|
X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`
|
||||||
|
|
||||||
@@ -31,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 =
|
||||||
|
|
||||||
@@ -40,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
|
||||||
@@ -53,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
|
||||||
@@ -65,4 +70,4 @@ 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 i915 mach64 mga r128 r200 r300 radeon s3v \
|
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \
|
||||||
savage sis tdfx trident unichrome ffb
|
savage sis tdfx trident unichrome ffb nouveau
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -15,6 +15,13 @@ PIC_FLAGS = -fPIC
|
|||||||
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
|
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
|
||||||
ARCH_FLAGS ?=
|
ARCH_FLAGS ?=
|
||||||
|
|
||||||
|
# DRM and pciaccess
|
||||||
|
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
|
||||||
|
LIBDRM_LIB = `pkg-config --libs libdrm`
|
||||||
|
PCIACCESS_CFLAGS = `pkg-config --cflags pciaccess`
|
||||||
|
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 -DDRM_USE_MALLOC -DIN_DRI_DRIVER
|
||||||
@@ -24,11 +31,14 @@ 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 =
|
||||||
|
|
||||||
# Library/program dependencies
|
# Library/program dependencies
|
||||||
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR)
|
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR) $(PCIACCESS_LIB)
|
||||||
GL_LIB_DEPS = -lm -lpthread -ldl
|
GL_LIB_DEPS = -lm -lpthread -ldl
|
||||||
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) -lm
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
||||||
@@ -39,5 +49,5 @@ SRC_DIRS = glx/mini mesa glu glut/mini
|
|||||||
DRIVER_DIRS = dri
|
DRIVER_DIRS = dri
|
||||||
PROGRAM_DIRS = miniglx
|
PROGRAM_DIRS = miniglx
|
||||||
|
|
||||||
#DRI_DIRS = ffb gamma sis savage
|
#DRI_DIRS = ffb gamma sis savage tdfx unichrome fb
|
||||||
DRI_DIRS = i810 i915 mach64 mga r128 r200 radeon tdfx unichrome fb
|
DRI_DIRS = i810 i915tex i915 mach64 mga r128 r200 radeon
|
||||||
|
|||||||
@@ -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,4 @@ 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 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||||
-L/usr/X11R6/lib/ -lX11 -lXmu -lXi -lpthread
|
|
||||||
|
|
||||||
|
|||||||
@@ -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,4 @@ 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 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -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,4 @@ 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 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -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
|
||||||
|
|||||||
@@ -88,19 +88,6 @@ driver (such as <code>radeon_dri.so</code>) at runtime. The
|
|||||||
environment variable <code>LIBGL_DRIVERS_PATH</code> should name the
|
environment variable <code>LIBGL_DRIVERS_PATH</code> should name the
|
||||||
directory where these modules are located.<br>
|
directory where these modules are located.<br>
|
||||||
<br>
|
<br>
|
||||||
Prior to running a MiniGXL application, the following kernel modules
|
|
||||||
must be installed:<br>
|
|
||||||
<br>
|
|
||||||
<div style="margin-left: 40px;"> agpgart.o<br>
|
|
||||||
radeonfb.o (assuming Radeon hardware)<br>
|
|
||||||
radeon.o (assuming Radeon hardware)<br>
|
|
||||||
</div>
|
|
||||||
<code></code> <br>
|
|
||||||
Finally, MiniGLX reads a configuration file (by default,<code>
|
|
||||||
/etc/miniglx.conf</code>) to determine basic configuration information.
|
|
||||||
The configuration file may also be located in the directory
|
|
||||||
specified by the <code>MINIGLX_CONF</code> environment variable).<br>
|
|
||||||
<br>
|
|
||||||
The remainder of this section describes the MiniGLX API functions.<br>
|
The remainder of this section describes the MiniGLX API functions.<br>
|
||||||
<br>
|
<br>
|
||||||
<h2>3.1 Initialization</h2>
|
<h2>3.1 Initialization</h2>
|
||||||
|
|||||||
@@ -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,155 +1,163 @@
|
|||||||
File: docs/README.WIN32
|
File: docs/README.WIN32
|
||||||
|
|
||||||
Last updated: Mar 31, 2006 - 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 6 files
|
the top-level "windows" directory. For example, Visual Studio 8 files
|
||||||
are in windows/VC6. If a directory does not exist for your version of
|
are in windows/VC8.
|
||||||
Visual Studio, you can try importing the project files from an earlier
|
|
||||||
version of Visual Studio. At this time, project files exist for
|
Support has been dropped for versions of Visual Studio prior to 8. The
|
||||||
Version 6 and Version 7. The code has been built with a beta version
|
main reason is because Microsoft now provides a free compiler and
|
||||||
of Version 8 and it runs on 64-bit Windows. If you want to try this,
|
developer environment. Visual Studio Express can be found at
|
||||||
start by importing the VC7 files and create the 64-bit targets in the
|
|
||||||
configuration manager.
|
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
|
||||||
|
|
||||||
It is likely that the new and free Visual Studio Express can be used
|
You'll also need the Platform SDK. Instructions for obtaining and
|
||||||
to build Mesa, but it hasn't been tried yet. Start with the VC7
|
using the SDK with Visual Studio Express can be found at
|
||||||
project files.
|
|
||||||
|
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
||||||
The project files to build the core Mesa library, Windows Mesa
|
|
||||||
drivers, OSMesa, and GLU are in the mesa directory. The project files
|
If you are stuck using VC6 or VC7, you may start with these project
|
||||||
to build GLUT and some demo programs are in the progs directory.
|
files, but you may need to modify them to reflect changes in the
|
||||||
|
Mesa source code tree. If you sucessfully update the project files,
|
||||||
Makefiles are no longer shipped or supported, but can be generated
|
please submit them to the author of this document so that they may
|
||||||
from the projects using Visual Studio.
|
be included in the next distribution.
|
||||||
|
|
||||||
|
The project files to build the core Mesa library, Windows Mesa
|
||||||
Windows Drivers
|
drivers, OSMesa, and GLU are in the mesa directory. The project files
|
||||||
------- -------
|
to build GLUT and some demo programs are in the progs directory.
|
||||||
|
|
||||||
At this time, only the GDI driver is known to work. Most of the demos
|
Makefiles are no longer shipped or supported, but can be generated
|
||||||
in progs/demos should work with this driver.
|
from the projects using Visual Studio.
|
||||||
|
|
||||||
Source code also exists in the tree for other drivers in
|
|
||||||
src/mesa/drivers/windows, but the status of this code is unknown.
|
Windows Drivers
|
||||||
|
------- -------
|
||||||
The GDI driver operates basically by writing pixel spans into a DIB
|
|
||||||
section and then blitting the DIB to the window. The driver was
|
At this time, only the GDI driver is known to work. Most of the demos
|
||||||
recently cleaned up and rewitten and so may have bugs or may be
|
in progs/demos should work with this driver.
|
||||||
missing some functionality. The older versions of the CVS source may
|
|
||||||
be useful in figuring out any problems, or report them to me.
|
Source code also exists in the tree for other drivers in
|
||||||
|
src/mesa/drivers/windows, but the status of this code is unknown.
|
||||||
To build Mesa with the GDI driver, build the mesa, gdi, and glu
|
|
||||||
projects in the Visual Studio workspace found at
|
The GDI driver operates basically by writing pixel spans into a DIB
|
||||||
|
section and then blitting the DIB to the window. The driver was
|
||||||
windows/VC6/mesa/mesa.dsw
|
recently cleaned up and rewitten and so may have bugs or may be
|
||||||
or
|
missing some functionality. The older versions of the CVS source may
|
||||||
windows/VC7/mesa/mesa.sln
|
be useful in figuring out any problems, or report them to me.
|
||||||
|
|
||||||
The osmesa DLL can also be built with the osmesa project.
|
To build Mesa with the GDI driver, build the mesa, gdi, and glu
|
||||||
|
projects in the Visual Studio workspace found at
|
||||||
The build system creates a lib top-level directory and copies
|
|
||||||
resulting LIB and DLL files to this lib directory. The files are:
|
windows/VC8/mesa/mesa.sln
|
||||||
|
|
||||||
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
|
The osmesa DLL can also be built with the osmesa project.
|
||||||
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
|
|
||||||
|
The build system creates a lib top-level directory and copies
|
||||||
If the MesaDemos ZIP file was extracted, the DLL files are also copied
|
resulting LIB and DLL files to this lib directory. The files are:
|
||||||
to the demos directory. This facilitates running the demos as described
|
|
||||||
below.
|
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
|
||||||
|
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
|
||||||
|
|
||||||
GLUT and Demos
|
If the MesaDemos ZIP file was extracted, the DLL files are also copied
|
||||||
---- --- -----
|
to the demos directory. This facilitates running the demos as described
|
||||||
|
below.
|
||||||
A Visual Studio workspace can be found at
|
|
||||||
|
|
||||||
windows/VC6/progs/progs.dsw
|
GLUT and Demos
|
||||||
or
|
---- --- -----
|
||||||
windows/VC7/progs/progs.sln
|
|
||||||
|
A Visual Studio workspace can be found at
|
||||||
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.
|
windows/VC8/progs/progs.sln
|
||||||
|
|
||||||
The demo build system expects to find the LIB files in the top level
|
It can be used to build GLUT and a few demos. The GLUT lib and DLL
|
||||||
lib directory, so you must build the Mesa libs first. The demo
|
are copied to the top-level lib directory, along with the Mesa libs.
|
||||||
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
|
The demo build system expects to find the LIB files in the top level
|
||||||
there by the Mesa lib build process. Therefore, you should be able to
|
lib directory, so you must build the Mesa libs first. The demo
|
||||||
simply run the demo executables from the demo directory.
|
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
|
||||||
If you want to run the demos from the Visual Studio, you may have to
|
there by the Mesa lib build process. Therefore, you should be able to
|
||||||
change the startup directory and explicitly state where the executables are.
|
simply run the demo executables from the demo directory.
|
||||||
|
|
||||||
You may also build all the demo programs by using a makefile. Go to
|
If you want to run the demos from the Visual Studio, you may have to
|
||||||
the progs/demos directory and make sure you have executed VCVARS32.BAT
|
change the startup directory and explicitly state where the executables are.
|
||||||
or whatever setup script is appropriate for your compiler. Then,
|
|
||||||
|
You may also build all the demo programs by using a makefile. Go to
|
||||||
nmake -f Makefile.win
|
the progs/demos directory and make sure you have executed VCVARS32.BAT
|
||||||
|
or whatever setup script is appropriate for your compiler. Then,
|
||||||
should build all the demos.
|
|
||||||
|
nmake -f Makefile.win
|
||||||
|
|
||||||
Build System Notes
|
should build all the demos.
|
||||||
----- ------ -----
|
|
||||||
|
|
||||||
VC6
|
Build System Notes
|
||||||
---
|
----- ------ -----
|
||||||
|
|
||||||
Visual Studio 6 does not recognize files with the .cc extension as C++
|
VC6 (not actively supported)
|
||||||
language files, without a lot of unnatural tweaking. So, the VC6
|
---
|
||||||
build process uses custom build steps to compile these files in the
|
|
||||||
GLU library.
|
Visual Studio 6 does not recognize files with the .cc extension as C++
|
||||||
|
language files, without a lot of unnatural tweaking. So, the VC6
|
||||||
Two additional configurations are provided, Debug x86 and Release x86
|
build process uses custom build steps to compile these files in the
|
||||||
that activate the shader code compilation by defining SLANG_86. It is
|
GLU library.
|
||||||
unknown if and how this works.
|
|
||||||
|
Two additional configurations are provided, Debug x86 and Release x86
|
||||||
VC7
|
that activate the shader code compilation by defining SLANG_86. It is
|
||||||
---
|
unknown if and how this works.
|
||||||
|
|
||||||
The above-mentioned .cc problem does not exist in this version.
|
VC7 (not actively supported)
|
||||||
|
---
|
||||||
|
|
||||||
General
|
The above-mentioned .cc problem does not exist in this version.
|
||||||
-------
|
|
||||||
|
VC8
|
||||||
After building, you can copy the above DLL files to a place in your
|
---
|
||||||
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
|
|
||||||
in a system directory, place them in the same directory as the
|
No notes.
|
||||||
executable(s). Be careful about accidentially overwriting files of
|
|
||||||
the same name in the SYSTEM32 directory.
|
|
||||||
|
General
|
||||||
The DLL files are built so that the external entry points use the
|
-------
|
||||||
stdcall calling convention.
|
|
||||||
|
After building, you can copy the above DLL files to a place in your
|
||||||
Static LIB files are not built. The LIB files that are built with are
|
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
|
||||||
the linker import files associated with the DLL files.
|
in a system directory, place them in the same directory as the
|
||||||
|
executable(s). Be careful about accidentially overwriting files of
|
||||||
The si-glu sources are used to build the GLU libs. This was done
|
the same name in the SYSTEM32 directory.
|
||||||
mainly to get the better tessellator code.
|
|
||||||
|
The DLL files are built so that the external entry points use the
|
||||||
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
|
stdcall calling convention.
|
||||||
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
|
Static LIB files are not built. The LIB files that are built with are
|
||||||
global replace operation in a text editor, no additional mangled
|
the linker import files associated with the DLL files.
|
||||||
version of mesa.def is maintained or shipped.
|
|
||||||
|
The si-glu sources are used to build the GLU libs. This was done
|
||||||
If you have a Windows-related build problem or question, it is
|
mainly to get the better tessellator code.
|
||||||
probably better to direct it to me (kschultz@users.sourceforge.net),
|
|
||||||
rather than directly to the other Mesa developers. I will help you as
|
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
|
||||||
much as I can. I also monitor the Mesa mailing lists and will answer
|
to the project settings. You will also need to edit src/mesa.def to
|
||||||
questions in this area there as well.
|
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
|
||||||
|
version of mesa.def is maintained or shipped.
|
||||||
Karl Schultz
|
|
||||||
|
If you have a Windows-related build problem or question, it is
|
||||||
|
probably better to direct it to me (kschultz@users.sourceforge.net),
|
||||||
|
rather than directly to the other Mesa developers. I will help you as
|
||||||
|
much as I can. I also monitor the Mesa mailing lists and will answer
|
||||||
|
questions in this area there as well.
|
||||||
|
|
||||||
|
|
||||||
|
Karl Schultz
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ a:visited {
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="intro.html" target="MainFrame">Introduction</a>
|
<li><a href="intro.html" target="MainFrame">Introduction</a>
|
||||||
<li><a href="news.html" target="MainFrame">News</a>
|
<li><a href="news.html" target="MainFrame">News</a>
|
||||||
|
<LI><A HREF="developers.html" target="MainFrame">Developers</A>
|
||||||
<li><a href="systems.html" target="MainFrame">Platforms and Drivers</a>
|
<li><a href="systems.html" target="MainFrame">Platforms and Drivers</a>
|
||||||
<li><a href="license.html" target="MainFrame">License & Copyright</a>
|
<li><a href="license.html" target="MainFrame">License & Copyright</a>
|
||||||
<li><a href="faq.html" target="MainFrame">FAQ</a>
|
<li><a href="faq.html" target="MainFrame">FAQ</a>
|
||||||
@@ -64,14 +65,15 @@ a:visited {
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://sourceforge.net/projects/mesa3d" target="_parent">SourceForge homepage</a>
|
<li><a href="http://sourceforge.net/projects/mesa3d" target="_parent">SourceForge homepage</a>
|
||||||
<li><a href="repository.html" target="MainFrame">Source Code Repository</a>
|
<li><a href="repository.html" target="MainFrame">Source Code Repository</a>
|
||||||
|
<li><a href="memory.html" target="MainFrame">DRI Memory Management</a>
|
||||||
|
<li><a href="shading.html" target="MainFrame">Shading Language</a>
|
||||||
<li><a href="utilities.html" target="MainFrame">Utilities</a>
|
<li><a href="utilities.html" target="MainFrame">Utilities</a>
|
||||||
<li><a href="helpwanted.html" target="MainFrame">Help Wanted</a>
|
<li><a href="helpwanted.html" target="MainFrame">Help Wanted</a>
|
||||||
<li><a href="devinfo.html" target="MainFrame">Development Notes</a>
|
<li><a href="devinfo.html" target="MainFrame">Development Notes</a>
|
||||||
<li><a href="sourcedocs.html" target="MainFrame">Source Documentation</a>
|
<li><a href="sourcedocs.html" target="MainFrame">Source Documentation</a>
|
||||||
<li><a href="subset.html" target="MainFrame">Subset Information</a>
|
|
||||||
<li><a href="fbdev-dri.html" target="MainFrame">fbdev/DRI Environment</a>
|
<li><a href="fbdev-dri.html" target="MainFrame">fbdev/DRI Environment</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="custom.html" target="MainFrame">Custom Development</A>
|
|
||||||
<LI><A HREF="dispatch.html" target="MainFrame">GL Dispatch</A>
|
<LI><A HREF="dispatch.html" target="MainFrame">GL Dispatch</A>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
<HTML>
|
|
||||||
|
|
||||||
<TITLE>Custom Development</TITLE>
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
|
||||||
|
|
||||||
<BODY>
|
|
||||||
|
|
||||||
<H1>Custom Development</H1>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Mesa is primarily developed and maintained on a volunteer basis.
|
|
||||||
Some Mesa development work has been done in conjuction with contracted
|
|
||||||
projects, such as the XFree86/DRI drivers.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<pre>[Begin shameless plug]</pre>
|
|
||||||
If you have a need for specific or custom Mesa development work,
|
|
||||||
<a href="http://www.tungstengraphics.com/" target="_parent">
|
|
||||||
Tungsten Graphics, Inc.</a> may be able to help you.
|
|
||||||
<pre>[End shameless plug]</pre>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
51
docs/developers.html
Normal file
51
docs/developers.html
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Developers</TITLE>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<H1>Developers</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Both professional and volunteer developers contribute to Mesa.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="http://www.tungstengraphics.com/" target="_parent">Tungsten Graphics</a>
|
||||||
|
employs several of the main Mesa developers including Brian Paul
|
||||||
|
and Keith Whitwell.
|
||||||
|
Much of the on-going work in Mesa is done through Tungsten Graphics engineering
|
||||||
|
contracts.
|
||||||
|
Prominent examples of this work includes:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>DRI drivers for Intel i965, i945, i915 and other chips
|
||||||
|
<li>Advanced memory manager and framebuffer object support
|
||||||
|
<li>Shading language compiler and OpenGL 2.0 support
|
||||||
|
<li>MiniGLX environment
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Other companies including
|
||||||
|
<a href="http://www.intellinuxgraphics.org/index.html" target="_parent">Intel</a>
|
||||||
|
and IBM also actively contribute to the project.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Volunteers have made significant contributions to all parts of Mesa, including
|
||||||
|
complete device drivers.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H1>Custom Development</H1>
|
||||||
|
<p>
|
||||||
|
Contact <a href="http://www.tungstengraphics.com/" target="_parent">
|
||||||
|
Tungsten Graphics</a>
|
||||||
|
for information about custom development in Mesa, OpenGL, X and other
|
||||||
|
graphics technologies.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -9,11 +9,7 @@
|
|||||||
<H1>Downloading</H1>
|
<H1>Downloading</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Last development release: <b>6.5.2</b>
|
Last stable release: <b>7.0.2</b>
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Last stable release: <b>6.4.2</b>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -12,161 +12,83 @@
|
|||||||
<H1>1. Introduction</H1>
|
<H1>1. Introduction</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The fbdev/DRI sub-project within Mesa brings hardware accelerated OpenGL
|
The fbdev/DRI environment supports hardware-accelerated 3D rendering without
|
||||||
rendering to the Linux fbdev environment.
|
the X window system. This is typically used for embedded applications.
|
||||||
The X Window System / XFree86 is not needed.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Basically, the <a href="http://dri.sf.net/">DRI</a> drivers for hardware
|
Contributors to this project include Jon Smirl, Keith Whitwell and Dave Airlie.
|
||||||
accelerated OpenGL for XFree86 have been ported to fbdev so that X is
|
|
||||||
not needed.
|
|
||||||
This means fbdev/DRI works in full-screen mode only.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
DRI driver writers may find this simplified environment easier to work in,
|
Applications in the fbdev/DRI environment use
|
||||||
compared to the full XFree86/DRI environment.
|
the <a href="MiniGXL.html"> MiniGLX</a> interface to choose pixel
|
||||||
|
formats, create rendering contexts, etc. It's a subset of the GLX and
|
||||||
|
Xlib interfaces allowing some degree of application portability between
|
||||||
|
the X and X-less environments.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Much of the work for this project has been done by Jon Smirl and
|
Some of the files needed for building this configuration are not included
|
||||||
Keith Whitwell.
|
in the normal Mesa releases so you'll need to get the latest sources
|
||||||
|
sources from the <a href="repository.html">git repository</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
|
||||||
To use fbdev/DRI, you'll need a Linux 2.4 or 2.6 kernel.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3>Background Info</h3>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The Mesa-based DRI drivers used to be hosted in the DRI tree (which is
|
|
||||||
basically a copy of the XFree86 tree).
|
|
||||||
Since the Mesa-based DRI drivers are moreso "Mesa drivers" than "XFree86
|
|
||||||
drivers" and the fact that with some work, the drivers could be used
|
|
||||||
without X, the driver code was moved into the Mesa tree.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
So now the DRI drivers can be compiled for two different environments:
|
|
||||||
fbdev and XFree86.
|
|
||||||
To build the drivers for XFree86, one has to download/build the DRI
|
|
||||||
source tree.
|
|
||||||
Eventually, we'd like to be able to build the drivers for XFree86 outside
|
|
||||||
of the XFree86/DRI trees.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1>2. Compilation</h1>
|
<h1>2. Compilation</h1>
|
||||||
|
|
||||||
<h2>2.1 Compiling the DRM modules</h2>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
First, you'll need the DRM (Direct Rendering Manager) kernel module sources.
|
You'll need the DRM and pciaccess libraries. Check with:
|
||||||
They're found in a module of the DRI CVS tree.
|
|
||||||
To obtain the code do the following:
|
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri login
|
pkg-config --modversion libdrm
|
||||||
</pre>
|
pkg-config --modversion pciaccess
|
||||||
<p>
|
|
||||||
Press Enter/Return when prompted for a password. Then,
|
|
||||||
</p>
|
|
||||||
<pre>
|
|
||||||
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri co drm
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Compile the DRM kernel modules:
|
You can get them from the git repository with:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
cd drm/linux
|
git clone git://anongit.freedesktop.org/git/mesa/drm
|
||||||
make
|
git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Note: you may need to be root in order to make a few symlinks.
|
See the README files in those projects for build/install instructions.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
When compilation is done, you should have at least the following
|
You'll need fbdev header files. Check with:
|
||||||
kernel modules:
|
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
gamma.o
|
ls -l /usr/include/linux/fb.h
|
||||||
i810.o
|
|
||||||
i830.o
|
|
||||||
mach64.o
|
|
||||||
mga.o
|
|
||||||
r128.o
|
|
||||||
radeon.o
|
|
||||||
savage.o
|
|
||||||
sis.o
|
|
||||||
tdfx.o
|
|
||||||
via.o
|
|
||||||
</pre>
|
</pre>
|
||||||
<p>
|
|
||||||
You'll probably want to copy/move them into your kernel module directory
|
|
||||||
(for example: <code>/lib/modules/2.4.18-14/kernel/drivers/char/drm/</code>).
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2>2.2 Compiling the Mesa drivers</h2>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Begin by editing the <code>Mesa/configs/default</code> file to set
|
Compile Mesa with the 'linux-solo' configuration:
|
||||||
the <code>DRM_SOURCE_PATH</code> variable.
|
|
||||||
Set it to the location where the DRM module sources are located.
|
|
||||||
For example, if your current directory in step 2.1 was <code>/home/fred/</code>
|
|
||||||
set DRM_SOURCE_PATH to <code>/home/fred/drm</code>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Next, assuming you're starting with a fresh Mesa CVS checkout,
|
|
||||||
do the following:
|
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
make linux-solo
|
make linux-solo
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you previously built the source tree, run <code>make realclean</code>
|
When complete you should have the following:
|
||||||
first to remove the old object files.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
|
||||||
When this is finished, check the <code>Mesa/lib/</code> directory
|
|
||||||
to verify that the following files were made:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>libGL.so.1.2</code> - the client-side OpenGL library
|
<li>lib/libGL.so - the GL library which applications link with
|
||||||
(and a few symlinks to it).
|
<li>lib/*_dri_so - DRI drivers
|
||||||
<li><code>libGLU.so.1.1</code> - the GLU library (and a few symlinks to it).
|
<li>lib/miniglx.conf - sample MiniGLX config file
|
||||||
<li><code>libglut.so.3.7</code> - the GLUT library (and a few symlinks to it).
|
<li>progs/miniglx/* - several MiniGLX sample programs
|
||||||
<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards.
|
|
||||||
<li><code>r128_dri.so</code> - DRI driver for ATI Rage 128 cards.
|
|
||||||
<li><code>r200_dri.so</code> - DRI driver for ATI R200 Radeon cards.
|
|
||||||
<li><code>radeon_dri.so</code> - DRI driver for original ATI Radeon cards.
|
|
||||||
<li><code>i810_dri.so</code> - DRI driver for Intel i810/i815 chips.
|
|
||||||
<li><code>i830_dri.so</code> - DRI driver for Intel i830/i845 chips.
|
|
||||||
<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards.
|
|
||||||
<li><code>sis_dri.so</code> - DRI driver for SIS cards.
|
|
||||||
<li><code>tdfx_dri.so</code> - DRI driver for 3dfx Voodoo 3/4/5 cards.
|
|
||||||
<li><code>gamma_dri.so</code> - DRI driver for 3Dlabs gamma cards.
|
|
||||||
<li><code>fb_dri.so</code> - software-only fbdev driver.
|
|
||||||
<li><code>miniglx.conf</code> - configuration file for the MiniGLX interface
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1>3. Using fbdev/DRI</h1>
|
<h1>3. Using fbdev/DRI</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If XFree86 is currently running, exit/stop the X server so you're
|
If an X server currently running, exit/stop it so you're working from
|
||||||
working from the console.
|
the console.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
@@ -175,12 +97,23 @@ working from the console.
|
|||||||
<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.
|
||||||
Typically, this consists of the agpgart module, an fbdev driver module
|
Typically, this consists of the agpgart module, an fbdev driver module
|
||||||
and the DRM kernel module (from step 2.1).
|
and the DRM kernel module.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
As root, the kernel modules can be loaded as follows:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you have Intel i915/i945 hardware:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
modprobe agpgart # the AGP GART module
|
||||||
|
modprobe intelfb # the Intel fbdev driver
|
||||||
|
modprobe i915 # the i915/945 DRI kernel module
|
||||||
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you have ATI Radeon/R200 hardware, run as root:
|
If you have ATI Radeon/R200 hardware:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
modprobe agpgart # the AGP GART module
|
modprobe agpgart # the AGP GART module
|
||||||
@@ -189,7 +122,7 @@ If you have ATI Radeon/R200 hardware, run as root:
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you have ATI Rage 128 hardware, run as root:
|
If you have ATI Rage 128 hardware:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
modprobe agpgart # the AGP GART module
|
modprobe agpgart # the AGP GART module
|
||||||
@@ -198,7 +131,7 @@ If you have ATI Rage 128 hardware, run as root:
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you have Matrox G200/G400 hardware, run as root:
|
If you have Matrox G200/G400 hardware:
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
modprobe agpgart # the AGP GART module
|
modprobe agpgart # the AGP GART module
|
||||||
@@ -207,37 +140,46 @@ If you have Matrox G200/G400 hardware, run as root:
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Then run <code>lsmod</code> to be sure the modules are loaded.
|
To verify that the agpgart, fbdev and drm modules are loaded:
|
||||||
For a Radeon card, you should see something like this:
|
|
||||||
</p>
|
</p>
|
||||||
<pre>
|
<pre>
|
||||||
Module Size Used by Not tainted
|
ls -l /dev/agpgart /dev/fb* /dev/dri
|
||||||
radeon 110308 0 (unused)
|
|
||||||
radeonfb 21900 0 (unused)
|
|
||||||
agpgart 43072 1
|
|
||||||
</pre>
|
</pre>
|
||||||
|
<p>
|
||||||
|
Alternately, use lsmod to inspect the currently installed modules.
|
||||||
|
If you have problems, look at the output of dmesg.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<h2>3.2 Configuration File</h2>
|
<h2>3.2 Configuration File</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <code>Mesa/lib/miniglx.conf</code> file should be installed
|
Copy the sample miniglx.conf to /etc/miniglx.conf and review/edit its contents.
|
||||||
in <code>/etc/</code>.
|
Alternately, the MINIGLX_CONF environment variable can be used to
|
||||||
|
indicate the location of miniglx.conf
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
To determine the pciBusID value, run lspci and examine the output.
|
||||||
Edit <code>/etc/miniglx.conf</code> to be sure it's set up correctly
|
For example:
|
||||||
for your hardware.
|
|
||||||
Comments in the file explain the options.
|
|
||||||
</p>
|
</p>
|
||||||
|
<pre>
|
||||||
|
/sbin/lspci:
|
||||||
|
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 04)
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
00:02.0 indicates that pciBusID should be PCI:0:2:0
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2>3.3 Running fbdev/DRI Programs</h2>
|
<h2>3.3 Running fbdev/DRI Programs</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Make sure your LD_LIBRARY_PATH environment variable is set to the
|
Make sure your LD_LIBRARY_PATH environment variable is set to the
|
||||||
<code>Mesa/lib/</code> directory.
|
location of the libGL.so library. You may need to append other paths
|
||||||
|
to LD_LIBRARY_PATH if libpciaccess.so is in a non-standard location,
|
||||||
|
for example.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -245,7 +187,7 @@ 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>
|
||||||
@@ -268,27 +210,24 @@ them from a remote shell so that you can stop them with ctrl-C.
|
|||||||
|
|
||||||
<h1>4.0 Troubleshooting</h1>
|
<h1>4.0 Troubleshooting</h1>
|
||||||
|
|
||||||
<p>
|
<ol>
|
||||||
|
<li>
|
||||||
If you try to run miniglxtest and get the following:
|
If you try to run miniglxtest and get the following:
|
||||||
</p>
|
<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>
|
||||||
<p>
|
|
||||||
It means that the sample_server process is not running.
|
It means that the sample_server process is not running.
|
||||||
</p>
|
<br>
|
||||||
|
<br>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
<h1>5.0 Programming Information</h1>
|
<h1>5.0 Programming Information</h1>
|
||||||
|
|
||||||
<p>
|
|
||||||
The full OpenGL API is available with fbdev/DRI.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<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="MiniGLX.html">MiniGLX</a>
|
||||||
interface.
|
interface.
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -57,50 +57,31 @@ the DRI hardware drivers.
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<p>
|
<p>
|
||||||
DRM kernel modules and header files from the
|
For Mesa 7.0.2 <a href="http://dri.freedesktop.org/libdrm/">
|
||||||
<a href="http://dri.sf.net/" target="_parent">DRI</a> project.
|
DRM version 2.3</a> is required.
|
||||||
</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>
|
||||||
<p>
|
<p>
|
||||||
You can verify that the DRM files have been properly installed by
|
To check if you already have it, run:
|
||||||
running <code>pkg-config --modversion libdrm</code>
|
<br>
|
||||||
|
<code>pkg-config --modversion libdrm</code>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
You can download and install a <a href="http://dri.freedesktop.org/libdrm/">
|
||||||
|
tarball release</a> or get the code from git with:
|
||||||
|
<br>
|
||||||
|
<code>git clone git://anongit.freedesktop.org/git/mesa/drm</code>
|
||||||
|
<br>
|
||||||
|
Then revert to the drm-2.3.0 tag with:
|
||||||
|
<br>
|
||||||
|
<code>git-reset --hard drm-2.3.0</code>
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
Recent /usr/include/GL/glxproto.h file.
|
Relatively recent
|
||||||
<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">
|
<a href="http://freedesktop.org/wiki/Software_2fXserver" target="_parent">
|
||||||
X.org</a>
|
X.org</a> release.
|
||||||
for more information.
|
Mesa depends on a number of X header and library files.
|
||||||
</p>
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ol>
|
</ol>
|
||||||
@@ -287,7 +268,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 +287,26 @@ This is a handy way to compare multiple OpenGL implementations.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H3>1.5 pkg-config support</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>
|
||||||
|
|||||||
@@ -9,35 +9,31 @@
|
|||||||
<H1>Introduction</H1>
|
<H1>Introduction</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Mesa is a 3-D graphics library with an API which is very similar to
|
Mesa is an open-source implementation of the
|
||||||
that of <a href="http://www.opengl.org/" target="_parent">OpenGL</a>.*
|
<a href="http://www.opengl.org/" target="_parent">OpenGL</a> specification -
|
||||||
To the extent that Mesa utilizes the OpenGL command syntax or state
|
a system for rendering interactive 3D graphics.
|
||||||
machine, it is being used with authorization from <a
|
|
||||||
href="http://www.sgi.com/" target="_parent">Silicon Graphics,
|
|
||||||
Inc.</a>(SGI). However, the author does not possess an OpenGL license
|
|
||||||
from SGI, and makes no claim that Mesa is in any way a compatible
|
|
||||||
replacement for OpenGL or associated with SGI. Those who want a
|
|
||||||
licensed implementation of OpenGL should contact a licensed
|
|
||||||
vendor.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Please do not refer to the library as <em>MesaGL</em> (for legal
|
A variety of device drivers allows Mesa to be used in many different
|
||||||
reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
|
environments ranging from software emulation to complete hardware acceleration
|
||||||
library</em>. <br>
|
for modern GPUs.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
* OpenGL is a trademark of <a href="http://www.sgi.com/"
|
Mesa ties into several other open-source projects: the
|
||||||
target="_parent">Silicon Graphics Incorporated</a>.
|
<a href="http://dri.sf.net/" target="_parent">Direct Rendering Infrastructure</a>
|
||||||
|
and <a href="http://x.org" target="_parent">X.org</a> to provide OpenGL
|
||||||
|
support to users of X on Linux, FreeBSD and other operating systems.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<H1>Project History</H1>
|
<H1>Project History</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The Mesa project was founded by me, Brian Paul. Here's a short history
|
The Mesa project was originally started by Brian Paul.
|
||||||
of the project.
|
Here's a short history of the project.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -132,10 +128,15 @@ specification as well as the GL_ARB_vertex_program and
|
|||||||
GL_ARB_fragment_program extensions.
|
GL_ARB_fragment_program extensions.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
|
||||||
|
and OpenGL Shading Language.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for
|
Ongoing: Mesa is used as the core of many hardware OpenGL drivers for
|
||||||
the XFree86 X.org X servers within the
|
the XFree86 and X.org X servers within the
|
||||||
<A href="http://dri.freedesktop.org/" target="_parent">DRI project</A>.
|
<A href="http://dri.freedesktop.org/" target="_parent">DRI project</A>.
|
||||||
I continue to enhance Mesa with new extensions and features.
|
I continue to enhance Mesa with new extensions and features.
|
||||||
</p>
|
</p>
|
||||||
@@ -145,9 +146,16 @@ I continue to enhance Mesa with new extensions and features.
|
|||||||
<H1>Major Versions</H1>
|
<H1>Major Versions</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
This is a summary of the major versions of Mesa. Note that Mesa's major
|
This is a summary of the major versions of Mesa.
|
||||||
version number tracks OpenGL's minor version number (+1).
|
Mesa's major version number has been incremented whenever a new version
|
||||||
Work is underway to implement the OpenGL 2.0 specification.
|
of the OpenGL specification is implemented.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<H2>Version 7.x features</H2>
|
||||||
|
<p>
|
||||||
|
Version 7.x of Mesa implements the OpenGL 2.1 API. The main feature
|
||||||
|
of OpenGL 2.x is the OpenGL Shading Language.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,34 @@
|
|||||||
|
|
||||||
<BODY>
|
<BODY>
|
||||||
|
|
||||||
|
<H1>Disclaimer</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Mesa is a 3-D graphics library with an API which is very similar to
|
||||||
|
that of <a href="http://www.opengl.org/" target="_parent">OpenGL</a>.*
|
||||||
|
To the extent that Mesa utilizes the OpenGL command syntax or state
|
||||||
|
machine, it is being used with authorization from <a
|
||||||
|
href="http://www.sgi.com/" target="_parent">Silicon Graphics,
|
||||||
|
Inc.</a>(SGI). However, the author does not possess an OpenGL license
|
||||||
|
from SGI, and makes no claim that Mesa is in any way a compatible
|
||||||
|
replacement for OpenGL or associated with SGI. Those who want a
|
||||||
|
licensed implementation of OpenGL should contact a licensed
|
||||||
|
vendor.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Please do not refer to the library as <em>MesaGL</em> (for legal
|
||||||
|
reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
|
||||||
|
library</em>. <br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
* OpenGL is a trademark of <a href="http://www.sgi.com/"
|
||||||
|
target="_parent">Silicon Graphics Incorporated</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<H1>License / Copyright Information</H1>
|
<H1>License / Copyright Information</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -24,7 +52,7 @@ The default Mesa license is as follows:
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
Copyright (C) 1999-2005 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"),
|
||||||
@@ -58,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,6 +11,54 @@
|
|||||||
<H1>News</H1>
|
<H1>News</H1>
|
||||||
|
|
||||||
|
|
||||||
|
<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>
|
||||||
|
<a href="relnotes-7.0.html">Mesa 7.0</a> is released.
|
||||||
|
This is a stable release featuring OpenGL 2.1 support.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>April 27, 2007</h2>
|
||||||
|
<p>
|
||||||
|
<a href="relnotes-6.5.3.html">Mesa 6.5.3</a> is released.
|
||||||
|
This is a development release which will lead up to the Mesa 7.0 release
|
||||||
|
(which will advertise OpenGL 2.1 API support).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>March 26, 2007</h2>
|
||||||
|
<p>
|
||||||
|
The new Shading Language compiler branch has been merged into the git
|
||||||
|
master branch. This is a step toward hardware support for the OpenGL
|
||||||
|
2.0 Shading Language and will be included in the next Mesa release.
|
||||||
|
In conjunction, <a href="http://glean.sf.net" target="_parent">Glean
|
||||||
|
</a> has been updated with a new test that does over 130 tests of the
|
||||||
|
shading language and built-in functions.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>April 2007</h2>
|
||||||
|
<p>
|
||||||
|
Thomas Hellström of
|
||||||
|
<a href="http://www.tungstengraphics.com" target="_parent">
|
||||||
|
Tungsten Graphics</a> has written a whitepaper describing the new
|
||||||
|
<a href="http://www.tungstengraphics.com/mm.pdf">DRI memory management
|
||||||
|
system</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>December 5, 2006</h2>
|
<h2>December 5, 2006</h2>
|
||||||
<p>
|
<p>
|
||||||
Mesa is now using git as its source code management system.
|
Mesa is now using git as its source code management system.
|
||||||
|
|||||||
@@ -8,24 +8,55 @@
|
|||||||
|
|
||||||
<body bgcolor="#eeeeee">
|
<body bgcolor="#eeeeee">
|
||||||
|
|
||||||
<H1>Mesa 6.5.3 Release Notes / (in progress)</H1>
|
<H1>Mesa 6.5.3 Release Notes / April 27, 2007</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Mesa 6.5.3 is a 6.5 follow-on development release mostly consisting of
|
Mesa 6.5.3 is a development release with many changes and new features.
|
||||||
bug fixes</a>.
|
Mesa 7.0 is expected to follow shortly.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<h2>MD5 checksums</h2>
|
<h2>MD5 checksums</h2>
|
||||||
<pre>
|
<pre>
|
||||||
TBD
|
39f33ea64e34e2d5b20640b008b57649 MesaLib-6.5.3.tar.gz
|
||||||
|
46359457147c469745f24b5074a186f0 MesaLib-6.5.3.tar.bz2
|
||||||
|
a8946fa861634ce15971396f47992c41 MesaLib-6.5.3.zip
|
||||||
|
08e26948d57eaca74d02a530b2d8106e MesaDemos-6.5.3.tar.gz
|
||||||
|
8af91773ab2653fe537499676b05f2e8 MesaDemos-6.5.3.tar.bz2
|
||||||
|
783f81b171bf89b0929abc894efd25a6 MesaDemos-6.5.3.zip
|
||||||
|
9467d415388fe1ad82991fb20704b812 MesaGLUT-6.5.3.tar.gz
|
||||||
|
360843e46b7ebb6909290b023f9b26fa MesaGLUT-6.5.3.tar.bz2
|
||||||
|
7686065e5c15a30de08a1610860b6840 MesaGLUT-6.5.3.zip
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Shared library numbering</h2>
|
||||||
|
<p>
|
||||||
|
Mesa 6.5.3 supports the OpenGL 2.0/2.1 API. However, the (unix)
|
||||||
|
shared library version is still 1.5 (i.e. libGL.so.1.5.xxxxxx).
|
||||||
|
Bumping the shared library version to 2.x would cause linking problems
|
||||||
|
with existing OpenGL applications. Since OpenGL 2.x is backward
|
||||||
|
compatible with OpenGL 1.x the shared library version number doesn't
|
||||||
|
have to be incremented (which would indicate an incompatible ABI).
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Other OpenGL vendors name their OpenGL 2.x libraries libGL.so.1.0.xxxxx
|
||||||
|
for the same reason.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2>New features</h2>
|
<h2>New features</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>OpenGL 2.0 and 2.1 API support.
|
||||||
|
<li>Entirely new Shading Language code generator. See the
|
||||||
|
<a href="shading.html">Shading Language</a> page for more information.
|
||||||
|
<li>Much faster software execution of vertex, fragment shaders.
|
||||||
|
<li>New vertex buffer object (vbo) infrastructure
|
||||||
<li>Updated glext.h file (version 39)
|
<li>Updated glext.h file (version 39)
|
||||||
<li>Updated glxext.h file (version 18)
|
<li>Updated glxext.h file (version 19)
|
||||||
|
<li>GL_MAX_DRAWBUFFERS is now 4 (software rendering) so
|
||||||
|
"multiple render targets" are really supported.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>Bug fixes</h2>
|
<h2>Bug fixes</h2>
|
||||||
@@ -33,27 +64,33 @@ TBD
|
|||||||
<li>Fog was errantly applied when a fragment shader was enabled (bug 9346)
|
<li>Fog was errantly applied when a fragment shader was enabled (bug 9346)
|
||||||
<li>glPush/PopClientAttrib didn't handle VBO bindings correctly (bug 9445)
|
<li>glPush/PopClientAttrib didn't handle VBO bindings correctly (bug 9445)
|
||||||
<li>With 32-bit Z buffer, the fragment Z of lines and points was sometimes wrong.
|
<li>With 32-bit Z buffer, the fragment Z of lines and points was sometimes wrong.
|
||||||
|
<li>GL_POST_CONVOLUTION_ALPHA_BIAS/SCALE was broken.
|
||||||
<li>1D convolution state could effect 2D image transfers
|
<li>1D convolution state could effect 2D image transfers
|
||||||
|
<li>Overlapping glCopyPixels with negative Y zoom didn't work (bug 10521)
|
||||||
|
<li>Fixed a number of framebuffer/renderbuffer reference counting bugs
|
||||||
|
<li>Fixed a few bugs in software-emulated alpha planes
|
||||||
|
<li>Assorted minor bug fixes in glCopy/DrawPixels, glPixelZoom, etc.
|
||||||
|
<li>Assorted DRI driver bug fixes.
|
||||||
|
<li>Fixed a number of bugs that prevented "depth-peeling" rendering from working.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<h2>Internal code changes</h2>
|
<h2>Internal code changes</h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>The _MaintainTnlProgram, _MaintainTexEnvProgram, _TexEnvProgram and
|
<li>Old array_cache module replaced by new vbo module. All geometry
|
||||||
_TnlProgram fields have been moved.
|
rendering is now cast in the form of vertex buffer objects.
|
||||||
<li>The ctx->FragmentProgram._Active field has been removed.
|
<li>Massive changes to the Shading Language compiler and related state.
|
||||||
<li>The ctx->Vertex/FragmentProgram._Current fields point to the program
|
<li>Vertex/fragment shaders are compiled into GPU instructions and
|
||||||
in effect, whether it comes from a shader, user-program or generated
|
programs very similar to GL_ARB_vertex/fragment_program.
|
||||||
fixed-function program.
|
<li>Vertex and fragment programs are executed with the same code now.
|
||||||
<li>The _UseTexEnvProgram field has been removed.
|
<li>The SSE-optimized vertex program path has been removed since it didn't
|
||||||
|
support more than 12 temp registers, didn't support branching/looping, etc.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<h2>To Do (someday) items</h2>
|
<h2>To Do (someday) items</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Switch to freeglut
|
<li>Switch to freeglut
|
||||||
<li>Increase MAX_DRAWBUFFERS
|
|
||||||
<li>Fix linux-glide target/driver.
|
<li>Fix linux-glide target/driver.
|
||||||
<li>Improved lambda and derivative calculation for frag progs.
|
<li>Improved lambda and derivative calculation for frag progs.
|
||||||
</ul>
|
</ul>
|
||||||
@@ -65,17 +102,17 @@ fixed-function program.
|
|||||||
Driver Status
|
Driver Status
|
||||||
---------------------- ----------------------
|
---------------------- ----------------------
|
||||||
DRI drivers varies with the driver
|
DRI drivers varies with the driver
|
||||||
XMesa/GLX (on Xlib) implements OpenGL 1.5
|
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||||
OSMesa (off-screen) implements OpenGL 1.5
|
OSMesa (off-screen) implements OpenGL 2.1
|
||||||
|
Windows/Win32 implements OpenGL 2.1
|
||||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||||
SVGA implements OpenGL 1.3
|
SVGA unsupported
|
||||||
Wind River UGL implements OpenGL 1.3
|
Wind River UGL unsupported
|
||||||
Windows/Win32 implements OpenGL 1.5
|
DJGPP unsupported
|
||||||
DJGPP implements OpenGL 1.5
|
GGI unsupported
|
||||||
GGI implements OpenGL 1.3
|
BeOS unsupported
|
||||||
BeOS implements OpenGL 1.5
|
Allegro unsupported
|
||||||
Allegro needs updating
|
D3D unsupported
|
||||||
D3D needs updating
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
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>
|
||||||
93
docs/relnotes-7.0.html
Normal file
93
docs/relnotes-7.0.html
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
<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 Release Notes / June 22, 2007</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>MD5 checksums</h2>
|
||||||
|
<pre>
|
||||||
|
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>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>New features</h2>
|
||||||
|
<ul>
|
||||||
|
<li>OpenGL 2.0 and 2.1 API support.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Bug fixes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed a few fog-related bugs.
|
||||||
|
<li>Fixed broken GLSL mix() function.
|
||||||
|
<li>Fixed broken GLSL exp() functions.
|
||||||
|
<li>Fixed GLSL mod4(vec4, vec4) bug.
|
||||||
|
<li>Implemented GLSL asin(), acos(), atan() functions.
|
||||||
|
<li>Fixed an R300 driver bug that caused Xorg composite manager to crash
|
||||||
|
<li>Fixed R300 vertex program/matrix bug (10848)
|
||||||
|
<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>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>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Internal code changes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Some texture code consolidation and simplifiction (Ian Romanick)
|
||||||
|
<li>R300 driver clean-ups.
|
||||||
|
</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>
|
||||||
@@ -20,6 +20,9 @@ The release notes summarize what's new or changed in each Mesa release.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
<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-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>
|
||||||
<LI><A HREF="relnotes-6.5.1.html">6.5.1 release notes</A>
|
<LI><A HREF="relnotes-6.5.1.html">6.5.1 release notes</A>
|
||||||
|
|||||||
312
docs/shading.html
Normal file
312
docs/shading.html
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
<HTML>
|
||||||
|
|
||||||
|
<TITLE>Shading Language Support</TITLE>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
|
<BODY>
|
||||||
|
|
||||||
|
<H1>Shading Language Support</H1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This page describes the features and status of Mesa's support for the
|
||||||
|
<a href="http://opengl.org/documentation/glsl/" target="_parent">
|
||||||
|
OpenGL Shading Language</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Last updated on 28 March 2007.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Contents
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#unsup">Unsupported Features</a>
|
||||||
|
<li><a href="#notes">Implementation Notes</a>
|
||||||
|
<li><a href="#hints">Programming Hints</a>
|
||||||
|
<li><a href="#standalone">Stand-alone Compiler</a>
|
||||||
|
<li><a href="#implementation">Compiler Implementation</a>
|
||||||
|
<li><a href="#validation">Compiler Validation</a>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="unsup">
|
||||||
|
<h2>Unsupported Features</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The following features of the shading language are not yet supported
|
||||||
|
in Mesa:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Dereferencing arrays with non-constant indexes
|
||||||
|
<li>Comparison of user-defined structs
|
||||||
|
<li>Linking of multiple shaders is not supported
|
||||||
|
<li>gl_ClipVertex
|
||||||
|
<li>The derivative functions such as dFdx() 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
|
||||||
|
without perspective correction
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
All other major features of the shading language should function.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="notes">
|
||||||
|
<h2>Implementation Notes</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Shading language programs are compiled into low-level programs
|
||||||
|
very similar to those of GL_ARB_vertex/fragment_program.
|
||||||
|
<li>All vector types (vec2, vec3, vec4, bvec2, etc) currently occupy full
|
||||||
|
float[4] registers.
|
||||||
|
<li>Float constants and variables are packed so that up to four floats
|
||||||
|
can occupy one program parameter/register.
|
||||||
|
<li>All function calls are inlined.
|
||||||
|
<li>Shaders which use too many registers will not compile.
|
||||||
|
<li>The quality of generated code is pretty good, register usage is fair.
|
||||||
|
<li>Shader error detection and reporting of errors (InfoLog) is not
|
||||||
|
very good yet.
|
||||||
|
<li>The ftransform() function doesn't necessarily match the results of
|
||||||
|
fixed-function transformation.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
These issues will be addressed/resolved in the future.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="hints">
|
||||||
|
<h2>Programming Hints</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Declare <em>in</em> function parameters as <em>const</em> whenever possible.
|
||||||
|
This improves the efficiency of function inlining.
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>To reduce register usage, declare variables within smaller scopes.
|
||||||
|
For example, the following code:
|
||||||
|
<pre>
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 a1, a2, b1, b2;
|
||||||
|
gl_Position = expression using a1, a2.
|
||||||
|
gl_Color = expression using b1, b2;
|
||||||
|
}
|
||||||
|
</pre>
|
||||||
|
Can be rewritten as follows to use half as many registers:
|
||||||
|
<pre>
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
{
|
||||||
|
vec4 a1, a2;
|
||||||
|
gl_Position = expression using a1, a2.
|
||||||
|
}
|
||||||
|
{
|
||||||
|
vec4 b1, b2;
|
||||||
|
gl_Color = expression using b1, b2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</pre>
|
||||||
|
Alternately, rather than using several float variables, use
|
||||||
|
a vec4 instead. Use swizzling and writemasks to access the
|
||||||
|
components of the vec4 as floats.
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>Use the built-in library functions whenever possible.
|
||||||
|
For example, instead of writing this:
|
||||||
|
<pre>
|
||||||
|
float x = 1.0 / sqrt(y);
|
||||||
|
</pre>
|
||||||
|
Write this:
|
||||||
|
<pre>
|
||||||
|
float x = inversesqrt(y);
|
||||||
|
</pre>
|
||||||
|
<li>
|
||||||
|
Use ++i when possible as it's more efficient than i++
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="standalone">
|
||||||
|
<h2>Stand-alone Compiler</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
A unique stand-alone GLSL compiler driver has been added to Mesa.
|
||||||
|
<p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The stand-alone compiler (like a conventional command-line compiler)
|
||||||
|
is a tool that accepts Shading Language programs and emits low-level
|
||||||
|
GPU programs.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This tool is useful for:
|
||||||
|
<p>
|
||||||
|
<ul>
|
||||||
|
<li>Inspecting GPU code to gain insight into compilation
|
||||||
|
<li>Generating initial GPU code for subsequent hand-tuning
|
||||||
|
<li>Debugging the GLSL compiler itself
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To build the glslcompiler program (this will be improved someday):
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
cd src/mesa
|
||||||
|
make libmesa.a
|
||||||
|
cd drivers/glslcompiler
|
||||||
|
make
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Here's an example of using the compiler to compile a vertex shader and
|
||||||
|
emit GL_ARB_vertex_program-style instructions:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
glslcompiler --arb --linenumbers --vs vertshader.txt
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
The output may look similar to this:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
!!ARBvp1.0
|
||||||
|
0: MOV result.texcoord[0], vertex.texcoord[0];
|
||||||
|
1: DP4 temp0.x, state.matrix.mvp.row[0], vertex.position;
|
||||||
|
2: DP4 temp0.y, state.matrix.mvp.row[1], vertex.position;
|
||||||
|
3: DP4 temp0.z, state.matrix.mvp.row[2], vertex.position;
|
||||||
|
4: DP4 temp0.w, state.matrix.mvp.row[3], vertex.position;
|
||||||
|
5: MOV result.position, temp0;
|
||||||
|
6: END
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Note that some shading language constructs (such as uniform and varying
|
||||||
|
variables) aren't expressible in ARB or NV-style programs.
|
||||||
|
Therefore, the resulting output is not always legal by definition of
|
||||||
|
those program languages.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Also note that this compiler driver is still under development.
|
||||||
|
Over time, the correctness of the GPU programs, with respect to the ARB
|
||||||
|
and NV languagues, should improve.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="implementation">
|
||||||
|
<h2>Compiler Implementation</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The source code for Mesa's shading language compiler is in the
|
||||||
|
<code>src/mesa/shader/slang/</code> directory.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The compiler follows a fairly standard design and basically works as follows:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>The input string is tokenized (see grammar.c) and parsed
|
||||||
|
(see slang_compiler_*.c) to produce an Abstract Syntax Tree (AST).
|
||||||
|
The nodes in this tree are slang_operation structures
|
||||||
|
(see slang_compile_operation.h).
|
||||||
|
The nodes are decorated with symbol table, scoping and datatype information.
|
||||||
|
<li>The AST is converted into an Intermediate representation (IR) tree
|
||||||
|
(see the slang_codegen.c file).
|
||||||
|
The IR nodes represent basic GPU instructions, like add, dot product,
|
||||||
|
move, etc.
|
||||||
|
The IR tree is mostly a binary tree, but a few nodes have three or four
|
||||||
|
children.
|
||||||
|
In principle, the IR tree could be executed by doing an in-order traversal.
|
||||||
|
<li>The IR tree is traversed in-order to emit code (see slang_emit.c).
|
||||||
|
This is also when registers are allocated to store variables and temps.
|
||||||
|
<li>In the future, a pattern-matching code generator-generator may be
|
||||||
|
used for code generation.
|
||||||
|
Programs such as L-BURG (Bottom-Up Rewrite Generator) and Twig look for
|
||||||
|
patterns in IR trees, compute weights for subtrees and use the weights
|
||||||
|
to select the best instructions to represent the sub-tree.
|
||||||
|
<li>The emitted GPU instructions (see prog_instruction.h) are stored in a
|
||||||
|
gl_program object (see mtypes.h).
|
||||||
|
<li>When a fragment shader and vertex shader are linked (see slang_link.c)
|
||||||
|
the varying vars are matched up, uniforms are merged, and vertex
|
||||||
|
attributes are resolved (rewriting instructions as needed).
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The final vertex and fragment programs may be interpreted in software
|
||||||
|
(see prog_execute.c) or translated into a specific hardware architecture
|
||||||
|
(see drivers/dri/i915/i915_fragprog.c for example).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Code Generation Options</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Internally, there are several options that control the compiler's code
|
||||||
|
generation and instruction selection.
|
||||||
|
These options are seen in the gl_shader_state struct and may be set
|
||||||
|
by the device driver to indicate its preferences:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
struct gl_shader_state
|
||||||
|
{
|
||||||
|
...
|
||||||
|
/** Driver-selectable options: */
|
||||||
|
GLboolean EmitHighLevelInstructions;
|
||||||
|
GLboolean EmitCondCodes;
|
||||||
|
GLboolean EmitComments;
|
||||||
|
};
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>EmitHighLevelInstructions
|
||||||
|
<br>
|
||||||
|
This option controls instruction selection for loops and conditionals.
|
||||||
|
If the option is set high-level IF/ELSE/ENDIF, LOOP/ENDLOOP, CONT/BRK
|
||||||
|
instructions will be emitted.
|
||||||
|
Otherwise, those constructs will be implemented with BRA instructions.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>EmitCondCodes
|
||||||
|
<br>
|
||||||
|
If set, condition codes (ala GL_NV_fragment_program) will be used for
|
||||||
|
branching and looping.
|
||||||
|
Otherwise, ordinary registers will be used (the IF instruction will
|
||||||
|
examine the first operand's X component and do the if-part if non-zero).
|
||||||
|
This option is only relevant if EmitHighLevelInstructions is set.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>EmitComments
|
||||||
|
<br>
|
||||||
|
If set, instructions will be annoted with comments to help with debugging.
|
||||||
|
Extra NOP instructions will also be inserted.
|
||||||
|
</br>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<a name="validation">
|
||||||
|
<h2>Compiler Validation</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
A new <a href="http://glean.sf.net" target="_parent">Glean</a> test has
|
||||||
|
been create to exercise the GLSL compiler.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The <em>glsl1</em> test runs over 150 sub-tests to check that the language
|
||||||
|
features and built-in functions work properly.
|
||||||
|
This test should be run frequently while working on the compiler to catch
|
||||||
|
regressions.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The test coverage is reasonably broad and complete but additional tests
|
||||||
|
should be added.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
@@ -1,17 +1,18 @@
|
|||||||
<HTML>
|
<HTML>
|
||||||
|
|
||||||
<TITLE>Mesa Subset</TITLE>
|
<TITLE>Mesa Subset Driver</TITLE>
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||||
|
|
||||||
<BODY>
|
<BODY>
|
||||||
|
|
||||||
<H1>Mesa Subset</H1>
|
<H1>Mesa Subset Driver</H1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
In 2002/2003 Tungsten Graphics was contracted to develop a subset Mesa/Radeon
|
In 2002/2003 Tungsten Graphics was contracted to develop a subset Mesa/Radeon
|
||||||
driver for an embedded environment. The result is a reduced-size DRI driver
|
driver for an embedded environment. The result is a reduced-size DRI driver
|
||||||
for the ATI R200 chip, for use with Linux fbdev rather than XFree86.
|
for the ATI R200 chip, for use with
|
||||||
|
<a href="fbdev-dri.html">fbdev/DRI environment</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -19,15 +20,5 @@ The specification for this subset can be found
|
|||||||
<a href="subset-A.html">here</a>.
|
<a href="subset-A.html">here</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
|
||||||
The <a href="MiniGLX.html">MiniGLX specification</a> describes the
|
|
||||||
interface between fbdev and Mesa.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
More info to come...
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ WIDTH="88" HEIGHT="31" ALIGN="BOTTOM" ALT="Sourceforge.net" BORDER="0"></A>
|
|||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<li>The Mesa CVS repository is hosted by
|
<li>The Mesa git repository is hosted by
|
||||||
<a href="http://freedesktop.org/" target="_parent">freedesktop.org</a>.
|
<a href="http://freedesktop.org/" target="_parent">freedesktop.org</a>.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 6.5.1
|
* Version: 7.0
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2006 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"),
|
||||||
@@ -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 */
|
||||||
|
|
||||||
|
|||||||
@@ -27,16 +27,13 @@
|
|||||||
#define MANGLE(x) mgl##x
|
#define MANGLE(x) mgl##x
|
||||||
#endif /*MANGLE*/
|
#endif /*MANGLE*/
|
||||||
|
|
||||||
/* Internal symbols which may collide with other OpenGL implementations. */
|
|
||||||
#define __glCoreCreateContext __mglCoreCreateContext
|
|
||||||
#define __glCoreNopDispatch __mglCoreNopDispatch
|
|
||||||
|
|
||||||
/*REGENERATE_TO_END-----------ALL LINES BELOW HERE GET REPLACED ON REGENERATION */
|
/*REGENERATE_TO_END-----------ALL LINES BELOW HERE GET REPLACED ON REGENERATION */
|
||||||
|
|
||||||
#define glAccum MANGLE(Accum)
|
#define glAccum MANGLE(Accum)
|
||||||
#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)
|
||||||
@@ -56,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)
|
||||||
@@ -101,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)
|
||||||
@@ -108,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)
|
||||||
@@ -165,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)
|
||||||
@@ -265,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)
|
||||||
@@ -285,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)
|
||||||
@@ -300,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)
|
||||||
@@ -310,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)
|
||||||
@@ -335,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)
|
||||||
@@ -374,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)
|
||||||
@@ -402,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)
|
||||||
@@ -448,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)
|
||||||
@@ -464,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)
|
||||||
@@ -507,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)
|
||||||
@@ -549,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)
|
||||||
@@ -571,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)
|
||||||
@@ -617,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)
|
||||||
@@ -856,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)
|
||||||
@@ -875,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)
|
||||||
@@ -919,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)
|
||||||
@@ -1047,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)
|
||||||
@@ -1125,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)
|
||||||
@@ -1139,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)
|
||||||
@@ -1149,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)
|
||||||
@@ -1157,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)
|
||||||
@@ -1165,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)
|
||||||
@@ -1173,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)
|
||||||
@@ -1344,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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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 */
|
||||||
/* glxext.h last updated 2007/02/13 */
|
/* glxext.h last updated 2007/04/21 */
|
||||||
/* Current version at http://www.opengl.org/registry/ */
|
/* Current version at http://www.opengl.org/registry/ */
|
||||||
#define GLX_GLXEXT_VERSION 18
|
#define GLX_GLXEXT_VERSION 19
|
||||||
|
|
||||||
#ifndef GLX_VERSION_1_3
|
#ifndef GLX_VERSION_1_3
|
||||||
#define GLX_WINDOW_BIT 0x00000001
|
#define GLX_WINDOW_BIT 0x00000001
|
||||||
@@ -386,7 +386,7 @@ typedef struct {
|
|||||||
/* (as used in the GLX_OML_sync_control extension). */
|
/* (as used in the GLX_OML_sync_control extension). */
|
||||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#elif defined(__sun__)
|
#elif defined(__sun__) || defined(__digital__)
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#if defined(__STDC__)
|
#if defined(__STDC__)
|
||||||
#if defined(__arch64__)
|
#if defined(__arch64__)
|
||||||
|
|||||||
@@ -361,6 +361,18 @@ struct __DRIscreenRec {
|
|||||||
void * (*createNewContext)(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
|
void * (*createNewContext)(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
|
||||||
int render_type,
|
int render_type,
|
||||||
void *sharedPrivate, __DRIcontext *pctx);
|
void *sharedPrivate, __DRIcontext *pctx);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* \since Internal API version 20070121.
|
||||||
|
*/
|
||||||
|
void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
|
||||||
|
unsigned long long offset, GLint depth, GLuint pitch);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -38,17 +38,11 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#ifdef CAPI
|
|
||||||
#undef CAPI
|
|
||||||
#endif
|
|
||||||
#define CAPI
|
|
||||||
|
|
||||||
#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
|
||||||
|
|
||||||
typedef struct __GLcontextRec __GLcontext;
|
typedef struct __GLcontextRec __GLcontext;
|
||||||
typedef struct __GLinterfaceRec __GLinterface;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** This file defines the interface between the GL core and the surrounding
|
** This file defines the interface between the GL core and the surrounding
|
||||||
@@ -186,81 +180,4 @@ typedef struct __GLcontextModesRec {
|
|||||||
#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
|
#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
|
||||||
#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
|
#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Procedures which are imported by the GL from the surrounding
|
|
||||||
** "operating system". Math functions are not considered part of the
|
|
||||||
** "operating system".
|
|
||||||
*/
|
|
||||||
typedef struct __GLimportsRec {
|
|
||||||
/* Memory management */
|
|
||||||
void * (*malloc)(__GLcontext *gc, size_t size);
|
|
||||||
void *(*calloc)(__GLcontext *gc, size_t numElem, size_t elemSize);
|
|
||||||
void *(*realloc)(__GLcontext *gc, void *oldAddr, size_t newSize);
|
|
||||||
void (*free)(__GLcontext *gc, void *addr);
|
|
||||||
|
|
||||||
/* Error handling */
|
|
||||||
void (*warning)(__GLcontext *gc, char *fmt);
|
|
||||||
void (*fatal)(__GLcontext *gc, char *fmt);
|
|
||||||
|
|
||||||
/* other system calls */
|
|
||||||
char *(CAPI *getenv)(__GLcontext *gc, const char *var);
|
|
||||||
int (CAPI *atoi)(__GLcontext *gc, const char *str);
|
|
||||||
int (CAPI *sprintf)(__GLcontext *gc, char *str, const char *fmt, ...);
|
|
||||||
void *(CAPI *fopen)(__GLcontext *gc, const char *path, const char *mode);
|
|
||||||
int (CAPI *fclose)(__GLcontext *gc, void *stream);
|
|
||||||
int (CAPI *fprintf)(__GLcontext *gc, void *stream, const char *fmt, ...);
|
|
||||||
|
|
||||||
/* Drawing surface management */
|
|
||||||
void *(*getDrawablePrivate)(__GLcontext *gc);
|
|
||||||
void *(*getReadablePrivate)(__GLcontext *gc);
|
|
||||||
|
|
||||||
/* Operating system dependent data goes here */
|
|
||||||
void *other;
|
|
||||||
} __GLimports;
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Procedures which are exported by the GL to the surrounding "operating
|
|
||||||
** system" so that it can manage multiple GL context's.
|
|
||||||
*/
|
|
||||||
typedef struct __GLexportsRec {
|
|
||||||
/* Context management (return GL_FALSE on failure) */
|
|
||||||
GLboolean (*destroyContext)(__GLcontext *gc);
|
|
||||||
GLboolean (*loseCurrent)(__GLcontext *gc);
|
|
||||||
/* oldglPriv isn't used anymore, kept for backwards compatibility */
|
|
||||||
GLboolean (*makeCurrent)(__GLcontext *gc);
|
|
||||||
GLboolean (*shareContext)(__GLcontext *gc, __GLcontext *gcShare);
|
|
||||||
GLboolean (*copyContext)(__GLcontext *dst, const __GLcontext *src, GLuint mask);
|
|
||||||
GLboolean (*forceCurrent)(__GLcontext *gc);
|
|
||||||
|
|
||||||
/* Drawing surface notification callbacks */
|
|
||||||
GLboolean (*notifyResize)(__GLcontext *gc);
|
|
||||||
void (*notifyDestroy)(__GLcontext *gc);
|
|
||||||
void (*notifySwapBuffers)(__GLcontext *gc);
|
|
||||||
|
|
||||||
/* Dispatch table override control for external agents like libGLS */
|
|
||||||
struct __GLdispatchStateRec* (*dispatchExec)(__GLcontext *gc);
|
|
||||||
void (*beginDispatchOverride)(__GLcontext *gc);
|
|
||||||
void (*endDispatchOverride)(__GLcontext *gc);
|
|
||||||
} __GLexports;
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
** This must be the first member of a __GLcontext structure. This is the
|
|
||||||
** only part of a context that is exposed to the outside world; everything
|
|
||||||
** else is opaque.
|
|
||||||
*/
|
|
||||||
struct __GLinterfaceRec {
|
|
||||||
__GLimports imports;
|
|
||||||
__GLexports exports;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern __GLcontext *__glCoreCreateContext(__GLimports *, __GLcontextModes *);
|
|
||||||
extern void __glCoreNopDispatch(void);
|
|
||||||
|
|
||||||
#endif /* __gl_core_h_ */
|
#endif /* __gl_core_h_ */
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -180,6 +180,21 @@ extern XMesaContext XMesaCreateContext( XMesaVisual v,
|
|||||||
extern void XMesaDestroyContext( XMesaContext c );
|
extern void XMesaDestroyContext( XMesaContext c );
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef XFree86Server
|
||||||
|
/*
|
||||||
|
* These are the extra routines required for integration with XFree86.
|
||||||
|
* None of these routines should be user visible. -KEM
|
||||||
|
*/
|
||||||
|
extern GLboolean XMesaForceCurrent( XMesaContext c );
|
||||||
|
|
||||||
|
extern GLboolean XMesaLoseCurrent( XMesaContext c );
|
||||||
|
|
||||||
|
extern GLboolean XMesaCopyContext( XMesaContext src,
|
||||||
|
XMesaContext dst,
|
||||||
|
GLuint mask );
|
||||||
|
#endif /* XFree86Server */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create an XMesaBuffer from an X window.
|
* Create an XMesaBuffer from an X window.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
#include "scrnintstr.h"
|
#include "scrnintstr.h"
|
||||||
#include "pixmapstr.h"
|
#include "pixmapstr.h"
|
||||||
|
#include "gcstruct.h"
|
||||||
|
|
||||||
typedef struct _XMesaImageRec XMesaImage;
|
typedef struct _XMesaImageRec XMesaImage;
|
||||||
|
|
||||||
@@ -123,8 +124,7 @@ do { \
|
|||||||
do { \
|
do { \
|
||||||
/* Assumes: Images are always in ZPixmap format */ \
|
/* Assumes: Images are always in ZPixmap format */ \
|
||||||
(void) __d; \
|
(void) __d; \
|
||||||
if (__sx || __sy) /* The non-trivial case */ \
|
ASSERT(!__sx && !__sy); /* The SubImage case */ \
|
||||||
XMesaPutImageHelper(__d,__b,__gc,__i,__sx,__sy,__x,__y,__w,__h); \
|
|
||||||
ValidateGC(__b, __gc); \
|
ValidateGC(__b, __gc); \
|
||||||
(*__gc->ops->PutImage)(__b, __gc, ((XMesaDrawable)(__b))->depth, \
|
(*__gc->ops->PutImage)(__b, __gc, ((XMesaDrawable)(__b))->depth, \
|
||||||
__x, __y, __w, __h, 0, ZPixmap, \
|
__x, __y, __w, __h, 0, ZPixmap, \
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ message:
|
|||||||
subdirs:
|
subdirs:
|
||||||
@for dir in $(SUBDIRS) ; do \
|
@for dir in $(SUBDIRS) ; do \
|
||||||
if [ -d $$dir ] ; then \
|
if [ -d $$dir ] ; then \
|
||||||
(cd $$dir ; $(MAKE)) || exit 1 ; \
|
(cd $$dir && $(MAKE)) || exit 1 ; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -27,6 +27,6 @@ install:
|
|||||||
clean:
|
clean:
|
||||||
@for dir in $(SUBDIRS) tests ; do \
|
@for dir in $(SUBDIRS) tests ; do \
|
||||||
if [ -d $$dir ] ; then \
|
if [ -d $$dir ] ; then \
|
||||||
(cd $$dir ; $(MAKE) clean) ; \
|
(cd $$dir && $(MAKE) clean) ; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
|
|||||||
3
progs/beos/.gitignore
vendored
Normal file
3
progs/beos/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
demo
|
||||||
|
GLInfo
|
||||||
|
sample
|
||||||
@@ -10,7 +10,9 @@ include $(TOP)/configs/current
|
|||||||
#
|
#
|
||||||
# Modified by Philippe Houdoin
|
# Modified by Philippe Houdoin
|
||||||
|
|
||||||
LDFLAGS += -soname=_APP_ $(APP_LIB_DEPS)
|
LDFLAGS += -soname=_APP_
|
||||||
|
|
||||||
|
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
|
||||||
|
|
||||||
INCLUDES = -I. -I- -I../../include
|
INCLUDES = -I. -I- -I../../include
|
||||||
|
|
||||||
@@ -21,13 +23,13 @@ clean:
|
|||||||
rm -f *.o
|
rm -f *.o
|
||||||
|
|
||||||
demo: demo.o
|
demo: demo.o
|
||||||
$(LD) demo.o $(LDFLAGS) -o $@
|
$(LD) demo.o $(LDFLAGS) $(LIBS) -o $@
|
||||||
|
|
||||||
sample: sample.o
|
sample: sample.o
|
||||||
$(LD) sample.o $(LDFLAGS) -o $@
|
$(LD) sample.o $(LDFLAGS) $(LIBS) -o $@
|
||||||
|
|
||||||
GTLInfo: GLInfo.o
|
GTLInfo: GLInfo.o
|
||||||
$(LD) GLInfo.o $(INCLUDES) $(LDFLAGS) -o $@
|
$(LD) GLInfo.o $(INCLUDES) $(LDFLAGS) $(LIBS) -o $@
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(CC) -c $< $(INCLUDES) $(CFLAGS) -o $@
|
$(CC) -c $< $(INCLUDES) $(CFLAGS) -o $@
|
||||||
|
|||||||
14
progs/demos/.gitignore
vendored
14
progs/demos/.gitignore
vendored
@@ -1,17 +1,25 @@
|
|||||||
.cvsignore
|
.cvsignore
|
||||||
arbfplight
|
arbfplight
|
||||||
|
arbfslight
|
||||||
arbocclude
|
arbocclude
|
||||||
bounce
|
bounce
|
||||||
clearspd
|
clearspd
|
||||||
|
copypix
|
||||||
cubemap
|
cubemap
|
||||||
drawpix
|
drawpix
|
||||||
|
engine
|
||||||
|
extfuncs.h
|
||||||
fire
|
fire
|
||||||
|
fogcoord
|
||||||
fplight
|
fplight
|
||||||
|
fslight
|
||||||
gamma
|
gamma
|
||||||
|
gearbox
|
||||||
gears
|
gears
|
||||||
geartrain
|
geartrain
|
||||||
glinfo
|
glinfo
|
||||||
gloss
|
gloss
|
||||||
|
glslnoise
|
||||||
gltestperf
|
gltestperf
|
||||||
glutfx
|
glutfx
|
||||||
ipers
|
ipers
|
||||||
@@ -33,8 +41,11 @@ renormal
|
|||||||
shadowtex
|
shadowtex
|
||||||
showbuffer.c
|
showbuffer.c
|
||||||
showbuffer.h
|
showbuffer.h
|
||||||
|
singlebuffer
|
||||||
spectex
|
spectex
|
||||||
|
spriteblast
|
||||||
stex3d
|
stex3d
|
||||||
|
streaming_rect
|
||||||
teapot
|
teapot
|
||||||
terrain
|
terrain
|
||||||
tessdemo
|
tessdemo
|
||||||
@@ -42,7 +53,10 @@ texcyl
|
|||||||
texdown
|
texdown
|
||||||
texenv
|
texenv
|
||||||
texobj
|
texobj
|
||||||
|
trackball.c
|
||||||
|
trackball.h
|
||||||
trispd
|
trispd
|
||||||
tunnel
|
tunnel
|
||||||
tunnel2
|
tunnel2
|
||||||
|
vao_demo
|
||||||
winpos
|
winpos
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ OSMESA32_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa32 -lGLU -lGL $(APP_LIB_DEPS)
|
|||||||
|
|
||||||
LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
|
LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
|
||||||
|
|
||||||
|
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
|
||||||
|
|
||||||
PROGS = \
|
PROGS = \
|
||||||
arbfplight \
|
arbfplight \
|
||||||
arbfslight \
|
arbfslight \
|
||||||
@@ -74,7 +76,7 @@ PROGS = \
|
|||||||
|
|
||||||
# make executable from .c file:
|
# make executable from .c file:
|
||||||
.c: $(LIB_DEP) readtex.o
|
.c: $(LIB_DEP) readtex.o
|
||||||
$(CC) -I$(INCDIR) $(CFLAGS) $< readtex.o $(APP_LIB_DEPS) -o $@
|
$(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< readtex.o $(LIBS) -o $@
|
||||||
|
|
||||||
|
|
||||||
##### TARGETS #####
|
##### TARGETS #####
|
||||||
@@ -113,34 +115,46 @@ trackball.o: trackball.c trackball.h
|
|||||||
$(CC) -c -I$(INCDIR) $(CFLAGS) trackball.c
|
$(CC) -c -I$(INCDIR) $(CFLAGS) trackball.c
|
||||||
|
|
||||||
|
|
||||||
|
extfuncs.h: $(TOP)/progs/util/extfuncs.h
|
||||||
|
cp $< .
|
||||||
|
|
||||||
|
|
||||||
reflect: reflect.o showbuffer.o readtex.o
|
reflect: reflect.o showbuffer.o readtex.o
|
||||||
$(CC) -I$(INCDIR) $(CFLAGS) reflect.o showbuffer.o readtex.o $(APP_LIB_DEPS) -o $@
|
$(CC) $(LDFLAGS) reflect.o showbuffer.o readtex.o $(LIBS) -o $@
|
||||||
|
|
||||||
reflect.o: reflect.c showbuffer.h
|
reflect.o: reflect.c showbuffer.h
|
||||||
$(CC) -c -I$(INCDIR) $(CFLAGS) reflect.c
|
$(CC) -c -I$(INCDIR) $(CFLAGS) reflect.c
|
||||||
|
|
||||||
|
|
||||||
shadowtex: shadowtex.o showbuffer.o
|
shadowtex: shadowtex.o showbuffer.o
|
||||||
$(CC) -I$(INCDIR) $(CFLAGS) shadowtex.o showbuffer.o $(APP_LIB_DEPS) -o $@
|
$(CC) $(LDFLAGS) shadowtex.o showbuffer.o $(LIBS) -o $@
|
||||||
|
|
||||||
shadowtex.o: shadowtex.c showbuffer.h
|
shadowtex.o: shadowtex.c showbuffer.h
|
||||||
$(CC) -c -I$(INCDIR) $(CFLAGS) shadowtex.c
|
$(CC) -c -I$(INCDIR) $(CFLAGS) shadowtex.c
|
||||||
|
|
||||||
|
|
||||||
gloss: gloss.o trackball.o readtex.o
|
gloss: gloss.o trackball.o readtex.o
|
||||||
$(CC) -I$(INCDIR) $(CFLAGS) gloss.o trackball.o readtex.o $(APP_LIB_DEPS) -o $@
|
$(CC) $(LDFLAGS) gloss.o trackball.o readtex.o $(LIBS) -o $@
|
||||||
|
|
||||||
gloss.o: gloss.c trackball.h
|
gloss.o: gloss.c trackball.h
|
||||||
$(CC) -c -I$(INCDIR) $(CFLAGS) gloss.c
|
$(CC) -c -I$(INCDIR) $(CFLAGS) gloss.c
|
||||||
|
|
||||||
|
|
||||||
engine: engine.o trackball.o readtex.o
|
engine: engine.o trackball.o readtex.o
|
||||||
$(CC) -I$(INCDIR) $(CFLAGS) engine.o trackball.o readtex.o $(APP_LIB_DEPS) -o $@
|
$(CC) $(LDFLAGS) engine.o trackball.o readtex.o $(LIBS) -o $@
|
||||||
|
|
||||||
engine.o: engine.c trackball.h
|
engine.o: engine.c trackball.h
|
||||||
$(CC) -c -I$(INCDIR) $(CFLAGS) engine.c
|
$(CC) -c -I$(INCDIR) $(CFLAGS) engine.c
|
||||||
|
|
||||||
|
|
||||||
|
fslight: fslight.o
|
||||||
|
$(CC) $(LDFLAGS) fslight.o $(LIBS) -o $@
|
||||||
|
|
||||||
|
fslight.o: fslight.c extfuncs.h
|
||||||
|
$(CC) -c -I$(INCDIR) $(CFLAGS) fslight.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm -f $(PROGS)
|
-rm -f $(PROGS)
|
||||||
-rm -f *.o *~
|
-rm -f *.o *~
|
||||||
|
|||||||
@@ -22,9 +22,11 @@ LIBS = GLUT32.LIB OPENGL32.LIB
|
|||||||
|
|
||||||
all: OPENGL32.DLL GLU32.DLL GLUT32.DLL \
|
all: OPENGL32.DLL GLU32.DLL GLUT32.DLL \
|
||||||
readtex.h readtex.c showbuffer.h showbuffer.c \
|
readtex.h readtex.c showbuffer.h showbuffer.c \
|
||||||
|
extfuncs.h trackball.h trackball.c \
|
||||||
arbfplight.exe arbfslight.exe arbocclude.exe bounce.exe \
|
arbfplight.exe arbfslight.exe arbocclude.exe bounce.exe \
|
||||||
clearspd.exe cubemap.exe drawpix.exe fire.exe fogcoord.exe \
|
clearspd.exe cubemap.exe drawpix.exe engine.exe \
|
||||||
fplight.exe gamma.exe gearbox.exe \
|
fire.exe fogcoord.exe \
|
||||||
|
fplight.exe fslight.exe gamma.exe gearbox.exe \
|
||||||
gears.exe geartrain.exe gloss.exe \
|
gears.exe geartrain.exe gloss.exe \
|
||||||
glinfo.exe glslnoise.exe \
|
glinfo.exe glslnoise.exe \
|
||||||
gltestperf.exe glutfx.exe ipers.exe isosurf.exe lodbias.exe \
|
gltestperf.exe glutfx.exe ipers.exe isosurf.exe lodbias.exe \
|
||||||
@@ -42,14 +44,16 @@ bounce.exe: bounce.obj
|
|||||||
clearspd.exe: clearspd.obj
|
clearspd.exe: clearspd.obj
|
||||||
cubemap.exe: cubemap.obj readtex.obj
|
cubemap.exe: cubemap.obj readtex.obj
|
||||||
drawpix.exe: drawpix.obj readtex.obj
|
drawpix.exe: drawpix.obj readtex.obj
|
||||||
|
engine.exe: engine.obj readtex.obj trackball.obj
|
||||||
fire.exe: fire.obj readtex.obj
|
fire.exe: fire.obj readtex.obj
|
||||||
fogcoord.exe: fogcoord.obj readtex.obj
|
fogcoord.exe: fogcoord.obj readtex.obj
|
||||||
fplight.exe: fplight.obj
|
fplight.exe: fplight.obj
|
||||||
|
fslight.exe: fslight.obj
|
||||||
gamma.exe: gamma.obj
|
gamma.exe: gamma.obj
|
||||||
gearbox.exe: gearbox.obj
|
gearbox.exe: gearbox.obj
|
||||||
gears.exe: gears.obj
|
gears.exe: gears.obj
|
||||||
geartrain.exe: geartrain.obj
|
geartrain.exe: geartrain.obj
|
||||||
gloss.exe: gloss.obj readtex.obj
|
gloss.exe: gloss.obj readtex.obj trackball.obj
|
||||||
glinfo.exe: glinfo.obj
|
glinfo.exe: glinfo.obj
|
||||||
glslnoise.exe: glslnoise.obj
|
glslnoise.exe: glslnoise.obj
|
||||||
gltestperf.exe: gltestperf.obj
|
gltestperf.exe: gltestperf.obj
|
||||||
@@ -105,14 +109,23 @@ showbuffer.c: $(TOP)\progs\util\showbuffer.c
|
|||||||
showbuffer.h: $(TOP)\progs\util\showbuffer.h
|
showbuffer.h: $(TOP)\progs\util\showbuffer.h
|
||||||
copy $** .
|
copy $** .
|
||||||
|
|
||||||
|
trackball.c: $(TOP)\progs\util\trackball.c
|
||||||
|
copy $** .
|
||||||
|
|
||||||
|
trackball.h: $(TOP)\progs\util\trackball.h
|
||||||
|
copy $** .
|
||||||
|
|
||||||
|
extfuncs.h: $(TOP)\progs\util\extfuncs.h
|
||||||
|
copy $** .
|
||||||
|
|
||||||
.obj.exe:
|
.obj.exe:
|
||||||
$(link) $(ldebug) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS)
|
$(link) $(ldebug) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS)
|
||||||
|
|
||||||
.c.obj:
|
.c.obj:
|
||||||
$(cc) $(cdebug) $(cflags) $(cvars) /I$(INCDIR) $*.c
|
$(cc) $(cdebug) $(cflags) $(cvars) -D_USE_MATH_DEFINES /I$(INCDIR) $*.c
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
del *.obj *.exe readtex.* showbuffer.*
|
del *.obj *.exe readtex.* showbuffer.* trackball.*
|
||||||
|
|
||||||
clobber::
|
clobber::
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ static GLuint VertProg;
|
|||||||
static GLboolean Anim = GL_TRUE;
|
static GLboolean Anim = GL_TRUE;
|
||||||
static GLboolean Wire = GL_FALSE;
|
static GLboolean Wire = GL_FALSE;
|
||||||
static GLboolean PixelLight = GL_TRUE;
|
static GLboolean PixelLight = GL_TRUE;
|
||||||
|
static GLint Win;
|
||||||
|
|
||||||
static GLint T0 = 0;
|
static GLint T0 = 0;
|
||||||
static GLint Frames = 0;
|
static GLint Frames = 0;
|
||||||
@@ -148,6 +149,7 @@ static void Key( unsigned char key, int x, int y )
|
|||||||
case 27:
|
case 27:
|
||||||
glDeleteProgramsARB_func(1, &VertProg);
|
glDeleteProgramsARB_func(1, &VertProg);
|
||||||
glDeleteProgramsARB_func(1, &FragProg);
|
glDeleteProgramsARB_func(1, &FragProg);
|
||||||
|
glutDestroyWindow(Win);
|
||||||
exit(0);
|
exit(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -382,7 +384,7 @@ int main( int argc, char *argv[] )
|
|||||||
glutInitWindowPosition( 0, 0 );
|
glutInitWindowPosition( 0, 0 );
|
||||||
glutInitWindowSize( 200, 200 );
|
glutInitWindowSize( 200, 200 );
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
||||||
glutCreateWindow(argv[0]);
|
Win = glutCreateWindow(argv[0]);
|
||||||
glutReshapeFunc( Reshape );
|
glutReshapeFunc( Reshape );
|
||||||
glutKeyboardFunc( Key );
|
glutKeyboardFunc( Key );
|
||||||
glutSpecialFunc( SpecialKey );
|
glutSpecialFunc( SpecialKey );
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ static PFNGLUNIFORM3FVARBPROC glUniform4fvARB = NULL;
|
|||||||
|
|
||||||
static void normalize (GLfloat *dst, const GLfloat *src)
|
static void normalize (GLfloat *dst, const GLfloat *src)
|
||||||
{
|
{
|
||||||
GLfloat len = sqrtf (src[0] * src[0] + src[1] * src[1] + src[2] * src[2]);
|
GLfloat len = sqrt (src[0] * src[0] + src[1] * src[1] + src[2] * src[2]);
|
||||||
dst[0] = src[0] / len;
|
dst[0] = src[0] / len;
|
||||||
dst[1] = src[1] / len;
|
dst[1] = src[1] / len;
|
||||||
dst[2] = src[2] / len;
|
dst[2] = src[2] / len;
|
||||||
|
|||||||
@@ -7,151 +7,136 @@
|
|||||||
* Daniel Borca
|
* Daniel Borca
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define GL_GLEXT_PROTOTYPES
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
|
|
||||||
#include "readtex.h"
|
#define DEPTH 5.0f
|
||||||
|
|
||||||
#define TEXTURE_FILE "../images/bw.rgb"
|
static PFNGLFOGCOORDFEXTPROC glFogCoordf_ext;
|
||||||
|
static PFNGLFOGCOORDPOINTEREXTPROC glFogCoordPointer_ext;
|
||||||
|
|
||||||
#define ARRAYS 0 /* use glDrawElements */
|
|
||||||
|
|
||||||
#define VERBOSE 1 /* tell me what happens */
|
|
||||||
|
|
||||||
#define DEPTH 15.0f
|
|
||||||
|
|
||||||
#if !defined(GLAPIENTRYP)
|
|
||||||
# define GLAPIENTRYP *
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef void (GLAPIENTRYP GLFOGCOORDFEXTPROC) (GLfloat f);
|
|
||||||
typedef void (GLAPIENTRYP GLFOGCOORDPOINTEREXTPROC) (GLenum, GLsizei, const GLvoid *);
|
|
||||||
|
|
||||||
static GLFOGCOORDFEXTPROC glFogCoordf_ext;
|
|
||||||
#if ARRAYS
|
|
||||||
static GLFOGCOORDPOINTEREXTPROC glFogCoordPointer_ext;
|
|
||||||
#endif
|
|
||||||
static GLboolean have_fog_coord;
|
static GLboolean have_fog_coord;
|
||||||
|
|
||||||
static GLfloat camz;
|
static GLfloat camz;
|
||||||
static GLuint texture[1];
|
|
||||||
|
|
||||||
static GLint fogMode;
|
static GLint fogMode;
|
||||||
static GLboolean fogCoord;
|
static GLboolean fogCoord;
|
||||||
static GLfloat fogDensity = 0.75;
|
static GLfloat fogDensity = 0.75;
|
||||||
static GLfloat fogStart = 1.0, fogEnd = 40.0;
|
static GLfloat fogStart = 1.0, fogEnd = DEPTH;
|
||||||
static GLfloat fogColor[4] = {0.6f, 0.3f, 0.0f, 1.0f};
|
static GLfloat fogColor[4] = {0.6f, 0.3f, 0.0f, 1.0f};
|
||||||
|
static const char *ModeStr = NULL;
|
||||||
|
static GLboolean Arrays = GL_FALSE;
|
||||||
|
static GLboolean Texture = GL_TRUE;
|
||||||
|
|
||||||
|
|
||||||
static void APIENTRY glFogCoordf_nop (GLfloat f)
|
static void
|
||||||
|
Reset(void)
|
||||||
|
{
|
||||||
|
fogMode = 1;
|
||||||
|
fogCoord = 1;
|
||||||
|
fogDensity = 0.75;
|
||||||
|
fogStart = 1.0;
|
||||||
|
fogEnd = DEPTH;
|
||||||
|
Arrays = GL_FALSE;
|
||||||
|
Texture = GL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void APIENTRY
|
||||||
|
glFogCoordf_nop (GLfloat f)
|
||||||
{
|
{
|
||||||
(void)f;
|
(void)f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int BuildTexture (const char *filename, GLuint texid[])
|
static void
|
||||||
|
PrintString(const char *s)
|
||||||
{
|
{
|
||||||
GLubyte *tex_data;
|
while (*s) {
|
||||||
GLenum tex_format;
|
glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
|
||||||
GLint tex_width, tex_height;
|
s++;
|
||||||
|
|
||||||
tex_data = LoadRGBImage(filename, &tex_width, &tex_height, &tex_format);
|
|
||||||
if (tex_data == NULL) {
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
GLint tex_max;
|
|
||||||
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &tex_max);
|
|
||||||
if ((tex_width > tex_max) || (tex_height > tex_max)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
glGenTextures(1, texid);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, texid[0]);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, tex_format, tex_width, tex_height, 0,
|
|
||||||
tex_format, GL_UNSIGNED_BYTE, tex_data);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int SetFogMode (GLint fogMode)
|
static void
|
||||||
|
PrintInfo(void)
|
||||||
|
{
|
||||||
|
char s[100];
|
||||||
|
|
||||||
|
glDisable(GL_FOG);
|
||||||
|
glColor3f(0, 1, 1);
|
||||||
|
|
||||||
|
sprintf(s, "Mode(m): %s Start(s/S): %g End(e/E): %g Density(d/D): %g",
|
||||||
|
ModeStr, fogStart, fogEnd, fogDensity);
|
||||||
|
glWindowPos2iARB(5, 20);
|
||||||
|
PrintString(s);
|
||||||
|
|
||||||
|
sprintf(s, "Arrays(a): %s glFogCoord(c): %s EyeZ(z/z): %g",
|
||||||
|
(Arrays ? "Yes" : "No"),
|
||||||
|
(fogCoord ? "Yes" : "No"),
|
||||||
|
camz);
|
||||||
|
glWindowPos2iARB(5, 5);
|
||||||
|
PrintString(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
SetFogMode(GLint fogMode)
|
||||||
{
|
{
|
||||||
fogMode &= 3;
|
fogMode &= 3;
|
||||||
switch (fogMode) {
|
switch (fogMode) {
|
||||||
case 0:
|
case 0:
|
||||||
|
ModeStr = "Off";
|
||||||
glDisable(GL_FOG);
|
glDisable(GL_FOG);
|
||||||
#if VERBOSE
|
|
||||||
printf("fog(disable)\n");
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
ModeStr = "GL_LINEAR";
|
||||||
glEnable(GL_FOG);
|
glEnable(GL_FOG);
|
||||||
glFogi(GL_FOG_MODE, GL_LINEAR);
|
glFogi(GL_FOG_MODE, GL_LINEAR);
|
||||||
glFogf(GL_FOG_START, fogStart);
|
glFogf(GL_FOG_START, fogStart);
|
||||||
glFogf(GL_FOG_END, fogEnd);
|
glFogf(GL_FOG_END, fogEnd);
|
||||||
#if VERBOSE
|
|
||||||
printf("fog(GL_LINEAR, %.2f, %.2f)\n", fogStart, fogEnd);
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
ModeStr = "GL_EXP";
|
||||||
glEnable(GL_FOG);
|
glEnable(GL_FOG);
|
||||||
glFogi(GL_FOG_MODE, GL_EXP);
|
glFogi(GL_FOG_MODE, GL_EXP);
|
||||||
glFogf(GL_FOG_DENSITY, fogDensity);
|
glFogf(GL_FOG_DENSITY, fogDensity);
|
||||||
#if VERBOSE
|
|
||||||
printf("fog(GL_EXP, %.2f)\n", fogDensity);
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
ModeStr = "GL_EXP2";
|
||||||
glEnable(GL_FOG);
|
glEnable(GL_FOG);
|
||||||
glFogi(GL_FOG_MODE, GL_EXP2);
|
glFogi(GL_FOG_MODE, GL_EXP2);
|
||||||
glFogf(GL_FOG_DENSITY, fogDensity);
|
glFogf(GL_FOG_DENSITY, fogDensity);
|
||||||
#if VERBOSE
|
|
||||||
printf("fog(GL_EXP2, %.2f)\n", fogDensity);
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return fogMode;
|
return fogMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static GLboolean SetFogCoord (GLboolean fogCoord)
|
static GLboolean
|
||||||
|
SetFogCoord(GLboolean fogCoord)
|
||||||
{
|
{
|
||||||
glFogCoordf_ext = glFogCoordf_nop;
|
glFogCoordf_ext = glFogCoordf_nop;
|
||||||
|
|
||||||
if (!have_fog_coord) {
|
if (!have_fog_coord) {
|
||||||
#if VERBOSE
|
|
||||||
printf("fog(GL_FRAGMENT_DEPTH_EXT)%s\n", fogCoord ? " EXT_fog_coord not available!" : "");
|
|
||||||
#endif
|
|
||||||
return GL_FALSE;
|
return GL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fogCoord) {
|
if (fogCoord) {
|
||||||
glFogCoordf_ext = (GLFOGCOORDFEXTPROC)glutGetProcAddress("glFogCoordfEXT");
|
glFogCoordf_ext = (PFNGLFOGCOORDFEXTPROC)glutGetProcAddress("glFogCoordfEXT");
|
||||||
glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FOG_COORDINATE_EXT);
|
glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FOG_COORDINATE_EXT);
|
||||||
#if VERBOSE
|
}
|
||||||
printf("fog(GL_FOG_COORDINATE_EXT)\n");
|
else {
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FRAGMENT_DEPTH_EXT);
|
glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FRAGMENT_DEPTH_EXT);
|
||||||
#if VERBOSE
|
|
||||||
printf("fog(GL_FRAGMENT_DEPTH_EXT)\n");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
return fogCoord;
|
return fogCoord;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if ARRAYS
|
|
||||||
/* could reuse vertices */
|
/* could reuse vertices */
|
||||||
static GLuint vertex_index[] = {
|
static GLuint vertex_index[] = {
|
||||||
/* Back */
|
/* Back */
|
||||||
@@ -172,19 +157,19 @@ static GLuint vertex_index[] = {
|
|||||||
|
|
||||||
static GLfloat vertex_pointer[][3] = {
|
static GLfloat vertex_pointer[][3] = {
|
||||||
/* Back */
|
/* Back */
|
||||||
{-2.5f,-2.5f,-DEPTH}, { 2.5f,-2.5f,-DEPTH}, { 2.5f, 2.5f,-DEPTH}, {-2.5f, 2.5f,-DEPTH},
|
{-1.0f,-1.0f,-DEPTH}, { 1.0f,-1.0f,-DEPTH}, { 1.0f, 1.0f,-DEPTH}, {-1.0f, 1.0f,-DEPTH},
|
||||||
|
|
||||||
/* Floor */
|
/* Floor */
|
||||||
{-2.5f,-2.5f,-DEPTH}, { 2.5f,-2.5f,-DEPTH}, { 2.5f,-2.5f, DEPTH}, {-2.5f,-2.5f, DEPTH},
|
{-1.0f,-1.0f,-DEPTH}, { 1.0f,-1.0f,-DEPTH}, { 1.0f,-1.0f, 0.0}, {-1.0f,-1.0f, 0.0},
|
||||||
|
|
||||||
/* Roof */
|
/* Roof */
|
||||||
{-2.5f, 2.5f,-DEPTH}, { 2.5f, 2.5f,-DEPTH}, { 2.5f, 2.5f, DEPTH}, {-2.5f, 2.5f, DEPTH},
|
{-1.0f, 1.0f,-DEPTH}, { 1.0f, 1.0f,-DEPTH}, { 1.0f, 1.0f, 0.0}, {-1.0f, 1.0f, 0.0},
|
||||||
|
|
||||||
/* Right */
|
/* Right */
|
||||||
{ 2.5f,-2.5f, DEPTH}, { 2.5f, 2.5f, DEPTH}, { 2.5f, 2.5f,-DEPTH}, { 2.5f,-2.5f,-DEPTH},
|
{ 1.0f,-1.0f, 0.0}, { 1.0f, 1.0f, 0.0}, { 1.0f, 1.0f,-DEPTH}, { 1.0f,-1.0f,-DEPTH},
|
||||||
|
|
||||||
/* Left */
|
/* Left */
|
||||||
{-2.5f,-2.5f, DEPTH}, {-2.5f, 2.5f, DEPTH}, {-2.5f, 2.5f,-DEPTH}, {-2.5f,-2.5f,-DEPTH}
|
{-1.0f,-1.0f, 0.0}, {-1.0f, 1.0f, 0.0}, {-1.0f, 1.0f,-DEPTH}, {-1.0f,-1.0f,-DEPTH}
|
||||||
};
|
};
|
||||||
|
|
||||||
static GLfloat texcoord_pointer[][2] = {
|
static GLfloat texcoord_pointer[][2] = {
|
||||||
@@ -192,118 +177,139 @@ static GLfloat texcoord_pointer[][2] = {
|
|||||||
{0.0f, 0.0f}, {1.0f, 0.0f}, {1.0f, 1.0f}, {0.0f, 1.0f},
|
{0.0f, 0.0f}, {1.0f, 0.0f}, {1.0f, 1.0f}, {0.0f, 1.0f},
|
||||||
|
|
||||||
/* Floor */
|
/* Floor */
|
||||||
{0.0f, 0.0f}, {1.0f, 0.0f}, {1.0f, 1.0f}, {0.0f, 1.0f},
|
{0.0f, 0.0f}, {1.0f, 0.0f}, {1.0f, DEPTH}, {0.0f, DEPTH},
|
||||||
|
|
||||||
/* Roof */
|
/* Roof */
|
||||||
{0.0f, 0.0f}, {1.0f, 0.0f}, {1.0f, 1.0f}, {0.0f, 1.0f},
|
{1.0f, 0.0f}, {0.0f, 0.0f}, {0.0f, DEPTH}, {1.0f, DEPTH},
|
||||||
|
|
||||||
/* Right */
|
/* Right */
|
||||||
{0.0f, 0.0f}, {0.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, 0.0f},
|
{0.0f, 1.0f}, {0.0f, 0.0f}, {DEPTH, 0.0f}, {DEPTH, 1.0f},
|
||||||
|
|
||||||
/* Left */
|
/* Left */
|
||||||
{0.0f, 0.0f}, {0.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, 0.0f}
|
{0.0f, 0.0f}, {0.0f, 1.0f}, {DEPTH, 1.0f}, {DEPTH, 0.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
static GLfloat fogcoord_pointer[][1] = {
|
static GLfloat fogcoord_pointer[] = {
|
||||||
/* Back */
|
/* Back */
|
||||||
{1.0f}, {1.0f}, {1.0f}, {1.0f},
|
DEPTH, DEPTH, DEPTH, DEPTH,
|
||||||
|
|
||||||
/* Floor */
|
/* Floor */
|
||||||
{1.0f}, {1.0f}, {0.0f}, {0.0f},
|
DEPTH, DEPTH, 0.0, 0.0,
|
||||||
|
|
||||||
/* Roof */
|
/* Roof */
|
||||||
{1.0f}, {1.0f}, {0.0f}, {0.0f},
|
DEPTH, DEPTH, 0.0, 0.0,
|
||||||
|
|
||||||
/* Right */
|
/* Right */
|
||||||
{0.0f}, {0.0f}, {1.0f}, {1.0f},
|
0.0, 0.0, DEPTH, DEPTH,
|
||||||
|
|
||||||
/* Left */
|
/* Left */
|
||||||
{0.0f}, {0.0f}, {1.0f}, {1.0f}
|
0.0, 0.0, DEPTH, DEPTH
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static void Display( void )
|
static void
|
||||||
|
Display( void )
|
||||||
{
|
{
|
||||||
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
glLoadIdentity ();
|
glLoadIdentity ();
|
||||||
|
|
||||||
glTranslatef(0.0f, 0.0f, camz);
|
glTranslatef(0.0f, 0.0f, -camz);
|
||||||
|
|
||||||
#if ARRAYS
|
SetFogMode(fogMode);
|
||||||
glDrawElements(GL_QUADS, sizeof(vertex_index) / sizeof(vertex_index[0]), GL_UNSIGNED_INT, vertex_index);
|
|
||||||
#else
|
|
||||||
/* Back */
|
|
||||||
glBegin(GL_QUADS);
|
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-2.5f,-2.5f,-DEPTH);
|
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f( 2.5f,-2.5f,-DEPTH);
|
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 1.0f); glVertex3f( 2.5f, 2.5f,-DEPTH);
|
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f(-2.5f, 2.5f,-DEPTH);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
/* Floor */
|
glColor3f(1, 1, 1);
|
||||||
glBegin(GL_QUADS);
|
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-2.5f,-2.5f,-DEPTH);
|
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f( 2.5f,-2.5f,-DEPTH);
|
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(1.0f, 1.0f); glVertex3f( 2.5f,-2.5f, DEPTH);
|
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f(-2.5f,-2.5f, DEPTH);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
/* Roof */
|
if (Texture)
|
||||||
glBegin(GL_QUADS);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-2.5f, 2.5f,-DEPTH);
|
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f( 2.5f, 2.5f,-DEPTH);
|
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(1.0f, 1.0f); glVertex3f( 2.5f, 2.5f, DEPTH);
|
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f(-2.5f, 2.5f, DEPTH);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
/* Right */
|
if (Arrays) {
|
||||||
glBegin(GL_QUADS);
|
glEnableClientState(GL_VERTEX_ARRAY);
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f( 2.5f,-2.5f, DEPTH);
|
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f( 2.5f, 2.5f, DEPTH);
|
glDrawElements(GL_QUADS, sizeof(vertex_index) / sizeof(vertex_index[0]),
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 1.0f); glVertex3f( 2.5f, 2.5f,-DEPTH);
|
GL_UNSIGNED_INT, vertex_index);
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f( 2.5f,-2.5f,-DEPTH);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
glEnd();
|
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* Back */
|
||||||
|
glBegin(GL_QUADS);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,-1.0f,-DEPTH);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f,-1.0f,-DEPTH);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f,-DEPTH);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f,-DEPTH);
|
||||||
|
glEnd();
|
||||||
|
|
||||||
/* Left */
|
/* Floor */
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-2.5f,-2.5f, DEPTH);
|
glFogCoordf_ext(DEPTH); glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,-1.0f,-DEPTH);
|
||||||
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f(-2.5f, 2.5f, DEPTH);
|
glFogCoordf_ext(DEPTH); glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f,-1.0f,-DEPTH);
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 1.0f); glVertex3f(-2.5f, 2.5f,-DEPTH);
|
glFogCoordf_ext(0.0f); glTexCoord2f(1.0f, DEPTH); glVertex3f( 1.0f,-1.0f,0.0);
|
||||||
glFogCoordf_ext(1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f(-2.5f,-2.5f,-DEPTH);
|
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, DEPTH); glVertex3f(-1.0f,-1.0f,0.0);
|
||||||
glEnd();
|
glEnd();
|
||||||
#endif
|
|
||||||
|
/* Roof */
|
||||||
|
glBegin(GL_QUADS);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, 1.0f,-DEPTH);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, 1.0f,-DEPTH);
|
||||||
|
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, DEPTH); glVertex3f( 1.0f, 1.0f,0.0);
|
||||||
|
glFogCoordf_ext(0.0f); glTexCoord2f(1.0f, DEPTH); glVertex3f(-1.0f, 1.0f,0.0);
|
||||||
|
glEnd();
|
||||||
|
|
||||||
|
/* Right */
|
||||||
|
glBegin(GL_QUADS);
|
||||||
|
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,-1.0f,0.0);
|
||||||
|
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, 1.0f,0.0);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(DEPTH, 0.0f); glVertex3f( 1.0f, 1.0f,-DEPTH);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(DEPTH, 1.0f); glVertex3f( 1.0f,-1.0f,-DEPTH);
|
||||||
|
glEnd();
|
||||||
|
|
||||||
|
/* Left */
|
||||||
|
glBegin(GL_QUADS);
|
||||||
|
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,-1.0f,0.0);
|
||||||
|
glFogCoordf_ext(0.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f,0.0);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(DEPTH, 1.0f); glVertex3f(-1.0f, 1.0f,-DEPTH);
|
||||||
|
glFogCoordf_ext(DEPTH); glTexCoord2f(DEPTH, 0.0f); glVertex3f(-1.0f,-1.0f,-DEPTH);
|
||||||
|
glEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
|
||||||
|
PrintInfo();
|
||||||
|
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void Reshape( int width, int height )
|
static void
|
||||||
|
Reshape( int width, int height )
|
||||||
{
|
{
|
||||||
glViewport(0, 0, width, height);
|
glViewport(0, 0, width, height);
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
gluPerspective(45.0f, (GLfloat)(width)/(GLfloat)(height), 0.1f, 100.0f);
|
glFrustum(-1, 1, -1, 1, 1.0, 100);
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
static void
|
||||||
|
Key( unsigned char key, int x, int y )
|
||||||
{
|
{
|
||||||
(void) x;
|
(void) x;
|
||||||
(void) y;
|
(void) y;
|
||||||
switch (key) {
|
switch (key) {
|
||||||
|
case 'a':
|
||||||
|
Arrays = !Arrays;
|
||||||
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
|
case 'm':
|
||||||
fogMode = SetFogMode(fogMode + 1);
|
fogMode = SetFogMode(fogMode + 1);
|
||||||
break;
|
break;
|
||||||
case '+':
|
case 'D':
|
||||||
if (fogDensity < 1.0) {
|
fogDensity += 0.05;
|
||||||
fogDensity += 0.05;
|
|
||||||
}
|
|
||||||
SetFogMode(fogMode);
|
SetFogMode(fogMode);
|
||||||
break;
|
break;
|
||||||
case '-':
|
case 'd':
|
||||||
if (fogDensity > 0.0) {
|
if (fogDensity > 0.0) {
|
||||||
fogDensity -= 0.05;
|
fogDensity -= 0.05;
|
||||||
}
|
}
|
||||||
@@ -311,31 +317,43 @@ static void Key( unsigned char key, int x, int y )
|
|||||||
break;
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
if (fogStart > 0.0) {
|
if (fogStart > 0.0) {
|
||||||
fogStart -= 1.0;
|
fogStart -= 0.25;
|
||||||
}
|
}
|
||||||
SetFogMode(fogMode);
|
SetFogMode(fogMode);
|
||||||
break;
|
break;
|
||||||
case 'S':
|
case 'S':
|
||||||
if (fogStart < fogEnd) {
|
if (fogStart < 100.0) {
|
||||||
fogStart += 1.0;
|
fogStart += 0.25;
|
||||||
}
|
}
|
||||||
SetFogMode(fogMode);
|
SetFogMode(fogMode);
|
||||||
break;
|
break;
|
||||||
case 'e':
|
case 'e':
|
||||||
if (fogEnd > fogStart) {
|
if (fogEnd > 0.0) {
|
||||||
fogEnd -= 1.0;
|
fogEnd -= 0.25;
|
||||||
}
|
}
|
||||||
SetFogMode(fogMode);
|
SetFogMode(fogMode);
|
||||||
break;
|
break;
|
||||||
case 'E':
|
case 'E':
|
||||||
if (fogEnd < 100.0) {
|
if (fogEnd < 100.0) {
|
||||||
fogEnd += 1.0;
|
fogEnd += 0.25;
|
||||||
}
|
}
|
||||||
SetFogMode(fogMode);
|
SetFogMode(fogMode);
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
fogCoord = SetFogCoord(fogCoord ^ GL_TRUE);
|
fogCoord = SetFogCoord(fogCoord ^ GL_TRUE);
|
||||||
break;
|
break;
|
||||||
|
case 't':
|
||||||
|
Texture = !Texture;
|
||||||
|
break;
|
||||||
|
case 'z':
|
||||||
|
camz -= 0.1;
|
||||||
|
break;
|
||||||
|
case 'Z':
|
||||||
|
camz += 0.1;
|
||||||
|
break;
|
||||||
|
case 'r':
|
||||||
|
Reset();
|
||||||
|
break;
|
||||||
case 27:
|
case 27:
|
||||||
exit(0);
|
exit(0);
|
||||||
break;
|
break;
|
||||||
@@ -344,37 +362,28 @@ static void Key( unsigned char key, int x, int y )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void SpecialKey( int key, int x, int y )
|
static void
|
||||||
|
Init(void)
|
||||||
{
|
{
|
||||||
(void) x;
|
static const GLubyte teximage[2][2][4] = {
|
||||||
(void) y;
|
{ { 255, 255, 255, 255}, { 128, 128, 128, 255} },
|
||||||
switch (key) {
|
{ { 128, 128, 128, 255}, { 255, 255, 255, 255} }
|
||||||
case GLUT_KEY_UP:
|
};
|
||||||
if (camz < (DEPTH - 1.0)) {
|
|
||||||
camz += 1.0f;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_DOWN:
|
|
||||||
if (camz > -19.0) {
|
|
||||||
camz -= 1.0f;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
||||||
|
|
||||||
static void Init( void )
|
|
||||||
{
|
|
||||||
have_fog_coord = glutExtensionSupported("GL_EXT_fog_coord");
|
have_fog_coord = glutExtensionSupported("GL_EXT_fog_coord");
|
||||||
|
if (!have_fog_coord) {
|
||||||
if (BuildTexture(TEXTURE_FILE, texture) == -1) {
|
printf("GL_EXT_fog_coord not supported!\n");
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnable(GL_TEXTURE_2D);
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0,
|
||||||
glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
|
GL_RGBA, GL_UNSIGNED_BYTE, teximage);
|
||||||
glClearDepth(1.0f);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
|
|
||||||
|
glClearColor(0.1f, 0.1f, 0.1f, 0.0f);
|
||||||
|
|
||||||
glDepthFunc(GL_LEQUAL);
|
glDepthFunc(GL_LEQUAL);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
glShadeModel(GL_SMOOTH);
|
glShadeModel(GL_SMOOTH);
|
||||||
@@ -383,11 +392,8 @@ static void Init( void )
|
|||||||
glFogfv(GL_FOG_COLOR, fogColor);
|
glFogfv(GL_FOG_COLOR, fogColor);
|
||||||
glHint(GL_FOG_HINT, GL_NICEST);
|
glHint(GL_FOG_HINT, GL_NICEST);
|
||||||
fogCoord = SetFogCoord(GL_TRUE); /* try to enable fog_coord */
|
fogCoord = SetFogCoord(GL_TRUE); /* try to enable fog_coord */
|
||||||
fogMode = SetFogMode(2); /* GL_EXP */
|
fogMode = SetFogMode(1);
|
||||||
|
|
||||||
camz = -19.0f;
|
|
||||||
|
|
||||||
#if ARRAYS
|
|
||||||
glEnableClientState(GL_VERTEX_ARRAY);
|
glEnableClientState(GL_VERTEX_ARRAY);
|
||||||
glVertexPointer(3, GL_FLOAT, 0, vertex_pointer);
|
glVertexPointer(3, GL_FLOAT, 0, vertex_pointer);
|
||||||
|
|
||||||
@@ -395,24 +401,24 @@ static void Init( void )
|
|||||||
glTexCoordPointer(2, GL_FLOAT, 0, texcoord_pointer);
|
glTexCoordPointer(2, GL_FLOAT, 0, texcoord_pointer);
|
||||||
|
|
||||||
if (have_fog_coord) {
|
if (have_fog_coord) {
|
||||||
glFogCoordPointer_ext = (GLFOGCOORDPOINTEREXTPROC)glutGetProcAddress("glFogCoordPointerEXT");
|
glFogCoordPointer_ext = (PFNGLFOGCOORDPOINTEREXTPROC)glutGetProcAddress("glFogCoordPointerEXT");
|
||||||
glEnableClientState(GL_FOG_COORDINATE_ARRAY_EXT);
|
glEnableClientState(GL_FOG_COORDINATE_ARRAY_EXT);
|
||||||
glFogCoordPointer_ext(GL_FLOAT, 0, fogcoord_pointer);
|
glFogCoordPointer_ext(GL_FLOAT, 0, fogcoord_pointer);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
int
|
||||||
|
main( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
glutInit( &argc, argv );
|
glutInit( &argc, argv );
|
||||||
glutInitWindowPosition( 0, 0 );
|
glutInitWindowSize( 600, 600 );
|
||||||
glutInitWindowSize( 640, 480 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
||||||
glutCreateWindow(argv[0]);
|
glutCreateWindow(argv[0]);
|
||||||
glutReshapeFunc( Reshape );
|
glutReshapeFunc( Reshape );
|
||||||
glutKeyboardFunc( Key );
|
glutKeyboardFunc( Key );
|
||||||
glutSpecialFunc( SpecialKey );
|
|
||||||
glutDisplayFunc( Display );
|
glutDisplayFunc( Display );
|
||||||
Init();
|
Init();
|
||||||
glutMainLoop();
|
glutMainLoop();
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ static GLuint VertProg;
|
|||||||
static GLboolean Anim = GL_TRUE;
|
static GLboolean Anim = GL_TRUE;
|
||||||
static GLboolean Wire = GL_FALSE;
|
static GLboolean Wire = GL_FALSE;
|
||||||
static GLboolean PixelLight = GL_TRUE;
|
static GLboolean PixelLight = GL_TRUE;
|
||||||
|
static GLint Win;
|
||||||
static GLfloat Xrot = 0, Yrot = 0;
|
static GLfloat Xrot = 0, Yrot = 0;
|
||||||
|
|
||||||
|
|
||||||
@@ -136,8 +136,8 @@ static void Key( unsigned char key, int x, int y )
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 27:
|
case 27:
|
||||||
|
glutDestroyWindow(Win);
|
||||||
exit(0);
|
exit(0);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
glutPostRedisplay();
|
glutPostRedisplay();
|
||||||
}
|
}
|
||||||
@@ -272,7 +272,7 @@ int main( int argc, char *argv[] )
|
|||||||
glutInitWindowPosition( 0, 0 );
|
glutInitWindowPosition( 0, 0 );
|
||||||
glutInitWindowSize( 200, 200 );
|
glutInitWindowSize( 200, 200 );
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
||||||
glutCreateWindow(argv[0]);
|
Win = glutCreateWindow(argv[0]);
|
||||||
glutReshapeFunc( Reshape );
|
glutReshapeFunc( Reshape );
|
||||||
glutKeyboardFunc( Key );
|
glutKeyboardFunc( Key );
|
||||||
glutSpecialFunc( SpecialKey );
|
glutSpecialFunc( SpecialKey );
|
||||||
|
|||||||
@@ -20,20 +20,30 @@
|
|||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
#include <GL/glext.h>
|
#include <GL/glext.h>
|
||||||
|
#include "extfuncs.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define TEXTURE 0
|
||||||
|
|
||||||
|
static GLint CoordAttrib = 0;
|
||||||
|
|
||||||
|
static char *FragProgFile = NULL;
|
||||||
|
static char *VertProgFile = NULL;
|
||||||
|
|
||||||
static GLfloat diffuse[4] = { 0.5f, 0.5f, 1.0f, 1.0f };
|
static GLfloat diffuse[4] = { 0.5f, 0.5f, 1.0f, 1.0f };
|
||||||
static GLfloat specular[4] = { 0.8f, 0.8f, 0.8f, 1.0f };
|
static GLfloat specular[4] = { 0.8f, 0.8f, 0.8f, 1.0f };
|
||||||
static GLfloat lightPos[4] = { 0.0f, 10.0f, 20.0f, 1.0f };
|
static GLfloat lightPos[4] = { 0.0f, 10.0f, 20.0f, 0.0f };
|
||||||
static GLfloat delta = 1.0f;
|
static GLfloat delta = 1.0f;
|
||||||
|
|
||||||
static GLuint fragShader;
|
static GLuint fragShader;
|
||||||
static GLuint vertShader;
|
static GLuint vertShader;
|
||||||
static GLuint program;
|
static GLuint program;
|
||||||
|
|
||||||
static GLint uLightPos;
|
|
||||||
static GLint uDiffuse;
|
static GLint uDiffuse;
|
||||||
static GLint uSpecular;
|
static GLint uSpecular;
|
||||||
|
static GLint uTexture;
|
||||||
|
|
||||||
|
static GLuint SphereList, RectList, CurList;
|
||||||
static GLint win = 0;
|
static GLint win = 0;
|
||||||
static GLboolean anim = GL_TRUE;
|
static GLboolean anim = GL_TRUE;
|
||||||
static GLboolean wire = GL_FALSE;
|
static GLboolean wire = GL_FALSE;
|
||||||
@@ -42,58 +52,47 @@ static GLboolean pixelLight = GL_TRUE;
|
|||||||
static GLint t0 = 0;
|
static GLint t0 = 0;
|
||||||
static GLint frames = 0;
|
static GLint frames = 0;
|
||||||
|
|
||||||
static GLfloat xRot = 0.0f, yRot = 0.0f;
|
static GLfloat xRot = 90.0f, yRot = 0.0f;
|
||||||
|
|
||||||
static PFNGLCREATESHADERPROC glCreateShader_func = NULL;
|
|
||||||
static PFNGLSHADERSOURCEPROC glShaderSource_func = NULL;
|
|
||||||
static PFNGLGETSHADERSOURCEPROC glGetShaderSource_func = NULL;
|
|
||||||
static PFNGLCOMPILESHADERPROC glCompileShader_func = NULL;
|
|
||||||
static PFNGLCREATEPROGRAMPROC glCreateProgram_func = NULL;
|
|
||||||
static PFNGLDELETEPROGRAMPROC glDeleteProgram_func = NULL;
|
|
||||||
static PFNGLDELETESHADERPROC glDeleteShader_func = NULL;
|
|
||||||
static PFNGLATTACHSHADERPROC glAttachShader_func = NULL;
|
|
||||||
static PFNGLLINKPROGRAMPROC glLinkProgram_func = NULL;
|
|
||||||
static PFNGLUSEPROGRAMPROC glUseProgram_func = NULL;
|
|
||||||
static PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation_func = NULL;
|
|
||||||
static PFNGLISPROGRAMPROC glIsProgram_func = NULL;
|
|
||||||
static PFNGLISSHADERPROC glIsShader_func = NULL;
|
|
||||||
static PFNGLUNIFORM3FVPROC glUniform3fv_func = NULL;
|
|
||||||
static PFNGLUNIFORM3FVPROC glUniform4fv_func = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
normalize(GLfloat *dst, const GLfloat *src)
|
normalize(GLfloat *dst, const GLfloat *src)
|
||||||
{
|
{
|
||||||
GLfloat len = sqrtf(src[0] * src[0] + src[1] * src[1] + src[2] * src[2]);
|
GLfloat len = sqrt(src[0] * src[0] + src[1] * src[1] + src[2] * src[2]);
|
||||||
dst[0] = src[0] / len;
|
dst[0] = src[0] / len;
|
||||||
dst[1] = src[1] / len;
|
dst[1] = src[1] / len;
|
||||||
dst[2] = src[2] / len;
|
dst[2] = src[2] / len;
|
||||||
|
dst[3] = src[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
Redisplay(void)
|
Redisplay(void)
|
||||||
{
|
{
|
||||||
|
GLfloat vec[4];
|
||||||
|
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
|
/* update light position */
|
||||||
|
normalize(vec, lightPos);
|
||||||
|
glLightfv(GL_LIGHT0, GL_POSITION, vec);
|
||||||
|
|
||||||
if (pixelLight) {
|
if (pixelLight) {
|
||||||
GLfloat vec[3];
|
|
||||||
glUseProgram_func(program);
|
glUseProgram_func(program);
|
||||||
normalize(vec, lightPos);
|
|
||||||
glUniform3fv_func(uLightPos, 1, vec);
|
|
||||||
glDisable(GL_LIGHTING);
|
glDisable(GL_LIGHTING);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
glUseProgram_func(0);
|
glUseProgram_func(0);
|
||||||
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
|
|
||||||
glEnable(GL_LIGHTING);
|
glEnable(GL_LIGHTING);
|
||||||
}
|
}
|
||||||
|
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glRotatef(xRot, 1.0f, 0.0f, 0.0f);
|
glRotatef(xRot, 1.0f, 0.0f, 0.0f);
|
||||||
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
|
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
|
||||||
|
/*
|
||||||
glutSolidSphere(2.0, 10, 5);
|
glutSolidSphere(2.0, 10, 5);
|
||||||
|
*/
|
||||||
|
glCallList(CurList);
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
|
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
@@ -174,6 +173,12 @@ Key(unsigned char key, int x, int y)
|
|||||||
else
|
else
|
||||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||||
break;
|
break;
|
||||||
|
case 'o':
|
||||||
|
if (CurList == SphereList)
|
||||||
|
CurList = RectList;
|
||||||
|
else
|
||||||
|
CurList = SphereList;
|
||||||
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
pixelLight = !pixelLight;
|
pixelLight = !pixelLight;
|
||||||
if (pixelLight)
|
if (pixelLight)
|
||||||
@@ -216,17 +221,249 @@ SpecialKey(int key, int x, int y)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
TestFunctions(void)
|
||||||
|
{
|
||||||
|
printf("Error 0x%x at line %d\n", glGetError(), __LINE__);
|
||||||
|
{
|
||||||
|
GLfloat pos[3];
|
||||||
|
printf("Error 0x%x at line %d\n", glGetError(), __LINE__);
|
||||||
|
printf("Light pos %g %g %g\n", pos[0], pos[1], pos[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
GLfloat m[16], result[16];
|
||||||
|
GLint mPos;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < 16; i++)
|
||||||
|
m[i] = (float) i;
|
||||||
|
|
||||||
|
mPos = glGetUniformLocation_func(program, "m");
|
||||||
|
printf("Error 0x%x at line %d\n", glGetError(), __LINE__);
|
||||||
|
glUniformMatrix4fv_func(mPos, 1, GL_FALSE, m);
|
||||||
|
printf("Error 0x%x at line %d\n", glGetError(), __LINE__);
|
||||||
|
|
||||||
|
glGetUniformfv_func(program, mPos, result);
|
||||||
|
printf("Error 0x%x at line %d\n", glGetError(), __LINE__);
|
||||||
|
|
||||||
|
for (i = 0; i < 16; i++) {
|
||||||
|
printf("%8g %8g\n", m[i], result[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(glIsProgram_func(program));
|
||||||
|
assert(glIsShader_func(fragShader));
|
||||||
|
assert(glIsShader_func(vertShader));
|
||||||
|
|
||||||
|
/* attached shaders */
|
||||||
|
{
|
||||||
|
GLuint shaders[20];
|
||||||
|
GLsizei count;
|
||||||
|
int i;
|
||||||
|
glGetAttachedShaders_func(program, 20, &count, shaders);
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
|
printf("Attached: %u\n", shaders[i]);
|
||||||
|
assert(shaders[i] == fragShader ||
|
||||||
|
shaders[i] == vertShader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GLchar log[1000];
|
||||||
|
GLsizei len;
|
||||||
|
glGetShaderInfoLog_func(vertShader, 1000, &len, log);
|
||||||
|
printf("Vert Shader Info Log: %s\n", log);
|
||||||
|
glGetShaderInfoLog_func(fragShader, 1000, &len, log);
|
||||||
|
printf("Frag Shader Info Log: %s\n", log);
|
||||||
|
glGetProgramInfoLog_func(program, 1000, &len, log);
|
||||||
|
printf("Program Info Log: %s\n", log);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if TEXTURE
|
||||||
|
static void
|
||||||
|
MakeTexture(void)
|
||||||
|
{
|
||||||
|
#define SZ0 64
|
||||||
|
#define SZ1 32
|
||||||
|
GLubyte image0[SZ0][SZ0][SZ0][4];
|
||||||
|
GLubyte image1[SZ1][SZ1][SZ1][4];
|
||||||
|
GLuint i, j, k;
|
||||||
|
|
||||||
|
/* level 0: two-tone gray checkboard */
|
||||||
|
for (i = 0; i < SZ0; i++) {
|
||||||
|
for (j = 0; j < SZ0; j++) {
|
||||||
|
for (k = 0; k < SZ0; k++) {
|
||||||
|
if ((i/8 + j/8 + k/8) & 1) {
|
||||||
|
image0[i][j][k][0] =
|
||||||
|
image0[i][j][k][1] =
|
||||||
|
image0[i][j][k][2] = 200;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
image0[i][j][k][0] =
|
||||||
|
image0[i][j][k][1] =
|
||||||
|
image0[i][j][k][2] = 100;
|
||||||
|
}
|
||||||
|
image0[i][j][k][3] = 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* level 1: two-tone green checkboard */
|
||||||
|
for (i = 0; i < SZ1; i++) {
|
||||||
|
for (j = 0; j < SZ1; j++) {
|
||||||
|
for (k = 0; k < SZ1; k++) {
|
||||||
|
if ((i/8 + j/8 + k/8) & 1) {
|
||||||
|
image1[i][j][k][0] = 0;
|
||||||
|
image1[i][j][k][1] = 250;
|
||||||
|
image1[i][j][k][2] = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
image1[i][j][k][0] = 0;
|
||||||
|
image1[i][j][k][1] = 200;
|
||||||
|
image1[i][j][k][2] = 0;
|
||||||
|
}
|
||||||
|
image1[i][j][k][3] = 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE2); /* unit 2 */
|
||||||
|
glBindTexture(GL_TEXTURE_2D, 42);
|
||||||
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SZ0, SZ0, 0,
|
||||||
|
GL_RGBA, GL_UNSIGNED_BYTE, image0);
|
||||||
|
glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA, SZ1, SZ1, 0,
|
||||||
|
GL_RGBA, GL_UNSIGNED_BYTE, image1);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE4); /* unit 4 */
|
||||||
|
glBindTexture(GL_TEXTURE_3D, 43);
|
||||||
|
glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, SZ0, SZ0, SZ0, 0,
|
||||||
|
GL_RGBA, GL_UNSIGNED_BYTE, image0);
|
||||||
|
glTexImage3D(GL_TEXTURE_3D, 1, GL_RGBA, SZ1, SZ1, SZ1, 0,
|
||||||
|
GL_RGBA, GL_UNSIGNED_BYTE, image1);
|
||||||
|
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAX_LEVEL, 1);
|
||||||
|
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
MakeSphere(void)
|
||||||
|
{
|
||||||
|
GLUquadricObj *obj = gluNewQuadric();
|
||||||
|
SphereList = glGenLists(1);
|
||||||
|
gluQuadricTexture(obj, GL_TRUE);
|
||||||
|
glNewList(SphereList, GL_COMPILE);
|
||||||
|
gluSphere(obj, 2.0f, 10, 5);
|
||||||
|
glEndList();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
VertAttrib(GLint index, float x, float y)
|
||||||
|
{
|
||||||
|
#if 1
|
||||||
|
glVertexAttrib2f_func(index, x, y);
|
||||||
|
#else
|
||||||
|
glTexCoord2f(x, y);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
MakeRect(void)
|
||||||
|
{
|
||||||
|
RectList = glGenLists(1);
|
||||||
|
glNewList(RectList, GL_COMPILE);
|
||||||
|
glNormal3f(0, 0, 1);
|
||||||
|
glBegin(GL_POLYGON);
|
||||||
|
VertAttrib(CoordAttrib, 0, 0); glVertex2f(-2, -2);
|
||||||
|
VertAttrib(CoordAttrib, 1, 0); glVertex2f( 2, -2);
|
||||||
|
VertAttrib(CoordAttrib, 1, 1); glVertex2f( 2, 2);
|
||||||
|
VertAttrib(CoordAttrib, 0, 1); glVertex2f(-2, 2);
|
||||||
|
glEnd(); /* XXX omit this and crash! */
|
||||||
|
glEndList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
LoadAndCompileShader(GLuint shader, const char *text)
|
||||||
|
{
|
||||||
|
GLint stat;
|
||||||
|
|
||||||
|
glShaderSource_func(shader, 1, (const GLchar **) &text, NULL);
|
||||||
|
|
||||||
|
glCompileShader_func(shader);
|
||||||
|
|
||||||
|
glGetShaderiv_func(shader, GL_COMPILE_STATUS, &stat);
|
||||||
|
if (!stat) {
|
||||||
|
GLchar log[1000];
|
||||||
|
GLsizei len;
|
||||||
|
glGetShaderInfoLog_func(shader, 1000, &len, log);
|
||||||
|
fprintf(stderr, "fslight: problem compiling shader:\n%s\n", log);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read a shader from a file.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
ReadShader(GLuint shader, const char *filename)
|
||||||
|
{
|
||||||
|
const int max = 100*1000;
|
||||||
|
int n;
|
||||||
|
char *buffer = (char*) malloc(max);
|
||||||
|
FILE *f = fopen(filename, "r");
|
||||||
|
if (!f) {
|
||||||
|
fprintf(stderr, "fslight: Unable to open shader file %s\n", filename);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
n = fread(buffer, 1, max, f);
|
||||||
|
printf("fslight: read %d bytes from shader file %s\n", n, filename);
|
||||||
|
if (n > 0) {
|
||||||
|
buffer[n] = 0;
|
||||||
|
LoadAndCompileShader(shader, buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
free(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
CheckLink(GLuint prog)
|
||||||
|
{
|
||||||
|
GLint stat;
|
||||||
|
glGetProgramiv_func(prog, GL_LINK_STATUS, &stat);
|
||||||
|
if (!stat) {
|
||||||
|
GLchar log[1000];
|
||||||
|
GLsizei len;
|
||||||
|
glGetProgramInfoLog_func(prog, 1000, &len, log);
|
||||||
|
fprintf(stderr, "Linker error:\n%s\n", log);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
Init(void)
|
Init(void)
|
||||||
{
|
{
|
||||||
static const char *fragShaderText =
|
static const char *fragShaderText =
|
||||||
"uniform vec3 lightPos;\n"
|
|
||||||
"uniform vec4 diffuse;\n"
|
"uniform vec4 diffuse;\n"
|
||||||
"uniform vec4 specular;\n"
|
"uniform vec4 specular;\n"
|
||||||
"varying vec3 normal;\n"
|
"varying vec3 normal;\n"
|
||||||
"void main() {\n"
|
"void main() {\n"
|
||||||
" // Compute dot product of light direction and normal vector\n"
|
" // Compute dot product of light direction and normal vector\n"
|
||||||
" float dotProd = max(dot(lightPos, normalize(normal)), 0.0);\n"
|
" float dotProd = max(dot(gl_LightSource[0].position.xyz, \n"
|
||||||
|
" normalize(normal)), 0.0);\n"
|
||||||
" // Compute diffuse and specular contributions\n"
|
" // Compute diffuse and specular contributions\n"
|
||||||
" gl_FragColor = diffuse * dotProd + specular * pow(dotProd, 20.0);\n"
|
" gl_FragColor = diffuse * dotProd + specular * pow(dotProd, 20.0);\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
@@ -236,53 +473,63 @@ Init(void)
|
|||||||
" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
|
" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
|
||||||
" normal = gl_NormalMatrix * gl_Normal;\n"
|
" normal = gl_NormalMatrix * gl_Normal;\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
|
|
||||||
const char *version;
|
const char *version;
|
||||||
|
|
||||||
version = (const char *) glGetString(GL_VERSION);
|
version = (const char *) glGetString(GL_VERSION);
|
||||||
if (version[0] != '2' || version[1] != '.') {
|
if (version[0] != '2' || version[1] != '.') {
|
||||||
printf("Warning: this program expects OpenGL 2.0\n");
|
printf("This program requires OpenGL 2.x, found %s\n", version);
|
||||||
/*exit(1);*/
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GetExtensionFuncs();
|
||||||
glCreateShader_func = (PFNGLCREATESHADERPROC) glutGetProcAddress("glCreateShader");
|
|
||||||
glDeleteShader_func = (PFNGLDELETESHADERPROC) glutGetProcAddress("glDeleteShader");
|
|
||||||
glDeleteProgram_func = (PFNGLDELETEPROGRAMPROC) glutGetProcAddress("glDeleteProgram");
|
|
||||||
glShaderSource_func = (PFNGLSHADERSOURCEPROC) glutGetProcAddress("glShaderSource");
|
|
||||||
glGetShaderSource_func = (PFNGLGETSHADERSOURCEPROC) glutGetProcAddress("glGetShaderSource");
|
|
||||||
glCompileShader_func = (PFNGLCOMPILESHADERPROC) glutGetProcAddress("glCompileShader");
|
|
||||||
glCreateProgram_func = (PFNGLCREATEPROGRAMPROC) glutGetProcAddress("glCreateProgram");
|
|
||||||
glAttachShader_func = (PFNGLATTACHSHADERPROC) glutGetProcAddress("glAttachShader");
|
|
||||||
glLinkProgram_func = (PFNGLLINKPROGRAMPROC) glutGetProcAddress("glLinkProgram");
|
|
||||||
glUseProgram_func = (PFNGLUSEPROGRAMPROC) glutGetProcAddress("glUseProgram");
|
|
||||||
glGetUniformLocation_func = (PFNGLGETUNIFORMLOCATIONPROC) glutGetProcAddress("glGetUniformLocation");
|
|
||||||
glIsProgram_func = (PFNGLISPROGRAMPROC) glutGetProcAddress("glIsProgram");
|
|
||||||
glIsShader_func = (PFNGLISSHADERPROC) glutGetProcAddress("glIsShader");
|
|
||||||
glUniform3fv_func = (PFNGLUNIFORM3FVPROC) glutGetProcAddress("glUniform3fv");
|
|
||||||
glUniform4fv_func = (PFNGLUNIFORM3FVPROC) glutGetProcAddress("glUniform4fv");
|
|
||||||
|
|
||||||
fragShader = glCreateShader_func(GL_FRAGMENT_SHADER);
|
fragShader = glCreateShader_func(GL_FRAGMENT_SHADER);
|
||||||
glShaderSource_func(fragShader, 1, &fragShaderText, NULL);
|
if (FragProgFile)
|
||||||
glCompileShader_func(fragShader);
|
ReadShader(fragShader, FragProgFile);
|
||||||
|
else
|
||||||
|
LoadAndCompileShader(fragShader, fragShaderText);
|
||||||
|
|
||||||
|
|
||||||
vertShader = glCreateShader_func(GL_VERTEX_SHADER);
|
vertShader = glCreateShader_func(GL_VERTEX_SHADER);
|
||||||
glShaderSource_func(vertShader, 1, &vertShaderText, NULL);
|
if (VertProgFile)
|
||||||
glCompileShader_func(vertShader);
|
ReadShader(vertShader, VertProgFile);
|
||||||
|
else
|
||||||
|
LoadAndCompileShader(vertShader, vertShaderText);
|
||||||
|
|
||||||
program = glCreateProgram_func();
|
program = glCreateProgram_func();
|
||||||
glAttachShader_func(program, fragShader);
|
glAttachShader_func(program, fragShader);
|
||||||
glAttachShader_func(program, vertShader);
|
glAttachShader_func(program, vertShader);
|
||||||
glLinkProgram_func(program);
|
glLinkProgram_func(program);
|
||||||
|
CheckLink(program);
|
||||||
glUseProgram_func(program);
|
glUseProgram_func(program);
|
||||||
|
|
||||||
uLightPos = glGetUniformLocation_func(program, "lightPos");
|
|
||||||
uDiffuse = glGetUniformLocation_func(program, "diffuse");
|
uDiffuse = glGetUniformLocation_func(program, "diffuse");
|
||||||
uSpecular = glGetUniformLocation_func(program, "specular");
|
uSpecular = glGetUniformLocation_func(program, "specular");
|
||||||
|
uTexture = glGetUniformLocation_func(program, "texture");
|
||||||
|
printf("DiffusePos %d SpecularPos %d TexturePos %d\n",
|
||||||
|
uDiffuse, uSpecular, uTexture);
|
||||||
|
|
||||||
glUniform4fv_func(uDiffuse, 1, diffuse);
|
glUniform4fv_func(uDiffuse, 1, diffuse);
|
||||||
glUniform4fv_func(uSpecular, 1, specular);
|
glUniform4fv_func(uSpecular, 1, specular);
|
||||||
|
/* assert(glGetError() == 0);*/
|
||||||
|
glUniform1i_func(uTexture, 2); /* use texture unit 2 */
|
||||||
|
/*assert(glGetError() == 0);*/
|
||||||
|
|
||||||
|
if (CoordAttrib) {
|
||||||
|
int i;
|
||||||
|
glBindAttribLocation_func(program, CoordAttrib, "coord");
|
||||||
|
i = glGetAttribLocation_func(program, "coord");
|
||||||
|
assert(i >= 0);
|
||||||
|
if (i != CoordAttrib) {
|
||||||
|
printf("Hmmm, NVIDIA bug?\n");
|
||||||
|
CoordAttrib = i;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Mesa bind attrib: coord = %d\n", i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*assert(glGetError() == 0);*/
|
||||||
|
|
||||||
glClearColor(0.3f, 0.3f, 0.3f, 0.0f);
|
glClearColor(0.3f, 0.3f, 0.3f, 0.0f);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
@@ -292,11 +539,20 @@ Init(void)
|
|||||||
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
|
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
|
||||||
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 20.0f);
|
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 20.0f);
|
||||||
|
|
||||||
|
MakeSphere();
|
||||||
|
MakeRect();
|
||||||
|
|
||||||
|
CurList = SphereList;
|
||||||
|
|
||||||
|
#if TEXTURE
|
||||||
|
MakeTexture();
|
||||||
|
#endif
|
||||||
|
|
||||||
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
|
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
|
||||||
printf("Press p to toggle between per-pixel and per-vertex lighting\n");
|
printf("Press p to toggle between per-pixel and per-vertex lighting\n");
|
||||||
|
|
||||||
/* test glGetShaderSource() */
|
/* test glGetShaderSource() */
|
||||||
{
|
if (0) {
|
||||||
GLsizei len = strlen(fragShaderText) + 1;
|
GLsizei len = strlen(fragShaderText) + 1;
|
||||||
GLsizei lenOut;
|
GLsizei lenOut;
|
||||||
GLchar *src =(GLchar *) malloc(len * sizeof(GLchar));
|
GLchar *src =(GLchar *) malloc(len * sizeof(GLchar));
|
||||||
@@ -310,6 +566,37 @@ Init(void)
|
|||||||
assert(glIsProgram_func(program));
|
assert(glIsProgram_func(program));
|
||||||
assert(glIsShader_func(fragShader));
|
assert(glIsShader_func(fragShader));
|
||||||
assert(glIsShader_func(vertShader));
|
assert(glIsShader_func(vertShader));
|
||||||
|
|
||||||
|
glColor3f(1, 0, 0);
|
||||||
|
|
||||||
|
/* for testing state vars */
|
||||||
|
{
|
||||||
|
static GLfloat fc[4] = { 1, 1, 0, 0 };
|
||||||
|
static GLfloat amb[4] = { 1, 0, 1, 0 };
|
||||||
|
glFogfv(GL_FOG_COLOR, fc);
|
||||||
|
glLightfv(GL_LIGHT1, GL_AMBIENT, amb);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
TestFunctions();
|
||||||
|
#else
|
||||||
|
(void) TestFunctions;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
ParseOptions(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 1; i < argc; i++) {
|
||||||
|
if (strcmp(argv[i], "-fs") == 0) {
|
||||||
|
FragProgFile = argv[i+1];
|
||||||
|
}
|
||||||
|
else if (strcmp(argv[i], "-vs") == 0) {
|
||||||
|
VertProgFile = argv[i+1];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -327,8 +614,10 @@ main(int argc, char *argv[])
|
|||||||
glutDisplayFunc(Redisplay);
|
glutDisplayFunc(Redisplay);
|
||||||
if (anim)
|
if (anim)
|
||||||
glutIdleFunc(Idle);
|
glutIdleFunc(Idle);
|
||||||
|
ParseOptions(argc, argv);
|
||||||
Init();
|
Init();
|
||||||
glutMainLoop();
|
glutMainLoop();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1053,6 +1053,7 @@ main (int argc, char *argv[])
|
|||||||
else
|
else
|
||||||
file = argv[1];
|
file = argv[1];
|
||||||
|
|
||||||
|
glutInit(&argc, argv);
|
||||||
glutInitWindowPosition (0, 0);
|
glutInitWindowPosition (0, 0);
|
||||||
glutInitWindowSize(640,480);
|
glutInitWindowSize(640,480);
|
||||||
glutInitDisplayMode (GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
|
glutInitDisplayMode (GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
|
||||||
|
|||||||
@@ -569,6 +569,7 @@ main(int ac, char **av)
|
|||||||
if (ac == 2)
|
if (ac == 2)
|
||||||
frontbuffer = 0;
|
frontbuffer = 0;
|
||||||
|
|
||||||
|
glutInit(&ac, av);
|
||||||
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
|
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
|
||||||
glutInitWindowPosition(0, 0);
|
glutInitWindowPosition(0, 0);
|
||||||
glutInitWindowSize(640, 480);
|
glutInitWindowSize(640, 480);
|
||||||
|
|||||||
@@ -1042,6 +1042,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
read_surface( "isosurf.dat" );
|
read_surface( "isosurf.dat" );
|
||||||
|
|
||||||
|
glutInit( &argc, argv);
|
||||||
glutInitWindowPosition(0, 0);
|
glutInitWindowPosition(0, 0);
|
||||||
glutInitWindowSize(400, 400);
|
glutInitWindowSize(400, 400);
|
||||||
|
|
||||||
|
|||||||
@@ -826,7 +826,7 @@ static void pinit(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void INIT(void)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
printf("Morph 3D - Shows morphing platonic polyhedra\n");
|
printf("Morph 3D - Shows morphing platonic polyhedra\n");
|
||||||
printf("Author: Marcelo Fernandes Vianna (vianna@cat.cbpf.br)\n\n");
|
printf("Author: Marcelo Fernandes Vianna (vianna@cat.cbpf.br)\n\n");
|
||||||
@@ -841,6 +841,7 @@ static void INIT(void)
|
|||||||
|
|
||||||
object=1;
|
object=1;
|
||||||
|
|
||||||
|
glutInit(&argc, argv);
|
||||||
glutInitWindowPosition(0,0);
|
glutInitWindowPosition(0,0);
|
||||||
glutInitWindowSize(640,480);
|
glutInitWindowSize(640,480);
|
||||||
|
|
||||||
@@ -888,9 +889,3 @@ static void INIT(void)
|
|||||||
glutMainLoop();
|
glutMainLoop();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
INIT();
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -296,14 +296,27 @@ RenderShadowMap(void)
|
|||||||
0, 1, 0); /* up */
|
0, 1, 0); /* up */
|
||||||
|
|
||||||
if (UseFBO) {
|
if (UseFBO) {
|
||||||
|
GLenum fbo_status;
|
||||||
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, depthFormat,
|
glTexImage2D(GL_TEXTURE_2D, 0, depthFormat,
|
||||||
ShadowTexWidth, ShadowTexHeight, 0,
|
ShadowTexWidth, ShadowTexHeight, 0,
|
||||||
depthFormat, depthType, NULL);
|
depthFormat, depthType, NULL);
|
||||||
|
|
||||||
|
/* Set the filter mode so that the texture is texture-complete.
|
||||||
|
* Otherwise it will cause the framebuffer to fail the framebuffer
|
||||||
|
* completeness test.
|
||||||
|
*/
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
|
||||||
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, ShadowFBO);
|
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, ShadowFBO);
|
||||||
glDrawBuffer(GL_NONE);
|
glDrawBuffer(GL_NONE);
|
||||||
glReadBuffer(GL_NONE);
|
glReadBuffer(GL_NONE);
|
||||||
assert(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)
|
|
||||||
== GL_FRAMEBUFFER_COMPLETE_EXT);
|
fbo_status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
|
||||||
|
if (fbo_status != GL_FRAMEBUFFER_COMPLETE_EXT) {
|
||||||
|
fprintf(stderr, "FBO not complete! status = 0x%04x\n", fbo_status);
|
||||||
|
assert(fbo_status == GL_FRAMEBUFFER_COMPLETE_EXT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(!glIsEnabled(GL_TEXTURE_1D));
|
assert(!glIsEnabled(GL_TEXTURE_1D));
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
* Updated for GLU 1.3 tessellation by Gareth Hughes <gareth@valinux.com>
|
* Updated for GLU 1.3 tessellation by Gareth Hughes <gareth@valinux.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <GL/glut.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <GL/glut.h>
|
||||||
|
|
||||||
#define MAX_POINTS 256
|
#define MAX_POINTS 256
|
||||||
#define MAX_CONTOURS 32
|
#define MAX_CONTOURS 32
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ static void init( void )
|
|||||||
|
|
||||||
int main( int argc, char *argv[] )
|
int main( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
|
glutInit(&argc, argv);
|
||||||
glutInitWindowPosition(0, 0);
|
glutInitWindowPosition(0, 0);
|
||||||
glutInitWindowSize(500, 500);
|
glutInitWindowSize(500, 500);
|
||||||
glutInitDisplayMode( GLUT_RGB );
|
glutInitDisplayMode( GLUT_RGB );
|
||||||
|
|||||||
4
progs/directfb/.gitignore
vendored
Normal file
4
progs/directfb/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
df_gears
|
||||||
|
df_morph3d
|
||||||
|
df_reflect
|
||||||
|
multi_window
|
||||||
@@ -11,6 +11,8 @@ LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME)
|
|||||||
CFLAGS += $(shell pkg-config --cflags directfb)
|
CFLAGS += $(shell pkg-config --cflags directfb)
|
||||||
APP_LIB_DEPS += $(shell pkg-config --libs directfb)
|
APP_LIB_DEPS += $(shell pkg-config --libs directfb)
|
||||||
|
|
||||||
|
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
|
||||||
|
|
||||||
PROGS = df_gears \
|
PROGS = df_gears \
|
||||||
df_reflect \
|
df_reflect \
|
||||||
df_morph3d \
|
df_morph3d \
|
||||||
@@ -22,7 +24,7 @@ PROGS = df_gears \
|
|||||||
.SUFFIXES: .c
|
.SUFFIXES: .c
|
||||||
|
|
||||||
.c: $(LIB_DEP)
|
.c: $(LIB_DEP)
|
||||||
$(CC) -I$(INCDIR) $(CFLAGS) $< $(APP_LIB_DEPS) -o $@
|
$(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
|
||||||
|
|
||||||
|
|
||||||
##### TARGETS #####
|
##### TARGETS #####
|
||||||
|
|||||||
5
progs/egl/.gitignore
vendored
Normal file
5
progs/egl/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
demo1
|
||||||
|
demo2
|
||||||
|
demo3
|
||||||
|
eglgears
|
||||||
|
eglinfo
|
||||||
@@ -25,35 +25,35 @@ default: $(PROGRAMS)
|
|||||||
|
|
||||||
|
|
||||||
demo1: demo1.o $(TOP)/$(LIB_DIR)/libEGL.so
|
demo1: demo1.o $(TOP)/$(LIB_DIR)/libEGL.so
|
||||||
$(CC) $(CFLAGS) demo1.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) -o $@
|
$(CC) $(CFLAGS) $(LDFLAGS) demo1.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) -o $@
|
||||||
|
|
||||||
demo1.o: demo1.c $(HEADERS)
|
demo1.o: demo1.c $(HEADERS)
|
||||||
$(CC) -c $(CFLAGS) -I$(TOP)/include demo1.c
|
$(CC) -c $(CFLAGS) -I$(TOP)/include demo1.c
|
||||||
|
|
||||||
|
|
||||||
demo2: demo2.o $(TOP)/$(LIB_DIR)/libEGL.so
|
demo2: demo2.o $(TOP)/$(LIB_DIR)/libEGL.so
|
||||||
$(CC) $(CFLAGS) demo2.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) $(APP_LIB_DEPS) -o $@
|
$(CC) $(CFLAGS) $(LDFLAGS) demo2.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) $(APP_LIB_DEPS) -o $@
|
||||||
|
|
||||||
demo2.o: demo2.c $(HEADERS)
|
demo2.o: demo2.c $(HEADERS)
|
||||||
$(CC) -c $(CFLAGS) -I$(TOP)/include demo2.c
|
$(CC) -c $(CFLAGS) -I$(TOP)/include demo2.c
|
||||||
|
|
||||||
|
|
||||||
demo3: demo3.o $(TOP)/$(LIB_DIR)/libEGL.so
|
demo3: demo3.o $(TOP)/$(LIB_DIR)/libEGL.so
|
||||||
$(CC) $(CFLAGS) demo3.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) $(APP_LIB_DEPS) -o $@
|
$(CC) $(CFLAGS) $(LDFLAGS) demo3.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) $(APP_LIB_DEPS) -o $@
|
||||||
|
|
||||||
demo3.o: demo3.c $(HEADERS)
|
demo3.o: demo3.c $(HEADERS)
|
||||||
$(CC) -c $(CFLAGS) -I$(TOP)/include demo3.c
|
$(CC) -c $(CFLAGS) -I$(TOP)/include demo3.c
|
||||||
|
|
||||||
|
|
||||||
eglinfo: eglinfo.o $(TOP)/$(LIB_DIR)/libEGL.so
|
eglinfo: eglinfo.o $(TOP)/$(LIB_DIR)/libEGL.so
|
||||||
$(CC) $(CFLAGS) eglinfo.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) -o $@
|
$(CC) $(CFLAGS) $(LDFLAGS) eglinfo.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) -o $@
|
||||||
|
|
||||||
eglinfo.o: eglinfo.c $(HEADERS)
|
eglinfo.o: eglinfo.c $(HEADERS)
|
||||||
$(CC) -c $(CFLAGS) -I$(TOP)/include eglinfo.c
|
$(CC) -c $(CFLAGS) -I$(TOP)/include eglinfo.c
|
||||||
|
|
||||||
|
|
||||||
eglgears: eglgears.o $(TOP)/$(LIB_DIR)/libEGL.so
|
eglgears: eglgears.o $(TOP)/$(LIB_DIR)/libEGL.so
|
||||||
$(CC) $(CFLAGS) eglgears.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) $(APP_LIB_DEPS) -o $@
|
$(CC) $(CFLAGS) $(LDFLAGS) eglgears.o -L$(TOP)/$(LIB_DIR) -lEGL $(LIBDRM_LIB) $(APP_LIB_DEPS) -o $@
|
||||||
|
|
||||||
eglgears.o: eglgears.c $(HEADERS)
|
eglgears.o: eglgears.c $(HEADERS)
|
||||||
$(CC) -c $(CFLAGS) -I$(TOP)/include eglgears.c
|
$(CC) -c $(CFLAGS) -I$(TOP)/include eglgears.c
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user