Compare commits
395 Commits
mesa-12.0.
...
11.1
Author | SHA1 | Date | |
---|---|---|---|
|
c0eef17b13 | ||
|
514a330cc0 | ||
|
cdad60fb8e | ||
|
9c5fd81b39 | ||
|
fb78982721 | ||
|
b4d11f93b9 | ||
|
3a0118e3a4 | ||
|
7140f95860 | ||
|
cfbdeaf2a0 | ||
|
b76fe1fa52 | ||
|
cc42fa001f | ||
|
4a5fa6d20c | ||
|
970941fa86 | ||
|
7cd7d19422 | ||
|
5a856e8185 | ||
|
be72987a3d | ||
|
98c07b6af1 | ||
|
4a5f2332b2 | ||
|
de9cbb2eb6 | ||
|
5fc737541c | ||
|
5f9ca20dbe | ||
|
3f40f8e4f2 | ||
|
f64bcc7f7d | ||
|
97f91d88c0 | ||
|
c6acc7812f | ||
|
bf37eeb166 | ||
|
2a88239dae | ||
|
7b263ea528 | ||
|
dd5dd62c34 | ||
|
ef4e4fb445 | ||
|
0058e9ac50 | ||
|
08c747374c | ||
|
68ecc39aba | ||
|
b13a734b52 | ||
|
d7497f9ce9 | ||
|
03ae3ad380 | ||
|
5880b15971 | ||
|
0faa3a3662 | ||
|
2274ec7dba | ||
|
9009d58eba | ||
|
584fc12ccf | ||
|
cf1a04c414 | ||
|
58a7d3cfcb | ||
|
596c6504b3 | ||
|
ca2fbf6f8f | ||
|
53a886ec31 | ||
|
3eb4fd8891 | ||
|
fd1e4331ee | ||
|
48d14b5290 | ||
|
55375c14ce | ||
|
760f8ead09 | ||
|
c91c7de52d | ||
|
75afb4ca6e | ||
|
a785cccc70 | ||
|
e8cb96f83d | ||
|
fbc184041e | ||
|
9383b06d3e | ||
|
868cf20717 | ||
|
8b4eb0f123 | ||
|
e097adc8b4 | ||
|
0bcf45cf8d | ||
|
5b1877c8ae | ||
|
7521241091 | ||
|
6771e866d0 | ||
|
5d8ba0232e | ||
|
b2c280915a | ||
|
625ffe33ab | ||
|
dde6d0efba | ||
|
d9d703ee22 | ||
|
a132394ca4 | ||
|
e53e9b9a36 | ||
|
adc355ec4e | ||
|
5352835d0a | ||
|
6dff29d926 | ||
|
79ba53f574 | ||
|
9c04a9c0f5 | ||
|
56159c2800 | ||
|
9bfc47358d | ||
|
b2ac03a8fc | ||
|
4a6aa3d978 | ||
|
3afee5e82f | ||
|
09d1434fd7 | ||
|
def3c848b3 | ||
|
51bd5f4fc4 | ||
|
b5f811e045 | ||
|
1ad8541963 | ||
|
eadc1b6134 | ||
|
4a1bc9dcf3 | ||
|
2a399fccf4 | ||
|
e8dd18dce6 | ||
|
15bc51572e | ||
|
3db8c9417b | ||
|
b21e484b8f | ||
|
adabc628e2 | ||
|
6bd66f8588 | ||
|
029abaa1cb | ||
|
8d9d25a71e | ||
|
c95a045980 | ||
|
89e92ef5b5 | ||
|
37e712795a | ||
|
3f1b0c3200 | ||
|
7cafcf5d24 | ||
|
0f401ea5f6 | ||
|
c786f890cd | ||
|
9ac357a338 | ||
|
bee3d391ec | ||
|
496ab03cb5 | ||
|
82b564812c | ||
|
fcad8356a4 | ||
|
2a4299a7f6 | ||
|
7fed1d299d | ||
|
ebf97bc637 | ||
|
df5ed52641 | ||
|
cefb7c44ca | ||
|
6847733bb4 | ||
|
a85e5044c5 | ||
|
5c9e9e1f00 | ||
|
4687027197 | ||
|
161a0a9784 | ||
|
0a7097a17e | ||
|
6d54a6582e | ||
|
df41d912fb | ||
|
ac887fee2a | ||
|
374ba5d855 | ||
|
c1dac9218e | ||
|
c58258558f | ||
|
3b9437c701 | ||
|
16958f7171 | ||
|
729a8c528d | ||
|
b09d082e81 | ||
|
cd886e8ac3 | ||
|
777ba349cd | ||
|
7e103fe53f | ||
|
44e5f03edb | ||
|
ed14107645 | ||
|
9427c7e897 | ||
|
88615b66ed | ||
|
a2dd9b49f0 | ||
|
27fa53c6d0 | ||
|
e49dd21bcb | ||
|
7bcd827806 | ||
|
ac65994a8e | ||
|
185ee6b612 | ||
|
25fc54992e | ||
|
37aed85969 | ||
|
3adf111821 | ||
|
f5f021ecc5 | ||
|
3ef2a4bb2e | ||
|
12888ad942 | ||
|
0f7d3d661d | ||
|
7cb93f77f2 | ||
|
03eb1716dd | ||
|
4865ab2b43 | ||
|
045e269a92 | ||
|
761e3fda6e | ||
|
7e1bd26d54 | ||
|
e5d37f16e0 | ||
|
e22133f1bf | ||
|
6dbb144b3d | ||
|
4ba352dc80 | ||
|
e101a005b1 | ||
|
65dfe8ba5f | ||
|
ae0733e2a1 | ||
|
e8ae0e75fe | ||
|
6e86513db9 | ||
|
ee5d530d33 | ||
|
27d2dbd447 | ||
|
4b88e1f758 | ||
|
ebd01a0910 | ||
|
55c88cf8d1 | ||
|
c251d62ccb | ||
|
c4746503ca | ||
|
a15cf952dc | ||
|
f9763f24ad | ||
|
288e760597 | ||
|
4f760d768d | ||
|
615c5a7fc8 | ||
|
681415e7f0 | ||
|
ce09b50e7a | ||
|
ca6440ac33 | ||
|
dac0229791 | ||
|
c7beaa4b4e | ||
|
cd33a4981d | ||
|
96736d3345 | ||
|
19c8a5bf7e | ||
|
feea2407e4 | ||
|
4b2d9f29e9 | ||
|
330aa44a0d | ||
|
e429500dd1 | ||
|
bf00b36c9d | ||
|
fab2039588 | ||
|
536c8cbcd3 | ||
|
978480d69f | ||
|
c2be35d309 | ||
|
df47b1e078 | ||
|
bb3581ca3d | ||
|
132131af6b | ||
|
f4977656c1 | ||
|
b2352d7585 | ||
|
6c69561068 | ||
|
343fc2c3a3 | ||
|
703ad59748 | ||
|
7aab081f98 | ||
|
73844f6edf | ||
|
1415b6b0ae | ||
|
e468d4b1d6 | ||
|
b95dc1a5c8 | ||
|
a8a7af68e8 | ||
|
56318a9899 | ||
|
28680b36e8 | ||
|
96e931fea1 | ||
|
48b580d1cc | ||
|
d4d2315d65 | ||
|
ca30800dfd | ||
|
04f01a844a | ||
|
6bb88aa04b | ||
|
a1843802f8 | ||
|
259734ae3f | ||
|
10ec6685d0 | ||
|
89d585357a | ||
|
bdf289e7fb | ||
|
ab0b96a939 | ||
|
d4474a96df | ||
|
66e0a26b56 | ||
|
242146977f | ||
|
a98bc49997 | ||
|
0193dc6a42 | ||
|
55d9c80d21 | ||
|
070dbfa810 | ||
|
ceb00fb1b9 | ||
|
408fcfedee | ||
|
f9dd8468b1 | ||
|
2b526fc2d9 | ||
|
4974996545 | ||
|
a1ca42a9ee | ||
|
fce9699bca | ||
|
86100d4ca9 | ||
|
c054b2dd33 | ||
|
47fa06c839 | ||
|
525f3c2c28 | ||
|
5a616125ac | ||
|
a8b2698494 | ||
|
7753691f1a | ||
|
ce914d941d | ||
|
300f807649 | ||
|
61a275b789 | ||
|
0f3892ed9d | ||
|
3d942ee4e5 | ||
|
efdf841238 | ||
|
5913a8c9ec | ||
|
3c9e76fc24 | ||
|
67b1e7b947 | ||
|
0586c5844f | ||
|
7d226ee279 | ||
|
36ff210d0e | ||
|
017f4755fd | ||
|
61cb4db868 | ||
|
34785fb7b9 | ||
|
22d6bf5078 | ||
|
9908d19699 | ||
|
a500109aad | ||
|
0e78a67709 | ||
|
4bb16d712a | ||
|
950e9886d0 | ||
|
dff89432d8 | ||
|
499d409a20 | ||
|
a16f5195ef | ||
|
f65b790089 | ||
|
aa19234943 | ||
|
66f216d8ce | ||
|
4d34038ae5 | ||
|
781a68555d | ||
|
e0b11bcc87 | ||
|
359679cb33 | ||
|
fcf6091521 | ||
|
aa5082b135 | ||
|
1df00e17d3 | ||
|
ad3df9d168 | ||
|
e4cf550501 | ||
|
ecf2885d7f | ||
|
fc59ca4064 | ||
|
396fbdc721 | ||
|
50ac2100df | ||
|
08cf0f8529 | ||
|
ba51596b1d | ||
|
3d13bb8851 | ||
|
3bf2c6b96a | ||
|
5ab1bb4bec | ||
|
c5ca18ec2f | ||
|
f6cca7a0c9 | ||
|
ae649bf1ad | ||
|
132303cfe4 | ||
|
9df2431194 | ||
|
dd409e2a41 | ||
|
38c770ec29 | ||
|
d8450616d9 | ||
|
c9fe9e4b42 | ||
|
693e938321 | ||
|
7a0661839b | ||
|
4c234d183b | ||
|
b37189523e | ||
|
20db46c227 | ||
|
b2a5efb56f | ||
|
38c645b60a | ||
|
2dff4c6fa7 | ||
|
d81ddb3ed8 | ||
|
c25c1dbf51 | ||
|
bed982c4b7 | ||
|
dcaf3989d1 | ||
|
996a4958da | ||
|
0cf5a8159f | ||
|
6cc9a53d84 | ||
|
0a51e77fa1 | ||
|
ca6d0a3dbe | ||
|
4ae9142f8b | ||
|
aff9f8a6f7 | ||
|
b0b163c82a | ||
|
f70574c835 | ||
|
26dff8a7bb | ||
|
ea21336d15 | ||
|
7f6e9c5f59 | ||
|
0828391a34 | ||
|
75b6f14ab8 | ||
|
69df6ac272 | ||
|
0f53b2010c | ||
|
67be605b96 | ||
|
be20f1d7c1 | ||
|
15344c978b | ||
|
f1bb27acc5 | ||
|
dd37db0c80 | ||
|
8e3fbb90a9 | ||
|
79f3aaca4f | ||
|
f9a2bd212a | ||
|
aefd6769e8 | ||
|
82a363b851 | ||
|
b3183c81c4 | ||
|
f5e508649d | ||
|
31546c0e8f | ||
|
6b149bedc3 | ||
|
7a4ba7bfad | ||
|
ef6769f18f | ||
|
a71db1c46e | ||
|
88cd21fefb | ||
|
97d4954f3f | ||
|
3d525c8650 | ||
|
9b9fff6830 | ||
|
3d09bede30 | ||
|
aad5c7d1ca | ||
|
323161333c | ||
|
80febef0ad | ||
|
cf70584907 | ||
|
96e1bf8791 | ||
|
34521c2840 | ||
|
6a71090002 | ||
|
88fd679706 | ||
|
bb7a1ee11f | ||
|
7a41162b45 | ||
|
5e853a4f01 | ||
|
2e073938d0 | ||
|
30e1c390b3 | ||
|
72e51e5dfa | ||
|
902378d6c8 | ||
|
f6f127b597 | ||
|
a2f2329cdd | ||
|
642b66291c | ||
|
06c3ed8d21 | ||
|
cfbb08168a | ||
|
43b0b8a9a3 | ||
|
85b6f905e1 | ||
|
6a6326dcd4 | ||
|
17a64701cb | ||
|
cb4f6e2a30 | ||
|
8c564f0376 | ||
|
3d2bf5a5f5 | ||
|
d1b7a1f5af | ||
|
9c2a7cfbbf | ||
|
089fa07dee | ||
|
7ebc8c36a0 | ||
|
79468fac69 | ||
|
756e323f2c | ||
|
507732ea3d | ||
|
01909c1f29 | ||
|
76b155c9cd | ||
|
4a5c29d877 | ||
|
bf3f0b9e9b | ||
|
e097324fee | ||
|
aa607c69af | ||
|
72470a9c37 | ||
|
de299e1e2e | ||
|
ded66b1451 | ||
|
b7b4104a7f | ||
|
236fb067a5 | ||
|
2d9093fdf0 | ||
|
d757c04215 | ||
|
f9339359d5 |
@@ -5,7 +5,6 @@
|
||||
(c-file-style . "stroustrup")
|
||||
(fill-column . 78)
|
||||
(eval . (progn
|
||||
(c-set-offset 'case-label '0)
|
||||
(c-set-offset 'innamespace '0)
|
||||
(c-set-offset 'inline-open '0)))
|
||||
)
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -34,7 +34,6 @@ aclocal.m4
|
||||
config.log
|
||||
config.status
|
||||
cscope*
|
||||
tags
|
||||
.scon*
|
||||
config.py
|
||||
build
|
||||
@@ -47,5 +46,3 @@ manifest.txt
|
||||
Makefile
|
||||
Makefile.in
|
||||
.install-mesa-links
|
||||
.install-gallium-links
|
||||
/src/git_sha1.h
|
||||
|
460
.mailmap
460
.mailmap
@@ -1,460 +0,0 @@
|
||||
Aapo Tahkola <aet@rasterburn.org> <aapo@aapo-desktop.(none)>
|
||||
|
||||
Adam Jackson <ajax@redhat.com> <ajax@benzedrine.nwnk.net>
|
||||
Adam Jackson <ajax@redhat.com> <ajax@freedesktop.org>
|
||||
|
||||
Adrian Marius Negreanu <adrian.m.negreanu@intel.com> Adrian Negreanu <adrian.m.negreanu@intel.com>
|
||||
Adrian Marius Negreanu <adrian.m.negreanu@intel.com> Negreanu Marius Adrian <adrian.m.negreanu@intel.com>
|
||||
|
||||
Dave Airlie <airlied@redhat.com> <airliedfreedesktop.org>
|
||||
Dave Airlie <airlied@redhat.com> airlied <airlied@unused-12-215.bne.redhat.com>
|
||||
Dave Airlie <airlied@redhat.com> <airlied@dhcp-1-203.bne.redhat.com>
|
||||
Dave Airlie <airlied@redhat.com> <airlied@gmail.com>
|
||||
Dave Airlie <airlied@redhat.com> <airlied@itt42.(none)>
|
||||
Dave Airlie <airlied@redhat.com> <airlied@linux.ie>
|
||||
Dave Airlie <airlied@redhat.com> <airlied@nx6125b.(none)>
|
||||
Dave Airlie <airlied@redhat.com> <airlied@panoply-rh.(none)>
|
||||
Dave Airlie <airlied@redhat.com> <airlied@ppcg5.localdomain>
|
||||
|
||||
Alan Coopersmith <alan.coopersmith@oracle.com> <alan.coopersmith@sun.com>
|
||||
|
||||
Alan Hourihane <alanh@vmware.com> <alanh@tungstengraphics.com>
|
||||
Alan Hourihane <alanh@vmware.com> <alanh@fairlite.demon.co.uk>
|
||||
Alan Hourihane <alanh@vmware.com> <alanh@jetpack.(none)>
|
||||
|
||||
Alexander Monakov <amonakov@gmail.com> <amonakov@ispras.ru>
|
||||
|
||||
Alexander von Gluck IV <kallisti5@unixzen.com> Alexander von Gluck <kallisti5@unixzen.com>
|
||||
|
||||
Alex Corscadden <alexc@vmware.com> <alexc@alexc-dev1.prom.eng.vmware.com>
|
||||
Alex Corscadden <alexc@vmware.com> <alexc@alexc-dev1.vmware.com>
|
||||
|
||||
Alex Deucher <alexdeucher@gmail.com> <alexander.deucher@amd.com>
|
||||
Alex Deucher <alexdeucher@gmail.com> <agd5f@yahoo.com>
|
||||
Alex Deucher <alexdeucher@gmail.com> <alex@botch2.com>
|
||||
Alex Deucher <alexdeucher@gmail.com> <alex@botch2.(none)>
|
||||
Alex Deucher <alexdeucher@gmail.com> <alex@cube.(none)>
|
||||
Alex Deucher <alexdeucher@gmail.com> <alex@samba.(none)>
|
||||
|
||||
Andreas Fänger <a.faenger@e-sign.com> <a.faenger@e-sign.com>
|
||||
|
||||
Andreas Hartmetz <ahartmetz@gmail.com> <andreas.hartmetz@kdab.com>
|
||||
|
||||
Andre Heider <a.heider@gmail.com>
|
||||
Andreas Heider <andreas@heider.io>
|
||||
|
||||
Andreas Pokorny <andreas.pokorny@canonical.com> <andreas.pokorny@elektrobit.com>
|
||||
|
||||
Andrew Randrianasulu <randrianasulu@gmail.com> <randrik_a@yahoo.com>
|
||||
Andrew Randrianasulu <randrianasulu@gmail.com> <randrik@mail.ru>
|
||||
|
||||
Arthur Huillet <arthur.huillet@free.fr> Arthur HUILLET <arthur.huillet@free.fr>
|
||||
|
||||
Benjamin Franzke <benjaminfranzke@googlemail.com> ben <benjaminfranzke@googlemail.com>
|
||||
|
||||
Ben Skeggs <bskeggs@redhat.com> <darktama@beleth.(none)>
|
||||
Ben Skeggs <bskeggs@redhat.com> <darktama@iinet.net.au>
|
||||
Ben Skeggs <bskeggs@redhat.com> <darktama@nisroch.keine.ath.cx>
|
||||
Ben Skeggs <bskeggs@redhat.com> <skeggsb-at-gmail.com>
|
||||
Ben Skeggs <bskeggs@redhat.com> <skeggsb@gmail.com>
|
||||
Ben Skeggs <bskeggs@redhat.com> <skeggsb@localhost.localdomain>
|
||||
Ben Skeggs <bskeggs@redhat.com> <skeggsb@nisroch.keine.ath.cx>
|
||||
|
||||
Ben Widawsky <benjamin.widawsky@intel.com> Ben Widawsky <ben@bwidawsk.net>
|
||||
|
||||
Blair Sadewitz <blair.sadewitz@gmail.com> Blair Sadewitz <blair.sadewitz.gmail.com>
|
||||
|
||||
Boris Peterbarg <reist@users.sourceforge.net> reist <reist>
|
||||
|
||||
Brian Paul <brianp@vmware.com> Brian <brian.paul@tungstengraphics.com>
|
||||
Brian Paul <brianp@vmware.com> <brian.paul@tungstengraphics.com>
|
||||
Brian Paul <brianp@vmware.com> <brian.e.paul@gmail.com>
|
||||
Brian Paul <brianp@vmware.com> <brianp@kemper.freedesktop.org>
|
||||
Brian Paul <brianp@vmware.com> brian <brian@cvp965.(none)>
|
||||
Brian Paul <brianp@vmware.com> Brian <brian@i915.localnet.net>
|
||||
Brian Paul <brianp@vmware.com> Brian <brian@nostromo.localnet.net>
|
||||
Brian Paul <brianp@vmware.com> Brian <brian@poulsbo.localnet.net>
|
||||
Brian Paul <brianp@vmware.com> Brian <brian@ps3.localnet.net>
|
||||
Brian Paul <brianp@vmware.com> Brian <brianp@vmware.com>
|
||||
Brian Paul <brianp@vmware.com> Brian <brian@yutani.localnet.net>
|
||||
Brian Paul <brianp@vmware.com> root <brian.paul@tungstengraphics.com>
|
||||
Brian Paul <brianp@vmware.com> root <root@i915.localnet.net>
|
||||
Brian Paul <brianp@vmware.com> root <root@nostromo.localnet.net>
|
||||
Brian Paul <brianp@vmware.com> root <root@i965.localnet.net>
|
||||
|
||||
Bruce Merry <bmerry@users.sourceforge.net> <bmerry@gmail.com>
|
||||
|
||||
Carl-Philip Hänsch <cphaensch@googlemail.com> Carl-Philip Haensch <s3734770@mail.zih.tu-dresden.de>
|
||||
Carl-Philip Hänsch <cphaensch@googlemail.com> Carl-Philip Haensch <carli@carli-laptop.(none)>
|
||||
Carl-Philip Hänsch <cphaensch@googlemail.com> Carl-Philip Haensch <Carl-Philip.Haensch@mailbox.tu-dresden.de>
|
||||
|
||||
Chad Versace <chad.versace@intel.com> <chad@chad-versace.us>
|
||||
Chad Versace <chad.versace@intel.com> <Chad Versace chad@chad-versace.us>
|
||||
Chad Versace <chad.versace@intel.com> <chad.versace@linux.intel.com>
|
||||
|
||||
Chia-I Wu <olvaffe@gmail.com> <olv@lunarg.com>
|
||||
Chia-I Wu <olvaffe@gmail.com> Chia-Wu <olvaffe@gmail.com>
|
||||
|
||||
Chih-Wei Huang <cwhuang@linux.org.tw> Chih-Wei Huang <cwhuang@android-x86.org>
|
||||
|
||||
Christian König <christian.koenig@amd.com> Christian Koenig <christian.koenig@amd.com>
|
||||
Christian König <christian.koenig@amd.com> Christian König <christian.koenig at amd.com>
|
||||
Christian König <christian.koenig@amd.com> Christian König <deathsimple@vodafone.de>
|
||||
|
||||
Christoph Brill <egore911@egore911.de> Christoph Bill <egore@gmx.de>
|
||||
Christoph Brill <egore911@egore911.de> <egore@gmx.de>
|
||||
|
||||
Christoph Bumiller <christoph.bumiller@speed.at> <e0425955@student.tuwien.ac.at>
|
||||
|
||||
Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> Christopher James Halse Rogers <raof@ubuntu.com>
|
||||
|
||||
Claudio Ciccani <klan@directfb.org> <klan@users.sf.net>
|
||||
Claudio Ciccani <klan@directfb.org> <klan@users.sourceforge.net>
|
||||
|
||||
Connor Abbott <cwabbott0@gmail.com> <connor.w.abbott@intel.com>
|
||||
Connor Abbott <cwabbott0@gmail.com> <connor.abbott@intel.com>
|
||||
|
||||
Corbin Simpson <MostAwesomeDude@gmail.com> <mostawesomed...@gmail.com>
|
||||
Corbin Simpson <MostAwesomeDude@gmail.com> <mostawesomedude@gmail.com>
|
||||
|
||||
Courtney Goeltzenleuchter <courtney@lunarg.com> <courtney@LunarG.com>
|
||||
|
||||
Daniel Skinner <sio@users.sourceforge.net> sio <sio>
|
||||
|
||||
Daniel Stone <daniels@collabora.com> <daniel@fooishbar.org>
|
||||
|
||||
David Miller <davem@davemloft.net> David S. Miller <davem@davemloft.net>
|
||||
David Miller <davem@davemloft.net> Dave Miller <davem@davemloft.net>
|
||||
David Miller <davem@davemloft.net> davem69 <davem69>
|
||||
|
||||
David Heidelberger <david.heidelberger@ixit.cz> David Heidelberg <david@ixit.cz>
|
||||
David Heidelberger <david.heidelberger@ixit.cz> <d.okias@gmail.com>
|
||||
|
||||
David Reveman <reveman@chromium.org> <c99drn@cs.umu.se>
|
||||
|
||||
Dieter Nützel <Dieter@nuetzel-hh.de> Dieter Nützel <dieter@nuetzel-hh.de>
|
||||
|
||||
Dmitry Cherkassov <dcherkassov@gmail.com> Dmitry Cherkasov <dcherkassov@gmail.com>
|
||||
|
||||
Dylan Baker <dylanx.c.baker@intel.com> <baker.dylan.c@gmail.com>
|
||||
|
||||
Emeric Grange <emeric.grange@gmail.com> Emeric <emeric.grange@gmail.com>
|
||||
|
||||
Emil Velikov <emil.l.velikov@gmail.com> <emil.velikov@collabora.com>
|
||||
|
||||
Eric Anholt <eric@anholt.net> Eric Anholt <anholt@FreeBSD.org>
|
||||
|
||||
Eugeni Dodonov <eugeni.dodonov@intel.com> <eugeni@mandriva.com>
|
||||
|
||||
Fabian Bieler <der.fabe@gmx.net> <fabianbieler@fastmail.fm>
|
||||
Fabian Bieler <der.fabe@gmx.net> <<der.fabe@gmx.net>>
|
||||
|
||||
Feng, Haitao <haitao.feng@intel.com> Haitao Feng <haitao.feng@intel.com>
|
||||
|
||||
Frank Henigman <fjhenigman@google.com> <fjhenigman@chromium.org>
|
||||
|
||||
George Sapountzis <gsapountzis@gmail.com> George Sapountzis <gsap7@yahoo.gr>
|
||||
|
||||
Gwenole Beauchesne <gwenole.beauchesne@intel.com> <gb.devel@gmail.com>
|
||||
|
||||
Hamish Marson <hmarson@users.sourceforge.net> hmarson <hmarson>
|
||||
|
||||
Hans de Goede <hdegoede@redhat.com> Hans de Goede <j.w..r..degoede@hhs.nl>
|
||||
|
||||
Homer Hsing <dongsheng.xing@intel.com> <homer.hsing@gmail.com>
|
||||
|
||||
Hui Qi Tay <hqtay@vmware.com> <tayhuiqithq@gmail.com>
|
||||
|
||||
Ian Romanick <ian.d.romanick@intel.com> <idr@freedesktop.org>
|
||||
Ian Romanick <ian.d.romanick@intel.com> <idr@us.ibm.com>
|
||||
|
||||
Jakob Bornecrantz <wallbraker@gmail.com> <jakob@vmware.com>
|
||||
Jakob Bornecrantz <wallbraker@gmail.com> <jakob@aurora.(none)>
|
||||
Jakob Bornecrantz <wallbraker@gmail.com> <jakob@aurora.walkyrie.se>
|
||||
Jakob Bornecrantz <wallbraker@gmail.com> <jakob@tungstengraphics.com>
|
||||
Jakob Bornecrantz <wallbraker@gmail.com> <wallbraker 'at' gmail 'dot' com>
|
||||
|
||||
Jakub Bogusz <qboosh@pld-linux.org> <gboosh@pld-linux.org>
|
||||
|
||||
James Legg <jlegg@feralinteractive.com> <lankyleggy@gmail.com>
|
||||
|
||||
Jan Vesely <jano.vesely@gmail.com> Jan Vesely <jan.vesely@rutgers.edu>
|
||||
|
||||
Jason Ekstrand <jason@jlekstrand.net> <jason.ekstrand@intel.com>
|
||||
|
||||
Jeremy Huddleston <jeremyhu@apple.com> <jeremyhu@freedesktop.org>
|
||||
Jeremy Huddleston <jeremyhu@apple.com> <jeremy@tifa.local>
|
||||
Jeremy Huddleston <jeremyhu@apple.com> <jeremy@vincent.local>
|
||||
Jeremy Huddleston <jeremyhu@apple.com> <jeremy@yuffie.local>
|
||||
Jeremy Huddleston <jeremyhu@apple.com> Jeremy Huddleston Sequoia <jeremyhu@apple.com>
|
||||
|
||||
Jeremy Kolb <jkolb@freedesktop.org> <jkolb@brandeis.edu>
|
||||
|
||||
Jerome Glisse <jglisse@redhat.com> <glisse@freedesktop.org>
|
||||
Jerome Glisse <jglisse@redhat.com> <glisse@kemper.freedesktop.org>
|
||||
Jerome Glisse <jglisse@redhat.com> John Doe <glisse@barney.(none)>
|
||||
Jerome Glisse <jglisse@redhat.com> John Doe <glisse@localhost.localdomain>
|
||||
|
||||
Jesse Barnes <jesse.barnes@intel.com> <jbarnes@hobbes.lan>
|
||||
Jesse Barnes <jesse.barnes@intel.com> <jbarnes@hobbes.(none)>
|
||||
Jesse Barnes <jesse.barnes@intel.com> <jbarnes@jbarnes-desktop.localdomain>
|
||||
Jesse Barnes <jesse.barnes@intel.com> <jbarnes@jbarnes-t61.(none)>
|
||||
Jesse Barnes <jesse.barnes@intel.com> <jbarnes@virtuousgeek.org>
|
||||
|
||||
Joakim Sindholt <bacn@zhasha.com> <opensource@zhasha.com>
|
||||
Joakim Sindholt <bacn@zhasha.com> <zhasha@gallium-dev.(none)>
|
||||
|
||||
Jochen Gerlach <jtg@users.sourceforge.net> jtg <jtg>
|
||||
|
||||
Joel Bosveld <joel.bosveld@gmail.com> <Joel.Bosveld@gmail.com>
|
||||
|
||||
Jonathan Adamczewski <jadamcze@utas.edu.au> <jadamcze@utas.edu.a>
|
||||
|
||||
Jon Turney <jon.turney@dronecode.org.uk> Jon TURNEY <jon.turney@dronecode.org.uk>
|
||||
|
||||
José Fonseca <jfonseca@vmware.com> Jose Fonseca <jfonseca@vmware.com>
|
||||
José Fonseca <jfonseca@vmware.com> Jose Fonseca <jrfonseca@tungstengraphics.com>
|
||||
José Fonseca <jfonseca@vmware.com> <jfonseca@pegasus.(none)>
|
||||
José Fonseca <jfonseca@vmware.com> <jfonseca@titan.(none)>
|
||||
José Fonseca <jfonseca@vmware.com> <jose.r.fonseca@gmail.com>
|
||||
José Fonseca <jfonseca@vmware.com> <jrfonseca@tungstengraphics.com>
|
||||
José Fonseca <jfonseca@vmware.com> <j_r_fonseca@yahoo.co.uk>
|
||||
|
||||
Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk Jansen <jouk@hrem.nano.tudelft.nl>
|
||||
Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk Jansen <joukj@hrem.stm.tudelft.nl>
|
||||
Jouk Jansen <joukj@hrem.nano.tudelft.nl> joukj <joukj@tarantella.(none)>
|
||||
Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk <joukj@tarantella.nano.tudelft.nl>
|
||||
Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk <joukj@tarantella.(none)>
|
||||
Jouk Jansen <joukj@hrem.nano.tudelft.nl> J.Jansen <joukj@tarantella.nano.tudelft.nl>
|
||||
|
||||
Juan Zhao <juan.j.zhao@intel.com> <juan.j.zhao@linux.intel.com>
|
||||
|
||||
Julien Cristau <jcristau@debian.org> <julien.cristau@logilab.fr>
|
||||
|
||||
Julien Isorce <j.isorce@samsung.com> <julien.isorce@gmail.com>
|
||||
|
||||
Kalyan Kondapally <kalyan.kondapally@intel.com> <kondapallykalyancontribute@gmail.com>
|
||||
|
||||
Karl Schultz <karl.w.schultz@gmail.com> Karl Schultze <k.w.schultz@comcast.net>
|
||||
Karl Schultz <karl.w.schultz@gmail.com> unknown <kwschult@.na.qualcomm.com>
|
||||
Karl Schultz <karl.w.schultz@gmail.com> <k.w.schultz@comcast.net>
|
||||
Karl Schultz <karl.w.schultz@gmail.com> <Karl.W.Schultz@gmail.com>
|
||||
Karl Schultz <karl.w.schultz@gmail.com> <kschultz@freedesktop.org>
|
||||
|
||||
Keith Harrison <sio2@users.sourceforge.net> sio2 <sio2>
|
||||
|
||||
Keith Packard <keithp@keithp.com> <keithp@koto.keithp.com>
|
||||
Keith Packard <keithp@keithp.com> <keithp@neko.keithp.com>
|
||||
|
||||
Keith Whitwell <keithw@vmware.com> <keith@tungstengraphics.com>
|
||||
Keith Whitwell <keithw@vmware.com> keithw <keithw@keithw-laptop.(none)>
|
||||
|
||||
Kristian Høgsberg <krh@bitplanet.net> <krh@redhat.com>
|
||||
Kristian Høgsberg <krh@bitplanet.net> <krh@hinata.boston.redhat.com>
|
||||
Kristian Høgsberg <krh@bitplanet.net> <krh@sasori.boston.redhat.com>
|
||||
Kristian Høgsberg <krh@bitplanet.net> <krh@temari.boston.redhat.com>
|
||||
Kristian Høgsberg <krh@bitplanet.net> <kristian.h.kristensen@intel.com>
|
||||
|
||||
Krzesimir Nowak <qdlacz@gmail.com> <krzesimir@kinvolk.io>
|
||||
|
||||
Li Peng <peng.li@intel.com> <peng.li@linux.intel.com>
|
||||
|
||||
Lucas Stach <dev@lynxeye.de> <l.stach@pengutronix.de>
|
||||
|
||||
Maarten Lankhorst <maarten.lankhorst@ubuntu.com> <dev@mblankhorst.nl>
|
||||
Maarten Lankhorst <maarten.lankhorst@ubuntu.com> <m.b.lankhorst@gmail.com>
|
||||
Maarten Lankhorst <maarten.lankhorst@ubuntu.com> <maarten.lankhorst@canonical.com>
|
||||
|
||||
Maciej Cencora <m.cencora@gmail.com> <maciej@osiris.(none)>
|
||||
|
||||
Marc-André Lureau <marcandre.lureau@gmail.com> Marc-Andre Lureau <marcandre.lureau@gmail.com>
|
||||
|
||||
Marc Dietrich <marvin24@gmx.de> Marc <marvin24@gmx.de>
|
||||
Marc Dietrich <marvin24@gmx.de> marvin24 <marvin24@gmx.de>
|
||||
|
||||
Marcin Ślusarz <marcin.slusarz@gmail.com> Marcin Slusarz <marcin.slusarz@gmail.com>
|
||||
|
||||
Marek Olšák <marek.olsak@amd.com> <maraeo@gmail.com>
|
||||
|
||||
Mario Kleiner <mario.kleiner.de@gmail.com> kleinerm <mario.kleiner@tuebingen.mpg.de>
|
||||
Mario Kleiner <mario.kleiner.de@gmail.com> <mario.kleiner@tuebingen.mpg.de>
|
||||
|
||||
Mark Mueller <markkmueller@gmail.com> <MarkKMueller@gmail.com>
|
||||
|
||||
Marta Lofstedt <marta.lofstedt@intel.com> <marta.lofstedt@linux.intel.com>
|
||||
|
||||
Martin Peres <martin.peres@linux.intel.com> <martin.peres@labri.fr>
|
||||
|
||||
Mathias Fröhlich <mathias.froehlich@gmx.net> Mathias Froehlich <Mathias.Froehlich@gmx.net>
|
||||
Mathias Fröhlich <mathias.froehlich@gmx.net> Mathias Froehlich <Mathias.Froehlich@web.de>
|
||||
Mathias Fröhlich <mathias.froehlich@gmx.net> Mathias Frohlich <M.Froehlich@science-computing.de>
|
||||
Mathias Fröhlich <mathias.froehlich@gmx.net> <frohlich8@users.sourceforge.net>
|
||||
Mathias Fröhlich <mathias.froehlich@gmx.net> <Mathias.Froehlich@gmx.net>
|
||||
Mathias Fröhlich <mathias.froehlich@gmx.net> <Mathias.Froehlich@web.de>
|
||||
Mathias Fröhlich <mathias.froehlich@gmx.net> M.Froehlich@science-computing.de <M.Froehlich@science-computing.de>
|
||||
|
||||
Matthew W. S. Bell <matthew@bells23.org.uk> Matthew Bell <matthew@bells23.org.uk>
|
||||
|
||||
Maxence Le Doré <maxence.ledore@gmail.com> Maxence Le Dore <maxence.ledore@gmail.com>
|
||||
|
||||
Micah Fedke <micah.fedke@collabora.co.uk> <M.Fedke@Astronautics.com>
|
||||
|
||||
Michal Krol <michal@vmware.com> <michal@tungstengraphics.com>
|
||||
Michal Krol <michal@vmware.com> Michal Krol <michal@ubuntu-vbox.(none)>
|
||||
Michal Krol <michal@vmware.com> Michal Krol <mjkrol@gmail.org>
|
||||
Michal Krol <michal@vmware.com> michal <michal@capacitor.(none)>
|
||||
Michal Krol <michal@vmware.com> michal <michal@michal-laptop.(none)>
|
||||
Michal Krol <michal@vmware.com> michal <michal@quad.(none)>
|
||||
Michal Krol <michal@vmware.com> michal <michal@transistor.(none)>
|
||||
Michal Krol <michal@vmware.com> Michal <michal@tungstengraphics.com>
|
||||
Michal Krol <michal@vmware.com> michal <michal@wmvare.com>
|
||||
|
||||
Michel Dänzer <michel@daenzer.net> <michel.daenzer@amd.com>
|
||||
Michel Dänzer <michel@daenzer.net> <daenzer@vmware.com>
|
||||
Michel Dänzer <michel@daenzer.net> <michel@tungstengraphics.com>
|
||||
Michel Dänzer <michel@daenzer.net> Michel Daenzer <michel.daenzer@amd.com>
|
||||
Michel Dänzer <michel@daenzer.net> Michel Daenzer <daenzer@localhost.(none)>
|
||||
|
||||
Mike Kaplinskiy <mike.kaplinskiy@gmail.com> Mike Kaplinksiy <mike.kaplinskiy@gmail.com>
|
||||
Mike Kaplinskiy <mike.kaplinskiy@gmail.com> <mike.kaplinskiy@gmai.com>
|
||||
|
||||
Mike Stroyan <mike@lunarg.com> <mike@LunarG.com>
|
||||
|
||||
Nian Wu <nian.wu@intel.com> <nian@graphics.(none)>
|
||||
Nian Wu <nian.wu@intel.com> <nian@tinderbox.sh.intel.com>
|
||||
|
||||
Nick Bowler <nbowler@draconx.ca>
|
||||
|
||||
Nick Sarnie <commendsarnex@gmail.com>
|
||||
|
||||
Nicolai Hähnle <nicolai.haehnle@amd.com> <nhaehnle@gmail.com>
|
||||
Nicolai Hähnle <nicolai.haehnle@amd.com> Nicolai Haehnle <nhaehnle@gmail.com>
|
||||
Nicolai Hähnle <nicolai.haehnle@amd.com> Nicolai Haehnle <prefect_@gmx.net>
|
||||
Nicolai Hähnle <nicolai.haehnle@amd.com> Nicolai Haehnle <prefect@upb.de>
|
||||
|
||||
Nigel Stewart <nigels@users.sourceforge.net> <nigels@sourceforge.net>
|
||||
Nigel Stewart <nigels@users.sourceforge.net> <nstewart@nvidia.com>
|
||||
|
||||
nobled <nobled@dreamwidth.org> <nobled2@nobled2-karmic.(none)>
|
||||
|
||||
Oliver McFadden <oliver.mcfadden@linux.intel.com> <z3ro.geek@gmail.com>
|
||||
|
||||
Owain Ainsworth <zerooa@googlemail.com> Owain G. Ainsworth <oga@openbsd.org>
|
||||
|
||||
Owen W. Taylor <otaylor@fishsoup.net> Owen Taylor <otaylor@snell.localdomain>
|
||||
|
||||
Patrice Mandin <patmandin@gmail.com> <patrice@manoir.racoon.city>
|
||||
Patrice Mandin <patmandin@gmail.com> <pmandin@caramail.com>
|
||||
Patrice Mandin <patmandin@gmail.com> <pmandin@freedesktop.org>
|
||||
|
||||
Pauli Nieminen <pauli.nieminen@linux.intel.com> <suokkos@gmail.com>
|
||||
|
||||
Paulo Zanoni <paulo.r.zanoni@intel.com> Paulo Zanoni <pzanoni@mandriva.com>
|
||||
|
||||
Paul Seidler <sepek@exherbo.org> Paul Seidler <pl.seidler@googlemail.com>
|
||||
|
||||
Pekka Paalanen <pekka.paalanen@collabora.co.uk> <ppaalanen@gmail.com>
|
||||
Pekka Paalanen <pekka.paalanen@collabora.co.uk> <pq@iki.fi>
|
||||
|
||||
Peter Hutterer <peter.hutterer@who-t.net> <peter@cs.unisa.edu.au>
|
||||
|
||||
Pierre-Eric Pelloux-Prayer <pelloux@gmail.com> pepp <pelloux@gmail.com>
|
||||
|
||||
Pierre Willenbrock <pierre@pirsoft.de> Pierre Willenbrok <pierre@pirsoft.de>
|
||||
|
||||
Quentin Glidic <sardemff7+git@sardemff7.net> <sardemff7@sardemff7.net>
|
||||
|
||||
RALOVICH, Kristóf <tade60@freemail.hu> <kristof.ralovich@gmail.com>
|
||||
|
||||
Richard Li <richardradeon@gmail.com> <RichardZ.Li@amd.com>
|
||||
# The next ones are not 100% sure
|
||||
Richard Li <richardradeon@gmail.com> richard <richard@richard-desktop3.(none)>
|
||||
Richard Li <richardradeon@gmail.com> richard <richard@richard-desktop.(none)>
|
||||
Richard Li <richardradeon@gmail.com> root <root@richard-desktop.(none)>
|
||||
|
||||
Richard Sandiford <rsandifo@linux.vnet.ibm.com> <r.sandiford@uk.ibm.com>
|
||||
|
||||
Rob Clark <robclark@freedesktop.org> <Rob Clark robdclark@freedesktop.org>
|
||||
Rob Clark <robclark@freedesktop.org> <robdclark@gmail.com>
|
||||
|
||||
Robert Bragg <robert@sixbynine.org> <robert@linux.intel.com>
|
||||
|
||||
Robert Ellison <papillo@vmware.com> <papillo@i965-laptop.(none)>
|
||||
Robert Ellison <papillo@vmware.com> <papillo@tungstengraphics.com>
|
||||
|
||||
Robert Hooker <sarvatt@ubuntu.com> <robert.hooker@canonical.com>
|
||||
|
||||
Roland Scheidegger <sroland@vmware.com> <rscheidegger@gmx.ch>
|
||||
Roland Scheidegger <sroland@vmware.com> <sroland@tungstengraphics.com>
|
||||
|
||||
Roy Spliet <rspliet@eclipso.eu> <r.spliet@student.tudelft.nl>
|
||||
|
||||
Rune Petersen <rune@megahurts.dk> Rune Peterson <rune@megahurts.dk>
|
||||
|
||||
Ryan Houdek <sonicadvance1@gmail.com> <Sonicadvance1@gmail.com>
|
||||
|
||||
Sam Hocevar <sam@hocevar.net> Sam Hocevar <sam@zoy.org>
|
||||
|
||||
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Samuel Iglesias Gonsalvez <siglesias@igalia.com>
|
||||
|
||||
Sean D'Epagnier <sean@depagnier.com> <geckosenator@freedesktop.org>
|
||||
|
||||
Serge Martin <edb+mesa@sigluy.net> Serge Martin (EdB) <edb+mesa@sigluy.net>
|
||||
Serge Martin <edb+mesa@sigluy.net> EdB <edb+mesa@sigluy.net>
|
||||
|
||||
Sinclair Yeh <syeh@vmware.com> <sinclair.yeh@intel.com>
|
||||
|
||||
Stefan Brüns <stefan.bruens@rwth-aachen.de> <Stefan.Bruens@rwth-aachen.de>
|
||||
|
||||
Stéphane Marchesin <marcheu@chromium.org> Stephane Marchesin <marchesin@icps.u-strasbg.fr>
|
||||
Stéphane Marchesin <marcheu@chromium.org> Stephane Marchesin <stephane.marchesin@gmail.com>
|
||||
|
||||
Sven M. Hallberg <pesco@users.sourceforge.net> pesco <pesco>
|
||||
|
||||
Tapani Pälli <tapani.palli@intel.com> <tapani.palli@gmail.com>
|
||||
Tapani Pälli <tapani.palli@intel.com> Tapani <tapani.palli@intel.com>
|
||||
|
||||
Thierry Reding <treding@nvidia.com> <thierry@gilfi.de>
|
||||
Thierry Reding <treding@nvidia.com> <thierry.reding@avionic-design.de>
|
||||
|
||||
Thierry Vignaud <thierry.vignaud@gmail.com> <tvignaud@mandriva.com>
|
||||
|
||||
Thomas Balling Sørensen <tball@io.dk> <tball@tball-laptop.(none)>
|
||||
|
||||
Thomas Hellstrom <thellstrom@vmware.com> Thomas <thellstrom@vmware.com>
|
||||
Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellstrom <thellstrom-at-vmware-dot-com>
|
||||
Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
|
||||
Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellstrom <thomas@tungstengraphics.com>
|
||||
Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellström <thomas@tungstengraphics.com>
|
||||
|
||||
Thomas Tanner <tanner@gmx.net> tanner <tanner>
|
||||
|
||||
Tilman Sauerbeck <tilman@code-monkey.de> <tilman@freedesktop.org>
|
||||
|
||||
Timothy Arceri <timothy.arceri@collabora.com> <t_arceri@yahoo.com.au>
|
||||
Timothy Arceri <timothy.arceri@collabora.com> Timothy <t_arceri@yahoo.com.au>
|
||||
|
||||
Tom Fogal <tfogal@alumni.unh.edu> <tfogal@sci.utah.edu>
|
||||
|
||||
Tom Stellard <thomas.stellard@amd.com> <tstellar@gmail.com>
|
||||
Tom Stellard <thomas.stellard@amd.com> Thomas Stellard <tom.stellard@amd.com>
|
||||
|
||||
Tormod Volden <debian.tormod@gmail.com> <lists.tormod@gmail.com>
|
||||
|
||||
Török Edwin <edwin+mesa@etorok.net> Török Edvin <edwintorok@gmail.com>
|
||||
Török Edwin <edwin+mesa@etorok.net> <edwintorok@gmail.com>
|
||||
|
||||
Ville Syrjälä <ville.syrjala@linux.intel.com> Ville Syrjala <syrjala@freedesktop.org>
|
||||
Ville Syrjälä <ville.syrjala@linux.intel.com> Ville Syrjala <syrjala@sci.fi>
|
||||
|
||||
Vincent Lejeune <vljn@ovi.com> <peluche.canard@gmail.com>
|
||||
|
||||
Vinson Lee <vlee@freedesktop.org> <vlee@vmware.com>
|
||||
|
||||
Zhenyu Wang <zhenyuw@linux.intel.com> Wang Zhenyu <zhenyu.z.wang@intel.com>
|
||||
|
||||
Zack Rusin <zackr@vmware.com> <zack@kde.org>
|
||||
Zack Rusin <zackr@vmware.com> <zack@pixel.(none)>
|
||||
Zack Rusin <zackr@vmware.com> <zack@tungstengraphics.com>
|
||||
|
||||
Zhang <zxpmyth@yahoo.com.cn> zhang <zxpmyth@yahoo.com.cn>
|
101
.travis.yml
101
.travis.yml
@@ -1,101 +0,0 @@
|
||||
language: c
|
||||
|
||||
sudo: false
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.ccache
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libdrm-dev
|
||||
- libudev-dev
|
||||
- x11proto-xf86vidmode-dev
|
||||
- libexpat1-dev
|
||||
- libxcb-dri2-0-dev
|
||||
- libx11-xcb-dev
|
||||
- llvm-3.4-dev
|
||||
- scons
|
||||
|
||||
env:
|
||||
global:
|
||||
- XORG_RELEASES=http://xorg.freedesktop.org/releases/individual
|
||||
- XCB_RELEASES=http://xcb.freedesktop.org/dist
|
||||
- XORGMACROS_VERSION=util-macros-1.19.0
|
||||
- GLPROTO_VERSION=glproto-1.4.17
|
||||
- DRI2PROTO_VERSION=dri2proto-2.8
|
||||
- DRI3PROTO_VERSION=dri3proto-1.0
|
||||
- PRESENTPROTO_VERSION=presentproto-1.0
|
||||
- LIBPCIACCESS_VERSION=libpciaccess-0.13.4
|
||||
- LIBDRM_VERSION=libdrm-2.4.65
|
||||
- XCBPROTO_VERSION=xcb-proto-1.11
|
||||
- LIBXCB_VERSION=libxcb-1.11
|
||||
- LIBXSHMFENCE_VERSION=libxshmfence-1.2
|
||||
- PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig
|
||||
matrix:
|
||||
- BUILD=make
|
||||
- BUILD=scons
|
||||
|
||||
install:
|
||||
- export PATH="/usr/lib/ccache:$PATH"
|
||||
- pip install --user mako
|
||||
|
||||
# Install dependencies where we require specific versions (or where
|
||||
# disallowed by Travis CI's package whitelisting).
|
||||
|
||||
- wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
|
||||
- tar -jxvf $XORGMACROS_VERSION.tar.bz2
|
||||
- (cd $XORGMACROS_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2
|
||||
- tar -jxvf $GLPROTO_VERSION.tar.bz2
|
||||
- (cd $GLPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2
|
||||
- tar -jxvf $DRI2PROTO_VERSION.tar.bz2
|
||||
- (cd $DRI2PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XORG_RELEASES/proto/$DRI3PROTO_VERSION.tar.bz2
|
||||
- tar -jxvf $DRI3PROTO_VERSION.tar.bz2
|
||||
- (cd $DRI3PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XORG_RELEASES/proto/$PRESENTPROTO_VERSION.tar.bz2
|
||||
- tar -jxvf $PRESENTPROTO_VERSION.tar.bz2
|
||||
- (cd $PRESENTPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
|
||||
- tar -jxvf $XCBPROTO_VERSION.tar.bz2
|
||||
- (cd $XCBPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
|
||||
- tar -jxvf $LIBXCB_VERSION.tar.bz2
|
||||
- (cd $LIBXCB_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2
|
||||
- tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2
|
||||
- (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget http://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
|
||||
- tar -jxvf $LIBDRM_VERSION.tar.bz2
|
||||
- (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
- wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2
|
||||
- tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2
|
||||
- (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install)
|
||||
|
||||
# Disabled LLVM (and therefore r300 and r600) because the build fails
|
||||
# with "undefined reference to `clock_gettime'" and "undefined
|
||||
# reference to `setupterm'" in llvmpipe.
|
||||
script:
|
||||
- if test "x$BUILD" = xmake; then
|
||||
./autogen.sh --enable-debug
|
||||
--disable-gallium-llvm
|
||||
--with-egl-platforms=x11,drm
|
||||
--with-dri-drivers=i915,i965,radeon,r200,swrast,nouveau
|
||||
--with-gallium-drivers=svga,swrast,vc4,virgl
|
||||
;
|
||||
make && make check;
|
||||
elif test x$BUILD = xscons; then
|
||||
scons;
|
||||
fi
|
@@ -21,8 +21,13 @@
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# use c99 compiler by default
|
||||
ifeq ($(LOCAL_CC),)
|
||||
ifeq ($(LOCAL_IS_HOST_MODULE),true)
|
||||
LOCAL_CFLAGS += -D_GNU_SOURCE
|
||||
LOCAL_CC := $(HOST_CC) -std=c99 -D_GNU_SOURCE
|
||||
else
|
||||
LOCAL_CC := $(TARGET_CC) -std=c99
|
||||
endif
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
@@ -32,7 +37,6 @@ LOCAL_C_INCLUDES += \
|
||||
MESA_VERSION := $(shell cat $(MESA_TOP)/VERSION)
|
||||
# define ANDROID_VERSION (e.g., 4.0.x => 0x0400)
|
||||
LOCAL_CFLAGS += \
|
||||
-Wno-unused-parameter \
|
||||
-Wno-date-time \
|
||||
-DPACKAGE_VERSION=\"$(MESA_VERSION)\" \
|
||||
-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\" \
|
||||
@@ -58,10 +62,6 @@ LOCAL_CFLAGS += \
|
||||
-fvisibility=hidden \
|
||||
-Wno-sign-compare
|
||||
|
||||
# mesa requires at least c99 compiler
|
||||
LOCAL_CONLYFLAGS += \
|
||||
-std=c99
|
||||
|
||||
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
|
||||
ifeq ($(TARGET_ARCH),x86)
|
||||
LOCAL_CFLAGS += \
|
||||
@@ -83,13 +83,6 @@ LOCAL_CPPFLAGS += \
|
||||
-Wno-error=non-virtual-dtor \
|
||||
-Wno-non-virtual-dtor
|
||||
|
||||
ifeq ($(MESA_LOLLIPOP_BUILD),true)
|
||||
LOCAL_CFLAGS_32 += -DDEFAULT_DRIVER_DIR=\"/system/lib/$(MESA_DRI_MODULE_REL_PATH)\"
|
||||
LOCAL_CFLAGS_64 += -DDEFAULT_DRIVER_DIR=\"/system/lib64/$(MESA_DRI_MODULE_REL_PATH)\"
|
||||
else
|
||||
LOCAL_CFLAGS += -DDEFAULT_DRIVER_DIR=\"/system/lib/$(MESA_DRI_MODULE_REL_PATH)\"
|
||||
endif
|
||||
|
||||
# uncomment to keep the debug symbols
|
||||
#LOCAL_STRIP_MODULE := false
|
||||
|
||||
|
15
Android.mk
15
Android.mk
@@ -24,7 +24,7 @@
|
||||
# BOARD_GPU_DRIVERS should be defined. The valid values are
|
||||
#
|
||||
# classic drivers: i915 i965
|
||||
# gallium drivers: swrast freedreno i915g ilo nouveau r300g r600g radeonsi vc4 virgl vmwgfx
|
||||
# gallium drivers: swrast freedreno i915g ilo nouveau r300g r600g radeonsi vc4 vmwgfx
|
||||
#
|
||||
# The main target is libGLES_mesa. For each classic driver enabled, a DRI
|
||||
# module will also be built. DRI modules will be loaded by libGLES_mesa.
|
||||
@@ -50,7 +50,7 @@ MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
|
||||
MESA_PYTHON2 := python
|
||||
|
||||
classic_drivers := i915 i965
|
||||
gallium_drivers := swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx vc4 virgl
|
||||
gallium_drivers := swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx vc4
|
||||
|
||||
MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS))
|
||||
|
||||
@@ -88,23 +88,18 @@ MESA_ENABLE_LLVM := $(if $(filter radeonsi,$(MESA_GPU_DRIVERS)),true,false)
|
||||
ifneq ($(strip $(MESA_GPU_DRIVERS)),)
|
||||
|
||||
SUBDIRS := \
|
||||
src/gbm \
|
||||
src/loader \
|
||||
src/mapi \
|
||||
src/compiler \
|
||||
src/glsl \
|
||||
src/mesa \
|
||||
src/util \
|
||||
src/egl \
|
||||
src/intel/genxml \
|
||||
src/intel/isl \
|
||||
src/mesa/drivers/dri
|
||||
|
||||
INC_DIRS := $(call all-named-subdir-makefiles,$(SUBDIRS))
|
||||
|
||||
ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
|
||||
INC_DIRS += $(call all-named-subdir-makefiles,src/gallium)
|
||||
SUBDIRS += src/gallium
|
||||
endif
|
||||
|
||||
include $(INC_DIRS)
|
||||
include $(call all-named-subdir-makefiles,$(SUBDIRS))
|
||||
|
||||
endif
|
||||
|
@@ -22,20 +22,15 @@
|
||||
SUBDIRS = src
|
||||
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--enable-dri \
|
||||
--enable-dri3 \
|
||||
--enable-egl \
|
||||
--enable-gallium-tests \
|
||||
--enable-gallium-osmesa \
|
||||
--enable-gallium-llvm \
|
||||
--enable-gbm \
|
||||
--enable-gles1 \
|
||||
--enable-gles2 \
|
||||
--enable-glx \
|
||||
--enable-glx-tls \
|
||||
--enable-nine \
|
||||
--enable-opencl \
|
||||
--enable-opengl \
|
||||
--enable-va \
|
||||
--enable-vdpau \
|
||||
--enable-xa \
|
||||
@@ -43,8 +38,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--disable-llvm-shared-libs \
|
||||
--with-egl-platforms=x11,wayland,drm,surfaceless \
|
||||
--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \
|
||||
--with-gallium-drivers=i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl \
|
||||
--with-vulkan-drivers=intel
|
||||
--with-gallium-drivers=i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
@@ -60,6 +54,7 @@ noinst_HEADERS = \
|
||||
include/c99_alloca.h \
|
||||
include/c99_compat.h \
|
||||
include/c99_math.h \
|
||||
include/c99 \
|
||||
include/c11 \
|
||||
include/D3D9 \
|
||||
include/HaikuGL \
|
||||
|
106
REVIEWERS
106
REVIEWERS
@@ -1,106 +0,0 @@
|
||||
Overview:
|
||||
|
||||
This file is similar in syntax (or more precisly a subset) of what is
|
||||
used by the MAINTAINERS file in the linux kernel. Some fields do not
|
||||
apply, for example, in all cases, send patches to:
|
||||
|
||||
mesa-dev@lists.freedesktop.org
|
||||
|
||||
and in all cases the patchwork instance is:
|
||||
|
||||
https://patchwork.freedesktop.org/project/mesa/
|
||||
|
||||
The purpose is not exactly the same the MAINTAINERS file in the linux
|
||||
kernel, as there are not official/formal maintainers of different
|
||||
subsystems in mesa, but is meant to give an idea of who to CC for
|
||||
various patches for review, and to allow the use of
|
||||
scripts/get_reviewer.pl as git --cc-cmd.
|
||||
|
||||
Usage:
|
||||
|
||||
When sending patches:
|
||||
|
||||
git send-email --cc-cmd ./scripts/get_reviewer.pl ...
|
||||
|
||||
Or to configure as default:
|
||||
|
||||
git config sendemail.cccmd ./scripts/get_reviewer.pl
|
||||
|
||||
Descriptions of section entries:
|
||||
|
||||
R: Designated reviewer: FullName <address@domain>
|
||||
These reviewers should be CCed on patches.
|
||||
F: Files and directories with wildcard patterns.
|
||||
A trailing slash includes all files and subdirectory files.
|
||||
F: drivers/net/ all files in and below drivers/net
|
||||
F: drivers/net/* all files in drivers/net, but not below
|
||||
F: */net/* all files in "any top level directory"/net
|
||||
One pattern per line. Multiple F: lines acceptable.
|
||||
N: Files and directories with regex patterns.
|
||||
N: [^a-z]tegra all files whose path contains the word tegra
|
||||
One pattern per line. Multiple N: lines acceptable.
|
||||
scripts/get_maintainer.pl has different behavior for files that
|
||||
match F: pattern and matches of N: patterns. By default,
|
||||
get_maintainer will not look at git log history when an F: pattern
|
||||
match occurs. When an N: match occurs, git log history is used
|
||||
to also notify the people that have git commit signatures.
|
||||
|
||||
Maintainers List (try to look for most precise areas first)
|
||||
|
||||
Note: this is an opt-in system, I have not tried to add anyone who hasn't
|
||||
either asked me or sent a patch to add themselves.
|
||||
|
||||
-----------------------------------
|
||||
|
||||
NIR
|
||||
R: Jason Ekstrand <jason@jlekstrand.net>
|
||||
F: src/compiler/nir/
|
||||
|
||||
DOCUMENTATION
|
||||
R: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
F: docs/
|
||||
F: doxygen/
|
||||
|
||||
COMPATIBILITY HEADERS
|
||||
R: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
F: include/c99*
|
||||
|
||||
DRI LOADER
|
||||
R: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
F: src/loader/
|
||||
|
||||
GALLIUM LOADER
|
||||
R: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
F: src/gallium/auxiliary/pipe-loader/
|
||||
F: src/gallium/auxiliary/target-helpers/
|
||||
|
||||
GALLIUM TARGETS
|
||||
R: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
F: src/gallium/targets/
|
||||
|
||||
AUTOCONF BUILD
|
||||
R: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
F: configure.ac
|
||||
F: */Automake.inc
|
||||
F: */Makefile.*am
|
||||
F: */Makefile.sources
|
||||
|
||||
SCONS BUILD
|
||||
F: scons/
|
||||
F: */SConscript*
|
||||
F: */Makefile.sources
|
||||
|
||||
ANDROID BUILD
|
||||
R: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
F: CleanSpec.mk
|
||||
F: */Android.*mk
|
||||
F: */Makefile.sources
|
||||
|
||||
WAYLAND EGL SUPPORT
|
||||
R: Daniel Stone <daniels@collabora.com>
|
||||
F: src/egl/wayland/*
|
||||
F: src/egl/drivers/dri2/platform_wayland.c
|
||||
|
||||
FREEDRENO
|
||||
R: Rob Clark <robclark@freedesktop.org>
|
||||
F: src/gallium/drivers/freedreno/
|
19
SConstruct
19
SConstruct
@@ -1,7 +1,7 @@
|
||||
#######################################################################
|
||||
# Top-level SConstruct
|
||||
#
|
||||
# For example, invoke scons as
|
||||
# For example, invoke scons as
|
||||
#
|
||||
# scons build=debug llvm=yes machine=x86
|
||||
#
|
||||
@@ -12,13 +12,13 @@
|
||||
# build='debug'
|
||||
# llvm=True
|
||||
# machine='x86'
|
||||
#
|
||||
#
|
||||
# Invoke
|
||||
#
|
||||
# scons -h
|
||||
#
|
||||
# to get the full list of options. See scons manpage for more info.
|
||||
#
|
||||
#
|
||||
|
||||
import os
|
||||
import os.path
|
||||
@@ -36,7 +36,7 @@ common.AddOptions(opts)
|
||||
env = Environment(
|
||||
options = opts,
|
||||
tools = ['gallium'],
|
||||
toolpath = ['#scons'],
|
||||
toolpath = ['#scons'],
|
||||
ENV = os.environ,
|
||||
)
|
||||
|
||||
@@ -53,7 +53,7 @@ else:
|
||||
print 'scons: warning: targets option is deprecated; pass the targets on their own such as'
|
||||
print
|
||||
print ' scons %s' % ' '.join(targets)
|
||||
print
|
||||
print
|
||||
COMMAND_LINE_TARGETS.append(targets)
|
||||
|
||||
|
||||
@@ -84,14 +84,9 @@ env.Append(CPPPATH = [
|
||||
#print env.Dump()
|
||||
|
||||
|
||||
# Add a check target for running tests
|
||||
check = env.Alias('check')
|
||||
env.AlwaysBuild(check)
|
||||
|
||||
|
||||
#######################################################################
|
||||
# Invoke host SConscripts
|
||||
#
|
||||
# Invoke host SConscripts
|
||||
#
|
||||
# For things that are meant to be run on the native host build machine, instead
|
||||
# of the target machine.
|
||||
#
|
||||
|
76
appveyor.yml
76
appveyor.yml
@@ -1,76 +0,0 @@
|
||||
# http://www.appveyor.com/docs/appveyor-yml
|
||||
#
|
||||
# To setup AppVeyor for your own personal repositories do the following:
|
||||
# - Sign up
|
||||
# - Add a new project
|
||||
# - Select Git and fill in the Git clone URL
|
||||
# - Setup a Git hook as explained in
|
||||
# https://github.com/appveyor/webhooks#installing-git-hook
|
||||
# - Check 'Settings > General > Skip branches without appveyor.yml'
|
||||
# - Check 'Settings > General > Rolling builds'
|
||||
# - Setup the global or project notifications to your liking
|
||||
#
|
||||
# Note that kicking (or restarting) a build via the web UI will not work, as it
|
||||
# will fail to find appveyor.yml . The Git hook is the most practical way to
|
||||
# kick a build.
|
||||
#
|
||||
# See also:
|
||||
# - http://help.appveyor.com/discussions/problems/2209-node-grunt-build-specify-a-project-or-solution-file-the-directory-does-not-contain-a-project-or-solution-file
|
||||
# - http://help.appveyor.com/discussions/questions/1184-build-config-vs-appveyoryaml
|
||||
|
||||
version: '{build}'
|
||||
|
||||
branches:
|
||||
except:
|
||||
- /^travis.*$/
|
||||
|
||||
# Don't download the full Mesa history to speed up cloning. However the clone
|
||||
# depth must not be too small, otherwise builds might fail when lots of patches
|
||||
# are committed in succession, because the desired commit is not found on the
|
||||
# truncated history.
|
||||
#
|
||||
# See also:
|
||||
# - https://www.appveyor.com/blog/2014/06/04/shallow-clone-for-git-repositories
|
||||
clone_depth: 100
|
||||
|
||||
cache:
|
||||
- win_flex_bison-2.4.5.zip
|
||||
- llvm-3.3.1-msvc2013-mtd.7z
|
||||
|
||||
environment:
|
||||
WINFLEXBISON_ARCHIVE: win_flex_bison-2.4.5.zip
|
||||
LLVM_ARCHIVE: llvm-3.3.1-msvc2013-mtd.7z
|
||||
|
||||
install:
|
||||
# Check pip
|
||||
- python --version
|
||||
- python -m pip --version
|
||||
# Install Mako
|
||||
- python -m pip install --egg Mako
|
||||
# Install SCons
|
||||
- python -m pip install --egg scons==2.4.1
|
||||
- scons --version
|
||||
# Install flex/bison
|
||||
- if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "http://downloads.sourceforge.net/project/winflexbison/%WINFLEXBISON_ARCHIVE%"
|
||||
- 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul
|
||||
- set Path=%CD%\winflexbison;%Path%
|
||||
- win_flex --version
|
||||
- win_bison --version
|
||||
# Download and extract LLVM
|
||||
- if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%"
|
||||
- 7z x -y "%LLVM_ARCHIVE%" > nul
|
||||
- mkdir llvm\bin
|
||||
- set LLVM=%CD%\llvm
|
||||
|
||||
build_script:
|
||||
- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1
|
||||
|
||||
after_build:
|
||||
- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1 check
|
||||
|
||||
|
||||
# It's possible to setup notification here, as described in
|
||||
# http://www.appveyor.com/docs/notifications#appveyor-yml-configuration , but
|
||||
# doing so would cause the notification settings to be replicated across all
|
||||
# repos, which is most likely undesired. So it's better to rely on the
|
||||
# Appveyor global/project notification settings.
|
20
bin/.cherry-ignore
Normal file
20
bin/.cherry-ignore
Normal file
@@ -0,0 +1,20 @@
|
||||
# As per Marek http://lists.freedesktop.org/archives/mesa-stable/2015-December/003600.html
|
||||
37208c4fd7b1ec679d10992b42a2811cab8245a5 Revert "radeonsi: disable DCC on Stoney"
|
||||
|
||||
# causes regression in xwayland, kde/plasma, mpv, steam ... fdo#92759
|
||||
839793680f99b8387bee9489733d5071c10f3ace i965: Use MESA_FORMAT_B8G8R8X8_SRGB for RGB visuals
|
||||
|
||||
# .num_slices isn't available in 11.1
|
||||
f2c891353609b48459f27f205407d42823dd7d03 Add missing platform information for KBL
|
||||
|
||||
# As requested by Ilia at https://lists.freedesktop.org/archives/mesa-stable/2016-April/003939.html
|
||||
6eeb284e4f74a2fe5ae6cba90f97f219935e24df nv50/ir: normalize cube coordinates after derivatives have been computed
|
||||
|
||||
# The commit fixes a fix, the latter of which did not land in 11.1.
|
||||
4420f189b6d6dd68b517cd73dfdf3775d7d0f580 st/mesa: fix glReadBuffer() assertion failure
|
||||
|
||||
# st_DrawAtlasBitmaps was introduced after the 11.1-branchpoint
|
||||
aed975d5c510135c54252746b44d663d094ecb1e st/mesa: fix sampler view leak in st_DrawAtlasBitmaps()
|
||||
|
||||
# Patch addresses CodeEmitterGK110::emitATOM which is missing in branch.
|
||||
17a37c78fc16505f717a44aa22551285d1cd8c9e gk110/ir: do not overwrite def value with zero for EXCH ops
|
@@ -14,7 +14,7 @@ git log --reverse --grep="cherry picked from commit" origin/master..HEAD |\
|
||||
sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked
|
||||
|
||||
# Grep for commits that were marked as a candidate for the stable tree.
|
||||
git log --reverse --pretty=%H -i --grep='^\([[:space:]]*NOTE: .*[Cc]andidate\|CC:.*mesa-stable\)' HEAD..origin/master |\
|
||||
git log --reverse --pretty=%H -i --grep='^\([[:space:]]*NOTE: .*[Cc]andidate\|CC:.*11\.1.*mesa-stable\)' HEAD..origin/master |\
|
||||
while read sha
|
||||
do
|
||||
# Check to see whether the patch is on the ignore list.
|
||||
|
@@ -97,7 +97,6 @@ def AddOptions(opts):
|
||||
opts.Add(BoolOption('embedded', 'embedded build', 'no'))
|
||||
opts.Add(BoolOption('analyze',
|
||||
'enable static code analysis where available', 'no'))
|
||||
opts.Add(BoolOption('asan', 'enable Address Sanitizer', 'no'))
|
||||
opts.Add('toolchain', 'compiler toolchain', default_toolchain)
|
||||
opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support',
|
||||
'no'))
|
||||
|
477
configure.ac
477
configure.ac
@@ -68,13 +68,13 @@ OPENCL_VERSION=1
|
||||
AC_SUBST([OPENCL_VERSION])
|
||||
|
||||
dnl Versions for external dependencies
|
||||
LIBDRM_REQUIRED=2.4.66
|
||||
LIBDRM_REQUIRED=2.4.60
|
||||
LIBDRM_RADEON_REQUIRED=2.4.56
|
||||
LIBDRM_AMDGPU_REQUIRED=2.4.63
|
||||
LIBDRM_INTEL_REQUIRED=2.4.61
|
||||
LIBDRM_NVVIEUX_REQUIRED=2.4.66
|
||||
LIBDRM_NOUVEAU_REQUIRED=2.4.66
|
||||
LIBDRM_FREEDRENO_REQUIRED=2.4.67
|
||||
LIBDRM_NVVIEUX_REQUIRED=2.4.33
|
||||
LIBDRM_NOUVEAU_REQUIRED=2.4.62
|
||||
LIBDRM_FREEDRENO_REQUIRED=2.4.65
|
||||
DRI2PROTO_REQUIRED=2.6
|
||||
DRI3PROTO_REQUIRED=1.0
|
||||
PRESENTPROTO_REQUIRED=1.0
|
||||
@@ -110,10 +110,10 @@ LT_INIT([disable-static])
|
||||
AC_CHECK_PROG(RM, rm, [rm -f])
|
||||
|
||||
AX_PROG_BISON([],
|
||||
AS_IF([test ! -f "$srcdir/src/compiler/glsl/glcpp/glcpp-parse.c"],
|
||||
AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
|
||||
[AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
|
||||
AX_PROG_FLEX([],
|
||||
AS_IF([test ! -f "$srcdir/src/compiler/glsl/glcpp/glcpp-lex.c"],
|
||||
AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
|
||||
[AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
|
||||
|
||||
AC_CHECK_PROG(INDENT, indent, indent, cat)
|
||||
@@ -197,13 +197,6 @@ if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl We don't support building Mesa with Sun C compiler
|
||||
dnl https://bugs.freedesktop.org/show_bug.cgi?id=93189
|
||||
AC_CHECK_DECL([__SUNPRO_C], [SUNCC=yes], [SUNCC=no])
|
||||
if test "x$SUNCC" = xyes; then
|
||||
AC_MSG_ERROR([Building with Sun C compiler is not supported, use GCC instead.])
|
||||
fi
|
||||
|
||||
dnl Check for compiler builtins
|
||||
AX_GCC_BUILTIN([__builtin_bswap32])
|
||||
AX_GCC_BUILTIN([__builtin_bswap64])
|
||||
@@ -223,10 +216,8 @@ AX_GCC_FUNC_ATTRIBUTE([format])
|
||||
AX_GCC_FUNC_ATTRIBUTE([malloc])
|
||||
AX_GCC_FUNC_ATTRIBUTE([packed])
|
||||
AX_GCC_FUNC_ATTRIBUTE([pure])
|
||||
AX_GCC_FUNC_ATTRIBUTE([returns_nonnull])
|
||||
AX_GCC_FUNC_ATTRIBUTE([unused])
|
||||
AX_GCC_FUNC_ATTRIBUTE([warn_unused_result])
|
||||
AX_GCC_FUNC_ATTRIBUTE([weak])
|
||||
|
||||
AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
|
||||
|
||||
@@ -247,13 +238,9 @@ _SAVE_LDFLAGS="$LDFLAGS"
|
||||
_SAVE_CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
dnl Compiler macros
|
||||
DEFINES="-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
|
||||
DEFINES="-D__STDC_LIMIT_MACROS"
|
||||
AC_SUBST([DEFINES])
|
||||
android=no
|
||||
case "$host_os" in
|
||||
*-android)
|
||||
android=yes
|
||||
;;
|
||||
linux*|*-gnu*|gnu*)
|
||||
DEFINES="$DEFINES -D_GNU_SOURCE"
|
||||
;;
|
||||
@@ -265,8 +252,6 @@ cygwin*)
|
||||
;;
|
||||
esac
|
||||
|
||||
AM_CONDITIONAL(HAVE_ANDROID, test "x$android" = xyes)
|
||||
|
||||
dnl Add flags for gcc and g++
|
||||
if test "x$GCC" = xyes; then
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
@@ -313,7 +298,8 @@ if test "x$GCC" = xyes; then
|
||||
|
||||
# Flags to help ensure that certain portions of the code -- and only those
|
||||
# portions -- can be built with MSVC:
|
||||
# - src/util, src/gallium/auxiliary, rc/gallium/drivers/llvmpipe, and
|
||||
# - src/util, src/gallium/auxiliary, and src/gallium/drivers/llvmpipe needs
|
||||
# to build with Windows SDK 7.0.7600, which bundles MSVC 2008
|
||||
# - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which
|
||||
# supports most of C99)
|
||||
# - the rest has no compiler compiler restrictions
|
||||
@@ -330,6 +316,9 @@ if test "x$GCC" = xyes; then
|
||||
AC_MSG_RESULT([yes])],
|
||||
AC_MSG_RESULT([no]));
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
MSVC2008_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=declaration-after-statement"
|
||||
MSVC2008_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS"
|
||||
fi
|
||||
if test "x$GXX" = xyes; then
|
||||
CXXFLAGS="$CXXFLAGS -Wall"
|
||||
@@ -357,6 +346,8 @@ fi
|
||||
|
||||
AC_SUBST([MSVC2013_COMPAT_CFLAGS])
|
||||
AC_SUBST([MSVC2013_COMPAT_CXXFLAGS])
|
||||
AC_SUBST([MSVC2008_COMPAT_CFLAGS])
|
||||
AC_SUBST([MSVC2008_COMPAT_CXXFLAGS])
|
||||
|
||||
dnl even if the compiler appears to support it, using visibility attributes isn't
|
||||
dnl going to do anything useful currently on cygwin apart from emit lots of warnings
|
||||
@@ -398,61 +389,6 @@ fi
|
||||
AM_CONDITIONAL([SSE41_SUPPORTED], [test x$SSE41_SUPPORTED = x1])
|
||||
AC_SUBST([SSE41_CFLAGS], $SSE41_CFLAGS)
|
||||
|
||||
dnl Check for Endianness
|
||||
AC_C_BIGENDIAN(
|
||||
little_endian=no,
|
||||
little_endian=yes,
|
||||
little_endian=no,
|
||||
little_endian=no
|
||||
)
|
||||
|
||||
dnl Check for POWER8 Architecture
|
||||
PWR8_CFLAGS="-mpower8-vector"
|
||||
have_pwr8_intrinsics=no
|
||||
AC_MSG_CHECKING(whether gcc supports -mpower8-vector)
|
||||
save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$PWR8_CFLAGS $CFLAGS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
||||
#if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8))
|
||||
#error "Need GCC >= 4.8 for sane POWER8 support"
|
||||
#endif
|
||||
#include <altivec.h>
|
||||
int main () {
|
||||
vector unsigned char r;
|
||||
vector unsigned int v = vec_splat_u32 (1);
|
||||
r = __builtin_vec_vgbbd ((vector unsigned char) v);
|
||||
return 0;
|
||||
}]])], have_pwr8_intrinsics=yes)
|
||||
CFLAGS=$save_CFLAGS
|
||||
|
||||
AC_ARG_ENABLE(pwr8,
|
||||
[AC_HELP_STRING([--disable-pwr8-inst],
|
||||
[disable POWER8-specific instructions])],
|
||||
[enable_pwr8=$enableval], [enable_pwr8=auto])
|
||||
|
||||
if test "x$enable_pwr8" = xno ; then
|
||||
have_pwr8_intrinsics=disabled
|
||||
fi
|
||||
|
||||
if test $have_pwr8_intrinsics = yes && test $little_endian = yes ; then
|
||||
DEFINES="$DEFINES -D_ARCH_PWR8"
|
||||
CXXFLAGS="$CXXFLAGS $PWR8_CFLAGS"
|
||||
CFLAGS="$CFLAGS $PWR8_CFLAGS"
|
||||
else
|
||||
PWR8_CFLAGS=
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT($have_pwr8_intrinsics)
|
||||
if test "x$enable_pwr8" = xyes && test $have_pwr8_intrinsics = no ; then
|
||||
AC_MSG_ERROR([POWER8 compiler support not detected])
|
||||
fi
|
||||
|
||||
if test $have_pwr8_intrinsics = yes && test $little_endian = no ; then
|
||||
AC_MSG_WARN([POWER8 optimization is enabled only on POWER8 Little-Endian])
|
||||
fi
|
||||
|
||||
AC_SUBST([PWR8_CFLAGS], $PWR8_CFLAGS)
|
||||
|
||||
dnl Can't have static and shared libraries, default to static if user
|
||||
dnl explicitly requested. If both disabled, set to static since shared
|
||||
dnl was explicitly requested.
|
||||
@@ -478,29 +414,8 @@ AC_ARG_ENABLE([debug],
|
||||
[enable_debug="$enableval"],
|
||||
[enable_debug=no]
|
||||
)
|
||||
|
||||
AC_ARG_ENABLE([profile],
|
||||
[AS_HELP_STRING([--enable-profile],
|
||||
[enable profiling of code @<:@default=disabled@:>@])],
|
||||
[enable_profile="$enableval"],
|
||||
[enable_profile=no]
|
||||
)
|
||||
|
||||
if test "x$enable_profile" = xyes; then
|
||||
DEFINES="$DEFINES -DPROFILE"
|
||||
if test "x$GCC" = xyes; then
|
||||
CFLAGS="$CFLAGS -fno-omit-frame-pointer"
|
||||
fi
|
||||
if test "x$GXX" = xyes; then
|
||||
CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_debug" = xyes; then
|
||||
DEFINES="$DEFINES -DDEBUG"
|
||||
if test "x$enable_profile" = xyes; then
|
||||
AC_MSG_WARN([Debug and Profile are enabled at the same time])
|
||||
fi
|
||||
if test "x$GCC" = xyes; then
|
||||
if ! echo "$CFLAGS" | grep -q -e '-g'; then
|
||||
CFLAGS="$CFLAGS -g"
|
||||
@@ -521,8 +436,6 @@ else
|
||||
DEFINES="$DEFINES -DNDEBUG"
|
||||
fi
|
||||
|
||||
DEFAULT_GL_LIB_NAME=GL
|
||||
|
||||
dnl
|
||||
dnl Check if linker supports -Bsymbolic
|
||||
dnl
|
||||
@@ -620,23 +533,6 @@ esac
|
||||
|
||||
AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
|
||||
|
||||
DEFAULT_GL_LIB_NAME=GL
|
||||
|
||||
dnl
|
||||
dnl Libglvnd configuration
|
||||
dnl
|
||||
AC_ARG_ENABLE([libglvnd],
|
||||
[AS_HELP_STRING([--enable-libglvnd],
|
||||
[Build for libglvnd @<:@default=disabled@:>@])],
|
||||
[enable_libglvnd="$enableval"],
|
||||
[enable_libglvnd=no])
|
||||
AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd" = xyes)
|
||||
#AM_COND_IF([USE_LIBGLVND_GLX], [DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1"])
|
||||
if test "x$enable_libglvnd" = xyes ; then
|
||||
DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1"
|
||||
DEFAULT_GL_LIB_NAME=GLX_mesa
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl library names
|
||||
dnl
|
||||
@@ -674,13 +570,13 @@ AC_ARG_WITH([gl-lib-name],
|
||||
[AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
|
||||
[specify GL library name @<:@default=GL@:>@])],
|
||||
[GL_LIB=$withval],
|
||||
[GL_LIB="$DEFAULT_GL_LIB_NAME"])
|
||||
[GL_LIB=GL])
|
||||
AC_ARG_WITH([osmesa-lib-name],
|
||||
[AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
|
||||
[specify OSMesa library name @<:@default=OSMesa@:>@])],
|
||||
[OSMESA_LIB=$withval],
|
||||
[OSMESA_LIB=OSMesa])
|
||||
AS_IF([test "x$GL_LIB" = xyes], [GL_LIB="$DEFAULT_GL_LIB_NAME"])
|
||||
AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
|
||||
AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
|
||||
|
||||
dnl
|
||||
@@ -731,10 +627,8 @@ test "x$enable_asm" = xno && AC_MSG_RESULT([no])
|
||||
if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then
|
||||
case "$host_cpu" in
|
||||
i?86 | x86_64 | amd64)
|
||||
if test "x$host_cpu" != "x$target_cpu"; then
|
||||
enable_asm=no
|
||||
AC_MSG_RESULT([no, cross compiling])
|
||||
fi
|
||||
enable_asm=no
|
||||
AC_MSG_RESULT([no, cross compiling])
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
@@ -825,10 +719,6 @@ dnl to -pthread, which causes problems if we need -lpthread to appear in
|
||||
dnl pkgconfig files.
|
||||
test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
|
||||
|
||||
PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
|
||||
AC_SUBST(PTHREADSTUBS_CFLAGS)
|
||||
AC_SUBST(PTHREADSTUBS_LIBS)
|
||||
|
||||
dnl SELinux awareness.
|
||||
AC_ARG_ENABLE([selinux],
|
||||
[AS_HELP_STRING([--enable-selinux],
|
||||
@@ -889,8 +779,8 @@ AC_ARG_ENABLE([dri3],
|
||||
[enable_dri3="$enableval"],
|
||||
[enable_dri3="$dri3_default"])
|
||||
AC_ARG_ENABLE([glx],
|
||||
[AS_HELP_STRING([--enable-glx@<:@=dri|xlib|gallium-xlib@:>@],
|
||||
[enable the GLX library and choose an implementation @<:@default=auto@:>@])],
|
||||
[AS_HELP_STRING([--enable-glx],
|
||||
[enable GLX library @<:@default=enabled@:>@])],
|
||||
[enable_glx="$enableval"],
|
||||
[enable_glx=yes])
|
||||
AC_ARG_ENABLE([osmesa],
|
||||
@@ -956,6 +846,17 @@ AC_ARG_ENABLE([opencl_icd],
|
||||
@<:@default=disabled@:>@])],
|
||||
[enable_opencl_icd="$enableval"],
|
||||
[enable_opencl_icd=no])
|
||||
AC_ARG_ENABLE([xlib-glx],
|
||||
[AS_HELP_STRING([--enable-xlib-glx],
|
||||
[make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
|
||||
[enable_xlib_glx="$enableval"],
|
||||
[enable_xlib_glx=no])
|
||||
|
||||
AC_ARG_ENABLE([r600-llvm-compiler],
|
||||
[AS_HELP_STRING([--enable-r600-llvm-compiler],
|
||||
[Enable experimental LLVM backend for graphics shaders @<:@default=disabled@:>@])],
|
||||
[enable_r600_llvm="$enableval"],
|
||||
[enable_r600_llvm=no])
|
||||
|
||||
AC_ARG_ENABLE([gallium-tests],
|
||||
[AS_HELP_STRING([--enable-gallium-tests],
|
||||
@@ -1014,85 +915,36 @@ AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
|
||||
"x$enable_gles1" = xyes -o \
|
||||
"x$enable_gles2" = xyes)
|
||||
|
||||
# Validate GLX options
|
||||
if test "x$enable_glx" = xyes; then
|
||||
if test "x$enable_dri" = xyes; then
|
||||
enable_glx=dri
|
||||
elif test -n "$with_gallium_drivers"; then
|
||||
enable_glx=gallium-xlib
|
||||
else
|
||||
enable_glx=xlib
|
||||
fi
|
||||
if test "x$enable_glx" = xno; then
|
||||
AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
|
||||
enable_xlib_glx=no
|
||||
fi
|
||||
case "x$enable_glx" in
|
||||
xdri | xxlib | xgallium-xlib)
|
||||
# GLX requires OpenGL
|
||||
if test "x$enable_opengl" = xno; then
|
||||
AC_MSG_ERROR([GLX cannot be built without OpenGL])
|
||||
fi
|
||||
|
||||
# Check individual dependencies
|
||||
case "x$enable_glx" in
|
||||
xdri)
|
||||
if test "x$enable_dri" = xno; then
|
||||
AC_MSG_ERROR([DRI-based GLX requires DRI to be enabled])
|
||||
fi
|
||||
;;
|
||||
xxlib)
|
||||
if test "x$enable_dri" = xyes; then
|
||||
AC_MSG_ERROR([Xlib-based GLX cannot be built with DRI enabled])
|
||||
fi
|
||||
;;
|
||||
xgallium-xlib )
|
||||
if test "x$enable_dri" = xyes; then
|
||||
AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built with DRI enabled])
|
||||
fi
|
||||
if test -z "$with_gallium_drivers"; then
|
||||
AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built without Gallium enabled])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
xno)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Illegal value for --enable-glx: $enable_glx])
|
||||
;;
|
||||
esac
|
||||
|
||||
AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xdri)
|
||||
AM_CONDITIONAL(HAVE_XLIB_GLX, test "x$enable_glx" = xxlib)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_XLIB_GLX, test "x$enable_glx" = xgallium-xlib)
|
||||
|
||||
dnl
|
||||
dnl Libglvnd configuration
|
||||
dnl
|
||||
AC_ARG_ENABLE([libglvnd],
|
||||
[AS_HELP_STRING([--enable-libglvnd],
|
||||
[Build for libglvnd @<:@default=disabled@:>@])],
|
||||
[enable_libglvnd="$enableval"],
|
||||
[enable_libglvnd=no])
|
||||
AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd" = xyes)
|
||||
if test "x$enable_libglvnd" = xyes ; then
|
||||
dnl XXX: update once we can handle more than libGL/glx.
|
||||
dnl Namely: we should error out if neither of the glvnd enabled libraries
|
||||
dnl are built
|
||||
case "x$enable_glx" in
|
||||
xno)
|
||||
AC_MSG_ERROR([cannot build libglvnd without GLX])
|
||||
;;
|
||||
xxlib | xgallium-xlib )
|
||||
AC_MSG_ERROR([cannot build libgvnd when Xlib-GLX or Gallium-Xlib-GLX is enabled])
|
||||
;;
|
||||
xdri)
|
||||
;;
|
||||
esac
|
||||
|
||||
PKG_CHECK_MODULES([GLVND], libglvnd >= 0.1.0)
|
||||
DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1"
|
||||
DEFAULT_GL_LIB_NAME=GLX_mesa
|
||||
if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
|
||||
AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
|
||||
fi
|
||||
|
||||
if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
|
||||
AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
|
||||
fi
|
||||
|
||||
# Disable GLX if OpenGL is not enabled
|
||||
if test "x$enable_glx$enable_opengl" = xyesno; then
|
||||
AC_MSG_WARN([OpenGL not enabled, disabling GLX])
|
||||
enable_glx=no
|
||||
fi
|
||||
|
||||
# Disable GLX if DRI and Xlib-GLX are not enabled
|
||||
if test "x$enable_glx" = xyes -a \
|
||||
"x$enable_dri" = xno -a \
|
||||
"x$enable_xlib_glx" = xno; then
|
||||
AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
|
||||
enable_glx=no
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
|
||||
"x$enable_dri" = xyes)
|
||||
|
||||
# Check for libdrm
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
|
||||
[have_libdrm=yes], [have_libdrm=no])
|
||||
@@ -1147,6 +999,10 @@ dnl
|
||||
dnl Driver specific build directories
|
||||
dnl
|
||||
|
||||
if test -n "$with_gallium_drivers" -a "x$enable_glx$enable_xlib_glx" = xyesyes; then
|
||||
NEED_WINSYS_XLIB="yes"
|
||||
fi
|
||||
|
||||
if test "x$enable_gallium_osmesa" = xyes; then
|
||||
if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
|
||||
AC_MSG_ERROR([gallium_osmesa requires the gallium swrast driver])
|
||||
@@ -1339,8 +1195,8 @@ AC_ARG_ENABLE([driglx-direct],
|
||||
dnl
|
||||
dnl libGL configuration per driver
|
||||
dnl
|
||||
case "x$enable_glx" in
|
||||
xxlib | xgallium-xlib)
|
||||
case "x$enable_glx$enable_xlib_glx" in
|
||||
xyesyes)
|
||||
# Xlib-based GLX
|
||||
dri_modules="x11 xext xcb"
|
||||
PKG_CHECK_MODULES([XLIBGL], [$dri_modules])
|
||||
@@ -1350,7 +1206,7 @@ xxlib | xgallium-xlib)
|
||||
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
|
||||
GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
|
||||
;;
|
||||
xdri)
|
||||
xyesno)
|
||||
# DRI-based GLX
|
||||
PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
|
||||
|
||||
@@ -1377,7 +1233,7 @@ xdri)
|
||||
|
||||
if test x"$enable_dri3" = xyes; then
|
||||
PKG_CHECK_EXISTS([xcb >= $XCB_REQUIRED], [], AC_MSG_ERROR([DRI3 requires xcb >= $XCB_REQUIRED]))
|
||||
dri3_modules="xcb xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
|
||||
dri3_modules="xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
|
||||
PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules])
|
||||
fi
|
||||
fi
|
||||
@@ -1439,11 +1295,11 @@ AC_SUBST([HAVE_XF86VIDMODE])
|
||||
dnl
|
||||
dnl More GLX setup
|
||||
dnl
|
||||
case "x$enable_glx" in
|
||||
xxlib | xgallium-xlib)
|
||||
case "x$enable_glx$enable_xlib_glx" in
|
||||
xyesyes)
|
||||
DEFINES="$DEFINES -DUSE_XSHM"
|
||||
;;
|
||||
xdri)
|
||||
xyesno)
|
||||
DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
|
||||
if test "x$driglx_direct" = xyes; then
|
||||
DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
|
||||
@@ -1616,58 +1472,8 @@ if test -n "$with_dri_drivers"; then
|
||||
DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
# Vulkan driver configuration
|
||||
#
|
||||
|
||||
AC_ARG_WITH([vulkan-drivers],
|
||||
[AS_HELP_STRING([--with-vulkan-drivers@<:@=DIRS...@:>@],
|
||||
[comma delimited Vulkan drivers list, e.g.
|
||||
"intel"
|
||||
@<:@default=no@:>@])],
|
||||
[with_vulkan_drivers="$withval"],
|
||||
[with_vulkan_drivers="no"])
|
||||
|
||||
# Doing '--without-vulkan-drivers' will set this variable to 'no'. Clear it
|
||||
# here so that the script doesn't choke on an unknown driver name later.
|
||||
case "x$with_vulkan_drivers" in
|
||||
xyes) with_vulkan_drivers="$VULKAN_DRIVERS_DEFAULT" ;;
|
||||
xno) with_vulkan_drivers='' ;;
|
||||
esac
|
||||
|
||||
AC_ARG_WITH([vulkan-icddir],
|
||||
[AS_HELP_STRING([--with-vulkan-icddir=DIR],
|
||||
[directory for the Vulkan driver icd files @<:@${sysconfdir}/vulkan/icd.d@:>@])],
|
||||
[VULKAN_ICD_INSTALL_DIR="$withval"],
|
||||
[VULKAN_ICD_INSTALL_DIR='${sysconfdir}/vulkan/icd.d'])
|
||||
AC_SUBST([VULKAN_ICD_INSTALL_DIR])
|
||||
|
||||
if test -n "$with_vulkan_drivers"; then
|
||||
VULKAN_DRIVERS=`IFS=', '; echo $with_vulkan_drivers`
|
||||
for driver in $VULKAN_DRIVERS; do
|
||||
case "x$driver" in
|
||||
xintel)
|
||||
if test "x$HAVE_I965_DRI" != xyes; then
|
||||
AC_MSG_ERROR([Intel Vulkan driver requires the i965 dri driver])
|
||||
fi
|
||||
if test "x$with_sha1" == "x"; then
|
||||
AC_MSG_ERROR([Intel Vulkan driver requires SHA1])
|
||||
fi
|
||||
HAVE_INTEL_VULKAN=yes;
|
||||
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Vulkan driver '$driver' does not exist])
|
||||
;;
|
||||
esac
|
||||
done
|
||||
VULKAN_DRIVERS=`echo $VULKAN_DRIVERS|tr " " "\n"|sort -u|tr "\n" " "`
|
||||
fi
|
||||
|
||||
|
||||
AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
|
||||
AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_glx" = xxlib -o \
|
||||
AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
|
||||
"x$enable_osmesa" = xyes -o \
|
||||
-n "$DRI_DIRS")
|
||||
|
||||
@@ -1682,7 +1488,7 @@ AC_ARG_WITH([osmesa-bits],
|
||||
[osmesa_bits="$withval"],
|
||||
[osmesa_bits=8])
|
||||
if test "x$osmesa_bits" != x8; then
|
||||
if test "x$enable_dri" = xyes -o "x$enable_glx" != xno; then
|
||||
if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
|
||||
AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
|
||||
osmesa_bits=8
|
||||
fi
|
||||
@@ -1838,12 +1644,7 @@ if test "x$enable_xvmc" = xyes -o \
|
||||
"x$enable_vdpau" = xyes -o \
|
||||
"x$enable_omx" = xyes -o \
|
||||
"x$enable_va" = xyes; then
|
||||
if test x"$enable_dri3" = xyes; then
|
||||
PKG_CHECK_MODULES([VL], [xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED
|
||||
x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
|
||||
else
|
||||
PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
|
||||
fi
|
||||
PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
|
||||
need_gallium_vl_winsys=yes
|
||||
fi
|
||||
AM_CONDITIONAL(NEED_GALLIUM_VL_WINSYS, test "x$need_gallium_vl_winsys" = xyes)
|
||||
@@ -1857,7 +1658,6 @@ AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
|
||||
if test "x$enable_vdpau" = xyes; then
|
||||
PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED])
|
||||
gallium_st="$gallium_st vdpau"
|
||||
DEFINES="$DEFINES -DHAVE_ST_VDPAU"
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
|
||||
|
||||
@@ -2034,9 +1834,6 @@ for plat in $egl_platforms; do
|
||||
AC_MSG_ERROR([EGL platform surfaceless requires libdrm >= $LIBDRM_REQUIRED])
|
||||
;;
|
||||
|
||||
android)
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_ERROR([EGL platform '$plat' does not exist])
|
||||
;;
|
||||
@@ -2057,11 +1854,11 @@ else
|
||||
EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
|
||||
AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_SURFACELESS, echo "$egl_platforms" | grep -q 'surfaceless')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_ANDROID, echo "$egl_platforms" | grep -q 'android')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep -q 'null')
|
||||
|
||||
AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
|
||||
|
||||
@@ -2279,12 +2076,7 @@ gallium_require_drm_loader() {
|
||||
fi
|
||||
}
|
||||
|
||||
dnl This is for Glamor. Skip this if OpenGL is disabled.
|
||||
require_egl_drm() {
|
||||
if test "x$enable_opengl" = xno; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
case "$with_egl_platforms" in
|
||||
*drm*)
|
||||
;;
|
||||
@@ -2306,7 +2098,7 @@ radeon_llvm_check() {
|
||||
if test "x$enable_gallium_llvm" != "xyes"; then
|
||||
AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
|
||||
fi
|
||||
llvm_check_version_for "3" "6" "0" $1
|
||||
llvm_check_version_for "3" "5" "0" $1
|
||||
if test true && $LLVM_CONFIG --targets-built | grep -iqvw $amdgpu_llvm_target_name ; then
|
||||
AC_MSG_ERROR([LLVM $amdgpu_llvm_target_name not enabled in your LLVM build.])
|
||||
fi
|
||||
@@ -2317,16 +2109,6 @@ radeon_llvm_check() {
|
||||
fi
|
||||
}
|
||||
|
||||
swr_llvm_check() {
|
||||
gallium_require_llvm $1
|
||||
if test ${LLVM_VERSION_INT} -lt 306; then
|
||||
AC_MSG_ERROR([LLVM version 3.6 or later required when building $1])
|
||||
fi
|
||||
if test "x$enable_gallium_llvm" != "xyes"; then
|
||||
AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
|
||||
fi
|
||||
}
|
||||
|
||||
dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
|
||||
if test -n "$with_gallium_drivers"; then
|
||||
gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
|
||||
@@ -2361,10 +2143,16 @@ if test -n "$with_gallium_drivers"; then
|
||||
PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
|
||||
gallium_require_drm "Gallium R600"
|
||||
gallium_require_drm_loader
|
||||
if test "x$enable_opencl" = xyes; then
|
||||
if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
|
||||
radeon_llvm_check "r600g"
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
|
||||
fi
|
||||
if test "x$enable_r600_llvm" = xyes; then
|
||||
USE_R600_LLVM_COMPILER=yes;
|
||||
fi
|
||||
if test "x$enable_opencl" = xyes; then
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
|
||||
fi
|
||||
;;
|
||||
xradeonsi)
|
||||
HAVE_GALLIUM_RADEONSI=yes
|
||||
@@ -2393,35 +2181,6 @@ if test -n "$with_gallium_drivers"; then
|
||||
HAVE_GALLIUM_LLVMPIPE=yes
|
||||
fi
|
||||
;;
|
||||
xswr)
|
||||
swr_llvm_check "swr"
|
||||
|
||||
AC_MSG_CHECKING([whether $CXX supports c++11/AVX/AVX2])
|
||||
AVX_CXXFLAGS="-march=core-avx-i"
|
||||
AVX2_CXXFLAGS="-march=core-avx2"
|
||||
|
||||
AC_LANG_PUSH([C++])
|
||||
save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="-std=c++11 $CXXFLAGS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[],
|
||||
[AC_MSG_ERROR([c++11 compiler support not detected])])
|
||||
CXXFLAGS="$save_CXXFLAGS"
|
||||
|
||||
save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$AVX_CXXFLAGS $CXXFLAGS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[],
|
||||
[AC_MSG_ERROR([AVX compiler support not detected])])
|
||||
CXXFLAGS="$save_CXXFLAGS"
|
||||
|
||||
save_CFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$AVX2_CXXFLAGS $CXXFLAGS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[],
|
||||
[AC_MSG_ERROR([AVX2 compiler support not detected])])
|
||||
CXXFLAGS="$save_CXXFLAGS"
|
||||
AC_LANG_POP([C++])
|
||||
|
||||
HAVE_GALLIUM_SWR=yes
|
||||
;;
|
||||
xvc4)
|
||||
HAVE_GALLIUM_VC4=yes
|
||||
gallium_require_drm "vc4"
|
||||
@@ -2454,9 +2213,6 @@ dnl in LLVM_LIBS.
|
||||
|
||||
if test "x$MESA_LLVM" != x0; then
|
||||
|
||||
if ! $LLVM_CONFIG --libs ${LLVM_COMPONENTS} >/dev/null; then
|
||||
AC_MSG_ERROR([Calling ${LLVM_CONFIG} failed])
|
||||
fi
|
||||
LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
|
||||
|
||||
dnl llvm-config may not give the right answer when llvm is a built as a
|
||||
@@ -2511,10 +2267,6 @@ AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_SWR, test "x$HAVE_GALLIUM_SWR" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_SWRAST, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes -o \
|
||||
"x$HAVE_GALLIUM_LLVMPIPE" = xyes -o \
|
||||
"x$HAVE_GALLIUM_SWR" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_VIRGL, test "x$HAVE_GALLIUM_VIRGL" = xyes)
|
||||
|
||||
@@ -2536,16 +2288,12 @@ AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
|
||||
AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
|
||||
AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
|
||||
|
||||
AM_CONDITIONAL(HAVE_INTEL_VULKAN, test "x$HAVE_INTEL_VULKAN" = xyes)
|
||||
|
||||
AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \
|
||||
"x$HAVE_I965_DRI" = xyes)
|
||||
|
||||
AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
|
||||
"x$HAVE_GALLIUM_R600" = xyes -o \
|
||||
"x$HAVE_GALLIUM_RADEONSI" = xyes)
|
||||
AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$enable_glx" = xgallium-xlib)
|
||||
AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
|
||||
AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
|
||||
AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
|
||||
AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
|
||||
AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes)
|
||||
@@ -2554,6 +2302,7 @@ if test "x$USE_VC4_SIMULATOR" = xyes -a "x$HAVE_GALLIUM_ILO" = xyes; then
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
|
||||
AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
|
||||
AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes)
|
||||
|
||||
@@ -2587,27 +2336,6 @@ AC_SUBST([XA_MINOR], $XA_MINOR)
|
||||
AC_SUBST([XA_TINY], $XA_TINY)
|
||||
AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
|
||||
|
||||
AC_ARG_ENABLE(valgrind,
|
||||
[AS_HELP_STRING([--enable-valgrind],
|
||||
[Build mesa with valgrind support (default: auto)])],
|
||||
[VALGRIND=$enableval], [VALGRIND=auto])
|
||||
if test "x$VALGRIND" != xno; then
|
||||
PKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no])
|
||||
fi
|
||||
AC_MSG_CHECKING([whether to enable Valgrind support])
|
||||
if test "x$VALGRIND" = xauto; then
|
||||
VALGRIND="$have_valgrind"
|
||||
fi
|
||||
|
||||
if test "x$VALGRIND" = "xyes"; then
|
||||
if ! test "x$have_valgrind" = xyes; then
|
||||
AC_MSG_ERROR([Valgrind support required but not present])
|
||||
fi
|
||||
AC_DEFINE([HAVE_VALGRIND], 1, [Use valgrind intrinsics to suppress false warnings])
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT([$VALGRIND])
|
||||
|
||||
dnl Restore LDFLAGS and CPPFLAGS
|
||||
LDFLAGS="$_SAVE_LDFLAGS"
|
||||
CPPFLAGS="$_SAVE_CPPFLAGS"
|
||||
@@ -2625,7 +2353,6 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
|
||||
dnl Substitute the config
|
||||
AC_CONFIG_FILES([Makefile
|
||||
src/Makefile
|
||||
src/compiler/Makefile
|
||||
src/egl/Makefile
|
||||
src/egl/main/egl.pc
|
||||
src/egl/wayland/wayland-drm/Makefile
|
||||
@@ -2648,7 +2375,6 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/drivers/rbug/Makefile
|
||||
src/gallium/drivers/softpipe/Makefile
|
||||
src/gallium/drivers/svga/Makefile
|
||||
src/gallium/drivers/swr/Makefile
|
||||
src/gallium/drivers/trace/Makefile
|
||||
src/gallium/drivers/vc4/Makefile
|
||||
src/gallium/drivers/virgl/Makefile
|
||||
@@ -2696,14 +2422,11 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/winsys/virgl/vtest/Makefile
|
||||
src/gbm/Makefile
|
||||
src/gbm/main/gbm.pc
|
||||
src/glsl/Makefile
|
||||
src/glx/Makefile
|
||||
src/glx/apple/Makefile
|
||||
src/glx/tests/Makefile
|
||||
src/gtest/Makefile
|
||||
src/intel/Makefile
|
||||
src/intel/genxml/Makefile
|
||||
src/intel/isl/Makefile
|
||||
src/intel/vulkan/Makefile
|
||||
src/loader/Makefile
|
||||
src/mapi/Makefile
|
||||
src/mapi/es1api/glesv1_cm.pc
|
||||
@@ -2730,14 +2453,6 @@ AC_CONFIG_FILES([Makefile
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
# Fix up dependencies in *.Plo files, where we changed the extension of a
|
||||
# source file
|
||||
$SED -i -e 's/brw_blorp.cpp/brw_blorp.c/' src/mesa/drivers/dri/i965/.deps/brw_blorp.Plo
|
||||
$SED -i -e 's/gen6_blorp.cpp/gen6_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen6_blorp.Plo
|
||||
$SED -i -e 's/gen7_blorp.cpp/gen7_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen7_blorp.Plo
|
||||
$SED -i -e 's/gen8_blorp.cpp/gen8_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen8_blorp.Plo
|
||||
|
||||
|
||||
dnl
|
||||
dnl Output some configuration info for the user
|
||||
dnl
|
||||
@@ -2776,15 +2491,12 @@ if test "x$enable_dri" != xno; then
|
||||
echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
|
||||
fi
|
||||
|
||||
case "x$enable_glx" in
|
||||
xdri)
|
||||
echo " GLX: DRI-based"
|
||||
;;
|
||||
xxlib)
|
||||
case "x$enable_glx$enable_xlib_glx" in
|
||||
xyesyes)
|
||||
echo " GLX: Xlib-based"
|
||||
;;
|
||||
xgallium-xlib)
|
||||
echo " GLX: Xlib-based (Gallium)"
|
||||
xyesno)
|
||||
echo " GLX: DRI-based"
|
||||
;;
|
||||
*)
|
||||
echo " GLX: $enable_glx"
|
||||
@@ -2808,15 +2520,6 @@ if test "$enable_egl" = yes; then
|
||||
echo " EGL drivers: $egl_drivers"
|
||||
fi
|
||||
|
||||
# Vulkan
|
||||
echo ""
|
||||
if test "x$VULKAN_DRIVERS" != x; then
|
||||
echo " Vulkan drivers: $VULKAN_DRIVERS"
|
||||
echo " Vulkan ICD dir: $VULKAN_ICD_INSTALL_DIR"
|
||||
else
|
||||
echo " Vulkan drivers: no"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
if test "x$MESA_LLVM" = x1; then
|
||||
echo " llvm: yes"
|
||||
|
490
docs/COPYING
Normal file
490
docs/COPYING
Normal file
@@ -0,0 +1,490 @@
|
||||
|
||||
Some parts of Mesa are copyrighted under the GNU LGPL. See the
|
||||
Mesa/docs/COPYRIGHT file for details.
|
||||
|
||||
The following is the standard GNU copyright file.
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
382
docs/GL3.txt
382
docs/GL3.txt
@@ -1,28 +1,13 @@
|
||||
# Status of OpenGL extensions in Mesa
|
||||
|
||||
Here's how to read this file:
|
||||
Status of OpenGL 3.x features in Mesa
|
||||
|
||||
all DONE: <driver>, ...
|
||||
All the extensions are done for the given list of drivers.
|
||||
|
||||
DONE
|
||||
The extension is done for Mesa and no implementation is necessary on the
|
||||
driver-side.
|
||||
Note: when an item is marked as "DONE" it means all the core Mesa
|
||||
infrastructure is complete but it may be the case that few (if any) drivers
|
||||
implement the features.
|
||||
|
||||
DONE ()
|
||||
The extension is done for Mesa and all the drivers in the "all DONE" list.
|
||||
|
||||
DONE (<driver>, ...)
|
||||
The extension is done for Mesa, all the drivers in the "all DONE" list, and
|
||||
all the drivers in the brackets.
|
||||
|
||||
in progress
|
||||
The extension is started but not finished yet.
|
||||
|
||||
not started
|
||||
The extension isn't started yet.
|
||||
|
||||
# OpenGL Core and Compatibility context support
|
||||
OpenGL Core and Compatibility context support
|
||||
|
||||
OpenGL 3.1 and later versions are only supported with the Core profile.
|
||||
There are no plans to support GL_ARB_compatibility. The last supported OpenGL
|
||||
@@ -30,248 +15,249 @@ version with all deprecated features is 3.0. Some of the later GL features
|
||||
are exposed in the 3.0 context as extensions.
|
||||
|
||||
|
||||
Feature Status
|
||||
------------------------------------------------------- ------------------------
|
||||
Feature Status
|
||||
----------------------------------------------------- ------------------------
|
||||
|
||||
GL 3.0, GLSL 1.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr
|
||||
GL 3.0, GLSL 1.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
|
||||
|
||||
glBindFragDataLocation, glGetFragDataLocation DONE
|
||||
GL_NV_conditional_render (Conditional rendering) DONE ()
|
||||
GL_ARB_map_buffer_range (Map buffer subranges) DONE ()
|
||||
GL_ARB_color_buffer_float (Clamping controls) DONE ()
|
||||
GL_ARB_texture_float (Float textures, renderbuffers) DONE ()
|
||||
Conditional rendering (GL_NV_conditional_render) DONE ()
|
||||
Map buffer subranges (GL_ARB_map_buffer_range) DONE ()
|
||||
Clamping controls (GL_ARB_color_buffer_float) DONE ()
|
||||
Float textures, renderbuffers (GL_ARB_texture_float) DONE ()
|
||||
GL_EXT_packed_float DONE ()
|
||||
GL_EXT_texture_shared_exponent DONE ()
|
||||
GL_ARB_depth_buffer_float (Float depth buffers) DONE ()
|
||||
GL_ARB_framebuffer_object (Framebuffer objects) DONE ()
|
||||
Float depth buffers (GL_ARB_depth_buffer_float) DONE ()
|
||||
Framebuffer objects (GL_ARB_framebuffer_object) DONE ()
|
||||
GL_ARB_half_float_pixel DONE (all drivers)
|
||||
GL_ARB_half_float_vertex DONE ()
|
||||
GL_EXT_texture_integer DONE ()
|
||||
GL_EXT_texture_array DONE ()
|
||||
GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE ()
|
||||
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE ()
|
||||
GL_EXT_texture_compression_rgtc DONE ()
|
||||
GL_ARB_texture_rg DONE ()
|
||||
GL_EXT_transform_feedback (Transform feedback) DONE ()
|
||||
GL_ARB_vertex_array_object (Vertex array objects) DONE ()
|
||||
GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE ()
|
||||
Transform feedback (GL_EXT_transform_feedback) DONE ()
|
||||
Vertex array objects (GL_ARB_vertex_array_object) DONE ()
|
||||
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE ()
|
||||
glClearBuffer commands DONE
|
||||
glGetStringi command DONE
|
||||
glTexParameterI, glGetTexParameterI commands DONE
|
||||
glVertexAttribI commands DONE
|
||||
Depth format cube textures DONE ()
|
||||
GLX_ARB_create_context (GLX 1.4 is required) DONE
|
||||
Multisample anti-aliasing DONE (llvmpipe (*), softpipe (*), swr (*))
|
||||
Multisample anti-aliasing DONE (llvmpipe (*), softpipe (*))
|
||||
|
||||
(*) llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support
|
||||
(*) llvmpipe and softpipe have fake Multisample anti-aliasing support
|
||||
|
||||
|
||||
GL 3.1, GLSL 1.40 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr
|
||||
GL 3.1, GLSL 1.40 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
|
||||
|
||||
Forward compatible context support/deprecations DONE ()
|
||||
GL_ARB_draw_instanced (Instanced drawing) DONE ()
|
||||
GL_ARB_copy_buffer (Buffer copying) DONE ()
|
||||
GL_NV_primitive_restart (Primitive restart) DONE ()
|
||||
Instanced drawing (GL_ARB_draw_instanced) DONE ()
|
||||
Buffer copying (GL_ARB_copy_buffer) DONE ()
|
||||
Primitive restart (GL_NV_primitive_restart) DONE ()
|
||||
16 vertex texture image units DONE ()
|
||||
GL_ARB_texture_buffer_object (Texture buffer objs) DONE (for OpenGL 3.1 contexts)
|
||||
GL_ARB_texture_rectangle (Rectangular textures) DONE ()
|
||||
GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE ()
|
||||
GL_EXT_texture_snorm (Signed normalized textures) DONE ()
|
||||
Texture buffer objs (GL_ARB_texture_buffer_object) DONE for OpenGL 3.1 contexts ()
|
||||
Rectangular textures (GL_ARB_texture_rectangle) DONE ()
|
||||
Uniform buffer objs (GL_ARB_uniform_buffer_object) DONE ()
|
||||
Signed normalized textures (GL_EXT_texture_snorm) DONE ()
|
||||
|
||||
|
||||
GL 3.2, GLSL 1.50 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
|
||||
|
||||
Core/compatibility profiles DONE
|
||||
Geometry shaders DONE ()
|
||||
GL_ARB_vertex_array_bgra (BGRA vertex order) DONE (swr)
|
||||
GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (swr)
|
||||
GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (swr)
|
||||
GL_ARB_provoking_vertex (Provoking vertex) DONE (swr)
|
||||
GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (swr)
|
||||
GL_ARB_texture_multisample (Multisample textures) DONE (swr)
|
||||
GL_ARB_depth_clamp (Frag depth clamp) DONE (swr)
|
||||
GL_ARB_sync (Fence objects) DONE (swr)
|
||||
BGRA vertex order (GL_ARB_vertex_array_bgra) DONE ()
|
||||
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE ()
|
||||
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE ()
|
||||
Provoking vertex (GL_ARB_provoking_vertex) DONE ()
|
||||
Seamless cubemaps (GL_ARB_seamless_cube_map) DONE ()
|
||||
Multisample textures (GL_ARB_texture_multisample) DONE ()
|
||||
Frag depth clamp (GL_ARB_depth_clamp) DONE ()
|
||||
Fence objects (GL_ARB_sync) DONE ()
|
||||
GLX_ARB_create_context_profile DONE
|
||||
|
||||
|
||||
GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
|
||||
|
||||
GL_ARB_blend_func_extended DONE (swr)
|
||||
GL_ARB_blend_func_extended DONE ()
|
||||
GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_occlusion_query2 DONE (swr)
|
||||
GL_ARB_occlusion_query2 DONE ()
|
||||
GL_ARB_sampler_objects DONE (all drivers)
|
||||
GL_ARB_shader_bit_encoding DONE (swr)
|
||||
GL_ARB_texture_rgb10_a2ui DONE (swr)
|
||||
GL_ARB_texture_swizzle DONE (swr)
|
||||
GL_ARB_timer_query DONE (swr)
|
||||
GL_ARB_instanced_arrays DONE (swr)
|
||||
GL_ARB_vertex_type_2_10_10_10_rev DONE (swr)
|
||||
GL_ARB_shader_bit_encoding DONE ()
|
||||
GL_ARB_texture_rgb10_a2ui DONE ()
|
||||
GL_ARB_texture_swizzle DONE ()
|
||||
GL_ARB_timer_query DONE ()
|
||||
GL_ARB_instanced_arrays DONE ()
|
||||
GL_ARB_vertex_type_2_10_10_10_rev DONE ()
|
||||
|
||||
|
||||
GL 4.0, GLSL 4.00 --- all DONE: nvc0, r600, radeonsi
|
||||
GL 4.0, GLSL 4.00 --- all DONE: nvc0, radeonsi
|
||||
|
||||
GL_ARB_draw_buffers_blend DONE (i965, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_draw_indirect DONE (i965, llvmpipe, softpipe, swr)
|
||||
GL_ARB_gpu_shader5 DONE (i965)
|
||||
- 'precise' qualifier DONE
|
||||
- Dynamically uniform sampler array indices DONE (softpipe)
|
||||
- Dynamically uniform UBO array indices DONE ()
|
||||
- Implicit signed -> unsigned conversions DONE
|
||||
- Fused multiply-add DONE ()
|
||||
- Packing/bitfield/conversion functions DONE (softpipe)
|
||||
- Enhanced textureGather DONE (softpipe)
|
||||
- Geometry shader instancing DONE (llvmpipe, softpipe)
|
||||
- Geometry shader multiple streams DONE ()
|
||||
- Enhanced per-sample shading DONE ()
|
||||
- Interpolation functions DONE ()
|
||||
- New overload resolution rules DONE
|
||||
GL_ARB_gpu_shader_fp64 DONE (i965/gen8+, llvmpipe, softpipe)
|
||||
GL_ARB_sample_shading DONE (i965, nv50)
|
||||
GL_ARB_shader_subroutine DONE (i965, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_tessellation_shader DONE (i965)
|
||||
GL_ARB_texture_buffer_object_rgb32 DONE (i965, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_cube_map_array DONE (i965, nv50, llvmpipe, softpipe)
|
||||
GL_ARB_texture_gather DONE (i965, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_query_lod DONE (i965, nv50, softpipe)
|
||||
GL_ARB_transform_feedback2 DONE (i965, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_transform_feedback3 DONE (i965, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_draw_buffers_blend DONE (i965, nv50, r600, llvmpipe, softpipe)
|
||||
GL_ARB_draw_indirect DONE (i965, r600, llvmpipe, softpipe)
|
||||
GL_ARB_gpu_shader5 DONE (i965, r600)
|
||||
- 'precise' qualifier DONE
|
||||
- Dynamically uniform sampler array indices DONE (softpipe)
|
||||
- Dynamically uniform UBO array indices DONE ()
|
||||
- Implicit signed -> unsigned conversions DONE
|
||||
- Fused multiply-add DONE ()
|
||||
- Packing/bitfield/conversion functions DONE (softpipe)
|
||||
- Enhanced textureGather DONE (softpipe)
|
||||
- Geometry shader instancing DONE (llvmpipe, softpipe)
|
||||
- Geometry shader multiple streams DONE ()
|
||||
- Enhanced per-sample shading DONE ()
|
||||
- Interpolation functions DONE ()
|
||||
- New overload resolution rules DONE
|
||||
GL_ARB_gpu_shader_fp64 DONE (r600, llvmpipe, softpipe)
|
||||
GL_ARB_sample_shading DONE (i965, nv50, r600)
|
||||
GL_ARB_shader_subroutine DONE (i965, nv50, r600, llvmpipe, softpipe)
|
||||
GL_ARB_tessellation_shader DONE ()
|
||||
GL_ARB_texture_buffer_object_rgb32 DONE (i965, r600, llvmpipe, softpipe)
|
||||
GL_ARB_texture_cube_map_array DONE (i965, nv50, r600, llvmpipe, softpipe)
|
||||
GL_ARB_texture_gather DONE (i965, nv50, r600, llvmpipe, softpipe)
|
||||
GL_ARB_texture_query_lod DONE (i965, nv50, r600, softpipe)
|
||||
GL_ARB_transform_feedback2 DONE (i965, nv50, r600, llvmpipe, softpipe)
|
||||
GL_ARB_transform_feedback3 DONE (i965, nv50, r600, llvmpipe, softpipe)
|
||||
|
||||
|
||||
GL 4.1, GLSL 4.10 --- all DONE: nvc0, r600, radeonsi
|
||||
GL 4.1, GLSL 4.10 --- all DONE: nvc0, radeonsi
|
||||
|
||||
GL_ARB_ES2_compatibility DONE (i965, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_get_program_binary DONE (0 binary formats)
|
||||
GL_ARB_separate_shader_objects DONE (all drivers)
|
||||
GL_ARB_shader_precision DONE (all drivers that support GLSL 4.10)
|
||||
GL_ARB_vertex_attrib_64bit DONE (i965/gen8+, llvmpipe, softpipe)
|
||||
GL_ARB_viewport_array DONE (i965, nv50, llvmpipe, softpipe)
|
||||
GL_ARB_ES2_compatibility DONE (i965, nv50, r600, llvmpipe, softpipe)
|
||||
GL_ARB_get_program_binary DONE (0 binary formats)
|
||||
GL_ARB_separate_shader_objects DONE (all drivers)
|
||||
GL_ARB_shader_precision DONE (all drivers that support GLSL 4.10)
|
||||
GL_ARB_vertex_attrib_64bit DONE (r600, llvmpipe, softpipe)
|
||||
GL_ARB_viewport_array DONE (i965, nv50, r600, llvmpipe)
|
||||
|
||||
|
||||
GL 4.2, GLSL 4.20 -- all DONE: radeonsi
|
||||
GL 4.2, GLSL 4.20:
|
||||
|
||||
GL_ARB_texture_compression_bptc DONE (i965, nvc0, r600, radeonsi)
|
||||
GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
|
||||
GL_ARB_shader_atomic_counters DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_texture_storage DONE (all drivers)
|
||||
GL_ARB_transform_feedback_instanced DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_base_instance DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_shader_image_load_store DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_shading_language_packing DONE (all drivers)
|
||||
GL_ARB_internalformat_query DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_map_buffer_alignment DONE (all drivers)
|
||||
GL_ARB_texture_compression_bptc DONE (i965, nvc0, r600, radeonsi)
|
||||
GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
|
||||
GL_ARB_shader_atomic_counters DONE (i965)
|
||||
GL_ARB_texture_storage DONE (all drivers)
|
||||
GL_ARB_transform_feedback_instanced DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_base_instance DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_shader_image_load_store DONE (i965)
|
||||
GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_shading_language_packing DONE (all drivers)
|
||||
GL_ARB_internalformat_query DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_map_buffer_alignment DONE (all drivers)
|
||||
|
||||
|
||||
GL 4.3, GLSL 4.30:
|
||||
|
||||
GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
|
||||
GL_ARB_clear_buffer_object DONE (all drivers)
|
||||
GL_ARB_compute_shader DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_copy_image DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_KHR_debug DONE (all drivers)
|
||||
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_fragment_layer_viewport DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe)
|
||||
GL_ARB_framebuffer_no_attachments DONE (i965, nvc0, r600, radeonsi, softpipe)
|
||||
GL_ARB_internalformat_query2 DONE (all drivers)
|
||||
GL_ARB_invalidate_subdata DONE (all drivers)
|
||||
GL_ARB_multi_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_program_interface_query DONE (all drivers)
|
||||
GL_ARB_robust_buffer_access_behavior DONE (i965, nvc0, radeonsi)
|
||||
GL_ARB_shader_image_size DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_shader_storage_buffer_object DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_buffer_range DONE (nv50, nvc0, i965, r600, radeonsi, llvmpipe)
|
||||
GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
GL_ARB_texture_view DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
||||
GL_ARB_arrays_of_arrays DONE (i965)
|
||||
GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
|
||||
GL_ARB_clear_buffer_object DONE (all drivers)
|
||||
GL_ARB_compute_shader in progress (jljusten)
|
||||
GL_ARB_copy_image DONE (i965, nv50, nvc0, radeonsi)
|
||||
GL_KHR_debug DONE (all drivers)
|
||||
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_fragment_layer_viewport DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe)
|
||||
GL_ARB_framebuffer_no_attachments DONE (i965)
|
||||
GL_ARB_internalformat_query2 not started
|
||||
GL_ARB_invalidate_subdata DONE (all drivers)
|
||||
GL_ARB_multi_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_program_interface_query DONE (all drivers)
|
||||
GL_ARB_robust_buffer_access_behavior not started
|
||||
GL_ARB_shader_image_size DONE (i965)
|
||||
GL_ARB_shader_storage_buffer_object DONE (i965)
|
||||
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_buffer_range DONE (nv50, nvc0, i965, r600, radeonsi, llvmpipe)
|
||||
GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
GL_ARB_texture_view DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
||||
|
||||
|
||||
GL 4.4, GLSL 4.40:
|
||||
|
||||
GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
|
||||
GL_ARB_buffer_storage DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_clear_texture DONE (i965, nv50, nvc0)
|
||||
GL_ARB_enhanced_layouts in progress (Timothy)
|
||||
- compile-time constant expressions DONE
|
||||
- explicit byte offsets for blocks DONE
|
||||
- forced alignment within blocks DONE
|
||||
- specified vec4-slot component numbers in progress
|
||||
- specified transform/feedback layout DONE
|
||||
- input/output block locations DONE
|
||||
GL_ARB_multi_bind DONE (all drivers)
|
||||
GL_ARB_query_buffer_object DONE (i965/hsw+, nvc0)
|
||||
GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_stencil8 DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
|
||||
GL_ARB_buffer_storage DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_clear_texture DONE (i965, nv50, nvc0)
|
||||
GL_ARB_enhanced_layouts in progress (Timothy)
|
||||
- compile-time constant expressions DONE
|
||||
- explicit byte offsets for blocks in progress
|
||||
- forced alignment within blocks in progress
|
||||
- specified vec4-slot component numbers in progress
|
||||
- specified transform/feedback layout in progress
|
||||
- input/output block locations in progress
|
||||
GL_ARB_multi_bind DONE (all drivers)
|
||||
GL_ARB_query_buffer_object not started
|
||||
GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_stencil8 DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
|
||||
GL 4.5, GLSL 4.50:
|
||||
|
||||
GL_ARB_ES3_1_compatibility DONE (nvc0, radeonsi)
|
||||
GL_ARB_clip_control DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_conditional_render_inverted DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_cull_distance DONE (i965, nv50, nvc0, llvmpipe, softpipe)
|
||||
GL_ARB_derivative_control DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_direct_state_access DONE (all drivers)
|
||||
GL_ARB_get_texture_sub_image DONE (all drivers)
|
||||
GL_ARB_shader_texture_image_samples DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_texture_barrier DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
|
||||
GL_KHR_robustness DONE (i965)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
GL_ARB_ES3_1_compatibility not started
|
||||
GL_ARB_clip_control DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_conditional_render_inverted DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_cull_distance in progress (Tobias)
|
||||
GL_ARB_derivative_control DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_direct_state_access DONE (all drivers)
|
||||
GL_ARB_get_texture_sub_image DONE (all drivers)
|
||||
GL_ARB_shader_texture_image_samples DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_texture_barrier DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
|
||||
GL_KHR_robust_buffer_access_behavior not started
|
||||
GL_KHR_robustness 90% done (the ARB variant)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
|
||||
These are the extensions cherry-picked to make GLES 3.1
|
||||
GLES3.1, GLSL ES 3.1
|
||||
GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_compute_shader DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_framebuffer_no_attachments DONE (i965, nvc0, r600, radeonsi, softpipe)
|
||||
GL_ARB_program_interface_query DONE (all drivers)
|
||||
GL_ARB_shader_atomic_counters DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_shader_image_load_store DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_shader_image_size DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_shader_storage_buffer_object DONE (i965, nvc0, radeonsi, softpipe)
|
||||
GL_ARB_shading_language_packing DONE (all drivers)
|
||||
GL_ARB_separate_shader_objects DONE (all drivers)
|
||||
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_multisample (Multisample textures) DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
||||
GS5 Enhanced textureGather DONE (i965, nvc0, r600, radeonsi)
|
||||
GS5 Packing/bitfield/conversion functions DONE (i965, nvc0, r600, radeonsi)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
GL_ARB_arrays_of_arrays DONE (i965)
|
||||
GL_ARB_compute_shader in progress (jljusten)
|
||||
GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_framebuffer_no_attachments DONE (i965)
|
||||
GL_ARB_program_interface_query DONE (all drivers)
|
||||
GL_ARB_shader_atomic_counters DONE (i965)
|
||||
GL_ARB_shader_image_load_store DONE (i965)
|
||||
GL_ARB_shader_image_size DONE (i965)
|
||||
GL_ARB_shader_storage_buffer_object DONE (i965)
|
||||
GL_ARB_shading_language_packing DONE (all drivers)
|
||||
GL_ARB_separate_shader_objects DONE (all drivers)
|
||||
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
Multisample textures (GL_ARB_texture_multisample) DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
||||
GS5 Enhanced textureGather DONE (i965, nvc0, r600, radeonsi)
|
||||
GS5 Packing/bitfield/conversion functions DONE (i965, nvc0, r600, radeonsi)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
|
||||
Additional functionality not covered above:
|
||||
glMemoryBarrierByRegion DONE
|
||||
glGetTexLevelParameter[fi]v - needs updates DONE
|
||||
glMemoryBarrierByRegion DONE
|
||||
glGetTexLevelParameter[fi]v - needs updates DONE
|
||||
glGetBooleani_v - restrict to GLES enums
|
||||
gl_HelperInvocation support DONE (i965, nvc0, r600, radeonsi)
|
||||
gl_HelperInvocation support
|
||||
|
||||
GLES3.2, GLSL ES 3.2
|
||||
GL_EXT_color_buffer_float DONE (all drivers)
|
||||
GL_KHR_blend_equation_advanced not started
|
||||
GL_KHR_debug DONE (all drivers)
|
||||
GL_KHR_robustness DONE (i965)
|
||||
GL_KHR_texture_compression_astc_ldr DONE (i965/gen9+)
|
||||
GL_OES_copy_image DONE (i965)
|
||||
GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
|
||||
GL_OES_draw_elements_base_vertex DONE (all drivers)
|
||||
GL_OES_geometry_shader started (idr)
|
||||
GL_OES_gpu_shader5 DONE (all drivers that support GL_ARB_gpu_shader5)
|
||||
GL_OES_primitive_bounding_box not started
|
||||
GL_OES_sample_shading DONE (i965, nvc0, r600, radeonsi)
|
||||
GL_OES_sample_variables DONE (i965, nvc0, r600, radeonsi)
|
||||
GL_OES_shader_image_atomic DONE (all drivers that support GL_ARB_shader_image_load_store)
|
||||
GL_OES_shader_io_blocks DONE (i965/gen8+, nvc0, radeonsi)
|
||||
GL_OES_shader_multisample_interpolation DONE (i965, nvc0, r600, radeonsi)
|
||||
GL_OES_tessellation_shader started (Ken)
|
||||
GL_OES_texture_border_clamp DONE (all drivers)
|
||||
GL_OES_texture_buffer DONE (i965, nvc0, radeonsi)
|
||||
GL_OES_texture_cube_map_array not started (based on GL_ARB_texture_cube_map_array, which is done for all drivers)
|
||||
GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8)
|
||||
GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
GL_EXT_color_buffer_float DONE (all drivers)
|
||||
GL_KHR_blend_equation_advanced not started
|
||||
GL_KHR_debug DONE (all drivers)
|
||||
GL_KHR_robustness 90% done (the ARB variant)
|
||||
GL_KHR_texture_compression_astc_ldr DONE (i965/gen9+)
|
||||
GL_OES_copy_image not started (based on GL_ARB_copy_image, which is done for some drivers)
|
||||
GL_OES_draw_buffers_indexed not started
|
||||
GL_OES_draw_elements_base_vertex DONE (all drivers)
|
||||
GL_OES_geometry_shader not started (based on GL_ARB_geometry_shader4, which is done for all drivers)
|
||||
GL_OES_gpu_shader5 not started (based on parts of GL_ARB_gpu_shader5, which is done for some drivers)
|
||||
GL_OES_primitive_bounding box not started
|
||||
GL_OES_sample_shading not started (based on parts of GL_ARB_sample_shading, which is done for some drivers)
|
||||
GL_OES_sample_variables not started (based on parts of GL_ARB_sample_shading, which is done for some drivers)
|
||||
GL_OES_shader_image_atomic not started (based on parts of GL_ARB_shader_image_load_store, which is done for some drivers)
|
||||
GL_OES_shader_io_blocks not started (based on parts of GLSL 1.50, which is done)
|
||||
GL_OES_shader_multisample_interpolation not started (based on parts of GL_ARB_gpu_shader5, which is done)
|
||||
GL_OES_tessellation_shader not started (based on GL_ARB_tessellation_shader, which is done for some drivers)
|
||||
GL_OES_texture_border_clamp not started (based on GL_ARB_texture_border_clamp, which is done)
|
||||
GL_OES_texture_buffer not started (based on GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_range, and GL_ARB_texture_buffer_object_rgb32 that are all done)
|
||||
GL_OES_texture_cube_map_array not started (based on GL_ARB_texture_cube_map_array, which is done for all drivers)
|
||||
GL_OES_texture_stencil8 not started (based on GL_ARB_texture_stencil8, which is done for some drivers)
|
||||
GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
|
||||
More info about these features and the work involved can be found at
|
||||
http://dri.freedesktop.org/wiki/MissingFunctionality
|
||||
|
@@ -90,14 +90,14 @@
|
||||
<li><a href="http://www.opengl.org" target="_parent">OpenGL website</a>
|
||||
<li><a href="http://dri.freedesktop.org" target="_parent">DRI website</a>
|
||||
<li><a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>
|
||||
<li><a href="http://planet.freedesktop.org" target="_parent">Developer blogs</a>
|
||||
</ul>
|
||||
|
||||
<b>Hosted by:</b>
|
||||
<br>
|
||||
<blockquote>
|
||||
<a href="http://sourceforge.net"
|
||||
target="_parent">sourceforge.net</a>
|
||||
target="_parent"><img src="http://sourceforge.net/sflogo.php?group_id=3&type=1"
|
||||
width="88" height="31" align="bottom" alt="Sourceforge.net" border="0"></a>
|
||||
</blockquote>
|
||||
|
||||
</body>
|
||||
|
@@ -18,9 +18,7 @@
|
||||
|
||||
<p>
|
||||
Primary Mesa download site:
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/">ftp.freedesktop.org</a> (FTP)
|
||||
or <a href="https://mesa.freedesktop.org/archive/">mesa.freedesktop.org</a>
|
||||
(HTTP).
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/">freedesktop.org</a> (FTP)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@@ -89,11 +89,9 @@ types such as <code>EGLNativeDisplayType</code> or
|
||||
|
||||
<p>The available platforms are <code>x11</code>, <code>drm</code>,
|
||||
<code>wayland</code>, <code>surfaceless</code>, <code>android</code>,
|
||||
and <code>haiku</code>.
|
||||
The <code>android</code> platform can either be built as a system
|
||||
component, part of AOSP, using <code>Android.mk</code> files, or
|
||||
cross-compiled using appropriate <code>configure</code> options.
|
||||
The <code>haiku</code> platform can only be built with SCons.
|
||||
and <code>haiku</code>. The <code>android</code> platform
|
||||
can only be built as a system component, part of AOSP, while the
|
||||
<code>haiku</code> platform can only be built with SCons.
|
||||
Unless for special needs, the build system should
|
||||
select the right platforms automatically.</p>
|
||||
|
||||
|
@@ -91,20 +91,11 @@ This is only valid for versions >= 3.0.
|
||||
<li> Mesa may not really implement all the features of the given version.
|
||||
(for developers only)
|
||||
</ul>
|
||||
<li>MESA_GLES_VERSION_OVERRIDE - changes the value returned by
|
||||
glGetString(GL_VERSION) for OpenGL ES.
|
||||
<ul>
|
||||
<li> The format should be MAJOR.MINOR
|
||||
<li> Examples: 2.0, 3.0, 3.1
|
||||
<li> Mesa may not really implement all the features of the given version.
|
||||
(for developers only)
|
||||
</ul>
|
||||
<li>MESA_GLSL_VERSION_OVERRIDE - changes the value returned by
|
||||
glGetString(GL_SHADING_LANGUAGE_VERSION). Valid values are integers, such as
|
||||
"130". Mesa will not really implement all the features of the given language version
|
||||
if it's higher than what's normally reported. (for developers only)
|
||||
<li>MESA_GLSL - <a href="shading.html#envvars">shading language compiler options</a>
|
||||
<li>MESA_NO_MINMAX_CACHE - when set, the minmax index cache is globally disabled.
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -163,10 +154,6 @@ See the <a href="xlibdriver.html">Xlib software driver page</a> for details.
|
||||
<li>blorp - emit messages about the blorp operations (blits & clears)</li>
|
||||
<li>nodualobj - suppress generation of dual-object geometry shader code</li>
|
||||
<li>optimizer - dump shader assembly to files at each optimization pass and iteration that make progress</li>
|
||||
<li>vec4 - force vec4 mode in vertex shader</li>
|
||||
<li>spill_fs - force spilling of all registers in the scalar backend (useful to debug spilling code)</li>
|
||||
<li>spill_vec4 - force spilling of all registers in the vec4 backend (useful to debug spilling code)</li>
|
||||
<li>norbc - disable single sampled render buffer compression</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
@@ -236,7 +223,7 @@ See src/mesa/state_tracker/st_debug.c for other options.
|
||||
<li>LP_PERF - a comma-separated list of options to selectively no-op various
|
||||
parts of the driver. See the source code for details.
|
||||
<li>LP_NUM_THREADS - an integer indicating how many threads to use for rendering.
|
||||
Zero turns off threading completely. The default value is the number of CPU
|
||||
Zero turns of threading completely. The default value is the number of CPU
|
||||
cores present.
|
||||
</ul>
|
||||
|
||||
@@ -257,25 +244,6 @@ for details.
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>VC4 driver environment variables</h3>
|
||||
<ul>
|
||||
<li>VC4_DEBUG - a comma-separated list of named flags, which do various things:
|
||||
<ul>
|
||||
<li>cl - dump command list during creation</li>
|
||||
<li>qpu - dump generated QPU instructions</li>
|
||||
<li>qir - dump QPU IR during program compile</li>
|
||||
<li>nir - dump NIR during program compile</li>
|
||||
<li>tgsi - dump TGSI during program compile</li>
|
||||
<li>shaderdb - dump program compile information for shader-db analysis</li>
|
||||
<li>perf - print during performance-related events</li>
|
||||
<li>norast - skip actual hardware execution of commands</li>
|
||||
<li>always_flush - flush after each draw call</li>
|
||||
<li>always_sync - wait for finish after each flush</li>
|
||||
<li>dump - write a GPU command stream trace file (VC4 simulator only)</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>
|
||||
Other Gallium drivers have their own environment variables. These may change
|
||||
frequently so the source code should be consulted for details.
|
||||
|
@@ -16,79 +16,6 @@
|
||||
|
||||
<h1>News</h1>
|
||||
|
||||
<h2>May 9, 2016</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.1.4.html">Mesa 11.1.4</a> and
|
||||
<a href="relnotes/11.2.2.html">Mesa 11.2.2</a> are released.
|
||||
|
||||
These are bug-fix releases from the 11.1 and 11.2 branches, respectively.
|
||||
<br>
|
||||
NOTE: It is anticipated that 11.1.4 will be the final release in the 11.1.4
|
||||
series. Users of 11.1 are encouraged to migrate to the 11.2 series in order
|
||||
to obtain future fixes.
|
||||
</p>
|
||||
|
||||
<h2>April 17, 2016</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.1.3.html">Mesa 11.1.3</a> and
|
||||
<a href="relnotes/11.2.1.html">Mesa 11.2.1</a> are released.
|
||||
|
||||
These are bug-fix releases from the 11.1 and 11.2 branches, respectively.
|
||||
</p>
|
||||
|
||||
<h2>April 4, 2016</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.2.0.html">Mesa 11.2.0</a> is released. This is a
|
||||
new development release. See the release notes for more information
|
||||
about the release.
|
||||
</p>
|
||||
|
||||
<h2>February 10, 2016</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.1.2.html">Mesa 11.1.2</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>January 22, 2016</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.0.9.html">Mesa 11.0.9</a> is released.
|
||||
This is a bug-fix release.
|
||||
<br>
|
||||
NOTE: It is anticipated that 11.0.9 will be the final release in the 11.0
|
||||
series. Users of 11.0 are encouraged to migrate to the 11.1 series in order
|
||||
to obtain future fixes.
|
||||
</p>
|
||||
|
||||
<h2>January 13, 2016</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.1.1.html">Mesa 11.1.1</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>December 21, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.0.8.html">Mesa 11.0.8</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>December 15, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.1.0.html">Mesa 11.1.0</a> is released. This is a new
|
||||
development release. See the release notes for more information about
|
||||
the release.
|
||||
</p>
|
||||
|
||||
<h2>December 9, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.0.7.html">Mesa 11.0.7</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa demos 8.3.0 is also released.
|
||||
See the <a href="http://lists.freedesktop.org/archives/mesa-announce/2015-December/000191.html">announcement</a> for more information about the release.
|
||||
You can download it from <a href="ftp://ftp.freedesktop.org/pub/mesa/demos/8.3.0/">ftp.freedesktop.org/pub/mesa/demos/8.3.0/</a>.
|
||||
</p>
|
||||
|
||||
<h2>November 21, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/11.0.6.html">Mesa 11.0.6</a> is released.
|
||||
|
@@ -39,7 +39,7 @@ Version 2.6.4 or later should work.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="http://www.makotemplates.org/">Python Mako module</a> -
|
||||
Python Mako module is required. Version 0.3.4 or later should work.
|
||||
Python Mako module is required. Version 0.7.3 or later should work.
|
||||
</li>
|
||||
</br>
|
||||
<li><a href="http://www.scons.org/">SCons</a> is required for building on
|
||||
@@ -58,9 +58,6 @@ On Windows with MinGW, install flex and bison with:
|
||||
For MSVC on Windows, install
|
||||
<a href="http://winflexbison.sourceforge.net/">Win flex-bison</a>.
|
||||
</li>
|
||||
<br>
|
||||
<li>For building on Windows, Microsoft Visual Studio 2013 or later is required.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -73,7 +70,8 @@ The following are required for DRI-based hardware acceleration with Mesa:
|
||||
<ul>
|
||||
<li><a href="http://xorg.freedesktop.org/releases/individual/proto/">
|
||||
dri2proto</a> version 2.6 or later
|
||||
<li><a href="http://dri.freedesktop.org/libdrm/">libDRM</a> latest version
|
||||
<li><a href="http://dri.freedesktop.org/libdrm/">libDRM</a>
|
||||
version 2.4.33 or later
|
||||
<li>Xorg server version 1.5 or later
|
||||
<li>Linux 2.6.28 or later
|
||||
</ul>
|
||||
|
@@ -46,10 +46,10 @@ library</em>. <br>
|
||||
|
||||
<p>
|
||||
The Mesa distribution consists of several components. Different copyrights
|
||||
and licenses apply to different components.
|
||||
For example, the GLX client code uses the SGI Free Software License B, and
|
||||
some of the Mesa device drivers are copyrighted by their authors.
|
||||
See below for a list of Mesa's main components and the license for each.
|
||||
and licenses apply to different components. For example, some demo programs
|
||||
are copyrighted by SGI, some of the Mesa device drivers are copyrighted by
|
||||
their authors. See below for a list of Mesa's main components and the license
|
||||
for each.
|
||||
</p>
|
||||
<p>
|
||||
The core Mesa library is licensed according to the terms of the MIT license.
|
||||
@@ -97,17 +97,13 @@ and their respective licenses.
|
||||
<pre>
|
||||
Component Location License
|
||||
------------------------------------------------------------------
|
||||
Main Mesa code src/mesa/ MIT
|
||||
Main Mesa code src/mesa/ Mesa (MIT)
|
||||
|
||||
Device drivers src/mesa/drivers/* MIT, generally
|
||||
|
||||
Gallium code src/gallium/ MIT
|
||||
|
||||
Ext headers include/GL/glext.h Khronos
|
||||
include/GL/glxext.h
|
||||
|
||||
GLX client code src/glx/ SGI Free Software License B
|
||||
|
||||
C11 thread include/c11/threads*.h Boost (permissive)
|
||||
emulation
|
||||
</pre>
|
||||
|
@@ -21,17 +21,6 @@ The release notes summarize what's new or changed in each Mesa release.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="relnotes/11.2.2.html">11.2.2 release notes</a>
|
||||
<li><a href="relnotes/11.1.4.html">11.1.4 release notes</a>
|
||||
<li><a href="relnotes/11.2.1.html">11.2.1 release notes</a>
|
||||
<li><a href="relnotes/11.1.3.html">11.1.3 release notes</a>
|
||||
<li><a href="relnotes/11.2.0.html">11.2.0 release notes</a>
|
||||
<li><a href="relnotes/11.1.2.html">11.1.2 release notes</a>
|
||||
<li><a href="relnotes/11.0.9.html">11.0.9 release notes</a>
|
||||
<li><a href="relnotes/11.1.1.html">11.1.1 release notes</a>
|
||||
<li><a href="relnotes/11.0.8.html">11.0.8 release notes</a>
|
||||
<li><a href="relnotes/11.1.0.html">11.1.0 release notes</a>
|
||||
<li><a href="relnotes/11.0.7.html">11.0.7 release notes</a>
|
||||
<li><a href="relnotes/11.0.6.html">11.0.6 release notes</a>
|
||||
<li><a href="relnotes/11.0.5.html">11.0.5 release notes</a>
|
||||
<li><a href="relnotes/11.0.4.html">11.0.4 release notes</a>
|
||||
|
@@ -45,6 +45,8 @@ because compatibility contexts are not supported.
|
||||
|
||||
<ul>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91993">Bug 91993</a> - Graphical glitch in Astromenace (open-source game).</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92214">Bug 92214</a> - Flightgear crashes during splashboot with R600 driver, LLVM 3.7.0 and mesa 11.0.2</li>
|
||||
|
@@ -1,154 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 11.0.7 Release Notes / December 9, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.7 is a bug fix release which fixes bugs found since the 11.0.6 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.7 implements the OpenGL 4.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.1. OpenGL
|
||||
4.1 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
07c27004ff68b288097d17b2faa7bdf15ec73c96b7e6c9835266e544adf0a62f mesa-11.0.7.tar.gz
|
||||
e7e90a332ede6c8fd08eff90786a3fd1605a4e62ebf3a9b514047838194538cb mesa-11.0.7.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90348">Bug 90348</a> - Spilling failure of b96 merged value</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92363">Bug 92363</a> - [BSW/BDW] ogles1conform Gets test fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92438">Bug 92438</a> - Segfault in pushbuf_kref when running the android emulator (qemu) on nv50</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93110">Bug 93110</a> - [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93126">Bug 93126</a> - wrongly claim supporting GL_EXT_texture_rg</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Chris Wilson (1):</p>
|
||||
<ul>
|
||||
<li>meta: Compute correct buffer size with SkipRows/SkipPixels</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Stone (1):</p>
|
||||
<ul>
|
||||
<li>egl/wayland: Ignore rects from SwapBuffersWithDamage</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (4):</p>
|
||||
<ul>
|
||||
<li>texgetimage: consolidate 1D array handling code.</li>
|
||||
<li>r600: geometry shader gsvs itemsize workaround</li>
|
||||
<li>r600: rv670 use at least 16es/gs threads</li>
|
||||
<li>r600: workaround empty geom shader.</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (4):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.6</li>
|
||||
<li>get-pick-list.sh: Require explicit "11.0" for nominating stable patches</li>
|
||||
<li>mesa; add get-extra-pick-list.sh script into bin/</li>
|
||||
<li>Update version to 11.0.7</li>
|
||||
</ul>
|
||||
|
||||
<p>François Tigeot (1):</p>
|
||||
<ul>
|
||||
<li>xmlconfig: Add support for DragonFly</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (22):</p>
|
||||
<ul>
|
||||
<li>mesa: Make bind_vertex_buffer avilable outside varray.c</li>
|
||||
<li>mesa: Refactor update_array_format to make _mesa_update_array_format_public</li>
|
||||
<li>mesa: Refactor enable_vertex_array_attrib to make _mesa_enable_vertex_array_attrib</li>
|
||||
<li>i965: Pass brw_context instead of gl_context to brw_draw_rectlist</li>
|
||||
<li>i965: Use DSA functions for VBOs in brw_meta_fast_clear</li>
|
||||
<li>i965: Use internal functions for buffer object access</li>
|
||||
<li>i965: Don't pollute the buffer object namespace in brw_meta_fast_clear</li>
|
||||
<li>meta: Use DSA functions for PBO in create_texture_for_pbo</li>
|
||||
<li>meta: Use _mesa_NamedBufferData and _mesa_NamedBufferSubData for users of _mesa_meta_setup_vertex_objects</li>
|
||||
<li>i965: Use _mesa_NamedBufferSubData for users of _mesa_meta_setup_vertex_objects</li>
|
||||
<li>meta: Don't leave the VBO bound after _mesa_meta_setup_vertex_objects</li>
|
||||
<li>meta: Track VBO using gl_buffer_object instead of GL API object handle</li>
|
||||
<li>meta: Use DSA functions for VBOs in _mesa_meta_setup_vertex_objects</li>
|
||||
<li>meta: Use internal functions for buffer object and VAO access</li>
|
||||
<li>meta: Don't pollute the buffer object namespace in _mesa_meta_setup_vertex_objects</li>
|
||||
<li>meta: Partially convert _mesa_meta_DrawTex to DSA</li>
|
||||
<li>meta: Track VBO using gl_buffer_object instead of GL API object handle in _mesa_meta_DrawTex</li>
|
||||
<li>meta: Use internal functions for buffer object and VAO access in _mesa_meta_DrawTex</li>
|
||||
<li>meta: Don't pollute the buffer object namespace in _mesa_meta_DrawTex</li>
|
||||
<li>meta/TexSubImage: Don't pollute the buffer object namespace</li>
|
||||
<li>meta/generate_mipmap: Don't leak the framebuffer object</li>
|
||||
<li>glsl: Fix off-by-one error in array size check assertion</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (7):</p>
|
||||
<ul>
|
||||
<li>nvc0/ir: actually emit AFETCH on kepler</li>
|
||||
<li>nir: fix typo in idiv lowering, causing large-udiv-udiv failures</li>
|
||||
<li>nouveau: use the buffer usage to determine placement when no binding</li>
|
||||
<li>nv50,nvc0: properly handle buffer storage invalidation on dsa buffer</li>
|
||||
<li>nv50/ir: fix (un)spilling of 3-wide results</li>
|
||||
<li>mesa: support GL_RED/GL_RG in ES2 contexts when driver support exists</li>
|
||||
<li>nvc0/ir: start offset at texBindBase for txq, like regular texturing</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Gray (1):</p>
|
||||
<ul>
|
||||
<li>automake: fix some occurrences of hardcoded -ldl and -lpthread</li>
|
||||
</ul>
|
||||
|
||||
<p>Leo Liu (1):</p>
|
||||
<ul>
|
||||
<li>radeon/vce: disable Stoney VCE for 11.0</li>
|
||||
</ul>
|
||||
|
||||
<p>Marta Lofstedt (1):</p>
|
||||
<ul>
|
||||
<li>gles2: Update gl2ext.h to revision: 32120</li>
|
||||
</ul>
|
||||
|
||||
<p>Oded Gabbay (1):</p>
|
||||
<ul>
|
||||
<li>llvmpipe: disable VSX in ppc due to LLVM PPC bug</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,200 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 11.0.8 Release Notes / December 9, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.8 is a bug fix release which fixes bugs found since the 11.0.7 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.8 implements the OpenGL 4.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.1. OpenGL
|
||||
4.1 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
ab9db87b54d7525e4b611b82577ea9a9eae55927558df57b190059d5ecd9406f mesa-11.0.8.tar.gz
|
||||
5696e4730518b6805d2ed5def393c4293f425a2c2c01bd5ed4bdd7ad62f7ad75 mesa-11.0.8.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91806">Bug 91806</a> - configure does not test whether assembler supports sse4.1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92849">Bug 92849</a> - [IVB HSW BDW] piglit image load/store load-from-cleared-image.shader_test fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92909">Bug 92909</a> - Offset/alignment issue with layout std140 and vec3</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93004">Bug 93004</a> - Guild Wars 2 crash on nouveau DX11 cards</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93215">Bug 93215</a> - [Regression bisected] Ogles1conform Automatic mipmap generation test is fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93266">Bug 93266</a> - gl_arb_shading_language_420pack does not allow binding of image variables</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Boyuan Zhang (1):</p>
|
||||
<ul>
|
||||
<li>radeon/uvd: uv pitch separation for stoney</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (9):</p>
|
||||
<ul>
|
||||
<li>r600: do SQ flush ES ring rolling workaround</li>
|
||||
<li>r600: SMX returns CONTEXT_DONE early workaround</li>
|
||||
<li>r600/shader: split address get out to a function.</li>
|
||||
<li>r600/shader: add utility functions to do single slot arithmatic</li>
|
||||
<li>r600g: fix geom shader input indirect indexing.</li>
|
||||
<li>r600: handle geometry dynamic input array index</li>
|
||||
<li>radeonsi: handle doubles in lds load path.</li>
|
||||
<li>mesa/varray: set double arrays to non-normalised.</li>
|
||||
<li>mesa/shader: return correct attribute location for double matrix arrays</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (8):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.7</li>
|
||||
<li>cherry-ignore: don't pick a specific i965 formats patch</li>
|
||||
<li>Revert "i965/nir: Remove unused indirect handling"</li>
|
||||
<li>Revert "i965/state: Get rid of dword_pitch arguments to buffer functions"</li>
|
||||
<li>Revert "i965/vec4: Use a stride of 1 and byte offsets for UBOs"</li>
|
||||
<li>Revert "i965/fs: Use a stride of 1 and byte offsets for UBOs"</li>
|
||||
<li>Revert "i965/vec4: Use byte offsets for UBO pulls on Sandy Bridge"</li>
|
||||
<li>Update version to 11.0.8</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<ul>
|
||||
<li>i965: Resolve color and flush for all active shader images in intel_update_state().</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>meta/generate_mipmap: Work-around GLES 1.x problem with GL_DRAW_FRAMEBUFFER</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (17):</p>
|
||||
<ul>
|
||||
<li>freedreno/a4xx: support lod_bias</li>
|
||||
<li>freedreno/a4xx: fix 5_5_5_1 texture sampler format</li>
|
||||
<li>freedreno/a4xx: point regid to "red" even for alpha-only rb formats</li>
|
||||
<li>nvc0/ir: fold postfactor into immediate</li>
|
||||
<li>nv50/ir: deal with loops with no breaks</li>
|
||||
<li>nv50/ir: the mad source might not have a defining instruction</li>
|
||||
<li>nv50/ir: fix instruction permutation logic</li>
|
||||
<li>nv50/ir: don't forget to mark flagsDef on cvt in txb lowering</li>
|
||||
<li>nv50/ir: fix DCE to not generate 96-bit loads</li>
|
||||
<li>nv50/ir: avoid looking at uninitialized srcMods entries</li>
|
||||
<li>gk110/ir: fix imul hi emission with limm arg</li>
|
||||
<li>gk104/ir: sampler doesn't matter for txf</li>
|
||||
<li>gk110/ir: fix imad sat/hi flag emission for immediate args</li>
|
||||
<li>nv50/ir: fix cutoff for using r63 vs r127 when replacing zero</li>
|
||||
<li>nv50/ir: can't have predication and immediates</li>
|
||||
<li>glsl: assign varying locations to tess shaders when doing SSO</li>
|
||||
<li>ttn: add TEX2 support</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (5):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Use byte offsets for UBO pulls on Sandy Bridge</li>
|
||||
<li>i965/fs: Use a stride of 1 and byte offsets for UBOs</li>
|
||||
<li>i965/vec4: Use a stride of 1 and byte offsets for UBOs</li>
|
||||
<li>i965/state: Get rid of dword_pitch arguments to buffer functions</li>
|
||||
<li>i965/nir: Remove unused indirect handling</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Gray (2):</p>
|
||||
<ul>
|
||||
<li>configure.ac: use pkg-config for libelf</li>
|
||||
<li>configure: check for python2.7 for PYTHON2</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Fix fragment shader struct inputs.</li>
|
||||
<li>i965: Fix scalar vertex shader struct outputs.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (8):</p>
|
||||
<ul>
|
||||
<li>radeonsi: fix occlusion queries on Fiji</li>
|
||||
<li>radeonsi: fix a hang due to uninitialized border color registers</li>
|
||||
<li>radeonsi: fix Fiji for LLVM <= 3.7</li>
|
||||
<li>radeonsi: don't call of u_prims_for_vertices for patches and rectangles</li>
|
||||
<li>radeonsi: apply the streamout workaround to Fiji as well</li>
|
||||
<li>gallium/radeon: fix Hyper-Z hangs by programming PA_SC_MODE_CNTL_1 correctly</li>
|
||||
<li>tgsi/scan: add flag colors_written</li>
|
||||
<li>r600g: write all MRTs only if there is exactly one output (fixes a hang)</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Allow binding of image variables with 420pack.</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (2):</p>
|
||||
<ul>
|
||||
<li>i965: Add MESA_FORMAT_B8G8R8X8_SRGB to brw_format_for_mesa_format</li>
|
||||
<li>i965: Add B8G8R8X8_SRGB to the alpha format override</li>
|
||||
</ul>
|
||||
|
||||
<p>Oded Gabbay (1):</p>
|
||||
<ul>
|
||||
<li>configura.ac: fix test for SSE4.1 assembler support</li>
|
||||
</ul>
|
||||
|
||||
<p>Patrick Rudolph (2):</p>
|
||||
<ul>
|
||||
<li>nv50,nvc0: fix use-after-free when vertex buffers are unbound</li>
|
||||
<li>gallium/util: return correct number of bound vertex buffers</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Pitoiset (1):</p>
|
||||
<ul>
|
||||
<li>nvc0: free memory allocated by the prog which reads MP perf counters</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (1):</p>
|
||||
<ul>
|
||||
<li>i965: use _Shader to get fragment program when updating surface state</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (2):</p>
|
||||
<ul>
|
||||
<li>radeonsi: Rename si_shader::ls_rsrc{1,2} to si_shader::rsrc{1,2}</li>
|
||||
<li>radeonsi/compute: Use the compiler's COMPUTE_PGM_RSRC* register values</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,127 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 11.0.9 Release Notes / January 22, 2016</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.9 is a bug fix release which fixes bugs found since the 11.0.8 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.9 implements the OpenGL 4.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.1. OpenGL
|
||||
4.1 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
1597c2e983f476f98efdd6cd58b5298896d18479ff542bdeff28b98b129ede05 mesa-11.0.9.tar.gz
|
||||
a1262ff1c66a16ccf341186cf0e57b306b8589eb2cc5ce92ffb6788ab01d2b01 mesa-11.0.9.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91596">Bug 91596</a> - EGL_KHR_gl_colorspace (v2) causes problem with Android-x86 GUI</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92229">Bug 92229</a> - [APITRACE] SOMA have serious graphical errors</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93257">Bug 93257</a> - [SKL, bisected] ASTC dEQP tests segfault</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.8</li>
|
||||
<li>cherry-ignore: add patch already in branch</li>
|
||||
<li>cherry-ignore: add the dri3 glx null check patch</li>
|
||||
<li>i915: correctly parse/set the context flags</li>
|
||||
<li>egl/dri2: expose srgb configs when KHR_gl_colorspace is available</li>
|
||||
<li>Update version to 11.0.9</li>
|
||||
</ul>
|
||||
|
||||
<p>Grazvydas Ignotas (1):</p>
|
||||
<ul>
|
||||
<li>r600: fix constant buffer size programming</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (5):</p>
|
||||
<ul>
|
||||
<li>nvc0: don't forget to reset VTX_TMP bufctx slot after blit completion</li>
|
||||
<li>nv50/ir: float(s32 & 0xff) = float(u8), not s8</li>
|
||||
<li>nv50,nvc0: make sure there's pushbuf space and that we ref the bo early</li>
|
||||
<li>nv50,nvc0: fix crash when increasing bsp bo size for h264</li>
|
||||
<li>nvc0: scale up inter_bo size so that it's 16M for a 4K video</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>ralloc: Fix ralloc_adopt() to the old context's last child's parent.</li>
|
||||
<li>nvc0: Set winding order regardless of domain.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: don't miss changes to SPI_TMPRING_SIZE</li>
|
||||
</ul>
|
||||
|
||||
<p>Miklós Máté (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Don't leak ATIfs instructions in DeleteFragmentShader</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix crash when calling glViewport with no surface bound</li>
|
||||
</ul>
|
||||
|
||||
<p>Nicolai Hähnle (6):</p>
|
||||
<ul>
|
||||
<li>gallium/radeon: only dispose locally created target machine in radeon_llvm_compile</li>
|
||||
<li>mesa/bufferobj: make _mesa_delete_buffer_object externally accessible</li>
|
||||
<li>st/mesa: use _mesa_delete_buffer_object</li>
|
||||
<li>radeon: use _mesa_delete_buffer_object</li>
|
||||
<li>i915: use _mesa_delete_buffer_object</li>
|
||||
<li>i965: use _mesa_delete_buffer_object</li>
|
||||
</ul>
|
||||
|
||||
<p>Oded Gabbay (1):</p>
|
||||
<ul>
|
||||
<li>llvmpipe: use vpkswss when dst is signed</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Herring (1):</p>
|
||||
<ul>
|
||||
<li>freedreno/ir3: fix 32-bit builds with pointer-to-int-cast error enabled</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,296 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 11.2.0 Release Notes / 4 April 2016</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.2.0 is a new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release or wait for Mesa 11.2.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.2.0 implements the OpenGL 4.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.1. OpenGL
|
||||
4.1 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
dea3d8143929aad5c24ef0993ddb05807b30c284b488fc62903adfcc1c127887 mesa-11.2.0.tar.gz
|
||||
1c1fed2674abf3f16ed2623e9a5694d6752c293194e18462ebc644a19cfaafb2 mesa-11.2.0.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<p>
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>GL_ARB_arrays_of_arrays on all gallium drivers that provide GLSL 1.30</li>
|
||||
<li>GL_ARB_base_instance on freedreno/a4xx</li>
|
||||
<li>GL_ARB_compute_shader on i965</li>
|
||||
<li>GL_ARB_copy_image on r600</li>
|
||||
<li>GL_ARB_indirect_parameters on nvc0</li>
|
||||
<li>GL_ARB_query_buffer_object on nvc0</li>
|
||||
<li>GL_ARB_shader_atomic_counters on nvc0</li>
|
||||
<li>GL_ARB_shader_draw_parameters on i965, nvc0</li>
|
||||
<li>GL_ARB_shader_storage_buffer_object on nvc0</li>
|
||||
<li>GL_ARB_tessellation_shader on i965 and r600 (evergreen/cayman only)</li>
|
||||
<li>GL_ARB_texture_buffer_object_rgb32 on freedreno/a4xx</li>
|
||||
<li>GL_ARB_texture_buffer_range on freedreno/a4xx</li>
|
||||
<li>GL_ARB_texture_query_lod on freedreno/a4xx</li>
|
||||
<li>GL_ARB_texture_rgb10_a2ui on freedreno/a4xx</li>
|
||||
<li>GL_ARB_texture_view on freedreno/a4xx</li>
|
||||
<li>GL_ARB_vertex_type_10f_11f_11f_rev on freedreno/a4xx</li>
|
||||
<li>GL_KHR_texture_compression_astc_ldr on freedreno/a4xx</li>
|
||||
<li>GL_AMD_performance_monitor on radeonsi (CIK+ only)</li>
|
||||
<li>GL_ATI_meminfo on r600, radeonsi</li>
|
||||
<li>GL_NVX_gpu_memory_info on r600, radeonsi</li>
|
||||
<li>New OSMesaCreateContextAttribs() function (for creating core profile
|
||||
contexts)</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27512">Bug 27512</a> - Illegal instruction _mesa_x86_64_transform_points4_general</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75165">Bug 75165</a> - compute.c:464:49: error: function definition is not allowed here</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79783">Bug 79783</a> - Distorted output in obs-studio where other vendors "work"</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89330">Bug 89330</a> - piglit glsl-1.50 invariant-qualifier-in-out-block-01 regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89969">Bug 89969</a> - nouveau: add support for chunk decoding in order to support vaapi (st/va)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90348">Bug 90348</a> - Spilling failure of b96 merged value</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91526">Bug 91526</a> - World of Warcraft (on Wine) has UI corruption with nouveau</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91596">Bug 91596</a> - EGL_KHR_gl_colorspace (v2) causes problem with Android-x86 GUI</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91806">Bug 91806</a> - configure does not test whether assembler supports sse4.1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91927">Bug 91927</a> - [SKL] [regression] piglit compressed textures tests fail with kernel upgrade</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92193">Bug 92193</a> - [SKL] ES2-CTS.gtf.GL2ExtensionTests.compressed_astc_texture.compressed_astc_texture fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92229">Bug 92229</a> - [APITRACE] SOMA have serious graphical errors</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92233">Bug 92233</a> - Unigine Heaven 4.0 silhuette run</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92363">Bug 92363</a> - [BSW/BDW] ogles1conform Gets test fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92438">Bug 92438</a> - Segfault in pushbuf_kref when running the android emulator (qemu) on nv50</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92589">Bug 92589</a> - [BDW BSW SKL CTS] ES31-CTS.texture_gather.* GPU_HANG</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92595">Bug 92595</a> - [HSW,BDW,SKL][GLES 3.1 CTS] Big difference in the results for the ES31-CTS.shader_bitfield_operation.* tests</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92609">Bug 92609</a> - [BDW, BSW] piglit sampling-2d-array-as-2d-layer fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92687">Bug 92687</a> - Add support for ARB_internalformat_query2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92706">Bug 92706</a> - glBlitFramebuffer refuses to blit RGBA to RGB with MSAA</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92709">Bug 92709</a> - "LLVM triggered Diagnostic Handler: unsupported call to function ldexpf in main" when starting race in stuntrally</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92743">Bug 92743</a> - Centroid shouldn't have to match between the FS and the VS</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92759">Bug 92759</a> - [Regression, bisected] Visuals without alpha bits are not sRGB-capable</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92849">Bug 92849</a> - [IVB HSW BDW] piglit image load/store load-from-cleared-image.shader_test fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92909">Bug 92909</a> - Offset/alignment issue with layout std140 and vec3</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93004">Bug 93004</a> - Guild Wars 2 crash on nouveau DX11 cards</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93048">Bug 93048</a> - [CTS regression] mesa af2723 breaks GL Conformance for debug extension</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93063">Bug 93063</a> - drm_helper.h:227:1: error: static declaration of ‘pipe_virgl_create_screen’ follows non-static declaration</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93091">Bug 93091</a> - [opencl] segfault when running any opencl programs (like clinfo)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93092">Bug 93092</a> - lp_test_format regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93126">Bug 93126</a> - wrongly claim supporting GL_EXT_texture_rg</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93180">Bug 93180</a> - [regression] arb_separate_shader_objects.active sampler conflict fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93189">Bug 93189</a> - "./util/u_inlines.h", line 83: operands have incompatible types: void ":" int</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93215">Bug 93215</a> - [Regression bisected] Ogles1conform Automatic mipmap generation test is fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93235">Bug 93235</a> - [regression] dispatch sanity broken by GetPointerv</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93257">Bug 93257</a> - [SKL, bisected] ASTC dEQP tests segfault</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93264">Bug 93264</a> - Tonga VM Faults since llvm ScheduleDAGInstrs: Rework schedule graph builder.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93266">Bug 93266</a> - gl_arb_shading_language_420pack does not allow binding of image variables</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93300">Bug 93300</a> - Two Worlds 2 renders water incorrectly</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93312">Bug 93312</a> - [SKL][GLES 3.1 CTS] ES31-CTS.layout_binding* GPU_HANG</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93320">Bug 93320</a> - [HSW,BDW,SKL][GLES 3.1 CTS] ES31-CTS.vertex_attrib_binding.advanced-bindingUpdate fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93322">Bug 93322</a> - [HSW,BDW,SKL][GLES 3.1 CTS] ES31-CTS.compute_shader.resource-ubo fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93323">Bug 93323</a> - [HSW,BDW,SKL][GLES 3.1 CTS]ES31-CTS.shader_image_load_store.basic-allTargets-store-fs fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93325">Bug 93325</a> - [HSW,BDW,SKL]ES31-CTS.explicit_uniform_location.uniform-loc-* 2 tests fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93339">Bug 93339</a> - glLinkProgram() should fail when a varying is never written to in a previous stage</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93348">Bug 93348</a> - [HSW,BDW,SKL][GLES 3.1 CTS] ES31-CTS.compute_shader.* segfault</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93358">Bug 93358</a> - [HSW] Unreal Elemental demo - assertion error in copy_image_with_blitter</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93387">Bug 93387</a> - inverse() shouldn’t be exposed in GLSL 1.20 and 1.30</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93388">Bug 93388</a> - [i965, regression, bisection] MESA_FORMAT_B8G8R8X8_SRGB changes break kwin</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93407">Bug 93407</a> - [SKL][GLES 3.1 CTS]ES31-CTS.compute_shader.resources-texture fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93410">Bug 93410</a> - [BDW,SKL][GLES 3.1 CTS]ES31-CTS.shader_image_load_store.negative-linkErrors fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93418">Bug 93418</a> - Geometry Shaders output wrong vertices on Sandy Bridge</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93426">Bug 93426</a> - [SKL,BDW,BSW,BXT] CTS regression: es2-cts.gtf.gl2fixedtests.buffer_objects.buffer_object,s</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93524">Bug 93524</a> - Clover doesn't build</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93526">Bug 93526</a> - GfxBench 4 tessellation demos misrender</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93532">Bug 93532</a> - [HSW,BDW,SKL][GLES 3.1 CTS] ES31-CTS.compute_shader.*. Regression, bisected.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93540">Bug 93540</a> - [BISECTED, HSW] Rendering issue in Heaven (and other benchmarks)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93560">Bug 93560</a> - opt_combine_constants failing fabsf(reg->f) == table.imm[i].val assertion</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93599">Bug 93599</a> - Strange green flashes with "Metro: Last Light Redux" + "Metro 2033 Redux" with Intel Mesa driver</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93648">Bug 93648</a> - Random lines being rendered when playing Dolphin (geometry shaders related, w/ apitrace)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93650">Bug 93650</a> - GL_ARB_separate_shader_objects is buggy (PCSX2)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93667">Bug 93667</a> - Crash in eglCreateImageKHR with huge texture size</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93696">Bug 93696</a> - [HSW,BDW;SKL][GLES 3.1 CTS]ES31-CTS.explicit_uniform_location.uniform-loc-mix-with-implicit-max-* fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93700">Bug 93700</a> - [SKL, regression] deqp-gles2.functional.texture.completeness</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93717">Bug 93717</a> - Meta mipmap generation can corrupt texture state</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93722">Bug 93722</a> - Segfault when compiling shader with a subroutine that takes a parameter</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93725">Bug 93725</a> - [HSW, regression, bisected] ES31-CTS.texture_gather.*depth*</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93731">Bug 93731</a> - glUniformSubroutinesuiv segfaults when subroutine uniform is bound to a specific location</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93761">Bug 93761</a> - A conditional discard in a fragment shader causes no depth writing at all</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93790">Bug 93790</a> - [HSW] Use after free with compute programs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93792">Bug 93792</a> - [HSW] intel_mipmap_tree.c:1325: intel_miptree_copy_slice: Assertion `src_mt->format == dst_mt->format</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93813">Bug 93813</a> - Incorrect viewport range when GL_CLIP_ORIGIN is GL_UPPER_LEFT</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93840">Bug 93840</a> - [i965] Alien: Isolation fails with GL_ARB_compute_shader enabled</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93862">Bug 93862</a> - [Bisected] "drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2" is bad</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93878">Bug 93878</a> - [llvmpipe][softpipe] piglit arb_gpu_shader_fp64-double-gettransformfeedbackvarying regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93957">Bug 93957</a> - [HSW] Mishandling of sample count when using an attachment-less framebuffer (assertion error)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93961">Bug 93961</a> - virgl build failure after 2016-02-01 changes - no previous prototype for 'virgl_drm_winsys_create'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93962">Bug 93962</a> - [HSW, regression, bisected, CTS] ES2-CTS.gtf.GL2FixedTests.scissor.scissor - segfault/asserts</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93989">Bug 93989</a> - build: flex-2.5.39 seems to be failing for glsl_lexer.ll</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94016">Bug 94016</a> - make check MesaExtensionsTest.AlphabeticallySorted regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94019">Bug 94019</a> - [bisected] 3D acceleration broken with gallium/radeon: just get num_tile_pipes from the winsys</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94050">Bug 94050</a> - test_vec4_register_coalesce regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94073">Bug 94073</a> - Miscompilation of abs_vec3_vert_xvary_ref.vert in WebGL conformance</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94081">Bug 94081</a> - [HSW] compute shader shared var + atomic op = fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94088">Bug 94088</a> - [llvmpipe] SIGFPE pthread_barrier_destroy.c:40</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94091">Bug 94091</a> - Tonga unreal elemental segfault since radeonsi: put image, fmask, and sampler descriptors into one array</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94100">Bug 94100</a> - [HSW] compute indirect dispatch with 0 work groups causes gpu hang</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94134">Bug 94134</a> - [regression] piglit.spec.arb_texture_view.sampling-2d-array-as-2d-layer assertion</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94139">Bug 94139</a> - [regression, HSW, IVB] piglit.spec.arb_compute_shader.minmax</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94150">Bug 94150</a> - UE4 Suntemple rendering errors</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94186">Bug 94186</a> - Crash when launching glxinfo and World of Warcraft with RV790</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94188">Bug 94188</a> - define (or undef) defined behaves stupidly</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94193">Bug 94193</a> - [llvmpipe] Line antialiasing looks different when GL_LINE_STIPPLE is enabled with pattern 0xffff</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94199">Bug 94199</a> - Shader abort/crash</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94253">Bug 94253</a> - [llvmpipe] piglit gl-1.0-swapbuffers-behavior regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94254">Bug 94254</a> - [llvmpipe] [softpipe] piglit read-front regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94257">Bug 94257</a> - [softpipe] piglit glx-copy-sub-buffer regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94274">Bug 94274</a> - [swrast] piglit arb_occlusion_query2-render regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94284">Bug 94284</a> - [radeonsi] outlast segfault on start</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94388">Bug 94388</a> - r600_blit.c:281: r600_decompress_depth_textures: Assertion `tex->is_depth && !tex->is_flushing_texture' failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94412">Bug 94412</a> - Trine 3 misrender</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94481">Bug 94481</a> - softpipe - access violation in img_filter_2d_nearest</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94524">Bug 94524</a> - Wrong gl_TessLevelOuter interpretation for isolines</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94595">Bug 94595</a> - [Mesa AMD&swrast] Texture views attached as framebuffers return their viewed tecture's color encoding and render incorrectly</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
Microsoft Visual Studio 2013 or later is now required for building
|
||||
on Windows.
|
||||
Previously, Visual Studio 2008 and later were supported.
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,119 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 11.2.1 Release Notes / April 17, 2016</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.2.1 is a bug fix release which fixes bugs found since the 11.2.0 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.2.1 implements the OpenGL 4.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.1. OpenGL
|
||||
4.1 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
cc2a024204564a71acc95cf262bf618fe49b1d77d351e5755eea705cadac5167 mesa-11.2.1.tar.gz
|
||||
a65207e9ae5c5f1c29f863c6a2cc98a7ab99762a24b82a248337f0ea9cfce01b mesa-11.2.1.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93962">Bug 93962</a> - [HSW, regression, bisected, CTS] ES2-CTS.gtf.GL2FixedTests.scissor.scissor - segfault/asserts</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix glReadBuffer() assertion failure</li>
|
||||
<li>st/mesa: fix memleak in glDrawPixels cache code</li>
|
||||
</ul>
|
||||
|
||||
<p>Christian Schmidbauer (1):</p>
|
||||
<ul>
|
||||
<li>st/nine: specify WINAPI only for i386 and amd64</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.2.0</li>
|
||||
<li>configure.ac: update the path of the generated files</li>
|
||||
<li>Update version to 11.2.1</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<ul>
|
||||
<li>glsl: allow usage of the keyword buffer before GLSL 430 / ESSL 310</li>
|
||||
</ul>
|
||||
|
||||
<p>Iurie Salomov (1):</p>
|
||||
<ul>
|
||||
<li>va: check null context in vlVaDestroyContext</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (2):</p>
|
||||
<ul>
|
||||
<li>i965/tiled_memcopy: Add aligned mem_copy parameters to the [de]tiling functions</li>
|
||||
<li>i965/tiled_memcpy: Rework the RGBA -> BGRA mem_copy functions</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (3):</p>
|
||||
<ul>
|
||||
<li>i965: Fix textureSize() depth value for 1 layer surfaces on Gen4-6.</li>
|
||||
<li>i965: Use brw->urb.min_vs_urb_entries instead of 32 for BLORP.</li>
|
||||
<li>glsl: Lower variable indexing of system value arrays unconditionally.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>drirc: add a workaround for blackness in Warsow</li>
|
||||
</ul>
|
||||
|
||||
<p>Nicolai Hähnle (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: fix bounds check in si_create_vertex_elements</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Pitoiset (1):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: do not try to attach JOIN ops to ATOM</li>
|
||||
</ul>
|
||||
|
||||
<p>Thomas Hindoe Paaboel Andersen (1):</p>
|
||||
<ul>
|
||||
<li>st/va: avoid dereference after free in vlVaDestroyImage</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,210 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 11.2.2 Release Notes / May 9, 2016</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.2.2 is a bug fix release which fixes bugs found since the 11.2.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.2.2 implements the OpenGL 4.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.1. OpenGL
|
||||
4.1 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
e2453014cd2cc5337a5180cdeffe8cf24fffbb83e20a96888e2b01df868eaae6 mesa-11.2.2.tar.gz
|
||||
40e148812388ec7c6d7b6657d5a16e2e8dabba8b97ddfceea5197947647bdfb4 mesa-11.2.2.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92850">Bug 92850</a> - Segfault loading War Thunder</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93767">Bug 93767</a> - Glitches with soft shadows and MSAA in Knights of the Old Republic 2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94955">Bug 94955</a> - Uninitialized variables leads to random segfaults (valgrind log, apitrace attached)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94994">Bug 94994</a> - OSMesaGetProcAdress always fails on mangled OSMesa</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95026">Bug 95026</a> - Alien Isolation segfault after initial loading screen/video</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95133">Bug 95133</a> - X-COM Enemy Within crashes when entering tactical mission with Bonaire</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95164">Bug 95164</a> - GLSL compiler (linker I think) emits assertion upon call to glAttachShader</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95251">Bug 95251</a> - vdpau decoder capabilities: not supported</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Boyuan Zhang (1):</p>
|
||||
<ul>
|
||||
<li>radeon/uvd: alignment fix for decode message buffer</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix sampler view leak in st_DrawAtlasBitmaps()</li>
|
||||
<li>gallium/util: initialize pipe_framebuffer_state to zeros</li>
|
||||
</ul>
|
||||
|
||||
<p>Chad Versace (1):</p>
|
||||
<ul>
|
||||
<li>dri: Fix robust context creation via EGL attribute</li>
|
||||
</ul>
|
||||
|
||||
<p>Egbert Eich (1):</p>
|
||||
<ul>
|
||||
<li>dri2: Check for dummyContext to see if the glx_context is valid</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (5):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.2.1</li>
|
||||
<li>docs: update the sha256 checksums for 11.2.1</li>
|
||||
<li>cherry-ignore: remove duplicate commit</li>
|
||||
<li>cherry-ignore: ignore the GetSamplerParameterIuiv{EXT,OES} fixups</li>
|
||||
<li>Update version to 11.2.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (4):</p>
|
||||
<ul>
|
||||
<li>vc4: Fix subimage accesses to LT textures.</li>
|
||||
<li>vc4: Add support for rendering to cube map surfaces.</li>
|
||||
<li>vc4: Fix tests for format supported with nr_samples == 1.</li>
|
||||
<li>vc4: Make sure we recompile when sample_mask changes.</li>
|
||||
</ul>
|
||||
|
||||
<p>Frederic Devernay (1):</p>
|
||||
<ul>
|
||||
<li>glapi: fix _glapi_get_proc_address() for mangled function names</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (2):</p>
|
||||
<ul>
|
||||
<li>nvc0: fix retrieving query results into buffer for timestamps</li>
|
||||
<li>nouveau/video: properly detect the decoder class for availability checks</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Properly report regs_written from SAMPLEINFO</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Gray (1):</p>
|
||||
<ul>
|
||||
<li>egl/x11: authenticate before doing chipset id ioctls</li>
|
||||
</ul>
|
||||
|
||||
<p>Jose Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>winsys/sw/xlib: use correct free function for xlib_dt->data</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (3):</p>
|
||||
<ul>
|
||||
<li>i965: Fix clear code for ignoring colormask for XRGB formats on Gen9+.</li>
|
||||
<li>glsl: Convert lower_vec_index_to_swizzle to a rvalue visitor.</li>
|
||||
<li>glsl: Lower vector_extracts to swizzles after lower_vector_derefs.</li>
|
||||
</ul>
|
||||
|
||||
<p>Leo Liu (1):</p>
|
||||
<ul>
|
||||
<li>radeon/uvd: fix tonga feedback buffer size</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix blit-based GetTexImage for non-finalized textures</li>
|
||||
</ul>
|
||||
|
||||
<p>Nicolai Hähnle (5):</p>
|
||||
<ul>
|
||||
<li>gallium/radeon: handle failure when mapping staging buffer</li>
|
||||
<li>st/glsl_to_tgsi: reduce stack explosion in recursive expression visitor</li>
|
||||
<li>gallium/radeon: fix crash in r600_set_streamout_targets</li>
|
||||
<li>radeonsi: correct NULL-pointer check in si_upload_const_buffer</li>
|
||||
<li>radeonsi: work around an MSAA fast stencil clear problem</li>
|
||||
</ul>
|
||||
|
||||
<p>Oded Gabbay (4):</p>
|
||||
<ul>
|
||||
<li>r600g/radeonsi: send endian info to format translation functions</li>
|
||||
<li>r600g: set endianess of 16/32-bit buffers according to do_endian_swap</li>
|
||||
<li>r600g: use do_endian_swap in color swapping functions</li>
|
||||
<li>r600g: use do_endian_swap in texture swapping function</li>
|
||||
</ul>
|
||||
|
||||
<p>Patrick Rudolph (1):</p>
|
||||
<ul>
|
||||
<li>r600g: fix and optimize tgsi_cmp when using ABS and NEG modifier</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (3):</p>
|
||||
<ul>
|
||||
<li>llvmpipe: (trivial) initialize src1_alpha var to NULL</li>
|
||||
<li>gallivm: fix bogus argument order to lp_build_sample_mipmap function</li>
|
||||
<li>gallivm: make sampling more robust against bogus coordinates</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Pitoiset (6):</p>
|
||||
<ul>
|
||||
<li>gk110/ir: do not overwrite def value with zero for EXCH ops</li>
|
||||
<li>gk110/ir: make use of IMUL32I for all immediates</li>
|
||||
<li>nvc0/ir: fix wrong emission of (a OP b) OP c</li>
|
||||
<li>gk110/ir: add emission for (a OP b) OP c</li>
|
||||
<li>nvc0: reduce GL_MAX_3D_TEXTURE_SIZE to 2048 on Kepler+</li>
|
||||
<li>st/glsl_to_tgsi: fix potential crash when allocating temporaries</li>
|
||||
</ul>
|
||||
|
||||
<p>Stefan Dirsch (1):</p>
|
||||
<ul>
|
||||
<li>dri3: Check for dummyContext to see if the glx_context is valid</li>
|
||||
</ul>
|
||||
|
||||
<p>Topi Pohjolainen (2):</p>
|
||||
<ul>
|
||||
<li>i965/blorp/gen7: Prepare re-using for gen8</li>
|
||||
<li>i965/blorp: Use 8k chunk size for urb allocation</li>
|
||||
</ul>
|
||||
|
||||
<p>WuZhen (3):</p>
|
||||
<ul>
|
||||
<li>tgsi: initialize stack allocated struct</li>
|
||||
<li>winsys/sw/dri: use correct free function for dri_sw_dt->data</li>
|
||||
<li>android: enable dlopen() on all architectures</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,89 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 12.0.0 Release Notes / TBD</h1>
|
||||
|
||||
<p>
|
||||
Mesa 12.0.0 is a new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release or wait for Mesa 12.0.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 12.0.0 implements the OpenGL 4.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.3. OpenGL
|
||||
4.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
TBD.
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<p>
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>OpenGL 4.3 on nvc0, radeonsi, i965 (Gen8+)</li>
|
||||
<li>OpenGL ES 3.1 on nvc0, radeonsi</li>
|
||||
<li>GL_ARB_ES3_1_compatibility on nvc0, radeonsi</li>
|
||||
<li>GL_ARB_compute_shader on nvc0, radeonsi, softpipe</li>
|
||||
<li>GL_ARB_cull_distance on i965/gen6+, nv50, nvc0, llvmpipe, softpipe</li>
|
||||
<li>GL_ARB_framebuffer_no_attachments on nvc0, r600, radeonsi, softpipe</li>
|
||||
<li>GL_ARB_internalformat_query2 on all drivers</li>
|
||||
<li>GL_ARB_query_buffer_object on i965/hsw+</li>
|
||||
<li>GL_ARB_robust_buffer_access_behavior on i965, nvc0, radeonsi</li>
|
||||
<li>GL_ARB_shader_atomic_counters on radeonsi, softpipe</li>
|
||||
<li>GL_ARB_shader_atomic_counter_ops on nvc0, radeonsi, softpipe</li>
|
||||
<li>GL_ARB_shader_image_load_store on nvc0, radeonsi, softpipe</li>
|
||||
<li>GL_ARB_shader_image_size on nvc0, radeonsi, softpipe</li>
|
||||
<li>GL_ARB_shader_storage_buffer_objects on radeonsi, softpipe</li>
|
||||
<li>GL_ATI_fragment_shader on all Gallium drivers</li>
|
||||
<li>GL_EXT_base_instance on all drivers that support GL_ARB_base_instance</li>
|
||||
<li>GL_EXT_clip_cull_distance on all drivers that support GL_ARB_cull_distance</li>
|
||||
<li>GL_KHR_robustness on i965</li>
|
||||
<li>GL_OES_copy_image on i965 (Baytrail and Gen8+)</li>
|
||||
<li>GL_OES_draw_buffers_indexed and GL_EXT_draw_buffers_indexed on all drivers that support GL_ARB_draw_buffers_blend</li>
|
||||
<li>GL_OES_gpu_shader5 and GL_EXT_gpu_shader5 on all drivers that support GL_ARB_gpu_shader5</li>
|
||||
<li>GL_OES_sample_shading on i965, nvc0, r600, radeonsi</li>
|
||||
<li>GL_OES_sample_variables on i965, nvc0, r600, radeonsi</li>
|
||||
<li>GL_OES_shader_image_atomic on all drivers that support GL_ARB_shader_image_load_store</li>
|
||||
<li>GL_OES_shader_io_blocks on i965, nvc0, radeonsi</li>
|
||||
<li>GL_OES_shader_multisample_interpolation on i965, nvc0, r600, radeonsi</li>
|
||||
<li>GL_OES_texture_border_clamp and GL_EXT_texture_border_clamp on all drivers that support GL_ARB_texture_border_clamp</li>
|
||||
<li>GL_OES_texture_buffer and GL_EXT_texture_buffer on i965, nvc0, radeonsi</li>
|
||||
<li>EGL_KHR_reusable_sync on all drivers</li>
|
||||
<li>GL_ARB_stencil_texture8 and GL_OES_stencil_texture8 on i965/gen8+</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
TBD.
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
TBD.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -68,39 +68,21 @@ To get the Mesa sources anonymously (read-only):
|
||||
<h2 id="developer">Developer git Access</h2>
|
||||
|
||||
<p>
|
||||
If you wish to become a Mesa developer with git-write privilege, please
|
||||
follow this procedure:
|
||||
Mesa developers need to first have an account on
|
||||
<a href="http://www.freedesktop.org">freedesktop.org</a>.
|
||||
To get an account, please ask Brian or the other Mesa developers for
|
||||
permission.
|
||||
Then, if there are no objections, follow this
|
||||
<a href="http://www.freedesktop.org/wiki/AccountRequests">
|
||||
procedure</a>.
|
||||
</p>
|
||||
<ol>
|
||||
<li>Subscribe to the
|
||||
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev</a>
|
||||
mailing list.
|
||||
<li>Start contributing to the project by posting patches / review requests to
|
||||
the mesa-dev list. Specifically,
|
||||
<ul>
|
||||
<li>Use <code>git send-mail</code> to post your patches to mesa-dev.
|
||||
<li>Wait for someone to review the code and give you a <code>Reviewed-by</code>
|
||||
statement.
|
||||
<li>You'll have to rely on another Mesa developer to push your initial patches
|
||||
after they've been reviewed.
|
||||
</ul>
|
||||
<li>After you've demonstrated the ability to write good code and have had
|
||||
a dozen or so patches accepted you can apply for an account.
|
||||
<li>Occasionally, but rarely, someone may be given a git account sooner, but
|
||||
only if they're being supervised by another Mesa developer at the same
|
||||
organization and planning to work in a limited area of the code or on a
|
||||
separate branch.
|
||||
<li>To apply for an account, follow
|
||||
<a href="http://www.freedesktop.org/wiki/AccountRequests">these directions</a>.
|
||||
It's also appreciated if you briefly describe what you intend to do (work
|
||||
on a particular driver, add a new extension, etc.) in the bugzilla record.
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
Once your account is established:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>Install the git software on your computer if needed.<br><br>
|
||||
<li>Get an initial, local copy of the repository with:
|
||||
<pre>
|
||||
git clone git+ssh://username@git.freedesktop.org/git/mesa/mesa
|
||||
|
@@ -209,6 +209,51 @@ The final vertex and fragment programs may be interpreted in software
|
||||
(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>
|
||||
|
||||
<dl>
|
||||
<dt>EmitHighLevelInstructions</dt>
|
||||
<dd>
|
||||
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.
|
||||
</dd>
|
||||
|
||||
<dt>EmitCondCodes</dt>
|
||||
<dd>
|
||||
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.
|
||||
</dd>
|
||||
|
||||
<dt>EmitComments</dt>
|
||||
<dd>
|
||||
If set, instructions will be annotated with comments to help with debugging.
|
||||
Extra NOP instructions will also be inserted.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2 id="validation">Compiler Validation</h2>
|
||||
|
||||
<p>
|
||||
|
@@ -34,7 +34,8 @@ Hardware drivers include:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Intel i965, i945, i915.
|
||||
See <a href="https://01.org/linuxgraphics">Intel's website</a></li>
|
||||
See <a href="http://intellinuxgraphics.org/index.html">
|
||||
Intel's website</a></li>
|
||||
<li>AMD Radeon series.
|
||||
See <a href="http://www.x.org/wiki/RadeonFeature">RadeonFeature</a></li>
|
||||
<li>NVIDIA GPUs.
|
||||
|
@@ -42,7 +42,9 @@ Tungsten Graphics, Inc. have supported the ongoing development of Mesa.
|
||||
<li>The
|
||||
<a href="http://www.mesa3d.org">Mesa</a>
|
||||
website is hosted by
|
||||
<a href="http://sourceforge.net">sourceforge.net</a>.
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=3&type=1"
|
||||
width="88" height="31" align="bottom" alt="Sourceforge.net" border="0"></a>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
@@ -31,7 +31,7 @@
|
||||
<dd>is a very useful tool for tracking down
|
||||
memory-related problems in your code.</dd>
|
||||
|
||||
<dt><a href="http://scan.coverity.com/projects/mesa">Coverity</a><dt>
|
||||
<dt><a href="http:scan.coverity.com/projects/mesa">Coverity</a><dt>
|
||||
<dd>provides static code analysis of Mesa. If you create an account
|
||||
you can see the results and try to fix outstanding issues.</dd>
|
||||
</dl>
|
||||
|
8
doxygen/.gitignore
vendored
8
doxygen/.gitignore
vendored
@@ -1,6 +1,9 @@
|
||||
*.db
|
||||
*.tag
|
||||
*.tmp
|
||||
agpgart
|
||||
array_cache
|
||||
core
|
||||
core_subset
|
||||
gallium
|
||||
gbm
|
||||
@@ -10,8 +13,11 @@ i965
|
||||
main
|
||||
math
|
||||
math_subset
|
||||
nir
|
||||
miniglx
|
||||
radeondrm
|
||||
radeonfb
|
||||
radeon_subset
|
||||
shader
|
||||
swrast
|
||||
swrast_setup
|
||||
tnl
|
||||
|
@@ -12,21 +12,20 @@ FULL = \
|
||||
vbo.doxy \
|
||||
glapi.doxy \
|
||||
glsl.doxy \
|
||||
shader.doxy \
|
||||
swrast.doxy \
|
||||
swrast_setup.doxy \
|
||||
tnl.doxy \
|
||||
tnl_dd.doxy \
|
||||
gbm.doxy \
|
||||
i965.doxy \
|
||||
nir.doxy
|
||||
i965.doxy
|
||||
|
||||
full: $(FULL:.doxy=.tag)
|
||||
$(foreach FILE,$(FULL),doxygen $(FILE);)
|
||||
|
||||
SUBSET = \
|
||||
main.doxy \
|
||||
math.doxy \
|
||||
gallium.doxy
|
||||
math.doxy
|
||||
|
||||
subset: $(SUBSET:.doxy=.tag)
|
||||
$(foreach FILE,$(SUBSET),doxygen $(FILE);)
|
||||
|
@@ -53,6 +53,16 @@ CREATE_SUBDIRS = NO
|
||||
|
||||
OUTPUT_LANGUAGE = English
|
||||
|
||||
# This tag can be used to specify the encoding used in the generated output.
|
||||
# The encoding is not always determined by the language that is chosen,
|
||||
# but also whether or not the output is meant for Windows or non-Windows users.
|
||||
# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
|
||||
# forces the Windows encoding (this is the default for the Windows binary),
|
||||
# whereas setting the tag to NO uses a Unix-style encoding (the default for
|
||||
# all platforms other than Windows).
|
||||
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
|
||||
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
|
||||
# include brief member descriptions after the members that are listed in
|
||||
# the file and class documentation (similar to JavaDoc).
|
||||
@@ -137,6 +147,13 @@ JAVADOC_AUTOBRIEF = YES
|
||||
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
|
||||
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
|
||||
# will output the detailed description near the top, like JavaDoc.
|
||||
# If set to NO, the detailed description appears after the member
|
||||
# documentation.
|
||||
|
||||
DETAILS_AT_TOP = YES
|
||||
|
||||
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
|
||||
# member inherits the documentation from any documented member that it
|
||||
# re-implements.
|
||||
@@ -590,6 +607,12 @@ HTML_FOOTER =
|
||||
|
||||
HTML_STYLESHEET =
|
||||
|
||||
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
||||
# files or namespaces will be aligned in HTML using tables. If set to
|
||||
# NO a bullet list will be used.
|
||||
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
|
||||
# will be generated that can be used as input for tools like the
|
||||
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
|
||||
@@ -816,6 +839,18 @@ GENERATE_XML = NO
|
||||
|
||||
XML_OUTPUT = xml
|
||||
|
||||
# The XML_SCHEMA tag can be used to specify an XML schema,
|
||||
# which can be used by a validating XML parser to check the
|
||||
# syntax of the XML files.
|
||||
|
||||
XML_SCHEMA =
|
||||
|
||||
# The XML_DTD tag can be used to specify an XML DTD,
|
||||
# which can be used by a validating XML parser to check the
|
||||
# syntax of the XML files.
|
||||
|
||||
XML_DTD =
|
||||
|
||||
# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
|
||||
# dump the program listings (including syntax highlighting
|
||||
# and cross-referencing information) to the XML output. Note that
|
||||
@@ -1069,6 +1104,22 @@ DOT_PATH =
|
||||
|
||||
DOTFILE_DIRS =
|
||||
|
||||
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
|
||||
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||
# the specified constraint. Beware that most browsers cannot cope with very
|
||||
# large images.
|
||||
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
|
||||
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
|
||||
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||
# the specified constraint. Beware that most browsers cannot cope with very
|
||||
# large images.
|
||||
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
|
||||
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
|
||||
# graphs generated by dot. A depth value of 3 means that only nodes reachable
|
||||
# from the root by following a path via at most 3 edges will be shown. Nodes that
|
||||
|
@@ -190,7 +190,8 @@ SKIP_FUNCTION_MACROS = YES
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = \
|
||||
math_subset.tag=../math_subset
|
||||
math_subset.tag=../math_subset \
|
||||
miniglx.tag=../miniglx
|
||||
GENERATE_TAGFILE = core_subset.tag
|
||||
ALLEXTERNALS = NO
|
||||
PERL_PATH =
|
||||
|
@@ -6,9 +6,7 @@ doxygen swrast_setup.doxy
|
||||
doxygen tnl.doxy
|
||||
doxygen core.doxy
|
||||
doxygen glapi.doxy
|
||||
doxygen glsl.doxy
|
||||
doxygen nir.doxy
|
||||
doxygen i965.doxy
|
||||
doxygen shader.doxy
|
||||
|
||||
echo Building again, to resolve tags
|
||||
doxygen tnl_dd.doxy
|
||||
@@ -17,8 +15,5 @@ doxygen math.doxy
|
||||
doxygen swrast.doxy
|
||||
doxygen swrast_setup.doxy
|
||||
doxygen tnl.doxy
|
||||
doxygen core.doxy
|
||||
doxygen glapi.doxy
|
||||
doxygen glsl.doxy
|
||||
doxygen nir.doxy
|
||||
doxygen i965.doxy
|
||||
doxygen shader.doxy
|
||||
|
@@ -39,10 +39,10 @@ SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = main.tag=../main \
|
||||
TAGFILES = main.tag=../core \
|
||||
math.tag=../math \
|
||||
tnl_dd.tag=../tnl_dd \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
swrast_setup.tag=../gbm_setup \
|
||||
tnl.tag=../tnl \
|
||||
vbo.tag=../vbo
|
||||
vbo.tag=vbo
|
||||
GENERATE_TAGFILE = gbm.tag
|
||||
|
@@ -9,7 +9,7 @@ PROJECT_NAME = "Mesa GL API dispatcher"
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../src/mapi/glapi/
|
||||
INPUT = ../src/mesa/glapi/
|
||||
FILE_PATTERNS = *.c *.h
|
||||
RECURSIVE = NO
|
||||
EXCLUDE =
|
||||
@@ -39,11 +39,11 @@ SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = main.tag=../main \
|
||||
TAGFILES = main.tag=../core \
|
||||
math.tag=../math \
|
||||
tnl_dd.tag=../tnl_dd \
|
||||
swrast.tag=../swrast \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl \
|
||||
vbo.tag=../vbo
|
||||
GENERATE_TAGFILE = glapi.tag
|
||||
vbo.tag=vbo
|
||||
GENERATE_TAGFILE = swrast.tag
|
||||
|
@@ -9,12 +9,11 @@ PROJECT_NAME = "Mesa GLSL module"
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../src/compiler/glsl/
|
||||
FILE_PATTERNS = *.c *.cpp *.h
|
||||
INPUT = ../src/glsl/
|
||||
RECURSIVE = NO
|
||||
EXCLUDE = ../src/compiler/glsl/glsl_lexer.cpp \
|
||||
../src/compiler/glsl/glsl_parser.cpp \
|
||||
../src/compiler/glsl/glsl_parser.h
|
||||
EXCLUDE = ../src/glsl/glsl_lexer.cpp \
|
||||
../src/glsl/glsl_parser.cpp \
|
||||
../src/glsl/glsl_parser.h
|
||||
EXCLUDE_PATTERNS =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
|
@@ -8,9 +8,9 @@
|
||||
<a class="qindex" href="../main/index.html">core</a> |
|
||||
<a class="qindex" href="../glapi/index.html">glapi</a> |
|
||||
<a class="qindex" href="../glsl/index.html">glsl</a> |
|
||||
<a class="qindex" href="../nir/index.html">nir</a> |
|
||||
<a class="qindex" href="../vbo/index.html">vbo</a> |
|
||||
<a class="qindex" href="../math/index.html">math</a> |
|
||||
<a class="qindex" href="../shader/index.html">shader</a> |
|
||||
<a class="qindex" href="../swrast/index.html">swrast</a> |
|
||||
<a class="qindex" href="../swrast_setup/index.html">swrast_setup</a> |
|
||||
<a class="qindex" href="../tnl/index.html">tnl</a> |
|
||||
|
@@ -6,5 +6,6 @@
|
||||
<div class="qindex">
|
||||
<a class="qindex" href="../core_subset/index.html">Mesa Core</a> |
|
||||
<a class="qindex" href="../math_subset/index.html">math</a> |
|
||||
<a class="qindex" href="../miniglx/index.html">MiniGLX</a> |
|
||||
<a class="qindex" href="../radeon_subset/index.html">radeon_subset</a>
|
||||
</div>
|
||||
|
@@ -46,5 +46,5 @@ TAGFILES = glsl.tag=../glsl \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl \
|
||||
tnl_dd.tag=../tnl_dd \
|
||||
vbo.tag=../vbo
|
||||
vbo.tag=vbo
|
||||
GENERATE_TAGFILE = i965.tag
|
||||
|
@@ -43,6 +43,7 @@ TAGFILES = tnl_dd.tag=../tnl_dd \
|
||||
vbo.tag=../vbo \
|
||||
glapi.tag=../glapi \
|
||||
math.tag=../math \
|
||||
shader.tag=../shader \
|
||||
swrast.tag=../swrast \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl
|
||||
|
@@ -41,7 +41,7 @@ SKIP_FUNCTION_MACROS = YES
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = tnl_dd.tag=../tnl_dd \
|
||||
main.tag=../main \
|
||||
main.tag=../core \
|
||||
swrast.tag=../swrast \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl \
|
||||
|
@@ -168,7 +168,8 @@ SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = \
|
||||
core_subset.tag=../core_subset \
|
||||
math_subset.tag=../math_subset
|
||||
math_subset.tag=../math_subset \
|
||||
miniglx.tag=../miniglx
|
||||
GENERATE_TAGFILE = radeon_subset.tag
|
||||
ALLEXTERNALS = NO
|
||||
PERL_PATH =
|
||||
|
@@ -5,46 +5,45 @@
|
||||
#---------------------------------------------------------------------------
|
||||
# General configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = "Mesa NIR module"
|
||||
PROJECT_NAME = "Mesa Vertex and Fragment Program code"
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the input files
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../src/compiler/nir
|
||||
FILE_PATTERNS = *.c *.cpp *.h
|
||||
INPUT = ../src/mesa/shader/
|
||||
FILE_PATTERNS = *.c *.h
|
||||
RECURSIVE = NO
|
||||
EXCLUDE =
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXCLUDE =
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the HTML output
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
HTML_OUTPUT = nir
|
||||
HTML_OUTPUT = shader
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH = ../include/
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = glsl.tag=../glsl \
|
||||
main.tag=../main \
|
||||
TAGFILES = main.tag=../core \
|
||||
math.tag=../math \
|
||||
tnl_dd.tag=../tnl_dd \
|
||||
swrast.tag=../swrast \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl \
|
||||
tnl_dd.tag=../tnl_dd \
|
||||
vbo.tag=../vbo
|
||||
GENERATE_TAGFILE = nir.tag
|
||||
vbo.tag=vbo
|
||||
GENERATE_TAGFILE = swrast.tag
|
@@ -39,10 +39,10 @@ SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = main.tag=../main \
|
||||
TAGFILES = main.tag=../core \
|
||||
math.tag=../math \
|
||||
tnl_dd.tag=../tnl_dd \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl \
|
||||
vbo.tag=../vbo
|
||||
vbo.tag=vbo
|
||||
GENERATE_TAGFILE = swrast.tag
|
||||
|
@@ -41,7 +41,7 @@ SKIP_FUNCTION_MACROS = YES
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = tnl_dd.tag=../tnl_dd \
|
||||
main.tag=../main \
|
||||
main.tag=../core \
|
||||
math.tag=../math \
|
||||
swrast.tag=../swrast \
|
||||
tnl.tag=../tnl \
|
||||
|
@@ -40,10 +40,11 @@ SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = tnl_dd.tag=../tnl_dd \
|
||||
main.tag=../main \
|
||||
TAGFILES = tnl_dd.tag=../tnl \
|
||||
main.tag=../core \
|
||||
math.tag=../math \
|
||||
shader.tag=../shader \
|
||||
swrast.tag=../swrast \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
vbo.tag=../vbo
|
||||
swrast_setup.tag=swrast_setup \
|
||||
vbo.tag=vbo
|
||||
GENERATE_TAGFILE = tnl.tag
|
||||
|
@@ -39,10 +39,11 @@ SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = main.tag=../main \
|
||||
TAGFILES = main.tag=../core \
|
||||
math.tag=../math \
|
||||
shader.tag=../shader \
|
||||
swrast.tag=../swrast \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl \
|
||||
vbo.tag=../vbo
|
||||
vbo.tag=vbo
|
||||
GENERATE_TAGFILE = tnl_dd.tag
|
||||
|
@@ -40,8 +40,9 @@ SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = main.tag=../main \
|
||||
TAGFILES = main.tag=../core \
|
||||
math.tag=../math \
|
||||
shader.tag=../shader \
|
||||
swrast.tag=../swrast \
|
||||
swrast_setup.tag=../swrast_setup \
|
||||
tnl.tag=../tnl \
|
||||
|
@@ -260,7 +260,7 @@ struct IDirect3DDevice9 : public IUnknown
|
||||
virtual HRESULT WINAPI SetStreamSourceFreq(UINT StreamNumber, UINT Setting) = 0;
|
||||
virtual HRESULT WINAPI GetStreamSourceFreq(UINT StreamNumber, UINT *pSetting) = 0;
|
||||
virtual HRESULT WINAPI SetIndices(IDirect3DIndexBuffer9 *pIndexData) = 0;
|
||||
virtual HRESULT WINAPI GetIndices(IDirect3DIndexBuffer9 **ppIndexData) = 0;
|
||||
virtual HRESULT WINAPI GetIndices(IDirect3DIndexBuffer9 **ppIndexData, UINT *pBaseVertexIndex) = 0;
|
||||
virtual HRESULT WINAPI CreatePixelShader(const DWORD *pFunction, IDirect3DPixelShader9 **ppShader) = 0;
|
||||
virtual HRESULT WINAPI SetPixelShader(IDirect3DPixelShader9 *pShader) = 0;
|
||||
virtual HRESULT WINAPI GetPixelShader(IDirect3DPixelShader9 **ppShader) = 0;
|
||||
@@ -848,7 +848,7 @@ typedef struct IDirect3DDevice9Vtbl
|
||||
HRESULT (WINAPI *SetStreamSourceFreq)(IDirect3DDevice9 *This, UINT StreamNumber, UINT Setting);
|
||||
HRESULT (WINAPI *GetStreamSourceFreq)(IDirect3DDevice9 *This, UINT StreamNumber, UINT *pSetting);
|
||||
HRESULT (WINAPI *SetIndices)(IDirect3DDevice9 *This, IDirect3DIndexBuffer9 *pIndexData);
|
||||
HRESULT (WINAPI *GetIndices)(IDirect3DDevice9 *This, IDirect3DIndexBuffer9 **ppIndexData);
|
||||
HRESULT (WINAPI *GetIndices)(IDirect3DDevice9 *This, IDirect3DIndexBuffer9 **ppIndexData, UINT *pBaseVertexIndex);
|
||||
HRESULT (WINAPI *CreatePixelShader)(IDirect3DDevice9 *This, const DWORD *pFunction, IDirect3DPixelShader9 **ppShader);
|
||||
HRESULT (WINAPI *SetPixelShader)(IDirect3DDevice9 *This, IDirect3DPixelShader9 *pShader);
|
||||
HRESULT (WINAPI *GetPixelShader)(IDirect3DDevice9 *This, IDirect3DPixelShader9 **ppShader);
|
||||
@@ -975,7 +975,7 @@ struct IDirect3DDevice9
|
||||
#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
|
||||
#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
|
||||
#define IDirect3DDevice9_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
|
||||
#define IDirect3DDevice9_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
|
||||
#define IDirect3DDevice9_GetIndices(p,a,b) (p)->lpVtbl->GetIndices(p,a,b)
|
||||
#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
|
||||
#define IDirect3DDevice9_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
|
||||
#define IDirect3DDevice9_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
|
||||
@@ -1099,7 +1099,7 @@ typedef struct IDirect3DDevice9ExVtbl
|
||||
HRESULT (WINAPI *SetStreamSourceFreq)(IDirect3DDevice9Ex *This, UINT StreamNumber, UINT Setting);
|
||||
HRESULT (WINAPI *GetStreamSourceFreq)(IDirect3DDevice9Ex *This, UINT StreamNumber, UINT *pSetting);
|
||||
HRESULT (WINAPI *SetIndices)(IDirect3DDevice9Ex *This, IDirect3DIndexBuffer9 *pIndexData);
|
||||
HRESULT (WINAPI *GetIndices)(IDirect3DDevice9Ex *This, IDirect3DIndexBuffer9 **ppIndexData);
|
||||
HRESULT (WINAPI *GetIndices)(IDirect3DDevice9Ex *This, IDirect3DIndexBuffer9 **ppIndexData, UINT *pBaseVertexIndex);
|
||||
HRESULT (WINAPI *CreatePixelShader)(IDirect3DDevice9Ex *This, const DWORD *pFunction, IDirect3DPixelShader9 **ppShader);
|
||||
HRESULT (WINAPI *SetPixelShader)(IDirect3DDevice9Ex *This, IDirect3DPixelShader9 *pShader);
|
||||
HRESULT (WINAPI *GetPixelShader)(IDirect3DDevice9Ex *This, IDirect3DPixelShader9 **ppShader);
|
||||
@@ -1242,7 +1242,7 @@ struct IDirect3DDevice9Ex
|
||||
#define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
|
||||
#define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
|
||||
#define IDirect3DDevice9Ex_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
|
||||
#define IDirect3DDevice9Ex_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
|
||||
#define IDirect3DDevice9Ex_GetIndices(p,a,b) (p)->lpVtbl->GetIndices(p,a,b)
|
||||
#define IDirect3DDevice9Ex_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
|
||||
#define IDirect3DDevice9Ex_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
|
||||
#define IDirect3DDevice9Ex_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
|
||||
|
@@ -173,16 +173,22 @@ typedef struct _RGNDATA {
|
||||
#define D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400
|
||||
#define D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800
|
||||
|
||||
/* Windows calling convention */
|
||||
#ifndef WINAPI
|
||||
#if defined(__x86_64__) && !defined(__ILP32__)
|
||||
|
||||
#ifdef WINAPI
|
||||
#undef WINAPI
|
||||
#endif /* WINAPI*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#if (defined(__x86_64__) && !defined(__ILP32__)) || defined(_M_X64)
|
||||
#define WINAPI __attribute__((ms_abi))
|
||||
#elif defined(__i386__)
|
||||
#elif defined(__i386) || defined(_M_IX86)
|
||||
#define WINAPI __attribute__((__stdcall__))
|
||||
#else /* neither amd64 nor i386 */
|
||||
#define WINAPI
|
||||
#endif
|
||||
#endif /* WINAPI */
|
||||
#else /* __GNUC__ */
|
||||
#define WINAPI
|
||||
#endif
|
||||
|
||||
/* Implementation caps */
|
||||
#define D3DPRESENT_BACK_BUFFERS_MAX 3
|
||||
@@ -227,7 +233,6 @@ typedef struct _RGNDATA {
|
||||
#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
|
||||
#define D3DERR_DEVICEREMOVED MAKE_D3DHRESULT(2160)
|
||||
#define D3DERR_DEVICEHUNG MAKE_D3DHRESULT(2164)
|
||||
#define S_PRESENT_OCCLUDED MAKE_D3DSTATUS(2168)
|
||||
|
||||
/********************************************************
|
||||
* Bitmasks *
|
||||
|
@@ -34,6 +34,17 @@ extern "C" {
|
||||
|
||||
#include <EGL/eglplatform.h>
|
||||
|
||||
#ifndef EGL_MESA_drm_display
|
||||
#define EGL_MESA_drm_display 1
|
||||
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLDisplay EGLAPIENTRY eglGetDRMDisplayMESA(int fd);
|
||||
#endif /* EGL_EGLEXT_PROTOTYPES */
|
||||
|
||||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDRMDISPLAYMESA) (int fd);
|
||||
|
||||
#endif /* EGL_MESA_drm_display */
|
||||
|
||||
#ifdef EGL_MESA_drm_image
|
||||
/* Mesa's extension to EGL_MESA_drm_image... */
|
||||
#ifndef EGL_DRM_BUFFER_USE_CURSOR_MESA
|
||||
|
@@ -79,7 +79,6 @@ typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension;
|
||||
typedef struct __DRI2flushExtensionRec __DRI2flushExtension;
|
||||
typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension;
|
||||
typedef struct __DRI2fenceExtensionRec __DRI2fenceExtension;
|
||||
typedef struct __DRI2interopExtensionRec __DRI2interopExtension;
|
||||
|
||||
|
||||
typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension;
|
||||
@@ -393,31 +392,6 @@ struct __DRI2fenceExtensionRec {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Extension for API interop.
|
||||
* See GL/mesa_glinterop.h.
|
||||
*/
|
||||
|
||||
#define __DRI2_INTEROP "DRI2_Interop"
|
||||
#define __DRI2_INTEROP_VERSION 1
|
||||
|
||||
struct mesa_glinterop_device_info;
|
||||
struct mesa_glinterop_export_in;
|
||||
struct mesa_glinterop_export_out;
|
||||
|
||||
struct __DRI2interopExtensionRec {
|
||||
__DRIextension base;
|
||||
|
||||
/** Same as MesaGLInterop*QueryDeviceInfo. */
|
||||
int (*query_device_info)(__DRIcontext *ctx,
|
||||
struct mesa_glinterop_device_info *out);
|
||||
|
||||
/** Same as MesaGLInterop*ExportObject. */
|
||||
int (*export_object)(__DRIcontext *ctx,
|
||||
struct mesa_glinterop_export_in *in,
|
||||
struct mesa_glinterop_export_out *out);
|
||||
};
|
||||
|
||||
/*@}*/
|
||||
|
||||
/**
|
||||
@@ -1094,7 +1068,7 @@ struct __DRIdri2ExtensionRec {
|
||||
* extensions.
|
||||
*/
|
||||
#define __DRI_IMAGE "DRI_IMAGE"
|
||||
#define __DRI_IMAGE_VERSION 12
|
||||
#define __DRI_IMAGE_VERSION 11
|
||||
|
||||
/**
|
||||
* These formats correspond to the similarly named MESA_FORMAT_*
|
||||
@@ -1126,18 +1100,8 @@ struct __DRIdri2ExtensionRec {
|
||||
#define __DRI_IMAGE_USE_SCANOUT 0x0002
|
||||
#define __DRI_IMAGE_USE_CURSOR 0x0004 /* Depricated */
|
||||
#define __DRI_IMAGE_USE_LINEAR 0x0008
|
||||
/* The buffer will only be read by an external process after SwapBuffers,
|
||||
* in contrary to gbm buffers, front buffers and fake front buffers, which
|
||||
* could be read after a flush."
|
||||
*/
|
||||
#define __DRI_IMAGE_USE_BACKBUFFER 0x0010
|
||||
|
||||
|
||||
#define __DRI_IMAGE_TRANSFER_READ 0x1
|
||||
#define __DRI_IMAGE_TRANSFER_WRITE 0x2
|
||||
#define __DRI_IMAGE_TRANSFER_READ_WRITE \
|
||||
(__DRI_IMAGE_TRANSFER_READ | __DRI_IMAGE_TRANSFER_WRITE)
|
||||
|
||||
/**
|
||||
* Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h,
|
||||
* GBM_FORMAT_* from gbm.h, and DRM_FORMAT_* from drm_fourcc.h. Used with
|
||||
@@ -1163,11 +1127,6 @@ struct __DRIdri2ExtensionRec {
|
||||
#define __DRI_IMAGE_FOURCC_NV16 0x3631564e
|
||||
#define __DRI_IMAGE_FOURCC_YUYV 0x56595559
|
||||
|
||||
#define __DRI_IMAGE_FOURCC_YVU410 0x39555659
|
||||
#define __DRI_IMAGE_FOURCC_YVU411 0x31315659
|
||||
#define __DRI_IMAGE_FOURCC_YVU420 0x32315659
|
||||
#define __DRI_IMAGE_FOURCC_YVU422 0x36315659
|
||||
#define __DRI_IMAGE_FOURCC_YVU444 0x34325659
|
||||
|
||||
/**
|
||||
* Queryable on images created by createImageFromNames.
|
||||
@@ -1391,33 +1350,6 @@ struct __DRIimageExtensionRec {
|
||||
* \since 10
|
||||
*/
|
||||
int (*getCapabilities)(__DRIscreen *screen);
|
||||
|
||||
/**
|
||||
* Returns a map of the specified region of a __DRIimage for the specified usage.
|
||||
*
|
||||
* flags may include __DRI_IMAGE_TRANSFER_READ, which will populate the
|
||||
* mapping with the current buffer content. If __DRI_IMAGE_TRANSFER_READ
|
||||
* is not included in the flags, the buffer content at map time is
|
||||
* undefined. Users wanting to modify the mapping must include
|
||||
* __DRI_IMAGE_TRANSFER_WRITE; if __DRI_IMAGE_TRANSFER_WRITE is not
|
||||
* included, behaviour when writing the mapping is undefined.
|
||||
*
|
||||
* Returns the byte stride in *stride, and an opaque pointer to data
|
||||
* tracking the mapping in **data, which must be passed to unmapImage().
|
||||
*
|
||||
* \since 12
|
||||
*/
|
||||
void *(*mapImage)(__DRIcontext *context, __DRIimage *image,
|
||||
int x0, int y0, int width, int height,
|
||||
unsigned int flags, int *stride, void **data);
|
||||
|
||||
/**
|
||||
* Unmap a previously mapped __DRIimage
|
||||
*
|
||||
* \since 12
|
||||
*/
|
||||
void (*unmapImage)(__DRIcontext *context, __DRIimage *image, void *data);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@@ -1,304 +0,0 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
*
|
||||
* Copyright 2016 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* Mesa OpenGL inter-driver interoperability interface designed for but not
|
||||
* limited to OpenCL.
|
||||
*
|
||||
* This is a driver-agnostic, backward-compatible interface. The structures
|
||||
* are only allowed to grow. They can never shrink and their members can
|
||||
* never be removed, renamed, or redefined.
|
||||
*
|
||||
* The interface doesn't return a lot of static texture parameters like
|
||||
* width, height, etc. It mainly returns mutable buffer and texture view
|
||||
* parameters that can't be part of the texture allocation (because they are
|
||||
* mutable). If drivers want to return more data or want to return static
|
||||
* allocation parameters, they can do it in one of these two ways:
|
||||
* - attaching the data to the DMABUF handle in a driver-specific way
|
||||
* - passing the data via "out_driver_data" in the "in" structure.
|
||||
*
|
||||
* Mesa is expected to do a lot of error checking on behalf of OpenCL, such
|
||||
* as checking the target, miplevel, and texture completeness.
|
||||
*
|
||||
* OpenCL, on the other hand, needs to check if the display+context combo
|
||||
* is compatible with the OpenCL driver by querying the device information.
|
||||
* It also needs to check if the texture internal format and channel ordering
|
||||
* (returned in a driver-specific way) is supported by OpenCL, among other
|
||||
* things.
|
||||
*/
|
||||
|
||||
#ifndef MESA_GLINTEROP_H
|
||||
#define MESA_GLINTEROP_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations to avoid inclusion of GL/glx.h */
|
||||
typedef struct _XDisplay Display;
|
||||
typedef struct __GLXcontextRec *GLXContext;
|
||||
|
||||
/* Forward declarations to avoid inclusion of EGL/egl.h */
|
||||
typedef void *EGLDisplay;
|
||||
typedef void *EGLContext;
|
||||
|
||||
/** Returned error codes. */
|
||||
enum {
|
||||
MESA_GLINTEROP_SUCCESS = 0,
|
||||
MESA_GLINTEROP_OUT_OF_RESOURCES,
|
||||
MESA_GLINTEROP_OUT_OF_HOST_MEMORY,
|
||||
MESA_GLINTEROP_INVALID_OPERATION,
|
||||
MESA_GLINTEROP_INVALID_VERSION,
|
||||
MESA_GLINTEROP_INVALID_DISPLAY,
|
||||
MESA_GLINTEROP_INVALID_CONTEXT,
|
||||
MESA_GLINTEROP_INVALID_TARGET,
|
||||
MESA_GLINTEROP_INVALID_OBJECT,
|
||||
MESA_GLINTEROP_INVALID_MIP_LEVEL,
|
||||
MESA_GLINTEROP_UNSUPPORTED
|
||||
};
|
||||
|
||||
/** Access flags. */
|
||||
enum {
|
||||
MESA_GLINTEROP_ACCESS_READ_WRITE = 0,
|
||||
MESA_GLINTEROP_ACCESS_READ_ONLY,
|
||||
MESA_GLINTEROP_ACCESS_WRITE_ONLY
|
||||
};
|
||||
|
||||
#define MESA_GLINTEROP_DEVICE_INFO_VERSION 1
|
||||
|
||||
/**
|
||||
* Device information returned by Mesa.
|
||||
*/
|
||||
struct mesa_glinterop_device_info {
|
||||
/* The caller should set this to the version of the struct they support */
|
||||
/* The callee will overwrite it if it supports a lower version.
|
||||
*
|
||||
* The caller should check the value and access up-to the version supported
|
||||
* by the the callee.
|
||||
*/
|
||||
/* NOTE: Do not use the MESA_GLINTEROP_DEVICE_INFO_VERSION macro */
|
||||
uint32_t version;
|
||||
|
||||
/* PCI location */
|
||||
uint32_t pci_segment_group;
|
||||
uint32_t pci_bus;
|
||||
uint32_t pci_device;
|
||||
uint32_t pci_function;
|
||||
|
||||
/* Device identification */
|
||||
uint32_t vendor_id;
|
||||
uint32_t device_id;
|
||||
|
||||
/* Structure version 1 ends here. */
|
||||
};
|
||||
|
||||
#define MESA_GLINTEROP_EXPORT_IN_VERSION 1
|
||||
|
||||
/**
|
||||
* Input parameters to Mesa interop export functions.
|
||||
*/
|
||||
struct mesa_glinterop_export_in {
|
||||
/* The caller should set this to the version of the struct they support */
|
||||
/* The callee will overwrite it if it supports a lower version.
|
||||
*
|
||||
* The caller should check the value and access up-to the version supported
|
||||
* by the the callee.
|
||||
*/
|
||||
/* NOTE: Do not use the MESA_GLINTEROP_EXPORT_IN_VERSION macro */
|
||||
uint32_t version;
|
||||
|
||||
/* One of the following:
|
||||
* - GL_TEXTURE_BUFFER
|
||||
* - GL_TEXTURE_1D
|
||||
* - GL_TEXTURE_2D
|
||||
* - GL_TEXTURE_3D
|
||||
* - GL_TEXTURE_RECTANGLE
|
||||
* - GL_TEXTURE_1D_ARRAY
|
||||
* - GL_TEXTURE_2D_ARRAY
|
||||
* - GL_TEXTURE_CUBE_MAP_ARRAY
|
||||
* - GL_TEXTURE_CUBE_MAP
|
||||
* - GL_TEXTURE_CUBE_MAP_POSITIVE_X
|
||||
* - GL_TEXTURE_CUBE_MAP_NEGATIVE_X
|
||||
* - GL_TEXTURE_CUBE_MAP_POSITIVE_Y
|
||||
* - GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
|
||||
* - GL_TEXTURE_CUBE_MAP_POSITIVE_Z
|
||||
* - GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
|
||||
* - GL_TEXTURE_2D_MULTISAMPLE
|
||||
* - GL_TEXTURE_2D_MULTISAMPLE_ARRAY
|
||||
* - GL_TEXTURE_EXTERNAL_OES
|
||||
* - GL_RENDERBUFFER
|
||||
* - GL_ARRAY_BUFFER
|
||||
*/
|
||||
unsigned target;
|
||||
|
||||
/* If target is GL_ARRAY_BUFFER, it's a buffer object.
|
||||
* If target is GL_RENDERBUFFER, it's a renderbuffer object.
|
||||
* If target is GL_TEXTURE_*, it's a texture object.
|
||||
*/
|
||||
unsigned obj;
|
||||
|
||||
/* Mipmap level. Ignored for non-texture objects. */
|
||||
unsigned miplevel;
|
||||
|
||||
/* One of MESA_GLINTEROP_ACCESS_* flags. This describes how the exported
|
||||
* object is going to be used.
|
||||
*/
|
||||
uint32_t access;
|
||||
|
||||
/* Size of memory pointed to by out_driver_data. */
|
||||
uint32_t out_driver_data_size;
|
||||
|
||||
/* If the caller wants to query driver-specific data about the OpenGL
|
||||
* object, this should point to the memory where that data will be stored.
|
||||
* This is expected to be a temporary staging memory. The pointer is not
|
||||
* allowed to be saved for later use by Mesa.
|
||||
*/
|
||||
void *out_driver_data;
|
||||
/* Structure version 1 ends here. */
|
||||
};
|
||||
|
||||
#define MESA_GLINTEROP_EXPORT_OUT_VERSION 1
|
||||
|
||||
/**
|
||||
* Outputs of Mesa interop export functions.
|
||||
*/
|
||||
struct mesa_glinterop_export_out {
|
||||
/* The caller should set this to the version of the struct they support */
|
||||
/* The callee will overwrite it if it supports a lower version.
|
||||
*
|
||||
* The caller should check the value and access up-to the version supported
|
||||
* by the the callee.
|
||||
*/
|
||||
/* NOTE: Do not use the MESA_GLINTEROP_EXPORT_OUT_VERSION macro */
|
||||
uint32_t version;
|
||||
|
||||
/* The DMABUF handle. It must be closed by the caller using the POSIX
|
||||
* close() function when it's not needed anymore. Mesa is not responsible
|
||||
* for closing the handle.
|
||||
*
|
||||
* Not closing the handle by the caller will lead to a resource leak,
|
||||
* will prevent releasing the GPU buffer, and may prevent creating new
|
||||
* DMABUF handles within the process.
|
||||
*/
|
||||
int dmabuf_fd;
|
||||
|
||||
/* The mutable OpenGL internal format specified by glTextureView or
|
||||
* glTexBuffer. If the object is not one of those, the original internal
|
||||
* format specified by glTexStorage, glTexImage, or glRenderbufferStorage
|
||||
* will be returned.
|
||||
*/
|
||||
unsigned internal_format;
|
||||
|
||||
/* Buffer offset and size for GL_ARRAY_BUFFER and GL_TEXTURE_BUFFER.
|
||||
* This allows interop with suballocations (a buffer allocated within
|
||||
* a larger buffer).
|
||||
*
|
||||
* Parameters specified by glTexBufferRange for GL_TEXTURE_BUFFER are
|
||||
* applied to these and can shrink the range further.
|
||||
*/
|
||||
ptrdiff_t buf_offset;
|
||||
ptrdiff_t buf_size;
|
||||
|
||||
/* Parameters specified by glTextureView. If the object is not a texture
|
||||
* view, default parameters covering the whole texture will be returned.
|
||||
*/
|
||||
unsigned view_minlevel;
|
||||
unsigned view_numlevels;
|
||||
unsigned view_minlayer;
|
||||
unsigned view_numlayers;
|
||||
|
||||
/* The number of bytes written to out_driver_data. */
|
||||
uint32_t out_driver_data_written;
|
||||
/* Structure version 1 ends here. */
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Query device information.
|
||||
*
|
||||
* \param dpy GLX display
|
||||
* \param context GLX context
|
||||
* \param out where to return the information
|
||||
*
|
||||
* \return MESA_GLINTEROP_SUCCESS or MESA_GLINTEROP_* != 0 on error
|
||||
*/
|
||||
int
|
||||
MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
|
||||
struct mesa_glinterop_device_info *out);
|
||||
|
||||
|
||||
/**
|
||||
* Same as MesaGLInteropGLXQueryDeviceInfo except that it accepts EGLDisplay
|
||||
* and EGLContext.
|
||||
*/
|
||||
int
|
||||
MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
|
||||
struct mesa_glinterop_device_info *out);
|
||||
|
||||
|
||||
/**
|
||||
* Create and return a DMABUF handle corresponding to the given OpenGL
|
||||
* object, and return other parameters about the OpenGL object.
|
||||
*
|
||||
* \param dpy GLX display
|
||||
* \param context GLX context
|
||||
* \param in input parameters
|
||||
* \param out return values
|
||||
*
|
||||
* \return MESA_GLINTEROP_SUCCESS or MESA_GLINTEROP_* != 0 on error
|
||||
*/
|
||||
int
|
||||
MesaGLInteropGLXExportObject(Display *dpy, GLXContext context,
|
||||
struct mesa_glinterop_export_in *in,
|
||||
struct mesa_glinterop_export_out *out);
|
||||
|
||||
|
||||
/**
|
||||
* Same as MesaGLInteropGLXExportObject except that it accepts
|
||||
* EGLDisplay and EGLContext.
|
||||
*/
|
||||
int
|
||||
MesaGLInteropEGLExportObject(EGLDisplay dpy, EGLContext context,
|
||||
struct mesa_glinterop_export_in *in,
|
||||
struct mesa_glinterop_export_out *out);
|
||||
|
||||
|
||||
typedef int (PFNMESAGLINTEROPGLXQUERYDEVICEINFOPROC)(Display *dpy, GLXContext context,
|
||||
struct mesa_glinterop_device_info *out);
|
||||
typedef int (PFNMESAGLINTEROPEGLQUERYDEVICEINFOPROC)(EGLDisplay dpy, EGLContext context,
|
||||
struct mesa_glinterop_device_info *out);
|
||||
typedef int (PFNMESAGLINTEROPGLXEXPORTOBJECTPROC)(Display *dpy, GLXContext context,
|
||||
struct mesa_glinterop_export_in *in,
|
||||
struct mesa_glinterop_export_out *out);
|
||||
typedef int (PFNMESAGLINTEROPEGLEXPORTOBJECTPROC)(EGLDisplay dpy, EGLContext context,
|
||||
struct mesa_glinterop_export_in *in,
|
||||
struct mesa_glinterop_export_out *out);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* MESA_GLINTEROP_H */
|
@@ -58,8 +58,8 @@ extern "C" {
|
||||
#include <GL/gl.h>
|
||||
|
||||
|
||||
#define OSMESA_MAJOR_VERSION 11
|
||||
#define OSMESA_MINOR_VERSION 2
|
||||
#define OSMESA_MAJOR_VERSION 10
|
||||
#define OSMESA_MINOR_VERSION 0
|
||||
#define OSMESA_PATCH_VERSION 0
|
||||
|
||||
|
||||
@@ -95,18 +95,6 @@ extern "C" {
|
||||
#define OSMESA_MAX_WIDTH 0x24 /* new in 4.0 */
|
||||
#define OSMESA_MAX_HEIGHT 0x25 /* new in 4.0 */
|
||||
|
||||
/*
|
||||
* Accepted in OSMesaCreateContextAttrib's attribute list.
|
||||
*/
|
||||
#define OSMESA_DEPTH_BITS 0x30
|
||||
#define OSMESA_STENCIL_BITS 0x31
|
||||
#define OSMESA_ACCUM_BITS 0x32
|
||||
#define OSMESA_PROFILE 0x33
|
||||
#define OSMESA_CORE_PROFILE 0x34
|
||||
#define OSMESA_COMPAT_PROFILE 0x35
|
||||
#define OSMESA_CONTEXT_MAJOR_VERSION 0x36
|
||||
#define OSMESA_CONTEXT_MINOR_VERSION 0x37
|
||||
|
||||
|
||||
typedef struct osmesa_context *OSMesaContext;
|
||||
|
||||
@@ -139,35 +127,6 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
|
||||
GLint accumBits, OSMesaContext sharelist);
|
||||
|
||||
|
||||
/*
|
||||
* Create an Off-Screen Mesa rendering context with attribute list.
|
||||
* The list is composed of (attribute, value) pairs and terminated with
|
||||
* attribute==0. Supported Attributes:
|
||||
*
|
||||
* Attributes Values
|
||||
* --------------------------------------------------------------------------
|
||||
* OSMESA_FORMAT OSMESA_RGBA*, OSMESA_BGRA, OSMESA_ARGB, etc.
|
||||
* OSMESA_DEPTH_BITS 0*, 16, 24, 32
|
||||
* OSMESA_STENCIL_BITS 0*, 8
|
||||
* OSMESA_ACCUM_BITS 0*, 16
|
||||
* OSMESA_PROFILE OSMESA_COMPAT_PROFILE*, OSMESA_CORE_PROFILE
|
||||
* OSMESA_CONTEXT_MAJOR_VERSION 1*, 2, 3
|
||||
* OSMESA_CONTEXT_MINOR_VERSION 0+
|
||||
*
|
||||
* Note: * = default value
|
||||
*
|
||||
* We return a context version >= what's specified by OSMESA_CONTEXT_MAJOR/
|
||||
* MINOR_VERSION for the given profile. For example, if you request a GL 1.4
|
||||
* compat profile, you might get a GL 3.0 compat profile.
|
||||
* Otherwise, null is returned if the version/profile is not supported.
|
||||
*
|
||||
* New in Mesa 11.2
|
||||
*/
|
||||
GLAPI OSMesaContext GLAPIENTRY
|
||||
OSMesaCreateContextAttribs( const int *attribList, OSMesaContext sharelist );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Destroy an Off-Screen Mesa rendering context.
|
||||
*
|
||||
|
@@ -169,32 +169,6 @@ mtx_destroy(mtx_t *mtx)
|
||||
pthread_mutex_destroy(mtx);
|
||||
}
|
||||
|
||||
/*
|
||||
* XXX: Workaround when building with -O0 and without pthreads link.
|
||||
*
|
||||
* In such cases constant folding and dead code elimination won't be
|
||||
* available, thus the compiler will always add the pthread_mutexattr*
|
||||
* functions into the binary. As we try to link, we'll fail as the
|
||||
* symbols are unresolved.
|
||||
*
|
||||
* Ideally we'll enable the optimisations locally, yet that does not
|
||||
* seem to work.
|
||||
*
|
||||
* So the alternative workaround is to annotate the symbols as weak.
|
||||
* Thus the linker will be happy and things don't clash when building
|
||||
* with -O1 or greater.
|
||||
*/
|
||||
#ifdef HAVE_FUNC_ATTRIBUTE_WEAK
|
||||
__attribute__((weak))
|
||||
int pthread_mutexattr_init(pthread_mutexattr_t *attr);
|
||||
|
||||
__attribute__((weak))
|
||||
int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type);
|
||||
|
||||
__attribute__((weak))
|
||||
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);
|
||||
#endif
|
||||
|
||||
// 7.25.4.2
|
||||
static inline int
|
||||
mtx_init(mtx_t *mtx, int type)
|
||||
@@ -206,14 +180,9 @@ mtx_init(mtx_t *mtx, int type)
|
||||
&& type != (mtx_timed|mtx_recursive)
|
||||
&& type != (mtx_try|mtx_recursive))
|
||||
return thrd_error;
|
||||
|
||||
if ((type & mtx_recursive) == 0) {
|
||||
pthread_mutex_init(mtx, NULL);
|
||||
return thrd_success;
|
||||
}
|
||||
|
||||
pthread_mutexattr_init(&attr);
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
if ((type & mtx_recursive) != 0)
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
pthread_mutex_init(mtx, &attr);
|
||||
pthread_mutexattr_destroy(&attr);
|
||||
return thrd_success;
|
||||
|
305
include/c99/inttypes.h
Normal file
305
include/c99/inttypes.h
Normal file
@@ -0,0 +1,305 @@
|
||||
// ISO C9x compliant inttypes.h for Microsoft Visual Studio
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Copyright (c) 2006 Alexander Chemeris
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. The name of the author may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _MSC_VER // [
|
||||
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||
#endif // _MSC_VER ]
|
||||
|
||||
#ifndef _MSC_INTTYPES_H_ // [
|
||||
#define _MSC_INTTYPES_H_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
// 7.8 Format conversion of integer types
|
||||
|
||||
typedef struct {
|
||||
intmax_t quot;
|
||||
intmax_t rem;
|
||||
} imaxdiv_t;
|
||||
|
||||
// 7.8.1 Macros for format specifiers
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198
|
||||
|
||||
// The fprintf macros for signed integers are:
|
||||
#define PRId8 "d"
|
||||
#define PRIi8 "i"
|
||||
#define PRIdLEAST8 "d"
|
||||
#define PRIiLEAST8 "i"
|
||||
#define PRIdFAST8 "d"
|
||||
#define PRIiFAST8 "i"
|
||||
|
||||
#define PRId16 "hd"
|
||||
#define PRIi16 "hi"
|
||||
#define PRIdLEAST16 "hd"
|
||||
#define PRIiLEAST16 "hi"
|
||||
#define PRIdFAST16 "hd"
|
||||
#define PRIiFAST16 "hi"
|
||||
|
||||
#define PRId32 "I32d"
|
||||
#define PRIi32 "I32i"
|
||||
#define PRIdLEAST32 "I32d"
|
||||
#define PRIiLEAST32 "I32i"
|
||||
#define PRIdFAST32 "I32d"
|
||||
#define PRIiFAST32 "I32i"
|
||||
|
||||
#define PRId64 "I64d"
|
||||
#define PRIi64 "I64i"
|
||||
#define PRIdLEAST64 "I64d"
|
||||
#define PRIiLEAST64 "I64i"
|
||||
#define PRIdFAST64 "I64d"
|
||||
#define PRIiFAST64 "I64i"
|
||||
|
||||
#define PRIdMAX "I64d"
|
||||
#define PRIiMAX "I64i"
|
||||
|
||||
#define PRIdPTR "Id"
|
||||
#define PRIiPTR "Ii"
|
||||
|
||||
// The fprintf macros for unsigned integers are:
|
||||
#define PRIo8 "o"
|
||||
#define PRIu8 "u"
|
||||
#define PRIx8 "x"
|
||||
#define PRIX8 "X"
|
||||
#define PRIoLEAST8 "o"
|
||||
#define PRIuLEAST8 "u"
|
||||
#define PRIxLEAST8 "x"
|
||||
#define PRIXLEAST8 "X"
|
||||
#define PRIoFAST8 "o"
|
||||
#define PRIuFAST8 "u"
|
||||
#define PRIxFAST8 "x"
|
||||
#define PRIXFAST8 "X"
|
||||
|
||||
#define PRIo16 "ho"
|
||||
#define PRIu16 "hu"
|
||||
#define PRIx16 "hx"
|
||||
#define PRIX16 "hX"
|
||||
#define PRIoLEAST16 "ho"
|
||||
#define PRIuLEAST16 "hu"
|
||||
#define PRIxLEAST16 "hx"
|
||||
#define PRIXLEAST16 "hX"
|
||||
#define PRIoFAST16 "ho"
|
||||
#define PRIuFAST16 "hu"
|
||||
#define PRIxFAST16 "hx"
|
||||
#define PRIXFAST16 "hX"
|
||||
|
||||
#define PRIo32 "I32o"
|
||||
#define PRIu32 "I32u"
|
||||
#define PRIx32 "I32x"
|
||||
#define PRIX32 "I32X"
|
||||
#define PRIoLEAST32 "I32o"
|
||||
#define PRIuLEAST32 "I32u"
|
||||
#define PRIxLEAST32 "I32x"
|
||||
#define PRIXLEAST32 "I32X"
|
||||
#define PRIoFAST32 "I32o"
|
||||
#define PRIuFAST32 "I32u"
|
||||
#define PRIxFAST32 "I32x"
|
||||
#define PRIXFAST32 "I32X"
|
||||
|
||||
#define PRIo64 "I64o"
|
||||
#define PRIu64 "I64u"
|
||||
#define PRIx64 "I64x"
|
||||
#define PRIX64 "I64X"
|
||||
#define PRIoLEAST64 "I64o"
|
||||
#define PRIuLEAST64 "I64u"
|
||||
#define PRIxLEAST64 "I64x"
|
||||
#define PRIXLEAST64 "I64X"
|
||||
#define PRIoFAST64 "I64o"
|
||||
#define PRIuFAST64 "I64u"
|
||||
#define PRIxFAST64 "I64x"
|
||||
#define PRIXFAST64 "I64X"
|
||||
|
||||
#define PRIoMAX "I64o"
|
||||
#define PRIuMAX "I64u"
|
||||
#define PRIxMAX "I64x"
|
||||
#define PRIXMAX "I64X"
|
||||
|
||||
#define PRIoPTR "Io"
|
||||
#define PRIuPTR "Iu"
|
||||
#define PRIxPTR "Ix"
|
||||
#define PRIXPTR "IX"
|
||||
|
||||
// The fscanf macros for signed integers are:
|
||||
#define SCNd8 "d"
|
||||
#define SCNi8 "i"
|
||||
#define SCNdLEAST8 "d"
|
||||
#define SCNiLEAST8 "i"
|
||||
#define SCNdFAST8 "d"
|
||||
#define SCNiFAST8 "i"
|
||||
|
||||
#define SCNd16 "hd"
|
||||
#define SCNi16 "hi"
|
||||
#define SCNdLEAST16 "hd"
|
||||
#define SCNiLEAST16 "hi"
|
||||
#define SCNdFAST16 "hd"
|
||||
#define SCNiFAST16 "hi"
|
||||
|
||||
#define SCNd32 "ld"
|
||||
#define SCNi32 "li"
|
||||
#define SCNdLEAST32 "ld"
|
||||
#define SCNiLEAST32 "li"
|
||||
#define SCNdFAST32 "ld"
|
||||
#define SCNiFAST32 "li"
|
||||
|
||||
#define SCNd64 "I64d"
|
||||
#define SCNi64 "I64i"
|
||||
#define SCNdLEAST64 "I64d"
|
||||
#define SCNiLEAST64 "I64i"
|
||||
#define SCNdFAST64 "I64d"
|
||||
#define SCNiFAST64 "I64i"
|
||||
|
||||
#define SCNdMAX "I64d"
|
||||
#define SCNiMAX "I64i"
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define SCNdPTR "I64d"
|
||||
# define SCNiPTR "I64i"
|
||||
#else // _WIN64 ][
|
||||
# define SCNdPTR "ld"
|
||||
# define SCNiPTR "li"
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// The fscanf macros for unsigned integers are:
|
||||
#define SCNo8 "o"
|
||||
#define SCNu8 "u"
|
||||
#define SCNx8 "x"
|
||||
#define SCNX8 "X"
|
||||
#define SCNoLEAST8 "o"
|
||||
#define SCNuLEAST8 "u"
|
||||
#define SCNxLEAST8 "x"
|
||||
#define SCNXLEAST8 "X"
|
||||
#define SCNoFAST8 "o"
|
||||
#define SCNuFAST8 "u"
|
||||
#define SCNxFAST8 "x"
|
||||
#define SCNXFAST8 "X"
|
||||
|
||||
#define SCNo16 "ho"
|
||||
#define SCNu16 "hu"
|
||||
#define SCNx16 "hx"
|
||||
#define SCNX16 "hX"
|
||||
#define SCNoLEAST16 "ho"
|
||||
#define SCNuLEAST16 "hu"
|
||||
#define SCNxLEAST16 "hx"
|
||||
#define SCNXLEAST16 "hX"
|
||||
#define SCNoFAST16 "ho"
|
||||
#define SCNuFAST16 "hu"
|
||||
#define SCNxFAST16 "hx"
|
||||
#define SCNXFAST16 "hX"
|
||||
|
||||
#define SCNo32 "lo"
|
||||
#define SCNu32 "lu"
|
||||
#define SCNx32 "lx"
|
||||
#define SCNX32 "lX"
|
||||
#define SCNoLEAST32 "lo"
|
||||
#define SCNuLEAST32 "lu"
|
||||
#define SCNxLEAST32 "lx"
|
||||
#define SCNXLEAST32 "lX"
|
||||
#define SCNoFAST32 "lo"
|
||||
#define SCNuFAST32 "lu"
|
||||
#define SCNxFAST32 "lx"
|
||||
#define SCNXFAST32 "lX"
|
||||
|
||||
#define SCNo64 "I64o"
|
||||
#define SCNu64 "I64u"
|
||||
#define SCNx64 "I64x"
|
||||
#define SCNX64 "I64X"
|
||||
#define SCNoLEAST64 "I64o"
|
||||
#define SCNuLEAST64 "I64u"
|
||||
#define SCNxLEAST64 "I64x"
|
||||
#define SCNXLEAST64 "I64X"
|
||||
#define SCNoFAST64 "I64o"
|
||||
#define SCNuFAST64 "I64u"
|
||||
#define SCNxFAST64 "I64x"
|
||||
#define SCNXFAST64 "I64X"
|
||||
|
||||
#define SCNoMAX "I64o"
|
||||
#define SCNuMAX "I64u"
|
||||
#define SCNxMAX "I64x"
|
||||
#define SCNXMAX "I64X"
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define SCNoPTR "I64o"
|
||||
# define SCNuPTR "I64u"
|
||||
# define SCNxPTR "I64x"
|
||||
# define SCNXPTR "I64X"
|
||||
#else // _WIN64 ][
|
||||
# define SCNoPTR "lo"
|
||||
# define SCNuPTR "lu"
|
||||
# define SCNxPTR "lx"
|
||||
# define SCNXPTR "lX"
|
||||
#endif // _WIN64 ]
|
||||
|
||||
#endif // __STDC_FORMAT_MACROS ]
|
||||
|
||||
// 7.8.2 Functions for greatest-width integer types
|
||||
|
||||
// 7.8.2.1 The imaxabs function
|
||||
#define imaxabs _abs64
|
||||
|
||||
// 7.8.2.2 The imaxdiv function
|
||||
|
||||
// This is modified version of div() function from Microsoft's div.c found
|
||||
// in %MSVC.NET%\crt\src\div.c
|
||||
#ifdef STATIC_IMAXDIV // [
|
||||
static
|
||||
#else // STATIC_IMAXDIV ][
|
||||
_inline
|
||||
#endif // STATIC_IMAXDIV ]
|
||||
imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
|
||||
{
|
||||
imaxdiv_t result;
|
||||
|
||||
result.quot = numer / denom;
|
||||
result.rem = numer % denom;
|
||||
|
||||
if (numer < 0 && result.rem > 0) {
|
||||
// did division wrong; must fix up
|
||||
++result.quot;
|
||||
result.rem -= denom;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// 7.8.2.3 The strtoimax and strtoumax functions
|
||||
#define strtoimax _strtoi64
|
||||
#define strtoumax _strtoui64
|
||||
|
||||
// 7.8.2.4 The wcstoimax and wcstoumax functions
|
||||
#define wcstoimax _wcstoi64
|
||||
#define wcstoumax _wcstoui64
|
||||
|
||||
|
||||
#endif // _MSC_INTTYPES_H_ ]
|
@@ -1,6 +1,6 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2016 Samuel Pitoiset
|
||||
* Copyright 2007-2010 VMware, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@@ -11,28 +11,36 @@
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
* USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
||||
* IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
|
||||
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef ST_CB_COMPUTE_H
|
||||
#define ST_CB_COMPUTE_H
|
||||
#ifndef _STDBOOL_H_
|
||||
#define _STDBOOL_H_
|
||||
|
||||
#include "main/compiler.h"
|
||||
#ifndef __cplusplus
|
||||
|
||||
struct dd_function_table;
|
||||
#define false 0
|
||||
#define true 1
|
||||
#define bool _Bool
|
||||
|
||||
extern void
|
||||
st_init_compute_functions(struct dd_function_table *functions);
|
||||
/* For compilers that don't have the builtin _Bool type. */
|
||||
#if (defined(_MSC_VER) && _MSC_VER < 1800)
|
||||
typedef unsigned char _Bool;
|
||||
#endif
|
||||
|
||||
#endif /* ST_CB_COMPUTE_H */
|
||||
#endif /* !__cplusplus */
|
||||
|
||||
#define __bool_true_false_are_defined 1
|
||||
|
||||
#endif /* !_STDBOOL_H_ */
|
247
include/c99/stdint.h
Normal file
247
include/c99/stdint.h
Normal file
@@ -0,0 +1,247 @@
|
||||
// ISO C9x compliant stdint.h for Microsoft Visual Studio
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Copyright (c) 2006-2008 Alexander Chemeris
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. The name of the author may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _MSC_VER // [
|
||||
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||
#endif // _MSC_VER ]
|
||||
|
||||
#ifndef _MSC_STDINT_H_ // [
|
||||
#define _MSC_STDINT_H_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
|
||||
// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
|
||||
// or compiler give many errors like this:
|
||||
// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
# include <wchar.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// Define _W64 macros to mark types changing their size, like intptr_t.
|
||||
#ifndef _W64
|
||||
# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
|
||||
# define _W64 __w64
|
||||
# else
|
||||
# define _W64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
// 7.18.1 Integer types
|
||||
|
||||
// 7.18.1.1 Exact-width integer types
|
||||
|
||||
// Visual Studio 6 and Embedded Visual C++ 4 doesn't
|
||||
// realize that, e.g. char has the same size as __int8
|
||||
// so we give up on __intX for them.
|
||||
#if (_MSC_VER < 1300)
|
||||
typedef signed char int8_t;
|
||||
typedef signed short int16_t;
|
||||
typedef signed int int32_t;
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
#else
|
||||
typedef signed __int8 int8_t;
|
||||
typedef signed __int16 int16_t;
|
||||
typedef signed __int32 int32_t;
|
||||
typedef unsigned __int8 uint8_t;
|
||||
typedef unsigned __int16 uint16_t;
|
||||
typedef unsigned __int32 uint32_t;
|
||||
#endif
|
||||
typedef signed __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
|
||||
|
||||
// 7.18.1.2 Minimum-width integer types
|
||||
typedef int8_t int_least8_t;
|
||||
typedef int16_t int_least16_t;
|
||||
typedef int32_t int_least32_t;
|
||||
typedef int64_t int_least64_t;
|
||||
typedef uint8_t uint_least8_t;
|
||||
typedef uint16_t uint_least16_t;
|
||||
typedef uint32_t uint_least32_t;
|
||||
typedef uint64_t uint_least64_t;
|
||||
|
||||
// 7.18.1.3 Fastest minimum-width integer types
|
||||
typedef int8_t int_fast8_t;
|
||||
typedef int16_t int_fast16_t;
|
||||
typedef int32_t int_fast32_t;
|
||||
typedef int64_t int_fast64_t;
|
||||
typedef uint8_t uint_fast8_t;
|
||||
typedef uint16_t uint_fast16_t;
|
||||
typedef uint32_t uint_fast32_t;
|
||||
typedef uint64_t uint_fast64_t;
|
||||
|
||||
// 7.18.1.4 Integer types capable of holding object pointers
|
||||
#ifdef _WIN64 // [
|
||||
typedef signed __int64 intptr_t;
|
||||
typedef unsigned __int64 uintptr_t;
|
||||
#else // _WIN64 ][
|
||||
typedef _W64 signed int intptr_t;
|
||||
typedef _W64 unsigned int uintptr_t;
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// 7.18.1.5 Greatest-width integer types
|
||||
typedef int64_t intmax_t;
|
||||
typedef uint64_t uintmax_t;
|
||||
|
||||
|
||||
// 7.18.2 Limits of specified-width integer types
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
|
||||
|
||||
// 7.18.2.1 Limits of exact-width integer types
|
||||
#define INT8_MIN ((int8_t)_I8_MIN)
|
||||
#define INT8_MAX _I8_MAX
|
||||
#define INT16_MIN ((int16_t)_I16_MIN)
|
||||
#define INT16_MAX _I16_MAX
|
||||
#define INT32_MIN ((int32_t)_I32_MIN)
|
||||
#define INT32_MAX _I32_MAX
|
||||
#define INT64_MIN ((int64_t)_I64_MIN)
|
||||
#define INT64_MAX _I64_MAX
|
||||
#define UINT8_MAX _UI8_MAX
|
||||
#define UINT16_MAX _UI16_MAX
|
||||
#define UINT32_MAX _UI32_MAX
|
||||
#define UINT64_MAX _UI64_MAX
|
||||
|
||||
// 7.18.2.2 Limits of minimum-width integer types
|
||||
#define INT_LEAST8_MIN INT8_MIN
|
||||
#define INT_LEAST8_MAX INT8_MAX
|
||||
#define INT_LEAST16_MIN INT16_MIN
|
||||
#define INT_LEAST16_MAX INT16_MAX
|
||||
#define INT_LEAST32_MIN INT32_MIN
|
||||
#define INT_LEAST32_MAX INT32_MAX
|
||||
#define INT_LEAST64_MIN INT64_MIN
|
||||
#define INT_LEAST64_MAX INT64_MAX
|
||||
#define UINT_LEAST8_MAX UINT8_MAX
|
||||
#define UINT_LEAST16_MAX UINT16_MAX
|
||||
#define UINT_LEAST32_MAX UINT32_MAX
|
||||
#define UINT_LEAST64_MAX UINT64_MAX
|
||||
|
||||
// 7.18.2.3 Limits of fastest minimum-width integer types
|
||||
#define INT_FAST8_MIN INT8_MIN
|
||||
#define INT_FAST8_MAX INT8_MAX
|
||||
#define INT_FAST16_MIN INT16_MIN
|
||||
#define INT_FAST16_MAX INT16_MAX
|
||||
#define INT_FAST32_MIN INT32_MIN
|
||||
#define INT_FAST32_MAX INT32_MAX
|
||||
#define INT_FAST64_MIN INT64_MIN
|
||||
#define INT_FAST64_MAX INT64_MAX
|
||||
#define UINT_FAST8_MAX UINT8_MAX
|
||||
#define UINT_FAST16_MAX UINT16_MAX
|
||||
#define UINT_FAST32_MAX UINT32_MAX
|
||||
#define UINT_FAST64_MAX UINT64_MAX
|
||||
|
||||
// 7.18.2.4 Limits of integer types capable of holding object pointers
|
||||
#ifdef _WIN64 // [
|
||||
# define INTPTR_MIN INT64_MIN
|
||||
# define INTPTR_MAX INT64_MAX
|
||||
# define UINTPTR_MAX UINT64_MAX
|
||||
#else // _WIN64 ][
|
||||
# define INTPTR_MIN INT32_MIN
|
||||
# define INTPTR_MAX INT32_MAX
|
||||
# define UINTPTR_MAX UINT32_MAX
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// 7.18.2.5 Limits of greatest-width integer types
|
||||
#define INTMAX_MIN INT64_MIN
|
||||
#define INTMAX_MAX INT64_MAX
|
||||
#define UINTMAX_MAX UINT64_MAX
|
||||
|
||||
// 7.18.3 Limits of other integer types
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define PTRDIFF_MIN _I64_MIN
|
||||
# define PTRDIFF_MAX _I64_MAX
|
||||
#else // _WIN64 ][
|
||||
# define PTRDIFF_MIN _I32_MIN
|
||||
# define PTRDIFF_MAX _I32_MAX
|
||||
#endif // _WIN64 ]
|
||||
|
||||
#define SIG_ATOMIC_MIN INT_MIN
|
||||
#define SIG_ATOMIC_MAX INT_MAX
|
||||
|
||||
#ifndef SIZE_MAX // [
|
||||
# ifdef _WIN64 // [
|
||||
# define SIZE_MAX _UI64_MAX
|
||||
# else // _WIN64 ][
|
||||
# define SIZE_MAX _UI32_MAX
|
||||
# endif // _WIN64 ]
|
||||
#endif // SIZE_MAX ]
|
||||
|
||||
// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
|
||||
#ifndef WCHAR_MIN // [
|
||||
# define WCHAR_MIN 0
|
||||
#endif // WCHAR_MIN ]
|
||||
#ifndef WCHAR_MAX // [
|
||||
# define WCHAR_MAX _UI16_MAX
|
||||
#endif // WCHAR_MAX ]
|
||||
|
||||
#define WINT_MIN 0
|
||||
#define WINT_MAX _UI16_MAX
|
||||
|
||||
#endif // __STDC_LIMIT_MACROS ]
|
||||
|
||||
|
||||
// 7.18.4 Limits of other integer types
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
|
||||
|
||||
// 7.18.4.1 Macros for minimum-width integer constants
|
||||
|
||||
#define INT8_C(val) val##i8
|
||||
#define INT16_C(val) val##i16
|
||||
#define INT32_C(val) val##i32
|
||||
#define INT64_C(val) val##i64
|
||||
|
||||
#define UINT8_C(val) val##ui8
|
||||
#define UINT16_C(val) val##ui16
|
||||
#define UINT32_C(val) val##ui32
|
||||
#define UINT64_C(val) val##ui64
|
||||
|
||||
// 7.18.4.2 Macros for greatest-width integer constants
|
||||
#define INTMAX_C INT64_C
|
||||
#define UINTMAX_C UINT64_C
|
||||
|
||||
#endif // __STDC_CONSTANT_MACROS ]
|
||||
|
||||
|
||||
#endif // _MSC_STDINT_H_ ]
|
@@ -36,17 +36,17 @@
|
||||
*/
|
||||
#if defined(_MSC_VER)
|
||||
|
||||
# if _MSC_VER < 1800
|
||||
# error "Microsoft Visual Studio 2013 or higher required"
|
||||
# if _MSC_VER < 1500
|
||||
# error "Microsoft Visual Studio 2008 or higher required"
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Visual Studio will complain if we define the `inline` keyword, but
|
||||
* Visual Studio 2012 will complain if we define the `inline` keyword, but
|
||||
* actually it only supports the keyword on C++.
|
||||
*
|
||||
* To avoid this the _ALLOW_KEYWORD_MACROS must be set.
|
||||
*/
|
||||
# if !defined(_ALLOW_KEYWORD_MACROS)
|
||||
# if (_MSC_VER >= 1700) && !defined(_ALLOW_KEYWORD_MACROS)
|
||||
# define _ALLOW_KEYWORD_MACROS
|
||||
# endif
|
||||
|
||||
@@ -81,6 +81,8 @@
|
||||
/* Intel compiler supports inline keyword */
|
||||
# elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
|
||||
# define inline __inline
|
||||
# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
|
||||
/* C99 supports inline keyword */
|
||||
# elif (__STDC_VERSION__ >= 199901L)
|
||||
/* C99 supports inline keyword */
|
||||
# else
|
||||
@@ -98,6 +100,8 @@
|
||||
#ifndef restrict
|
||||
# if (__STDC_VERSION__ >= 199901L)
|
||||
/* C99 */
|
||||
# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
|
||||
/* C99 */
|
||||
# elif defined(__GNUC__)
|
||||
# define restrict __restrict__
|
||||
# elif defined(_MSC_VER)
|
||||
@@ -114,6 +118,8 @@
|
||||
#ifndef __func__
|
||||
# if (__STDC_VERSION__ >= 199901L)
|
||||
/* C99 */
|
||||
# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
|
||||
/* C99 */
|
||||
# elif defined(__GNUC__)
|
||||
# define __func__ __FUNCTION__
|
||||
# elif defined(_MSC_VER)
|
||||
@@ -135,48 +141,4 @@ test_c99_compat_h(const void * restrict a,
|
||||
#endif
|
||||
|
||||
|
||||
/* Fallback definitions, for build systems other than autoconfig which don't
|
||||
* auto-detect these things. */
|
||||
#ifdef HAVE_NO_AUTOCONF
|
||||
|
||||
# ifndef _WIN32
|
||||
# define HAVE_PTHREAD
|
||||
# define HAVE_POSIX_MEMALIGN
|
||||
# endif
|
||||
|
||||
# ifdef __GNUC__
|
||||
# if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)
|
||||
# error "GCC version 4.2 or higher required"
|
||||
# endif
|
||||
|
||||
/* https://gcc.gnu.org/onlinedocs/gcc-4.2.4/gcc/Other-Builtins.html */
|
||||
# define HAVE___BUILTIN_CLZ 1
|
||||
# define HAVE___BUILTIN_CLZLL 1
|
||||
# define HAVE___BUILTIN_CTZ 1
|
||||
# define HAVE___BUILTIN_EXPECT 1
|
||||
# define HAVE___BUILTIN_FFS 1
|
||||
# define HAVE___BUILTIN_FFSLL 1
|
||||
# define HAVE___BUILTIN_POPCOUNT 1
|
||||
# define HAVE___BUILTIN_POPCOUNTLL 1
|
||||
/* https://gcc.gnu.org/onlinedocs/gcc-4.2.4/gcc/Function-Attributes.html */
|
||||
# define HAVE_FUNC_ATTRIBUTE_FLATTEN 1
|
||||
# define HAVE_FUNC_ATTRIBUTE_UNUSED 1
|
||||
# define HAVE_FUNC_ATTRIBUTE_FORMAT 1
|
||||
# define HAVE_FUNC_ATTRIBUTE_PACKED 1
|
||||
|
||||
# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
|
||||
/* https://gcc.gnu.org/onlinedocs/gcc-4.3.6/gcc/Other-Builtins.html */
|
||||
# define HAVE___BUILTIN_BSWAP32 1
|
||||
# define HAVE___BUILTIN_BSWAP64 1
|
||||
# endif
|
||||
|
||||
# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
|
||||
# define HAVE___BUILTIN_UNREACHABLE 1
|
||||
# endif
|
||||
|
||||
# endif /* __GNUC__ */
|
||||
|
||||
#endif /* !HAVE_AUTOCONF */
|
||||
|
||||
|
||||
#endif /* _C99_COMPAT_H_ */
|
||||
|
@@ -38,16 +38,55 @@
|
||||
#include "c99_compat.h"
|
||||
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
|
||||
/* This is to ensure that we get M_PI, etc. definitions */
|
||||
#if defined(_MSC_VER) && !defined(_USE_MATH_DEFINES)
|
||||
#if !defined(_USE_MATH_DEFINES)
|
||||
#error _USE_MATH_DEFINES define required when building with MSVC
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1800
|
||||
#define isfinite(x) _finite((double)(x))
|
||||
#define isnan(x) _isnan((double)(x))
|
||||
#endif /* _MSC_VER < 1800 */
|
||||
|
||||
#if !defined(_MSC_VER) && \
|
||||
__STDC_VERSION__ < 199901L && \
|
||||
(!defined(_XOPEN_SOURCE) || _XOPEN_SOURCE < 600) && \
|
||||
!defined(__cplusplus)
|
||||
#if _MSC_VER < 1800
|
||||
static inline double log2( double x )
|
||||
{
|
||||
const double invln2 = 1.442695041;
|
||||
return log( x ) * invln2;
|
||||
}
|
||||
|
||||
static inline double
|
||||
round(double x)
|
||||
{
|
||||
return x >= 0.0 ? floor(x + 0.5) : ceil(x - 0.5);
|
||||
}
|
||||
|
||||
static inline float
|
||||
roundf(float x)
|
||||
{
|
||||
return x >= 0.0f ? floorf(x + 0.5f) : ceilf(x - 0.5f);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef INFINITY
|
||||
#include <float.h> // DBL_MAX
|
||||
#define INFINITY (DBL_MAX + DBL_MAX)
|
||||
#endif
|
||||
|
||||
#ifndef NAN
|
||||
#define NAN (INFINITY - INFINITY)
|
||||
#endif
|
||||
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
|
||||
#if (defined(_MSC_VER) && _MSC_VER < 1800) || \
|
||||
(!defined(_MSC_VER) && \
|
||||
__STDC_VERSION__ < 199901L && \
|
||||
(!defined(_XOPEN_SOURCE) || _XOPEN_SOURCE < 600) && \
|
||||
!defined(__cplusplus))
|
||||
|
||||
static inline long int
|
||||
lrint(double d)
|
||||
@@ -185,27 +224,4 @@ fpclassify(double x)
|
||||
#endif
|
||||
|
||||
|
||||
/* Since C++11, the following functions are part of the std namespace. Their C
|
||||
* counteparts should still exist in the global namespace, however cmath
|
||||
* undefines those functions, which in glibc 2.23, are defined as macros rather
|
||||
* than functions as in glibc 2.22.
|
||||
*/
|
||||
#if __cplusplus >= 201103L && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23))
|
||||
#include <cmath>
|
||||
|
||||
using std::fpclassify;
|
||||
using std::isfinite;
|
||||
using std::isinf;
|
||||
using std::isnan;
|
||||
using std::isnormal;
|
||||
using std::signbit;
|
||||
using std::isgreater;
|
||||
using std::isgreaterequal;
|
||||
using std::isless;
|
||||
using std::islessequal;
|
||||
using std::islessgreater;
|
||||
using std::isunordered;
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* #define _C99_MATH_H_ */
|
||||
|
@@ -29,11 +29,7 @@
|
||||
#define D3DADAPTER9DRM_NAME "drm"
|
||||
/* current version */
|
||||
#define D3DADAPTER9DRM_MAJOR 0
|
||||
#define D3DADAPTER9DRM_MINOR 1
|
||||
|
||||
/* version 0.0: Initial release
|
||||
* 0.1: All IDirect3D objects can be assumed to have a pointer to the
|
||||
* internal vtable in second position of the structure */
|
||||
#define D3DADAPTER9DRM_MINOR 0
|
||||
|
||||
struct D3DAdapter9DRM
|
||||
{
|
||||
|
@@ -69,12 +69,6 @@ typedef struct ID3DPresentVtbl
|
||||
HRESULT (WINAPI *SetCursor)(ID3DPresent *This, void *pBitmap, POINT *pHotspot, BOOL bShow);
|
||||
HRESULT (WINAPI *SetGammaRamp)(ID3DPresent *This, const D3DGAMMARAMP *pRamp, HWND hWndOverride);
|
||||
HRESULT (WINAPI *GetWindowInfo)(ID3DPresent *This, HWND hWnd, int *width, int *height, int *depth);
|
||||
/* Available since version 1.1 */
|
||||
BOOL (WINAPI *GetWindowOccluded)(ID3DPresent *This);
|
||||
/* Available since version 1.2 */
|
||||
BOOL (WINAPI *ResolutionMismatch)(ID3DPresent *This);
|
||||
HANDLE (WINAPI *CreateThread)(ID3DPresent *This, void *pThreadfunc, void *pParam);
|
||||
BOOL (WINAPI *WaitForThread)(ID3DPresent *This, HANDLE thread);
|
||||
} ID3DPresentVtbl;
|
||||
|
||||
struct ID3DPresent
|
||||
@@ -102,10 +96,6 @@ struct ID3DPresent
|
||||
#define ID3DPresent_SetCursor(p,a,b,c) (p)->lpVtbl->SetCursor(p,a,b,c)
|
||||
#define ID3DPresent_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b)
|
||||
#define ID3DPresent_GetWindowInfo(p,a,b,c,d) (p)->lpVtbl->GetWindowSize(p,a,b,c,d)
|
||||
#define ID3DPresent_GetWindowOccluded(p) (p)->lpVtbl->GetWindowOccluded(p)
|
||||
#define ID3DPresent_ResolutionMismatch(p) (p)->lpVtbl->ResolutionMismatch(p)
|
||||
#define ID3DPresent_CreateThread(p,a,b) (p)->lpVtbl->CreateThread(p,a,b)
|
||||
#define ID3DPresent_WaitForThread(p,a) (p)->lpVtbl->WaitForThread(p,a)
|
||||
|
||||
typedef struct ID3DPresentGroupVtbl
|
||||
{
|
||||
|
@@ -123,17 +123,17 @@ CHIPSET(0x191A, skl_gt2, "Intel(R) Skylake GT2")
|
||||
CHIPSET(0x191B, skl_gt2, "Intel(R) HD Graphics 530 (Skylake GT2)")
|
||||
CHIPSET(0x191D, skl_gt2, "Intel(R) HD Graphics P530 (Skylake GT2)")
|
||||
CHIPSET(0x191E, skl_gt2, "Intel(R) HD Graphics 515 (Skylake GT2)")
|
||||
CHIPSET(0x1921, skl_gt2, "Intel(R) HD Graphics 520 (Skylake GT2)")
|
||||
CHIPSET(0x1923, skl_gt3, "Intel(R) Skylake GT3e")
|
||||
CHIPSET(0x1926, skl_gt3, "Intel(R) Iris Graphics 540 (Skylake GT3e)")
|
||||
CHIPSET(0x1921, skl_gt2, "Intel(R) Skylake GT2")
|
||||
CHIPSET(0x1923, skl_gt3, "Intel(R) Iris Graphics 540 (Skylake GT3e)")
|
||||
CHIPSET(0x1926, skl_gt3, "Intel(R) HD Graphics 535 (Skylake GT3)")
|
||||
CHIPSET(0x1927, skl_gt3, "Intel(R) Iris Graphics 550 (Skylake GT3e)")
|
||||
CHIPSET(0x192A, skl_gt4, "Intel(R) Skylake GT4")
|
||||
CHIPSET(0x192B, skl_gt3, "Intel(R) Iris Graphics 555 (Skylake GT3e)")
|
||||
CHIPSET(0x192D, skl_gt3, "Intel(R) Iris Graphics P555 (Skylake GT3e)")
|
||||
CHIPSET(0x1932, skl_gt4, "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)")
|
||||
CHIPSET(0x193A, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)")
|
||||
CHIPSET(0x193B, skl_gt4, "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)")
|
||||
CHIPSET(0x193D, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)")
|
||||
CHIPSET(0x192B, skl_gt3, "Intel(R) Iris Graphics (Skylake GT3fe)")
|
||||
CHIPSET(0x192D, skl_gt3, "Intel(R) Skylake GT3")
|
||||
CHIPSET(0x1932, skl_gt4, "Intel(R) Skylake GT4")
|
||||
CHIPSET(0x193A, skl_gt4, "Intel(R) Skylake GT4")
|
||||
CHIPSET(0x193B, skl_gt4, "Intel(R) Skylake GT4")
|
||||
CHIPSET(0x193D, skl_gt4, "Intel(R) Skylake GT4")
|
||||
CHIPSET(0x5902, kbl_gt1, "Intel(R) Kabylake GT1")
|
||||
CHIPSET(0x5906, kbl_gt1, "Intel(R) Kabylake GT1")
|
||||
CHIPSET(0x590A, kbl_gt1, "Intel(R) Kabylake GT1")
|
||||
@@ -156,12 +156,10 @@ CHIPSET(0x5932, kbl_gt4, "Intel(R) Kabylake GT4")
|
||||
CHIPSET(0x593A, kbl_gt4, "Intel(R) Kabylake GT4")
|
||||
CHIPSET(0x593B, kbl_gt4, "Intel(R) Kabylake GT4")
|
||||
CHIPSET(0x593D, kbl_gt4, "Intel(R) Kabylake GT4")
|
||||
CHIPSET(0x22B0, chv, "Intel(R) HD Graphics (Cherrytrail)")
|
||||
CHIPSET(0x22B1, chv, "Intel(R) HD Graphics XXX (Braswell)") /* Overridden in brw_get_renderer_string */
|
||||
CHIPSET(0x22B0, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x22B1, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x22B2, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x22B3, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x0A84, bxt, "Intel(R) HD Graphics (Broxton)")
|
||||
CHIPSET(0x1A84, bxt, "Intel(R) HD Graphics (Broxton)")
|
||||
CHIPSET(0x1A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)")
|
||||
CHIPSET(0x5A84, bxt, "Intel(R) HD Graphics (Broxton)")
|
||||
CHIPSET(0x5A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)")
|
||||
|
@@ -182,26 +182,4 @@ CHIPSET(0x9877, CARRIZO_, CARRIZO)
|
||||
|
||||
CHIPSET(0x7300, FIJI_, FIJI)
|
||||
|
||||
CHIPSET(0x67E0, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67E1, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67E3, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67E7, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67E8, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67E9, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67EB, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67EF, POLARIS11_, POLARIS11)
|
||||
CHIPSET(0x67FF, POLARIS11_, POLARIS11)
|
||||
|
||||
CHIPSET(0x67C0, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67C1, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67C2, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67C4, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67C7, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67C8, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67C9, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67CA, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67CC, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67CF, POLARIS10_, POLARIS10)
|
||||
CHIPSET(0x67DF, POLARIS10_, POLARIS10)
|
||||
|
||||
CHIPSET(0x98E4, STONEY_, STONEY)
|
||||
|
@@ -1,85 +0,0 @@
|
||||
#ifndef VKICD_H
|
||||
#define VKICD_H
|
||||
|
||||
#include "vk_platform.h"
|
||||
|
||||
/*
|
||||
* The ICD must reserve space for a pointer for the loader's dispatch
|
||||
* table, at the start of <each object>.
|
||||
* The ICD must initialize this variable using the SET_LOADER_MAGIC_VALUE macro.
|
||||
*/
|
||||
|
||||
#define ICD_LOADER_MAGIC 0x01CDC0DE
|
||||
|
||||
typedef union _VK_LOADER_DATA {
|
||||
uintptr_t loaderMagic;
|
||||
void *loaderData;
|
||||
} VK_LOADER_DATA;
|
||||
|
||||
static inline void set_loader_magic_value(void* pNewObject) {
|
||||
VK_LOADER_DATA *loader_info = (VK_LOADER_DATA *) pNewObject;
|
||||
loader_info->loaderMagic = ICD_LOADER_MAGIC;
|
||||
}
|
||||
|
||||
static inline bool valid_loader_magic_value(void* pNewObject) {
|
||||
const VK_LOADER_DATA *loader_info = (VK_LOADER_DATA *) pNewObject;
|
||||
return (loader_info->loaderMagic & 0xffffffff) == ICD_LOADER_MAGIC;
|
||||
}
|
||||
|
||||
/*
|
||||
* Windows and Linux ICDs will treat VkSurfaceKHR as a pointer to a struct that
|
||||
* contains the platform-specific connection and surface information.
|
||||
*/
|
||||
typedef enum _VkIcdWsiPlatform {
|
||||
VK_ICD_WSI_PLATFORM_MIR,
|
||||
VK_ICD_WSI_PLATFORM_WAYLAND,
|
||||
VK_ICD_WSI_PLATFORM_WIN32,
|
||||
VK_ICD_WSI_PLATFORM_XCB,
|
||||
VK_ICD_WSI_PLATFORM_XLIB,
|
||||
} VkIcdWsiPlatform;
|
||||
|
||||
typedef struct _VkIcdSurfaceBase {
|
||||
VkIcdWsiPlatform platform;
|
||||
} VkIcdSurfaceBase;
|
||||
|
||||
#ifdef VK_USE_PLATFORM_MIR_KHR
|
||||
typedef struct _VkIcdSurfaceMir {
|
||||
VkIcdSurfaceBase base;
|
||||
MirConnection* connection;
|
||||
MirSurface* mirSurface;
|
||||
} VkIcdSurfaceMir;
|
||||
#endif // VK_USE_PLATFORM_MIR_KHR
|
||||
|
||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||
typedef struct _VkIcdSurfaceWayland {
|
||||
VkIcdSurfaceBase base;
|
||||
struct wl_display* display;
|
||||
struct wl_surface* surface;
|
||||
} VkIcdSurfaceWayland;
|
||||
#endif // VK_USE_PLATFORM_WAYLAND_KHR
|
||||
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
typedef struct _VkIcdSurfaceWin32 {
|
||||
VkIcdSurfaceBase base;
|
||||
HINSTANCE hinstance;
|
||||
HWND hwnd;
|
||||
} VkIcdSurfaceWin32;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHR
|
||||
|
||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||
typedef struct _VkIcdSurfaceXcb {
|
||||
VkIcdSurfaceBase base;
|
||||
xcb_connection_t* connection;
|
||||
xcb_window_t window;
|
||||
} VkIcdSurfaceXcb;
|
||||
#endif // VK_USE_PLATFORM_XCB_KHR
|
||||
|
||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
||||
typedef struct _VkIcdSurfaceXlib {
|
||||
VkIcdSurfaceBase base;
|
||||
Display* dpy;
|
||||
Window window;
|
||||
} VkIcdSurfaceXlib;
|
||||
#endif // VK_USE_PLATFORM_XLIB_KHR
|
||||
|
||||
#endif // VKICD_H
|
@@ -1,127 +0,0 @@
|
||||
//
|
||||
// File: vk_platform.h
|
||||
//
|
||||
/*
|
||||
** Copyright (c) 2014-2015 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef VK_PLATFORM_H_
|
||||
#define VK_PLATFORM_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif // __cplusplus
|
||||
|
||||
/*
|
||||
***************************************************************************************************
|
||||
* Platform-specific directives and type declarations
|
||||
***************************************************************************************************
|
||||
*/
|
||||
|
||||
/* Platform-specific calling convention macros.
|
||||
*
|
||||
* Platforms should define these so that Vulkan clients call Vulkan commands
|
||||
* with the same calling conventions that the Vulkan implementation expects.
|
||||
*
|
||||
* VKAPI_ATTR - Placed before the return type in function declarations.
|
||||
* Useful for C++11 and GCC/Clang-style function attribute syntax.
|
||||
* VKAPI_CALL - Placed after the return type in function declarations.
|
||||
* Useful for MSVC-style calling convention syntax.
|
||||
* VKAPI_PTR - Placed between the '(' and '*' in function pointer types.
|
||||
*
|
||||
* Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void);
|
||||
* Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void);
|
||||
*/
|
||||
#if defined(_WIN32)
|
||||
// On Windows, Vulkan commands use the stdcall convention
|
||||
#define VKAPI_ATTR
|
||||
#define VKAPI_CALL __stdcall
|
||||
#define VKAPI_PTR VKAPI_CALL
|
||||
#elif defined(__ANDROID__) && defined(__ARM_EABI__) && !defined(__ARM_ARCH_7A__)
|
||||
// Android does not support Vulkan in native code using the "armeabi" ABI.
|
||||
#error "Vulkan requires the 'armeabi-v7a' or 'armeabi-v7a-hard' ABI on 32-bit ARM CPUs"
|
||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH_7A__)
|
||||
// On Android/ARMv7a, Vulkan functions use the armeabi-v7a-hard calling
|
||||
// convention, even if the application's native code is compiled with the
|
||||
// armeabi-v7a calling convention.
|
||||
#define VKAPI_ATTR __attribute__((pcs("aapcs-vfp")))
|
||||
#define VKAPI_CALL
|
||||
#define VKAPI_PTR VKAPI_ATTR
|
||||
#else
|
||||
// On other platforms, use the default calling convention
|
||||
#define VKAPI_ATTR
|
||||
#define VKAPI_CALL
|
||||
#define VKAPI_PTR
|
||||
#endif
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#if !defined(VK_NO_STDINT_H)
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1600)
|
||||
typedef signed __int8 int8_t;
|
||||
typedef unsigned __int8 uint8_t;
|
||||
typedef signed __int16 int16_t;
|
||||
typedef unsigned __int16 uint16_t;
|
||||
typedef signed __int32 int32_t;
|
||||
typedef unsigned __int32 uint32_t;
|
||||
typedef signed __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#endif // !defined(VK_NO_STDINT_H)
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif // __cplusplus
|
||||
|
||||
// Platform-specific headers required by platform window system extensions.
|
||||
// These are enabled prior to #including "vulkan.h". The same enable then
|
||||
// controls inclusion of the extension interfaces in vulkan.h.
|
||||
|
||||
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
||||
#include <android/native_window.h>
|
||||
#endif
|
||||
|
||||
#ifdef VK_USE_PLATFORM_MIR_KHR
|
||||
#include <mir_toolkit/client_types.h>
|
||||
#endif
|
||||
|
||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||
#include <wayland-client.h>
|
||||
#endif
|
||||
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
|
||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||
#include <xcb/xcb.h>
|
||||
#endif
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Copyright © 2015 Intel Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the next
|
||||
* paragraph) shall be included in all copies or substantial portions of the
|
||||
* Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
* IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __VULKAN_INTEL_H__
|
||||
#define __VULKAN_INTEL_H__
|
||||
|
||||
#include "vulkan.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif // __cplusplus
|
||||
|
||||
#define VK_STRUCTURE_TYPE_DMA_BUF_IMAGE_CREATE_INFO_INTEL 1024
|
||||
typedef struct VkDmaBufImageCreateInfo_
|
||||
{
|
||||
VkStructureType sType; // Must be VK_STRUCTURE_TYPE_DMA_BUF_IMAGE_CREATE_INFO_INTEL
|
||||
const void* pNext; // Pointer to next structure.
|
||||
int fd;
|
||||
VkFormat format;
|
||||
VkExtent3D extent; // Depth must be 1
|
||||
uint32_t strideInBytes;
|
||||
} VkDmaBufImageCreateInfo;
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateDmaBufImageINTEL)(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDmaBufImageINTEL(
|
||||
VkDevice _device,
|
||||
const VkDmaBufImageCreateInfo* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkDeviceMemory* pMem,
|
||||
VkImage* pImage);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif // __VULKAN_INTEL_H__
|
@@ -12,9 +12,9 @@ all-local : .install-gallium-links
|
||||
link_dir=$(top_builddir)/$(LIB_DIR)/egl; \
|
||||
fi; \
|
||||
$(MKDIR_P) $$link_dir; \
|
||||
file_list="$(dri_LTLIBRARIES:%.la=.libs/%.so)"; \
|
||||
file_list+="$(egl_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*)"; \
|
||||
file_list+="$(lib_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*)"; \
|
||||
file_list=$(dri_LTLIBRARIES:%.la=.libs/%.so); \
|
||||
file_list+=$(egl_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*); \
|
||||
file_list+=$(lib_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*); \
|
||||
for f in $$file_list; do \
|
||||
if test -h .libs/$$f; then \
|
||||
cp -d $$f $$link_dir; \
|
||||
|
@@ -53,7 +53,6 @@
|
||||
# optimize
|
||||
# packed
|
||||
# pure
|
||||
# returns_nonnull
|
||||
# unused
|
||||
# used
|
||||
# visibility
|
||||
@@ -77,9 +76,6 @@
|
||||
|
||||
#serial 2
|
||||
|
||||
# mattst88:
|
||||
# Added support for returns_nonnull attribute
|
||||
|
||||
AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
|
||||
AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1])
|
||||
|
||||
@@ -179,9 +175,6 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
|
||||
[pure], [
|
||||
int foo( void ) __attribute__(($1));
|
||||
],
|
||||
[returns_nonnull], [
|
||||
int *foo( void ) __attribute__(($1));
|
||||
],
|
||||
[unused], [
|
||||
int foo( void ) __attribute__(($1));
|
||||
],
|
||||
|
@@ -30,10 +30,11 @@ Custom builders and methods.
|
||||
#
|
||||
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import re
|
||||
import sys
|
||||
import subprocess
|
||||
import modulefinder
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Builder
|
||||
@@ -43,13 +44,6 @@ import fixes
|
||||
|
||||
import source_list
|
||||
|
||||
# the get_implicit_deps() method changed between 2.4 and 2.5: now it expects
|
||||
# a callable that takes a scanner as argument and returns a path, rather than
|
||||
# a path directly. We want to support both, so we need to detect the SCons version,
|
||||
# for which no API is provided by SCons 8-P
|
||||
|
||||
scons_version = tuple(map(int, SCons.__version__.split('.')))
|
||||
|
||||
def quietCommandLines(env):
|
||||
# Quiet command lines
|
||||
# See also http://www.scons.org/wiki/HidingCommandLinesInOutput
|
||||
@@ -99,19 +93,27 @@ def createConvenienceLibBuilder(env):
|
||||
return convenience_lib
|
||||
|
||||
|
||||
# TODO: handle import statements with multiple modules
|
||||
# TODO: handle from import statements
|
||||
import_re = re.compile(r'^\s*import\s+(\S+)\s*$', re.M)
|
||||
|
||||
def python_scan(node, env, path):
|
||||
# http://www.scons.org/doc/0.98.5/HTML/scons-user/c2781.html#AEN2789
|
||||
# https://docs.python.org/2/library/modulefinder.html
|
||||
contents = node.get_contents()
|
||||
source_dir = node.get_dir()
|
||||
finder = modulefinder.ModuleFinder()
|
||||
finder.run_script(node.abspath)
|
||||
imports = import_re.findall(contents)
|
||||
results = []
|
||||
for name, mod in finder.modules.iteritems():
|
||||
if mod.__file__ is None:
|
||||
continue
|
||||
assert os.path.exists(mod.__file__)
|
||||
results.append(env.File(mod.__file__))
|
||||
for imp in imports:
|
||||
for dir in path:
|
||||
file = os.path.join(str(dir), imp.replace('.', os.sep) + '.py')
|
||||
if os.path.exists(file):
|
||||
results.append(env.File(file))
|
||||
break
|
||||
file = os.path.join(str(dir), imp.replace('.', os.sep), '__init__.py')
|
||||
if os.path.exists(file):
|
||||
results.append(env.File(file))
|
||||
break
|
||||
#print node, map(str, results)
|
||||
return results
|
||||
|
||||
python_scanner = SCons.Scanner.Scanner(function = python_scan, skeys = ['.py'])
|
||||
@@ -136,7 +138,7 @@ def code_generate(env, script, target, source, command):
|
||||
|
||||
# Explicitly mark that the generated code depends on the generator,
|
||||
# and on implicitly imported python modules
|
||||
path = (script_src.get_dir(),) if scons_version < (2, 5, 0) else lambda x: script_src
|
||||
path = (script_src.get_dir(),)
|
||||
deps = [script_src]
|
||||
deps += script_src.get_implicit_deps(env, python_scanner, path)
|
||||
env.Depends(code, deps)
|
||||
|
124
scons/gallium.py
124
scons/gallium.py
@@ -82,6 +82,11 @@ def install_shared_library(env, sources, version = ()):
|
||||
return targets
|
||||
|
||||
|
||||
def createInstallMethods(env):
|
||||
env.AddMethod(install_program, 'InstallProgram')
|
||||
env.AddMethod(install_shared_library, 'InstallSharedLibrary')
|
||||
|
||||
|
||||
def msvc2013_compat(env):
|
||||
if env['gcc']:
|
||||
env.Append(CCFLAGS = [
|
||||
@@ -89,20 +94,16 @@ def msvc2013_compat(env):
|
||||
'-Werror=pointer-arith',
|
||||
])
|
||||
|
||||
def msvc2008_compat(env):
|
||||
msvc2013_compat(env)
|
||||
if env['gcc']:
|
||||
env.Append(CFLAGS = [
|
||||
'-Werror=declaration-after-statement',
|
||||
])
|
||||
|
||||
def unit_test(env, test_name, program_target, args=None):
|
||||
env.InstallProgram(program_target)
|
||||
|
||||
cmd = [program_target[0].abspath]
|
||||
if args is not None:
|
||||
cmd += args
|
||||
cmd = ' '.join(cmd)
|
||||
|
||||
# http://www.scons.org/wiki/UnitTests
|
||||
action = SCons.Action.Action(cmd, " Running $SOURCE ...")
|
||||
alias = env.Alias(test_name, program_target, action)
|
||||
env.AlwaysBuild(alias)
|
||||
env.Depends('check', alias)
|
||||
def createMSVCCompatMethods(env):
|
||||
env.AddMethod(msvc2013_compat, 'MSVC2013Compat')
|
||||
env.AddMethod(msvc2008_compat, 'MSVC2008Compat')
|
||||
|
||||
|
||||
def num_jobs():
|
||||
@@ -171,6 +172,16 @@ def generate(env):
|
||||
# Allow override compiler and specify additional flags from environment
|
||||
if os.environ.has_key('CC'):
|
||||
env['CC'] = os.environ['CC']
|
||||
# Update CCVERSION to match
|
||||
pipe = SCons.Action._subproc(env, [env['CC'], '--version'],
|
||||
stdin = 'devnull',
|
||||
stderr = 'devnull',
|
||||
stdout = subprocess.PIPE)
|
||||
if pipe.wait() == 0:
|
||||
line = pipe.stdout.readline()
|
||||
match = re.search(r'[0-9]+(\.[0-9]+)+', line)
|
||||
if match:
|
||||
env['CCVERSION'] = match.group(0)
|
||||
if os.environ.has_key('CFLAGS'):
|
||||
env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
|
||||
if os.environ.has_key('CXX'):
|
||||
@@ -183,15 +194,14 @@ def generate(env):
|
||||
# Detect gcc/clang not by executable name, but through pre-defined macros
|
||||
# as autoconf does, to avoid drawing wrong conclusions when using tools
|
||||
# that overrice CC/CXX like scan-build.
|
||||
env['gcc_compat'] = 0
|
||||
env['gcc'] = 0
|
||||
env['clang'] = 0
|
||||
env['msvc'] = 0
|
||||
if host_platform.system() == 'Windows':
|
||||
env['msvc'] = check_cc(env, 'MSVC', 'defined(_MSC_VER)', '/E')
|
||||
if not env['msvc']:
|
||||
env['gcc_compat'] = check_cc(env, 'GCC', 'defined(__GNUC__)')
|
||||
env['clang'] = check_cc(env, 'Clang', '__clang__')
|
||||
env['gcc'] = env['gcc_compat'] and not env['clang']
|
||||
env['gcc'] = check_cc(env, 'GCC', 'defined(__GNUC__) && !defined(__clang__)')
|
||||
env['clang'] = check_cc(env, 'Clang', '__clang__')
|
||||
env['suncc'] = env['platform'] == 'sunos' and os.path.basename(env['CC']) == 'cc'
|
||||
env['icc'] = 'icc' == os.path.basename(env['CC'])
|
||||
|
||||
@@ -204,7 +214,7 @@ def generate(env):
|
||||
platform = env['platform']
|
||||
x86 = env['machine'] == 'x86'
|
||||
ppc = env['machine'] == 'ppc'
|
||||
gcc_compat = env['gcc_compat']
|
||||
gcc_compat = env['gcc'] or env['clang']
|
||||
msvc = env['msvc']
|
||||
suncc = env['suncc']
|
||||
icc = env['icc']
|
||||
@@ -290,11 +300,7 @@ def generate(env):
|
||||
|
||||
# C preprocessor options
|
||||
cppdefines = []
|
||||
cppdefines += [
|
||||
'__STDC_LIMIT_MACROS',
|
||||
'__STDC_CONSTANT_MACROS',
|
||||
'HAVE_NO_AUTOCONF',
|
||||
]
|
||||
cppdefines += ['__STDC_LIMIT_MACROS']
|
||||
if env['build'] in ('debug', 'checked'):
|
||||
cppdefines += ['DEBUG']
|
||||
else:
|
||||
@@ -309,6 +315,8 @@ def generate(env):
|
||||
'_BSD_SOURCE',
|
||||
'_GNU_SOURCE',
|
||||
'_DEFAULT_SOURCE',
|
||||
'HAVE_PTHREAD',
|
||||
'HAVE_POSIX_MEMALIGN',
|
||||
]
|
||||
if env['platform'] == 'darwin':
|
||||
cppdefines += [
|
||||
@@ -329,6 +337,11 @@ def generate(env):
|
||||
if env['platform'] in ('linux', 'darwin'):
|
||||
cppdefines += ['HAVE_XLOCALE_H']
|
||||
|
||||
if env['platform'] == 'haiku':
|
||||
cppdefines += [
|
||||
'HAVE_PTHREAD',
|
||||
'HAVE_POSIX_MEMALIGN'
|
||||
]
|
||||
if platform == 'windows':
|
||||
cppdefines += [
|
||||
'WIN32',
|
||||
@@ -362,6 +375,26 @@ def generate(env):
|
||||
print 'warning: Floating-point textures enabled.'
|
||||
print 'warning: Please consult docs/patents.txt with your lawyer before building Mesa.'
|
||||
cppdefines += ['TEXTURE_FLOAT_ENABLED']
|
||||
if gcc_compat:
|
||||
ccversion = env['CCVERSION']
|
||||
cppdefines += [
|
||||
'HAVE___BUILTIN_EXPECT',
|
||||
'HAVE___BUILTIN_FFS',
|
||||
'HAVE___BUILTIN_FFSLL',
|
||||
'HAVE_FUNC_ATTRIBUTE_FLATTEN',
|
||||
'HAVE_FUNC_ATTRIBUTE_UNUSED',
|
||||
# GCC 3.0
|
||||
'HAVE_FUNC_ATTRIBUTE_FORMAT',
|
||||
'HAVE_FUNC_ATTRIBUTE_PACKED',
|
||||
# GCC 3.4
|
||||
'HAVE___BUILTIN_CTZ',
|
||||
'HAVE___BUILTIN_POPCOUNT',
|
||||
'HAVE___BUILTIN_POPCOUNTLL',
|
||||
'HAVE___BUILTIN_CLZ',
|
||||
'HAVE___BUILTIN_CLZLL',
|
||||
]
|
||||
if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('4.5'):
|
||||
cppdefines += ['HAVE___BUILTIN_UNREACHABLE']
|
||||
env.Append(CPPDEFINES = cppdefines)
|
||||
|
||||
# C compiler options
|
||||
@@ -369,8 +402,13 @@ def generate(env):
|
||||
cxxflags = [] # C++
|
||||
ccflags = [] # C & C++
|
||||
if gcc_compat:
|
||||
ccversion = env['CCVERSION']
|
||||
if env['build'] == 'debug':
|
||||
ccflags += ['-O0']
|
||||
elif env['gcc'] and ccversion.startswith('4.2.'):
|
||||
# gcc 4.2.x optimizer is broken
|
||||
print "warning: gcc 4.2.x optimizer is broken -- disabling optimizations"
|
||||
ccflags += ['-O0']
|
||||
else:
|
||||
ccflags += ['-O3']
|
||||
if env['gcc']:
|
||||
@@ -380,7 +418,7 @@ def generate(env):
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
ccflags += ['-fno-strict-aliasing']
|
||||
ccflags += ['-g']
|
||||
if env['build'] in ('checked', 'profile') or env['asan']:
|
||||
if env['build'] in ('checked', 'profile'):
|
||||
# See http://code.google.com/p/jrfonseca/wiki/Gprof2Dot#Which_options_should_I_pass_to_gcc_when_compiling_for_profiling?
|
||||
ccflags += [
|
||||
'-fno-omit-frame-pointer',
|
||||
@@ -441,23 +479,31 @@ def generate(env):
|
||||
# See also:
|
||||
# - http://msdn.microsoft.com/en-us/library/19z1t1wy.aspx
|
||||
# - cl /?
|
||||
if 'MSVC_VERSION' not in env or distutils.version.LooseVersion(env['MSVC_VERSION']) < distutils.version.LooseVersion('12.0'):
|
||||
# Use bundled stdbool.h and stdint.h headers for older MSVC
|
||||
# versions. stdint.h was introduced in MSVC 2010, but stdbool.h
|
||||
# was only introduced in MSVC 2013.
|
||||
top_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||
env.Append(CPPPATH = [os.path.join(top_dir, 'include/c99')])
|
||||
if env['build'] == 'debug':
|
||||
ccflags += [
|
||||
'/Od', # disable optimizations
|
||||
'/Oi', # enable intrinsic functions
|
||||
]
|
||||
else:
|
||||
if 'MSVC_VERSION' in env and distutils.version.LooseVersion(env['MSVC_VERSION']) < distutils.version.LooseVersion('11.0'):
|
||||
print 'scons: warning: Visual Studio versions prior to 2012 are known to produce incorrect code when optimizations are enabled ( https://bugs.freedesktop.org/show_bug.cgi?id=58718 )'
|
||||
ccflags += [
|
||||
'/O2', # optimize for speed
|
||||
]
|
||||
if env['build'] == 'release':
|
||||
if not env['clang']:
|
||||
ccflags += [
|
||||
'/GL', # enable whole program optimization
|
||||
]
|
||||
ccflags += [
|
||||
'/GL', # enable whole program optimization
|
||||
]
|
||||
else:
|
||||
ccflags += [
|
||||
'/Oy-', # disable frame pointer omission
|
||||
'/GL-', # disable whole program optimization
|
||||
]
|
||||
ccflags += [
|
||||
'/W3', # warning level
|
||||
@@ -471,10 +517,6 @@ def generate(env):
|
||||
'/wd4800', # forcing value to bool 'true' or 'false' (performance warning)
|
||||
'/wd4996', # disable deprecated POSIX name warnings
|
||||
]
|
||||
if env['clang']:
|
||||
ccflags += [
|
||||
'-Wno-microsoft-enum-value', # enumerator value is not representable in underlying type 'int'
|
||||
]
|
||||
if env['machine'] == 'x86':
|
||||
ccflags += [
|
||||
'/arch:SSE2', # use the SSE2 instructions (default since MSVC 2012)
|
||||
@@ -514,16 +556,6 @@ def generate(env):
|
||||
# scan-build will produce more comprehensive output
|
||||
env.Append(CCFLAGS = ['--analyze'])
|
||||
|
||||
# https://github.com/google/sanitizers/wiki/AddressSanitizer
|
||||
if env['asan']:
|
||||
if gcc_compat:
|
||||
env.Append(CCFLAGS = [
|
||||
'-fsanitize=address',
|
||||
])
|
||||
env.Append(LINKFLAGS = [
|
||||
'-fsanitize=address',
|
||||
])
|
||||
|
||||
# Assembler options
|
||||
if gcc_compat:
|
||||
if env['machine'] == 'x86':
|
||||
@@ -561,7 +593,7 @@ def generate(env):
|
||||
shlinkflags += ['-Wl,--enable-stdcall-fixup']
|
||||
#shlinkflags += ['-Wl,--kill-at']
|
||||
if msvc:
|
||||
if env['build'] == 'release' and not env['clang']:
|
||||
if env['build'] == 'release':
|
||||
# enable Link-time Code Generation
|
||||
linkflags += ['/LTCG']
|
||||
env.Append(ARFLAGS = ['/LTCG'])
|
||||
@@ -641,10 +673,8 @@ def generate(env):
|
||||
|
||||
# Custom builders and methods
|
||||
env.Tool('custom')
|
||||
env.AddMethod(install_program, 'InstallProgram')
|
||||
env.AddMethod(install_shared_library, 'InstallSharedLibrary')
|
||||
env.AddMethod(msvc2013_compat, 'MSVC2013Compat')
|
||||
env.AddMethod(unit_test, 'UnitTest')
|
||||
createInstallMethods(env)
|
||||
createMSVCCompatMethods(env)
|
||||
|
||||
env.PkgCheckModules('X11', ['x11', 'xext', 'xdamage', 'xfixes', 'glproto >= 1.4.13'])
|
||||
env.PkgCheckModules('XCB', ['x11-xcb', 'xcb-glx >= 1.8.1', 'xcb-dri2 >= 1.8'])
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -19,50 +19,10 @@
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
.PHONY: git_sha1.h.tmp
|
||||
git_sha1.h.tmp:
|
||||
@# Don't assume that $(top_srcdir)/.git is a directory. It may be
|
||||
@# a gitlink file if $(top_srcdir) is a submodule checkout or a linked
|
||||
@# worktree.
|
||||
@# If we are building from a release tarball copy the bundled header.
|
||||
@if test -e $(top_srcdir)/.git; then \
|
||||
if which git > /dev/null; then \
|
||||
git --git-dir=$(top_srcdir)/.git log -n 1 --oneline | \
|
||||
sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
|
||||
> git_sha1.h.tmp ; \
|
||||
fi \
|
||||
else \
|
||||
cp $(srcdir)/git_sha1.h git_sha1.h.tmp ;\
|
||||
chmod u+w git_sha1.h.tmp; \
|
||||
fi
|
||||
|
||||
git_sha1.h: git_sha1.h.tmp
|
||||
@echo "updating git_sha1.h"
|
||||
@if ! cmp -s git_sha1.h.tmp git_sha1.h; then \
|
||||
mv git_sha1.h.tmp git_sha1.h ;\
|
||||
else \
|
||||
rm git_sha1.h.tmp ;\
|
||||
fi
|
||||
|
||||
BUILT_SOURCES = git_sha1.h
|
||||
|
||||
# We want to keep the srcdir file since we need it on rebuild from tarball.
|
||||
# At the same time `make distclean' gets angry at us if we don't cleanup the
|
||||
# builddir one.
|
||||
distclean-local:
|
||||
test $(top_srcdir) != $(top_builddir) && rm $(builddir)/git_sha1.h
|
||||
|
||||
SUBDIRS = . gtest util mapi/glapi/gen mapi
|
||||
|
||||
# include only conditionally ?
|
||||
SUBDIRS += compiler
|
||||
|
||||
if HAVE_INTEL_DRIVERS
|
||||
SUBDIRS += intel
|
||||
endif
|
||||
|
||||
if NEED_OPENGL_COMMON
|
||||
SUBDIRS += mesa
|
||||
SUBDIRS += glsl mesa
|
||||
endif
|
||||
|
||||
SUBDIRS += loader
|
||||
@@ -71,36 +31,24 @@ if HAVE_DRI_GLX
|
||||
SUBDIRS += glx
|
||||
endif
|
||||
|
||||
## Optionally required by GBM and EGL
|
||||
if HAVE_PLATFORM_WAYLAND
|
||||
SUBDIRS += egl/wayland/wayland-drm
|
||||
if HAVE_EGL_PLATFORM_WAYLAND
|
||||
SUBDIRS += egl/wayland/wayland-egl egl/wayland/wayland-drm
|
||||
endif
|
||||
|
||||
## Optionally required by EGL (aka PLATFORM_GBM)
|
||||
if HAVE_GBM
|
||||
SUBDIRS += gbm
|
||||
endif
|
||||
|
||||
## Optionally required by EGL
|
||||
if HAVE_PLATFORM_WAYLAND
|
||||
SUBDIRS += egl/wayland/wayland-egl
|
||||
endif
|
||||
|
||||
if HAVE_EGL
|
||||
SUBDIRS += egl
|
||||
endif
|
||||
|
||||
## Requires the i965 compiler (part of mesa) and wayland-drm
|
||||
if HAVE_INTEL_VULKAN
|
||||
SUBDIRS += intel/vulkan
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM
|
||||
SUBDIRS += gallium
|
||||
endif
|
||||
|
||||
EXTRA_DIST = \
|
||||
getopt hgl SConscript git_sha1.h
|
||||
getopt hgl SConscript
|
||||
|
||||
AM_CFLAGS = $(VISIBILITY_CFLAGS)
|
||||
AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
|
||||
|
@@ -5,7 +5,7 @@ if env['platform'] == 'windows':
|
||||
SConscript('getopt/SConscript')
|
||||
|
||||
SConscript('util/SConscript')
|
||||
SConscript('compiler/SConscript')
|
||||
SConscript('glsl/SConscript')
|
||||
|
||||
if env['hostonly']:
|
||||
# We are just compiling the things necessary on the host for cross
|
||||
|
5
src/compiler/.gitignore
vendored
5
src/compiler/.gitignore
vendored
@@ -1,5 +0,0 @@
|
||||
glsl_compiler
|
||||
subtest-cr
|
||||
subtest-cr-lf
|
||||
subtest-lf
|
||||
subtest-lf-cr
|
@@ -1,80 +0,0 @@
|
||||
# Mesa 3-D graphics library
|
||||
#
|
||||
# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
|
||||
# Copyright (C) 2010-2011 LunarG Inc.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# included by glsl Android.mk for source generation
|
||||
|
||||
ifeq ($(LOCAL_MODULE_CLASS),)
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
endif
|
||||
|
||||
intermediates := $(call local-generated-sources-dir)
|
||||
|
||||
LOCAL_SRC_FILES := $(LOCAL_SRC_FILES)
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(intermediates)/glsl \
|
||||
$(intermediates)/glsl/glcpp \
|
||||
$(LOCAL_PATH)/glsl \
|
||||
$(LOCAL_PATH)/glsl/glcpp \
|
||||
|
||||
LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
|
||||
$(LIBGLCPP_GENERATED_FILES) \
|
||||
$(LIBGLSL_GENERATED_CXX_FILES))
|
||||
|
||||
define local-l-or-ll-to-c-or-cpp
|
||||
@mkdir -p $(dir $@)
|
||||
@echo "Mesa Lex: $(PRIVATE_MODULE) <= $<"
|
||||
$(hide) $(LEX) --nounistd -o$@ $<
|
||||
endef
|
||||
|
||||
define glsl_local-y-to-c-and-h
|
||||
@mkdir -p $(dir $@)
|
||||
@echo "Mesa Yacc: $(PRIVATE_MODULE) <= $<"
|
||||
$(hide) $(YACC) -o $@ -p "glcpp_parser_" $<
|
||||
endef
|
||||
|
||||
YACC_HEADER_SUFFIX := .hpp
|
||||
|
||||
define local-yy-to-cpp-and-h
|
||||
@mkdir -p $(dir $@)
|
||||
@echo "Mesa Yacc: $(PRIVATE_MODULE) <= $<"
|
||||
$(hide) $(YACC) -p "_mesa_glsl_" -o $@ $<
|
||||
touch $(@:$1=$(YACC_HEADER_SUFFIX))
|
||||
echo '#ifndef '$(@F:$1=_h) > $(@:$1=.h)
|
||||
echo '#define '$(@F:$1=_h) >> $(@:$1=.h)
|
||||
cat $(@:$1=$(YACC_HEADER_SUFFIX)) >> $(@:$1=.h)
|
||||
echo '#endif' >> $(@:$1=.h)
|
||||
rm -f $(@:$1=$(YACC_HEADER_SUFFIX))
|
||||
endef
|
||||
|
||||
$(intermediates)/glsl/glsl_lexer.cpp: $(LOCAL_PATH)/glsl/glsl_lexer.ll
|
||||
$(call local-l-or-ll-to-c-or-cpp)
|
||||
|
||||
$(intermediates)/glsl/glsl_parser.cpp: $(LOCAL_PATH)/glsl/glsl_parser.yy
|
||||
$(call local-yy-to-cpp-and-h,.cpp)
|
||||
|
||||
$(intermediates)/glsl/glcpp/glcpp-lex.c: $(LOCAL_PATH)/glsl/glcpp/glcpp-lex.l
|
||||
$(call local-l-or-ll-to-c-or-cpp)
|
||||
|
||||
$(intermediates)/glsl/glcpp/glcpp-parse.c: $(LOCAL_PATH)/glsl/glcpp/glcpp-parse.y
|
||||
$(call glsl_local-y-to-c-and-h)
|
@@ -1,48 +0,0 @@
|
||||
# Mesa 3-D graphics library
|
||||
#
|
||||
# Copyright (C) 2015 Intel Corporation
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(LOCAL_PATH)/Makefile.sources
|
||||
|
||||
# ---------------------------------------
|
||||
# Build libmesa_compiler
|
||||
# ---------------------------------------
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(LIBCOMPILER_FILES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/gallium/include \
|
||||
$(MESA_TOP)/src/gallium/auxiliary
|
||||
|
||||
LOCAL_MODULE := libmesa_compiler
|
||||
|
||||
include $(MESA_COMMON_MK)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
include $(LOCAL_PATH)/Android.glsl.mk
|
||||
|
||||
include $(LOCAL_PATH)/Android.nir.mk
|
@@ -1,49 +0,0 @@
|
||||
# Mesa 3-D graphics library
|
||||
#
|
||||
# Copyright (C) 2015 Intel Corporation
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(LOCAL_PATH)/Makefile.sources
|
||||
|
||||
# ---------------------------------------
|
||||
# Build libmesa_nir
|
||||
# ---------------------------------------
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
$(NIR_FILES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/gallium/include \
|
||||
$(MESA_TOP)/src/gallium/auxiliary
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libmesa_compiler
|
||||
|
||||
LOCAL_MODULE := libmesa_nir
|
||||
|
||||
include $(LOCAL_PATH)/Android.nir.gen.mk
|
||||
include $(MESA_COMMON_MK)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
@@ -1,63 +0,0 @@
|
||||
#
|
||||
# Copyright © 2012 Jon TURNEY
|
||||
# Copyright (C) 2015 Intel Corporation
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
include Makefile.sources
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_srcdir)/src/mapi \
|
||||
-I$(top_srcdir)/src/mesa/ \
|
||||
-I$(top_builddir)/src/compiler/glsl\
|
||||
-I$(top_srcdir)/src/compiler/glsl\
|
||||
-I$(top_srcdir)/src/compiler/glsl/glcpp\
|
||||
-I$(top_builddir)/src/compiler/nir \
|
||||
-I$(top_srcdir)/src/compiler/nir \
|
||||
-I$(top_srcdir)/src/gallium/include \
|
||||
-I$(top_srcdir)/src/gallium/auxiliary \
|
||||
-I$(top_srcdir)/src/gtest/include \
|
||||
$(DEFINES)
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(VISIBILITY_CFLAGS) \
|
||||
$(MSVC2013_COMPAT_CFLAGS)
|
||||
|
||||
AM_CXXFLAGS = \
|
||||
$(VISIBILITY_CXXFLAGS) \
|
||||
$(MSVC2013_COMPAT_CXXFLAGS)
|
||||
|
||||
noinst_LTLIBRARIES = libcompiler.la
|
||||
|
||||
libcompiler_la_SOURCES = $(LIBCOMPILER_FILES)
|
||||
|
||||
check_PROGRAMS =
|
||||
TESTS =
|
||||
BUILT_SOURCES =
|
||||
CLEANFILES =
|
||||
EXTRA_DIST = SConscript
|
||||
|
||||
MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
|
||||
|
||||
include Makefile.glsl.am
|
||||
|
||||
include Makefile.nir.am
|
@@ -1,224 +0,0 @@
|
||||
#
|
||||
# Copyright © 2012 Jon TURNEY
|
||||
# Copyright (C) 2015 Intel Corporation
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
EXTRA_DIST += glsl/tests glsl/glcpp/tests glsl/README \
|
||||
glsl/TODO glsl/glcpp/README \
|
||||
glsl/glsl_lexer.ll \
|
||||
glsl/glsl_parser.yy \
|
||||
glsl/glcpp/glcpp-lex.l \
|
||||
glsl/glcpp/glcpp-parse.y \
|
||||
SConscript.glsl
|
||||
|
||||
TESTS += glsl/glcpp/tests/glcpp-test \
|
||||
glsl/glcpp/tests/glcpp-test-cr-lf \
|
||||
glsl/tests/blob-test \
|
||||
glsl/tests/general-ir-test \
|
||||
glsl/tests/optimization-test \
|
||||
glsl/tests/sampler-types-test \
|
||||
glsl/tests/uniform-initializer-test \
|
||||
glsl/tests/warnings-test
|
||||
|
||||
TESTS_ENVIRONMENT= \
|
||||
export PYTHON2=$(PYTHON2); \
|
||||
export PYTHON_FLAGS=$(PYTHON_FLAGS);
|
||||
|
||||
check_PROGRAMS += \
|
||||
glsl/glcpp/glcpp \
|
||||
glsl/glsl_test \
|
||||
glsl/tests/blob-test \
|
||||
glsl/tests/general-ir-test \
|
||||
glsl/tests/sampler-types-test \
|
||||
glsl/tests/uniform-initializer-test
|
||||
|
||||
noinst_PROGRAMS = glsl_compiler
|
||||
|
||||
glsl_tests_blob_test_SOURCES = \
|
||||
glsl/tests/blob_test.c
|
||||
glsl_tests_blob_test_LDADD = \
|
||||
glsl/libglsl.la
|
||||
|
||||
glsl_tests_general_ir_test_SOURCES = \
|
||||
glsl/tests/builtin_variable_test.cpp \
|
||||
glsl/tests/invalidate_locations_test.cpp \
|
||||
glsl/tests/general_ir_test.cpp \
|
||||
glsl/tests/varyings_test.cpp
|
||||
glsl_tests_general_ir_test_CFLAGS = \
|
||||
$(PTHREAD_CFLAGS)
|
||||
glsl_tests_general_ir_test_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
glsl/libglsl.la \
|
||||
glsl/libstandalone.la \
|
||||
$(top_builddir)/src/libglsl_util.la \
|
||||
$(PTHREAD_LIBS)
|
||||
|
||||
glsl_tests_uniform_initializer_test_SOURCES = \
|
||||
glsl/tests/copy_constant_to_storage_tests.cpp \
|
||||
glsl/tests/set_uniform_initializer_tests.cpp \
|
||||
glsl/tests/uniform_initializer_utils.cpp \
|
||||
glsl/tests/uniform_initializer_utils.h
|
||||
glsl_tests_uniform_initializer_test_CFLAGS = \
|
||||
$(PTHREAD_CFLAGS)
|
||||
glsl_tests_uniform_initializer_test_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
glsl/libglsl.la \
|
||||
$(top_builddir)/src/libglsl_util.la \
|
||||
$(PTHREAD_LIBS)
|
||||
|
||||
glsl_tests_sampler_types_test_SOURCES = \
|
||||
glsl/tests/sampler_types_test.cpp
|
||||
glsl_tests_sampler_types_test_CFLAGS = \
|
||||
$(PTHREAD_CFLAGS)
|
||||
glsl_tests_sampler_types_test_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
glsl/libglsl.la \
|
||||
$(top_builddir)/src/libglsl_util.la \
|
||||
$(PTHREAD_LIBS)
|
||||
|
||||
noinst_LTLIBRARIES += glsl/libglsl.la glsl/libglcpp.la glsl/libstandalone.la
|
||||
|
||||
glsl_libglcpp_la_LIBADD = \
|
||||
$(top_builddir)/src/util/libmesautil.la
|
||||
glsl_libglcpp_la_SOURCES = \
|
||||
glsl/glcpp/glcpp-lex.c \
|
||||
glsl/glcpp/glcpp-parse.c \
|
||||
glsl/glcpp/glcpp-parse.h \
|
||||
$(LIBGLCPP_FILES)
|
||||
|
||||
glsl_glcpp_glcpp_SOURCES = \
|
||||
glsl/glcpp/glcpp.c
|
||||
glsl_glcpp_glcpp_LDADD = \
|
||||
glsl/libglcpp.la \
|
||||
$(top_builddir)/src/libglsl_util.la \
|
||||
-lm
|
||||
|
||||
glsl_libglsl_la_LIBADD = \
|
||||
nir/libnir.la \
|
||||
glsl/libglcpp.la
|
||||
|
||||
glsl_libglsl_la_SOURCES = \
|
||||
glsl/glsl_lexer.cpp \
|
||||
glsl/glsl_parser.cpp \
|
||||
glsl/glsl_parser.h \
|
||||
$(LIBGLSL_FILES)
|
||||
|
||||
|
||||
glsl_libstandalone_la_SOURCES = \
|
||||
$(GLSL_COMPILER_CXX_FILES)
|
||||
|
||||
glsl_libstandalone_la_LIBADD = \
|
||||
glsl/libglsl.la \
|
||||
$(top_builddir)/src/libglsl_util.la \
|
||||
$(top_builddir)/src/util/libmesautil.la \
|
||||
$(PTHREAD_LIBS)
|
||||
|
||||
glsl_compiler_SOURCES = \
|
||||
glsl/main.cpp
|
||||
|
||||
glsl_compiler_LDADD = \
|
||||
glsl/libstandalone.la
|
||||
|
||||
glsl_glsl_test_SOURCES = \
|
||||
glsl/test.cpp \
|
||||
glsl/test_optpass.cpp \
|
||||
glsl/test_optpass.h
|
||||
|
||||
glsl_glsl_test_LDADD = \
|
||||
glsl/libglsl.la \
|
||||
glsl/libstandalone.la \
|
||||
$(top_builddir)/src/libglsl_util.la \
|
||||
$(PTHREAD_LIBS)
|
||||
|
||||
# We write our own rules for yacc and lex below. We'd rather use automake,
|
||||
# but automake makes it especially difficult for a number of reasons:
|
||||
#
|
||||
# * < automake-1.12 generates .h files from .yy and .ypp files, but
|
||||
# >=automake-1.12 generates .hh and .hpp files respectively. There's no
|
||||
# good way of making a project that uses C++ yacc files compatible with
|
||||
# both versions of automake. Strong work automake developers.
|
||||
#
|
||||
# * Since we're generating code from .l/.y files in a subdirectory (glcpp/)
|
||||
# we'd like the resulting generated code to also go in glcpp/ for purposes
|
||||
# of distribution. Automake gives no way to do this.
|
||||
#
|
||||
# * Since we're building multiple yacc parsers into one library (and via one
|
||||
# Makefile) we have to use per-target YFLAGS. Using per-target YFLAGS causes
|
||||
# automake to name the resulting generated code as <library-name>_filename.c.
|
||||
# Frankly, that's ugly and we don't want a libglcpp_glcpp_parser.h file.
|
||||
|
||||
# In order to make build output print "LEX" and "YACC", we reproduce the
|
||||
# automake variables below.
|
||||
|
||||
AM_V_LEX = $(am__v_LEX_$(V))
|
||||
am__v_LEX_ = $(am__v_LEX_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_LEX_0 = @echo " LEX " $@;
|
||||
am__v_LEX_1 =
|
||||
|
||||
AM_V_YACC = $(am__v_YACC_$(V))
|
||||
am__v_YACC_ = $(am__v_YACC_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_YACC_0 = @echo " YACC " $@;
|
||||
am__v_YACC_1 =
|
||||
|
||||
YACC_GEN = $(AM_V_YACC)$(YACC) $(YFLAGS)
|
||||
LEX_GEN = $(AM_V_LEX)$(LEX) $(LFLAGS)
|
||||
|
||||
glsl/glsl_parser.cpp glsl/glsl_parser.h: glsl/glsl_parser.yy
|
||||
$(MKDIR_GEN)
|
||||
$(YACC_GEN) -o $@ -p "_mesa_glsl_" --defines=$(builddir)/glsl/glsl_parser.h $(srcdir)/glsl/glsl_parser.yy
|
||||
|
||||
glsl/glsl_lexer.cpp: glsl/glsl_lexer.ll
|
||||
$(MKDIR_GEN)
|
||||
$(LEX_GEN) -o $@ $(srcdir)/glsl/glsl_lexer.ll
|
||||
|
||||
glsl/glcpp/glcpp-parse.c glsl/glcpp/glcpp-parse.h: glsl/glcpp/glcpp-parse.y
|
||||
$(MKDIR_GEN)
|
||||
$(YACC_GEN) -o $@ -p "glcpp_parser_" --defines=$(builddir)/glsl/glcpp/glcpp-parse.h $(srcdir)/glsl/glcpp/glcpp-parse.y
|
||||
|
||||
glsl/glcpp/glcpp-lex.c: glsl/glcpp/glcpp-lex.l
|
||||
$(MKDIR_GEN)
|
||||
$(LEX_GEN) -o $@ $(srcdir)/glsl/glcpp/glcpp-lex.l
|
||||
|
||||
# Only the parsers (specifically the header files generated at the same time)
|
||||
# need to be in BUILT_SOURCES. Though if we list the parser headers YACC is
|
||||
# called for the .c/.cpp file and the .h files. By listing the .c/.cpp files
|
||||
# YACC is only executed once for each parser. The rest of the generated code
|
||||
# will be created at the appropriate times according to standard automake
|
||||
# dependency rules.
|
||||
BUILT_SOURCES += \
|
||||
glsl/glsl_parser.cpp \
|
||||
glsl/glsl_lexer.cpp \
|
||||
glsl/glcpp/glcpp-parse.c \
|
||||
glsl/glcpp/glcpp-lex.c
|
||||
CLEANFILES += \
|
||||
glsl/glcpp/glcpp-parse.h \
|
||||
glsl/glsl_parser.h \
|
||||
glsl/glsl_parser.cpp \
|
||||
glsl/glsl_lexer.cpp \
|
||||
glsl/glcpp/glcpp-parse.c \
|
||||
glsl/glcpp/glcpp-lex.c
|
||||
|
||||
clean-local:
|
||||
$(RM) -r subtest-cr subtest-cr-lf subtest-lf subtest-lf-cr
|
||||
|
||||
dist-hook:
|
||||
$(RM) glsl/glcpp/tests/*.out
|
||||
$(RM) glsl/glcpp/tests/subtest*/*.out
|
@@ -1,90 +0,0 @@
|
||||
#
|
||||
# Copyright © 2012 Jon TURNEY
|
||||
# Copyright (C) 2015 Intel Corporation
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
noinst_LTLIBRARIES += nir/libnir.la
|
||||
|
||||
nir_libnir_la_LIBADD = \
|
||||
libcompiler.la
|
||||
|
||||
nir_libnir_la_SOURCES = \
|
||||
$(NIR_FILES) \
|
||||
$(SPIRV_FILES) \
|
||||
$(NIR_GENERATED_FILES)
|
||||
|
||||
PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
|
||||
|
||||
nir/nir_builder_opcodes.h: nir/nir_opcodes.py nir/nir_builder_opcodes_h.py
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/nir/nir_builder_opcodes_h.py > $@ || ($(RM) $@; false)
|
||||
|
||||
nir/nir_constant_expressions.c: nir/nir_opcodes.py nir/nir_constant_expressions.py
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/nir/nir_constant_expressions.py > $@ || ($(RM) $@; false)
|
||||
|
||||
nir/nir_opcodes.h: nir/nir_opcodes.py nir/nir_opcodes_h.py
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_h.py > $@ || ($(RM) $@; false)
|
||||
|
||||
nir/nir_opcodes.c: nir/nir_opcodes.py nir/nir_opcodes_c.py
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_c.py > $@ || ($(RM) $@; false)
|
||||
|
||||
nir/nir_opt_algebraic.c: nir/nir_opt_algebraic.py nir/nir_algebraic.py
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/nir/nir_opt_algebraic.py > $@ || ($(RM) $@; false)
|
||||
|
||||
|
||||
check_PROGRAMS += nir/tests/control_flow_tests
|
||||
|
||||
nir_tests_control_flow_tests_CPPFLAGS = \
|
||||
$(AM_CPPFLAGS) \
|
||||
-I$(top_builddir)/src/compiler/nir \
|
||||
-I$(top_srcdir)/src/compiler/nir
|
||||
|
||||
nir_tests_control_flow_tests_SOURCES = \
|
||||
nir/tests/control_flow_tests.cpp
|
||||
nir_tests_control_flow_tests_CFLAGS = \
|
||||
$(PTHREAD_CFLAGS)
|
||||
nir_tests_control_flow_tests_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
nir/libnir.la \
|
||||
$(top_builddir)/src/util/libmesautil.la \
|
||||
$(PTHREAD_LIBS)
|
||||
|
||||
|
||||
TESTS += nir/tests/control_flow_tests
|
||||
|
||||
|
||||
BUILT_SOURCES += $(NIR_GENERATED_FILES)
|
||||
CLEANFILES += $(NIR_GENERATED_FILES)
|
||||
|
||||
EXTRA_DIST += \
|
||||
nir/nir_algebraic.py \
|
||||
nir/nir_builder_opcodes_h.py \
|
||||
nir/nir_constant_expressions.py \
|
||||
nir/nir_opcodes.py \
|
||||
nir/nir_opcodes_c.py \
|
||||
nir/nir_opcodes_h.py \
|
||||
nir/nir_opt_algebraic.py \
|
||||
nir/tests \
|
||||
SConscript.nir
|
@@ -1,255 +0,0 @@
|
||||
LIBCOMPILER_FILES = \
|
||||
builtin_type_macros.h \
|
||||
glsl_types.cpp \
|
||||
glsl_types.h \
|
||||
nir_types.cpp \
|
||||
nir_types.h \
|
||||
shader_enums.c \
|
||||
shader_enums.h
|
||||
|
||||
# libglsl
|
||||
|
||||
LIBGLSL_FILES = \
|
||||
glsl/ast.h \
|
||||
glsl/ast_array_index.cpp \
|
||||
glsl/ast_expr.cpp \
|
||||
glsl/ast_function.cpp \
|
||||
glsl/ast_to_hir.cpp \
|
||||
glsl/ast_type.cpp \
|
||||
glsl/blob.c \
|
||||
glsl/blob.h \
|
||||
glsl/builtin_functions.cpp \
|
||||
glsl/builtin_types.cpp \
|
||||
glsl/builtin_variables.cpp \
|
||||
glsl/glsl_parser_extras.cpp \
|
||||
glsl/glsl_parser_extras.h \
|
||||
glsl/glsl_symbol_table.cpp \
|
||||
glsl/glsl_symbol_table.h \
|
||||
glsl/glsl_to_nir.cpp \
|
||||
glsl/glsl_to_nir.h \
|
||||
glsl/hir_field_selection.cpp \
|
||||
glsl/ir_basic_block.cpp \
|
||||
glsl/ir_basic_block.h \
|
||||
glsl/ir_builder.cpp \
|
||||
glsl/ir_builder.h \
|
||||
glsl/ir_clone.cpp \
|
||||
glsl/ir_constant_expression.cpp \
|
||||
glsl/ir.cpp \
|
||||
glsl/ir.h \
|
||||
glsl/ir_equals.cpp \
|
||||
glsl/ir_expression_flattening.cpp \
|
||||
glsl/ir_expression_flattening.h \
|
||||
glsl/ir_function_can_inline.cpp \
|
||||
glsl/ir_function_detect_recursion.cpp \
|
||||
glsl/ir_function_inlining.h \
|
||||
glsl/ir_function.cpp \
|
||||
glsl/ir_hierarchical_visitor.cpp \
|
||||
glsl/ir_hierarchical_visitor.h \
|
||||
glsl/ir_hv_accept.cpp \
|
||||
glsl/ir_import_prototypes.cpp \
|
||||
glsl/ir_optimization.h \
|
||||
glsl/ir_print_visitor.cpp \
|
||||
glsl/ir_print_visitor.h \
|
||||
glsl/ir_reader.cpp \
|
||||
glsl/ir_reader.h \
|
||||
glsl/ir_rvalue_visitor.cpp \
|
||||
glsl/ir_rvalue_visitor.h \
|
||||
glsl/ir_set_program_inouts.cpp \
|
||||
glsl/ir_uniform.h \
|
||||
glsl/ir_validate.cpp \
|
||||
glsl/ir_variable_refcount.cpp \
|
||||
glsl/ir_variable_refcount.h \
|
||||
glsl/ir_visitor.h \
|
||||
glsl/linker.cpp \
|
||||
glsl/linker.h \
|
||||
glsl/link_atomics.cpp \
|
||||
glsl/link_functions.cpp \
|
||||
glsl/link_interface_blocks.cpp \
|
||||
glsl/link_uniforms.cpp \
|
||||
glsl/link_uniform_initializers.cpp \
|
||||
glsl/link_uniform_block_active_visitor.cpp \
|
||||
glsl/link_uniform_block_active_visitor.h \
|
||||
glsl/link_uniform_blocks.cpp \
|
||||
glsl/link_varyings.cpp \
|
||||
glsl/link_varyings.h \
|
||||
glsl/list.h \
|
||||
glsl/loop_analysis.cpp \
|
||||
glsl/loop_analysis.h \
|
||||
glsl/loop_controls.cpp \
|
||||
glsl/loop_unroll.cpp \
|
||||
glsl/lower_buffer_access.cpp \
|
||||
glsl/lower_buffer_access.h \
|
||||
glsl/lower_const_arrays_to_uniforms.cpp \
|
||||
glsl/lower_discard.cpp \
|
||||
glsl/lower_discard_flow.cpp \
|
||||
glsl/lower_distance.cpp \
|
||||
glsl/lower_if_to_cond_assign.cpp \
|
||||
glsl/lower_instructions.cpp \
|
||||
glsl/lower_jumps.cpp \
|
||||
glsl/lower_mat_op_to_vec.cpp \
|
||||
glsl/lower_noise.cpp \
|
||||
glsl/lower_offset_array.cpp \
|
||||
glsl/lower_packed_varyings.cpp \
|
||||
glsl/lower_named_interface_blocks.cpp \
|
||||
glsl/lower_packing_builtins.cpp \
|
||||
glsl/lower_subroutine.cpp \
|
||||
glsl/lower_tess_level.cpp \
|
||||
glsl/lower_texture_projection.cpp \
|
||||
glsl/lower_variable_index_to_cond_assign.cpp \
|
||||
glsl/lower_vec_index_to_cond_assign.cpp \
|
||||
glsl/lower_vec_index_to_swizzle.cpp \
|
||||
glsl/lower_vector.cpp \
|
||||
glsl/lower_vector_derefs.cpp \
|
||||
glsl/lower_vector_insert.cpp \
|
||||
glsl/lower_vertex_id.cpp \
|
||||
glsl/lower_output_reads.cpp \
|
||||
glsl/lower_shared_reference.cpp \
|
||||
glsl/lower_ubo_reference.cpp \
|
||||
glsl/opt_algebraic.cpp \
|
||||
glsl/opt_array_splitting.cpp \
|
||||
glsl/opt_conditional_discard.cpp \
|
||||
glsl/opt_constant_folding.cpp \
|
||||
glsl/opt_constant_propagation.cpp \
|
||||
glsl/opt_constant_variable.cpp \
|
||||
glsl/opt_copy_propagation.cpp \
|
||||
glsl/opt_copy_propagation_elements.cpp \
|
||||
glsl/opt_dead_builtin_variables.cpp \
|
||||
glsl/opt_dead_builtin_varyings.cpp \
|
||||
glsl/opt_dead_code.cpp \
|
||||
glsl/opt_dead_code_local.cpp \
|
||||
glsl/opt_dead_functions.cpp \
|
||||
glsl/opt_flatten_nested_if_blocks.cpp \
|
||||
glsl/opt_flip_matrices.cpp \
|
||||
glsl/opt_function_inlining.cpp \
|
||||
glsl/opt_if_simplification.cpp \
|
||||
glsl/opt_minmax.cpp \
|
||||
glsl/opt_noop_swizzle.cpp \
|
||||
glsl/opt_rebalance_tree.cpp \
|
||||
glsl/opt_redundant_jumps.cpp \
|
||||
glsl/opt_structure_splitting.cpp \
|
||||
glsl/opt_swizzle_swizzle.cpp \
|
||||
glsl/opt_tree_grafting.cpp \
|
||||
glsl/opt_vectorize.cpp \
|
||||
glsl/program.h \
|
||||
glsl/propagate_invariance.cpp \
|
||||
glsl/s_expression.cpp \
|
||||
glsl/s_expression.h
|
||||
|
||||
# glsl_compiler
|
||||
|
||||
GLSL_COMPILER_CXX_FILES = \
|
||||
glsl/standalone_scaffolding.cpp \
|
||||
glsl/standalone_scaffolding.h \
|
||||
glsl/standalone.cpp \
|
||||
glsl/standalone.h
|
||||
|
||||
# libglsl generated sources
|
||||
LIBGLSL_GENERATED_CXX_FILES = \
|
||||
glsl/glsl_lexer.cpp \
|
||||
glsl/glsl_parser.cpp
|
||||
|
||||
# libglcpp
|
||||
|
||||
LIBGLCPP_FILES = \
|
||||
glsl/glcpp/glcpp.h \
|
||||
glsl/glcpp/pp.c
|
||||
|
||||
LIBGLCPP_GENERATED_FILES = \
|
||||
glsl/glcpp/glcpp-lex.c \
|
||||
glsl/glcpp/glcpp-parse.c
|
||||
|
||||
NIR_GENERATED_FILES = \
|
||||
nir/nir_builder_opcodes.h \
|
||||
nir/nir_constant_expressions.c \
|
||||
nir/nir_opcodes.c \
|
||||
nir/nir_opcodes.h \
|
||||
nir/nir_opt_algebraic.c
|
||||
|
||||
NIR_FILES = \
|
||||
nir/nir.c \
|
||||
nir/nir.h \
|
||||
nir/nir_array.h \
|
||||
nir/nir_builder.h \
|
||||
nir/nir_clone.c \
|
||||
nir/nir_constant_expressions.h \
|
||||
nir/nir_control_flow.c \
|
||||
nir/nir_control_flow.h \
|
||||
nir/nir_control_flow_private.h \
|
||||
nir/nir_dominance.c \
|
||||
nir/nir_from_ssa.c \
|
||||
nir/nir_gather_info.c \
|
||||
nir/nir_gs_count_vertices.c \
|
||||
nir/nir_inline_functions.c \
|
||||
nir/nir_instr_set.c \
|
||||
nir/nir_instr_set.h \
|
||||
nir/nir_intrinsics.c \
|
||||
nir/nir_intrinsics.h \
|
||||
nir/nir_liveness.c \
|
||||
nir/nir_lower_alu_to_scalar.c \
|
||||
nir/nir_lower_atomics.c \
|
||||
nir/nir_lower_bitmap.c \
|
||||
nir/nir_lower_clamp_color_outputs.c \
|
||||
nir/nir_lower_clip.c \
|
||||
nir/nir_lower_double_ops.c \
|
||||
nir/nir_lower_double_packing.c \
|
||||
nir/nir_lower_drawpixels.c \
|
||||
nir/nir_lower_global_vars_to_local.c \
|
||||
nir/nir_lower_gs_intrinsics.c \
|
||||
nir/nir_lower_load_const_to_scalar.c \
|
||||
nir/nir_lower_locals_to_regs.c \
|
||||
nir/nir_lower_idiv.c \
|
||||
nir/nir_lower_indirect_derefs.c \
|
||||
nir/nir_lower_io.c \
|
||||
nir/nir_lower_io_to_temporaries.c \
|
||||
nir/nir_lower_io_types.c \
|
||||
nir/nir_lower_passthrough_edgeflags.c \
|
||||
nir/nir_lower_phis_to_scalar.c \
|
||||
nir/nir_lower_returns.c \
|
||||
nir/nir_lower_samplers.c \
|
||||
nir/nir_lower_system_values.c \
|
||||
nir/nir_lower_tex.c \
|
||||
nir/nir_lower_to_source_mods.c \
|
||||
nir/nir_lower_two_sided_color.c \
|
||||
nir/nir_lower_vars_to_ssa.c \
|
||||
nir/nir_lower_var_copies.c \
|
||||
nir/nir_lower_vec_to_movs.c \
|
||||
nir/nir_lower_wpos_center.c \
|
||||
nir/nir_lower_wpos_ytransform.c \
|
||||
nir/nir_metadata.c \
|
||||
nir/nir_move_vec_src_uses_to_dest.c \
|
||||
nir/nir_normalize_cubemap_coords.c \
|
||||
nir/nir_opt_constant_folding.c \
|
||||
nir/nir_opt_copy_propagate.c \
|
||||
nir/nir_opt_cse.c \
|
||||
nir/nir_opt_dce.c \
|
||||
nir/nir_opt_dead_cf.c \
|
||||
nir/nir_opt_gcm.c \
|
||||
nir/nir_opt_global_to_local.c \
|
||||
nir/nir_opt_peephole_select.c \
|
||||
nir/nir_opt_remove_phis.c \
|
||||
nir/nir_opt_undef.c \
|
||||
nir/nir_phi_builder.c \
|
||||
nir/nir_phi_builder.h \
|
||||
nir/nir_print.c \
|
||||
nir/nir_remove_dead_variables.c \
|
||||
nir/nir_repair_ssa.c \
|
||||
nir/nir_search.c \
|
||||
nir/nir_search.h \
|
||||
nir/nir_split_var_copies.c \
|
||||
nir/nir_sweep.c \
|
||||
nir/nir_to_ssa.c \
|
||||
nir/nir_validate.c \
|
||||
nir/nir_vla.h \
|
||||
nir/nir_worklist.c \
|
||||
nir/nir_worklist.h
|
||||
|
||||
SPIRV_FILES = \
|
||||
spirv/GLSL.std.450.h \
|
||||
spirv/nir_spirv.h \
|
||||
spirv/spirv.h \
|
||||
spirv/spirv_to_nir.c \
|
||||
spirv/vtn_alu.c \
|
||||
spirv/vtn_cfg.c \
|
||||
spirv/vtn_glsl450.c \
|
||||
spirv/vtn_private.h \
|
||||
spirv/vtn_variables.c
|
@@ -1,25 +0,0 @@
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.MSVC2013Compat()
|
||||
|
||||
env.Prepend(CPPPATH = [
|
||||
'#include',
|
||||
'#src',
|
||||
'#src/mapi',
|
||||
'#src/mesa',
|
||||
'#src/gallium/include',
|
||||
'#src/gallium/auxiliary',
|
||||
])
|
||||
|
||||
sources = env.ParseSourceList('Makefile.sources', 'LIBCOMPILER_FILES')
|
||||
|
||||
compiler = env.ConvenienceLibrary(
|
||||
target = 'compiler',
|
||||
source = sources
|
||||
)
|
||||
Export('compiler')
|
||||
|
||||
SConscript('SConscript.glsl')
|
||||
SConscript('SConscript.nir')
|
@@ -1,73 +0,0 @@
|
||||
import common
|
||||
|
||||
Import('*')
|
||||
|
||||
from sys import executable as python_cmd
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.MSVC2013Compat()
|
||||
|
||||
env.Prepend(CPPPATH = [
|
||||
'#include',
|
||||
'#src',
|
||||
'#src/mapi',
|
||||
'#src/mesa',
|
||||
'#src/gallium/include',
|
||||
'#src/gallium/auxiliary',
|
||||
'#src/compiler/nir',
|
||||
])
|
||||
|
||||
# Make generated headers reachable from the include path.
|
||||
env.Prepend(CPPPATH = [Dir('.').abspath, Dir('nir').abspath])
|
||||
|
||||
# nir generated sources
|
||||
|
||||
nir_builder_opcodes_h = env.CodeGenerate(
|
||||
target = 'nir/nir_builder_opcodes.h',
|
||||
script = 'nir/nir_builder_opcodes_h.py',
|
||||
source = [],
|
||||
command = python_cmd + ' $SCRIPT > $TARGET'
|
||||
)
|
||||
|
||||
env.CodeGenerate(
|
||||
target = 'nir/nir_constant_expressions.c',
|
||||
script = 'nir/nir_constant_expressions.py',
|
||||
source = [],
|
||||
command = python_cmd + ' $SCRIPT > $TARGET'
|
||||
)
|
||||
|
||||
env.CodeGenerate(
|
||||
target = 'nir/nir_opcodes.h',
|
||||
script = 'nir/nir_opcodes_h.py',
|
||||
source = [],
|
||||
command = python_cmd + ' $SCRIPT > $TARGET'
|
||||
)
|
||||
|
||||
env.CodeGenerate(
|
||||
target = 'nir/nir_opcodes.c',
|
||||
script = 'nir/nir_opcodes_c.py',
|
||||
source = [],
|
||||
command = python_cmd + ' $SCRIPT > $TARGET'
|
||||
)
|
||||
|
||||
env.CodeGenerate(
|
||||
target = 'nir/nir_opt_algebraic.c',
|
||||
script = 'nir/nir_opt_algebraic.py',
|
||||
source = [],
|
||||
command = python_cmd + ' $SCRIPT > $TARGET'
|
||||
)
|
||||
|
||||
# parse Makefile.sources
|
||||
source_lists = env.ParseSourceList('Makefile.sources')
|
||||
|
||||
nir_sources = source_lists['NIR_FILES']
|
||||
nir_sources += source_lists['NIR_GENERATED_FILES']
|
||||
|
||||
nir = env.ConvenienceLibrary(
|
||||
target = 'nir',
|
||||
source = nir_sources,
|
||||
)
|
||||
|
||||
env.Alias('nir', nir)
|
||||
Export('nir')
|
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
int x = __VERSION__;
|
@@ -1 +0,0 @@
|
||||
int x = 110;
|
@@ -1,2 +0,0 @@
|
||||
123
|
||||
#version 120
|
@@ -1,3 +0,0 @@
|
||||
0:2(1): preprocessor error: #version must appear on the first line
|
||||
123
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user