Compare commits
1763 Commits
vulkan-hea
...
mesa-11.0.
Author | SHA1 | Date | |
---|---|---|---|
|
bec983b738 | ||
|
355c9c6a54 | ||
|
40440385b6 | ||
|
92b62b8870 | ||
|
8be58198cf | ||
|
14c43df996 | ||
|
83d4fa4103 | ||
|
c1f1c5edaa | ||
|
5474b52bba | ||
|
8b8cfadf84 | ||
|
6818206a69 | ||
|
d7a973642e | ||
|
7c9e925e0a | ||
|
a4298a2aa2 | ||
|
a1b4f40d49 | ||
|
3833237902 | ||
|
26114e86e3 | ||
|
a6be31fc25 | ||
|
895ec17943 | ||
|
82853079bd | ||
|
650bf10b28 | ||
|
3be98f6c9f | ||
|
fba4d236de | ||
|
7bb68405ec | ||
|
3dcaea0fd1 | ||
|
1baf7904d9 | ||
|
186eb3bd7f | ||
|
c59e406357 | ||
|
702f4e3b94 | ||
|
593a473f43 | ||
|
2688a8573b | ||
|
cb88260ec0 | ||
|
e69c274661 | ||
|
fa4b6a78fa | ||
|
36afa9988b | ||
|
896fe2da47 | ||
|
15366684da | ||
|
c49c5e64a5 | ||
|
e8cf4e490f | ||
|
86a0afb460 | ||
|
84a4b35492 | ||
|
eb0749bf15 | ||
|
f727742cdb | ||
|
d76bdaaf2d | ||
|
2555e000fc | ||
|
04fd3a6f62 | ||
|
5018418573 | ||
|
040785c08b | ||
|
0c56517d16 | ||
|
d425a2f26c | ||
|
c667a0d1d3 | ||
|
f112696f15 | ||
|
acbaa3d0fc | ||
|
55325d0632 | ||
|
09a7ee2782 | ||
|
120559bd30 | ||
|
0b7bdb0668 | ||
|
f9325a97b3 | ||
|
0dd0d6696f | ||
|
4b3d4ceaba | ||
|
20f0d88495 | ||
|
fa527fce5c | ||
|
9bbdd99d8c | ||
|
e54ac25120 | ||
|
312ec1946d | ||
|
6a958b0b51 | ||
|
71a785fc5f | ||
|
f6e19f673e | ||
|
66c949d0a1 | ||
|
ee57c22141 | ||
|
a12fdff695 | ||
|
6a2a631bf9 | ||
|
18fed2011f | ||
|
774dd015bd | ||
|
507b589685 | ||
|
bc47b385b4 | ||
|
dff2b9ed8a | ||
|
a4fbfc8189 | ||
|
c323f97963 | ||
|
7cfd87ce84 | ||
|
5f565d7645 | ||
|
ef4e862396 | ||
|
2cc4e97396 | ||
|
ba0c78f4e2 | ||
|
a4b73eeff0 | ||
|
800217a165 | ||
|
aa739dff86 | ||
|
16bc98fb5e | ||
|
addd501acd | ||
|
d9474cb70e | ||
|
7aba6fa3eb | ||
|
05fdf4b1c9 | ||
|
d8c58ff25a | ||
|
f86028cf07 | ||
|
64e903f82e | ||
|
55cd3ab8e7 | ||
|
4a4e148ac7 | ||
|
7f6f273a55 | ||
|
5ce639c001 | ||
|
38a8b467cb | ||
|
2294f6f311 | ||
|
a333791259 | ||
|
bfd14ebb05 | ||
|
ec14e6f8fd | ||
|
31bf247031 | ||
|
b530dccbff | ||
|
6d6a4d7c76 | ||
|
13276962c7 | ||
|
03ab39fa70 | ||
|
4d215a25d5 | ||
|
6766a36e19 | ||
|
42364b33d1 | ||
|
54a30ed94f | ||
|
6f48b8957e | ||
|
b91ed628c1 | ||
|
141109cc52 | ||
|
5d41a78769 | ||
|
da1d57faf3 | ||
|
0d87f75763 | ||
|
009890a0de | ||
|
938df905ea | ||
|
9b561ed2d1 | ||
|
b0b31397e2 | ||
|
c0b85c5a4c | ||
|
a9da1ead7b | ||
|
dab0c565d3 | ||
|
96931dbf14 | ||
|
2d5b8efd7d | ||
|
0c6b210749 | ||
|
8e9b698c24 | ||
|
3b238aa08f | ||
|
cd6ff70856 | ||
|
2ee32ffe7c | ||
|
25e1e90937 | ||
|
22aae69aa5 | ||
|
4779eb04a4 | ||
|
df361e2311 | ||
|
7259f17eca | ||
|
37b647b979 | ||
|
41cc0965bb | ||
|
3f802ebaf8 | ||
|
b4bfea0094 | ||
|
914966befc | ||
|
3c86315ca3 | ||
|
d0c22560a1 | ||
|
1a866b3e49 | ||
|
b1230e3e01 | ||
|
d09b37e7d5 | ||
|
30570b2629 | ||
|
f114967ca9 | ||
|
39a3871b1e | ||
|
28373c75ba | ||
|
eabc656324 | ||
|
1f2d007e49 | ||
|
00425de657 | ||
|
16d9e62107 | ||
|
776bcb2042 | ||
|
ac75afff88 | ||
|
de936892db | ||
|
b2a04cfcc2 | ||
|
dca86265a2 | ||
|
d0684f3d58 | ||
|
7d78578b06 | ||
|
88ed45b033 | ||
|
fbcd36ddb6 | ||
|
531309a5f0 | ||
|
0ae914f65d | ||
|
b2c8b0e546 | ||
|
d6ee06e9fe | ||
|
7b8b044ee4 | ||
|
ec7cda29b6 | ||
|
ab68081ffb | ||
|
46dc4946a2 | ||
|
01e197c21a | ||
|
0c5aacf446 | ||
|
fb5dd33166 | ||
|
b2d3012e35 | ||
|
154573e427 | ||
|
7e64e887f0 | ||
|
10382380f0 | ||
|
815b595b5f | ||
|
4e0ae01588 | ||
|
33ed153214 | ||
|
3cd7493f11 | ||
|
dacccf8e22 | ||
|
288d9a06cc | ||
|
62ac723a34 | ||
|
766a0b4661 | ||
|
f2e8b94f84 | ||
|
02a631bfbc | ||
|
94e9c52b62 | ||
|
4c0b484612 | ||
|
51e0b06d99 | ||
|
f2bfaa8271 | ||
|
f15a7f3c6e | ||
|
cfddc456ae | ||
|
25e2a4136b | ||
|
ead4ce53f7 | ||
|
dace17bfd4 | ||
|
7f1a77ae66 | ||
|
bcb9e1d26b | ||
|
de1637c7fe | ||
|
cf716563a8 | ||
|
2c65e64881 | ||
|
8be6b32d65 | ||
|
0e0d008b2b | ||
|
007aae740e | ||
|
575f5a94c3 | ||
|
b1203ec9f3 | ||
|
c29e3f1bca | ||
|
c98217178b | ||
|
278739eb01 | ||
|
ae6dcfee56 | ||
|
9fcf28bb14 | ||
|
5fe09ffe6a | ||
|
395cd23690 | ||
|
d04024cffa | ||
|
370c2b344b | ||
|
bcb3bfd510 | ||
|
ebfa2ea34f | ||
|
3736ef3a17 | ||
|
d9e4a3ae6a | ||
|
1afea31ad8 | ||
|
d9b54a01be | ||
|
c4bae5792b | ||
|
4f1e500150 | ||
|
bd46093103 | ||
|
766d11e8f0 | ||
|
5923bd6d78 | ||
|
d0cf5100b5 | ||
|
e36ca8c2bb | ||
|
901744b2ff | ||
|
c62f82980c | ||
|
151f84f2db | ||
|
7d79ad95fd | ||
|
2becc98645 | ||
|
7cca7f71da | ||
|
94b8f60146 | ||
|
94bf2e2e05 | ||
|
78612aba51 | ||
|
0878187488 | ||
|
4ae2ffbff1 | ||
|
b0578c0061 | ||
|
b3dfd67feb | ||
|
017085efaf | ||
|
9e3528a844 | ||
|
84060d35bb | ||
|
2c581d04cc | ||
|
a1ac93fc4b | ||
|
1f2b601f8b | ||
|
4ca5756766 | ||
|
7023899ab9 | ||
|
2190f218ad | ||
|
2c27775a44 | ||
|
b7b8d4982d | ||
|
0d1f600c94 | ||
|
0c9f66829c | ||
|
11dc43424d | ||
|
ec9bafda70 | ||
|
6654483bc6 | ||
|
4b1ef5e842 | ||
|
95bc059c50 | ||
|
254a07841d | ||
|
271290f077 | ||
|
7bf27c2393 | ||
|
7f80a2383e | ||
|
3e1fde76b6 | ||
|
747e1b03bf | ||
|
b85ec1e34b | ||
|
acb822f1bd | ||
|
ddf459492d | ||
|
fcdaa190e5 | ||
|
0abcd9c8fc | ||
|
0b14d35863 | ||
|
a6710090af | ||
|
0c98ba7abf | ||
|
eef8258a86 | ||
|
747cd2c273 | ||
|
ecdd69cd05 | ||
|
74fa106932 | ||
|
1153420017 | ||
|
5704d473c8 | ||
|
eb2b88c44b | ||
|
5c08afc894 | ||
|
5fb758a418 | ||
|
bb37824959 | ||
|
8fc2cbb00e | ||
|
b497b88dbe | ||
|
dcb220f2f7 | ||
|
d9534e4785 | ||
|
63b4e6bfc9 | ||
|
a5dee22767 | ||
|
1aea7812b0 | ||
|
f0180a37d7 | ||
|
fe77d714f2 | ||
|
fb119b2260 | ||
|
50306a33b4 | ||
|
cf007af859 | ||
|
7d576419b2 | ||
|
893caebf44 | ||
|
3f8d44210c | ||
|
579ca506ae | ||
|
94205d0aa2 | ||
|
1b40221850 | ||
|
2fe87a1b68 | ||
|
b83b452eea | ||
|
68bd2ddda0 | ||
|
9db5c2ca2e | ||
|
08c41221d7 | ||
|
896ef5cb95 | ||
|
594388e577 | ||
|
812f2855dd | ||
|
5d8ce45d90 | ||
|
33b0f6e5e1 | ||
|
6659fba2c0 | ||
|
adae777f24 | ||
|
0b690e39dc | ||
|
67fc4b417a | ||
|
7a8d2048bc | ||
|
bf84c85130 | ||
|
aab6075613 | ||
|
2ef3434328 | ||
|
3d58fea2e3 | ||
|
ab94875352 | ||
|
f077632030 | ||
|
d7bafcafd3 | ||
|
ec256eceed | ||
|
79da1b262d | ||
|
a8f451cd0e | ||
|
4a21da709b | ||
|
cfbcabe673 | ||
|
4b5936335b | ||
|
6aaa814995 | ||
|
807b1e5b05 | ||
|
32cd1252b8 | ||
|
fa52cf0ccf | ||
|
6817e0f1ce | ||
|
eb2776504a | ||
|
89b1b33f44 | ||
|
7e0b868cf3 | ||
|
4ae137534a | ||
|
2002438c91 | ||
|
20746c2e7d | ||
|
f57e9c77e3 | ||
|
3cc205bbeb | ||
|
d48cab9fa6 | ||
|
2f02d5e814 | ||
|
719f124620 | ||
|
eba3c390a3 | ||
|
1a747094ed | ||
|
f15ff98e2c | ||
|
98f786b270 | ||
|
f5effeb8ea | ||
|
bae2c7c154 | ||
|
6379a28aa7 | ||
|
791b794a84 | ||
|
fb6c76f1ba | ||
|
4a00e4cdc9 | ||
|
b7261528ea | ||
|
dcb6f764cf | ||
|
c2480bbab1 | ||
|
fcca7ff38a | ||
|
8f39ffc11e | ||
|
69de5d626f | ||
|
854778ea0f | ||
|
cb0816c0f6 | ||
|
dd4802c8de | ||
|
2dd59a2d28 | ||
|
87ec6b56b2 | ||
|
993e68fa6a | ||
|
a3f0d21da9 | ||
|
b06f3ee6f4 | ||
|
a7ce3cd0d3 | ||
|
5a2302b5ec | ||
|
71616d0c50 | ||
|
0628553056 | ||
|
99537f68db | ||
|
360ba5b748 | ||
|
620f3e9bfe | ||
|
248833ff40 | ||
|
bc6c80e547 | ||
|
d0a4374e1a | ||
|
f396cd43ab | ||
|
d0daec1797 | ||
|
48d895aa4b | ||
|
74a77a4c1a | ||
|
40a8943f53 | ||
|
9ba3f83592 | ||
|
bb1c2c2aa3 | ||
|
3bcab9ba75 | ||
|
ef8ade6f09 | ||
|
c57f777b09 | ||
|
4c126f0b58 | ||
|
41f54040e2 | ||
|
43d5c5a11b | ||
|
e139e0debd | ||
|
8a61894cdb | ||
|
e4f69bc394 | ||
|
b75f830166 | ||
|
bc42c29013 | ||
|
3f36ad732c | ||
|
ab0643225e | ||
|
23da32a923 | ||
|
a30684712e | ||
|
df6f1f77cc | ||
|
78b304e2f9 | ||
|
1b20eaff67 | ||
|
3470878383 | ||
|
1b645df2f3 | ||
|
886227d363 | ||
|
3c4864fa55 | ||
|
74de849bd4 | ||
|
cb2d680232 | ||
|
56717c0b06 | ||
|
365d631eb2 | ||
|
3b4d03d440 | ||
|
3525aa1dc9 | ||
|
681efdf7a1 | ||
|
f142e64b29 | ||
|
df5cdec132 | ||
|
7eda897bf0 | ||
|
8cae9f2fda | ||
|
c800fef2e2 | ||
|
8b36d107fd | ||
|
572a48366d | ||
|
fd74da11c4 | ||
|
98728ce071 | ||
|
69ef08d303 | ||
|
0bba4fa070 | ||
|
ceb1a31842 | ||
|
ad89748541 | ||
|
dd6a6dbaf7 | ||
|
8483577f6b | ||
|
ecebd3dbfc | ||
|
29e953b07b | ||
|
4237dfb978 | ||
|
7a32652231 | ||
|
e2145de74d | ||
|
bbf8291bf8 | ||
|
6921f170b6 | ||
|
3e6adbd761 | ||
|
f5b926183d | ||
|
9ebe7dc094 | ||
|
63cb85e567 | ||
|
51499bb5ff | ||
|
2a4af36517 | ||
|
56ebd3314b | ||
|
e5851cff45 | ||
|
50db9c1db6 | ||
|
80b1707e26 | ||
|
58a8689717 | ||
|
3d93f65ef2 | ||
|
f6c622f584 | ||
|
f5070c801c | ||
|
6379f5cb2a | ||
|
e3fb2e1f0e | ||
|
307c382c1b | ||
|
a976b7255b | ||
|
9d0bb6be09 | ||
|
d589df9401 | ||
|
6da187f805 | ||
|
76a09c87c1 | ||
|
26b1141a78 | ||
|
ee7bf349d8 | ||
|
527ae5d428 | ||
|
241774aa03 | ||
|
ebf1196d82 | ||
|
6c161405dc | ||
|
86a64dfccf | ||
|
d70edfcfd5 | ||
|
3b70f7900b | ||
|
10b7cf1a01 | ||
|
b97d8c95a9 | ||
|
47e0d5b9b2 | ||
|
3547d9855c | ||
|
ab83be590d | ||
|
ed2afec3fc | ||
|
ffe6c6ad5f | ||
|
0872b042b1 | ||
|
2438e2fe32 | ||
|
3df7856b46 | ||
|
3b1e283d88 | ||
|
5fb0180592 | ||
|
421b809db1 | ||
|
f33a7ab150 | ||
|
89759381db | ||
|
6a8e08cb89 | ||
|
a342becc49 | ||
|
2b40a144b7 | ||
|
3f797ef0c0 | ||
|
c03247bae0 | ||
|
f01bdb0484 | ||
|
c3b21f2d56 | ||
|
9b49284c22 | ||
|
7c8e53f1be | ||
|
6ff3341fc7 | ||
|
fdacadc87c | ||
|
4a0bea3863 | ||
|
fd7a14f8dd | ||
|
885762e182 | ||
|
ec6af4f54c | ||
|
49d0a36bd6 | ||
|
a39167d594 | ||
|
29264d0d0c | ||
|
94bdb50c0b | ||
|
1d1056c4e3 | ||
|
30694b3f42 | ||
|
5fb58012be | ||
|
6625ca2370 | ||
|
1512b086d3 | ||
|
9febec0811 | ||
|
5be455281e | ||
|
82bc45bb08 | ||
|
4864977e51 | ||
|
1d8c694928 | ||
|
f5bb5b957a | ||
|
dc7a1effc4 | ||
|
f4ef8d084c | ||
|
dc2b0b2067 | ||
|
3637e1e7f6 | ||
|
65fe7c6ff1 | ||
|
2722284b94 | ||
|
89b285ba0e | ||
|
3696e620f5 | ||
|
8f7ebcb6fa | ||
|
97f5d00648 | ||
|
df97126731 | ||
|
723a5a2e68 | ||
|
a37fa7653b | ||
|
46684d3ae3 | ||
|
d3ace603a9 | ||
|
2450cbfcbc | ||
|
5af71fb5ac | ||
|
581cbfdec1 | ||
|
12e1bf0b68 | ||
|
1af0641db3 | ||
|
19a5a91ea4 | ||
|
dd9d2963d6 | ||
|
a7e6f8cc9f | ||
|
2f5ee9bf27 | ||
|
e32325fc85 | ||
|
a0cea8f642 | ||
|
f67dde0b05 | ||
|
ae5cf4f3f7 | ||
|
884b4df3b6 | ||
|
f13073b775 | ||
|
2514c78fba | ||
|
bb9881fccf | ||
|
afccbd7256 | ||
|
ca628085b6 | ||
|
b4ace13eea | ||
|
868b66fce7 | ||
|
dd412c8fcb | ||
|
ee113bbbc5 | ||
|
d19a98e2e6 | ||
|
d3e23f1ff9 | ||
|
a6e75e3cd7 | ||
|
fb2425a641 | ||
|
bf3c50fba2 | ||
|
38c6c0f5b4 | ||
|
d50c182671 | ||
|
9e6dc5b64d | ||
|
b346a84e27 | ||
|
7ff7d5d799 | ||
|
a6bf20d153 | ||
|
d4087265f6 | ||
|
a90aa54fde | ||
|
7bfb9ee5ee | ||
|
f47c59322e | ||
|
839bf82606 | ||
|
0654a9ca17 | ||
|
09def7e1e0 | ||
|
4dfcf6e3a9 | ||
|
42bc4e6be4 | ||
|
57fabe9f3a | ||
|
e91a67abfa | ||
|
fa80c1fe20 | ||
|
468fcdcb4f | ||
|
1550790b3f | ||
|
22f71dbf79 | ||
|
baecc518c9 | ||
|
c29f0d4722 | ||
|
261ed77547 | ||
|
67586c4b40 | ||
|
0248c13a8b | ||
|
767ad50a10 | ||
|
528a6ff599 | ||
|
d69686f1d3 | ||
|
933d24b176 | ||
|
f0e24a7bea | ||
|
649975e716 | ||
|
bf2c3422d7 | ||
|
2d1952e2a5 | ||
|
943a4b5e96 | ||
|
8f49f6ed19 | ||
|
8ba70e0a74 | ||
|
e7fc664b91 | ||
|
2eb067db0f | ||
|
5609a6986f | ||
|
5581f9f28a | ||
|
0729c251bb | ||
|
facba49d83 | ||
|
716a67da12 | ||
|
973988ab8d | ||
|
97f58fb59a | ||
|
36a6f848bb | ||
|
3b7800e750 | ||
|
2ebb8efa08 | ||
|
44dc1d307d | ||
|
78493c3318 | ||
|
7f4ad692a1 | ||
|
7a144aaf64 | ||
|
28ed1e08e8 | ||
|
d9603be038 | ||
|
21b2c6fd5e | ||
|
9a4eae61c2 | ||
|
3b491cbc42 | ||
|
2900e8ca90 | ||
|
8dffa89e01 | ||
|
b8f63b3c10 | ||
|
1bba29ed40 | ||
|
12a66d91f6 | ||
|
b4897eb70a | ||
|
853853b2ac | ||
|
24695f4b27 | ||
|
86a72ee48e | ||
|
8c0b943e87 | ||
|
d335aad11b | ||
|
bfac8ba9d3 | ||
|
8ae88105b6 | ||
|
e7a52a5cb8 | ||
|
8e11be0ddb | ||
|
bdc564b942 | ||
|
500025a237 | ||
|
fb07c49f48 | ||
|
aab3912f21 | ||
|
6e04020dd7 | ||
|
0667962103 | ||
|
8885f2befa | ||
|
f72fead4a2 | ||
|
81d2fd91a9 | ||
|
078aef0e97 | ||
|
91698d1206 | ||
|
5f1d5b1c78 | ||
|
e3eb91af80 | ||
|
28d1a506c8 | ||
|
3941539179 | ||
|
02a4fe22b1 | ||
|
2265321834 | ||
|
9fa70fef22 | ||
|
1e53df7064 | ||
|
d32c45ca7b | ||
|
c4b4bad68a | ||
|
b88f14702d | ||
|
5054588211 | ||
|
c58534c138 | ||
|
85adde30a4 | ||
|
3206d4ed44 | ||
|
3c04a90e91 | ||
|
d03c65793a | ||
|
13a04abc27 | ||
|
a47ae8de2c | ||
|
912ef52c29 | ||
|
4af27145fe | ||
|
84431c1f1d | ||
|
caae52561d | ||
|
7e8be00010 | ||
|
26ca81ce30 | ||
|
86dbd8af40 | ||
|
1a37619763 | ||
|
fb19df7a62 | ||
|
3569742ec4 | ||
|
786e0853be | ||
|
ac7664e493 | ||
|
acb6d90dc8 | ||
|
47f9b07e4c | ||
|
868f1ba0a4 | ||
|
87a3e02d9b | ||
|
3144844f5c | ||
|
2cdb24a7c2 | ||
|
f909469137 | ||
|
fe55ab2d12 | ||
|
87cea61b9e | ||
|
3fa1ca34cc | ||
|
8a688bee83 | ||
|
7068a6409c | ||
|
1bb339493c | ||
|
0ac65abb46 | ||
|
bdcc8f3230 | ||
|
7539ac7fe2 | ||
|
c1d9b3ae0b | ||
|
1d658cf879 | ||
|
5e1c1c2fcb | ||
|
1d4e698466 | ||
|
17c9781661 | ||
|
9901aeb1c7 | ||
|
7e5d56394b | ||
|
7bfe8cf4a4 | ||
|
fcb8a04c9d | ||
|
2d6a889e8b | ||
|
d2f669e6c7 | ||
|
6dabf45597 | ||
|
08f2dfe343 | ||
|
b6d014f0ba | ||
|
2ac171a7db | ||
|
1eaa29cb30 | ||
|
497a22a727 | ||
|
21ccdbdb5d | ||
|
eb643db30e | ||
|
512aa0647f | ||
|
27141f984d | ||
|
a1adf0b3fe | ||
|
ffadfbf5d0 | ||
|
ba651967a2 | ||
|
6de9a03bed | ||
|
2c7b6cf512 | ||
|
45e110bad9 | ||
|
faf0f811e3 | ||
|
beddb0a237 | ||
|
bf66988b08 | ||
|
60e9c35b3a | ||
|
75ce7919d6 | ||
|
4fa0cd17b7 | ||
|
a97f1b697b | ||
|
0508861f29 | ||
|
a0b7c1c86e | ||
|
f246aa6bca | ||
|
42d283a0cc | ||
|
6dea2456ca | ||
|
42d9f6323a | ||
|
592ce6e2d1 | ||
|
8118d3719a | ||
|
a3723fb9e3 | ||
|
a3e81f819c | ||
|
0615ad1c70 | ||
|
6d6208a431 | ||
|
9f78e27fc6 | ||
|
1c175fc2e3 | ||
|
3d551c5c70 | ||
|
30a7e0c021 | ||
|
70f5e49ba5 | ||
|
028528215a | ||
|
18501ff468 | ||
|
0257e1fbd2 | ||
|
dbfeb0ec12 | ||
|
4e2a3e0376 | ||
|
cbad30344d | ||
|
97a65d90fe | ||
|
130a03e360 | ||
|
6b47b89781 | ||
|
60159bcfc6 | ||
|
c2a5d1dcb1 | ||
|
cc59c78b0a | ||
|
567394112d | ||
|
d587742650 | ||
|
57245cce52 | ||
|
b2eb13d602 | ||
|
7d3939f0de | ||
|
c63e8b1193 | ||
|
115964052b | ||
|
ee977183dc | ||
|
42a18ca760 | ||
|
e77a4a9b1f | ||
|
3b48a0eeda | ||
|
2e73126438 | ||
|
f5b37fb1ac | ||
|
8f5d0988ea | ||
|
f7ac4ef4ee | ||
|
2c61d583f8 | ||
|
03b7221dbb | ||
|
4b07e9a033 | ||
|
5d64cae842 | ||
|
b38a50f1e3 | ||
|
784bea5a38 | ||
|
18c5cdb943 | ||
|
7d88413ade | ||
|
b2c5986ea1 | ||
|
cfc3200a35 | ||
|
ee47d13abb | ||
|
6c28ee2041 | ||
|
45248d3640 | ||
|
a70f63ab20 | ||
|
63eac5de8f | ||
|
cc8fb29046 | ||
|
9b403c0756 | ||
|
eae9c3286e | ||
|
d6d7515bec | ||
|
054526e49a | ||
|
b37a97c97d | ||
|
5ca032a9a8 | ||
|
c7deea51d2 | ||
|
a221f8d9eb | ||
|
5f247a9656 | ||
|
680de24545 | ||
|
3c050222b0 | ||
|
996349cb19 | ||
|
e23cbaadaa | ||
|
7ac946e546 | ||
|
93977d3a15 | ||
|
7a12e646d3 | ||
|
d302f51a1e | ||
|
f917a65b3e | ||
|
07433760e3 | ||
|
680d09b072 | ||
|
5b6218395c | ||
|
2b81cefb3f | ||
|
da1b1bf85c | ||
|
34d162260f | ||
|
82f2e706bf | ||
|
90825e3ca9 | ||
|
287b006a67 | ||
|
7eced3aa86 | ||
|
1836201fde | ||
|
551af29d2d | ||
|
7ade42755f | ||
|
38fc4a91cd | ||
|
418c004f80 | ||
|
19cf934f7f | ||
|
1343f403b2 | ||
|
0d43d27df7 | ||
|
c15eea2afa | ||
|
57182332b8 | ||
|
72c8d7721f | ||
|
434481f315 | ||
|
db8a6de571 | ||
|
583c1c6170 | ||
|
9b4a6fa4c0 | ||
|
16072834ba | ||
|
fa4e3c3c9f | ||
|
96106e2a9f | ||
|
b38fcd0aea | ||
|
314474872b | ||
|
b64bd1fdc3 | ||
|
d12e165dbb | ||
|
798cb33a25 | ||
|
8e1e6facbf | ||
|
0e874985ce | ||
|
3f10c2f3d7 | ||
|
fa4731f4a5 | ||
|
f14199a8fb | ||
|
51aeafaf96 | ||
|
8be4b876c9 | ||
|
84d4a9dc2c | ||
|
b9c41affcf | ||
|
dae6025e8e | ||
|
5e6f1c38a5 | ||
|
d53098393e | ||
|
7553a51a68 | ||
|
0ce159ec7f | ||
|
62cef7b072 | ||
|
068a41b349 | ||
|
9acebf1461 | ||
|
0675842b56 | ||
|
4f39b547da | ||
|
e4f02f47e7 | ||
|
79154d99d6 | ||
|
9e5d827f45 | ||
|
ef1b30ae63 | ||
|
168bbfa6ff | ||
|
98d07022f5 | ||
|
e6cafb5dfd | ||
|
e76e8caecd | ||
|
662c4c9906 | ||
|
11ed02e1c8 | ||
|
167cb9663a | ||
|
afe085a0ca | ||
|
5c0436dbf8 | ||
|
f3187ea31e | ||
|
97e205fd35 | ||
|
f715252537 | ||
|
a5a3287f73 | ||
|
6e58fc56a5 | ||
|
01f6235020 | ||
|
5e839727ed | ||
|
59006d3ad3 | ||
|
4023b55fdd | ||
|
01c5617c8e | ||
|
195156e571 | ||
|
b929acb6a8 | ||
|
78e7ce2b73 | ||
|
47d68908f2 | ||
|
abf4fa3c03 | ||
|
594fc0f859 | ||
|
f55c408067 | ||
|
875458b778 | ||
|
44e90f2a55 | ||
|
be3622dce3 | ||
|
aa46fba7e6 | ||
|
ab5b7a0fe6 | ||
|
9ef5b7a233 | ||
|
d2cd2c69b2 | ||
|
cf5667108b | ||
|
704e764f06 | ||
|
2253a296c9 | ||
|
0fe81a25f7 | ||
|
d74645d3ac | ||
|
a4bde371c7 | ||
|
4f8e4a95db | ||
|
2e0179e2b3 | ||
|
de59a40f68 | ||
|
d4ad4c2061 | ||
|
828d20bdb7 | ||
|
08fd736a45 | ||
|
4d7e0fa8c7 | ||
|
2b831334e9 | ||
|
6f2d88927a | ||
|
1307be519b | ||
|
eb3e2562a4 | ||
|
175d975279 | ||
|
5567494403 | ||
|
720125ff99 | ||
|
fa109d02dd | ||
|
57c670a823 | ||
|
b0a9299603 | ||
|
5d29eaef85 | ||
|
a40179f47b | ||
|
8477dd7c2e | ||
|
bafdafa7b2 | ||
|
616355160d | ||
|
b15aba940a | ||
|
3050978864 | ||
|
64d3130994 | ||
|
f9c4953f99 | ||
|
190a40580f | ||
|
3ca2132058 | ||
|
2d3ae154ba | ||
|
3063c5e3d3 | ||
|
2dcbd427da | ||
|
ac19a896d3 | ||
|
7dd1f45bc4 | ||
|
1bbe408363 | ||
|
8559f6ce62 | ||
|
12a197b2d5 | ||
|
681dbcf690 | ||
|
9a4c57afe4 | ||
|
b9dad585e6 | ||
|
0c805b6240 | ||
|
488a83637f | ||
|
b0528118df | ||
|
781dc7c0e1 | ||
|
383558c564 | ||
|
3cb5801003 | ||
|
7eaacc1678 | ||
|
7830e465a5 | ||
|
5a8c57b522 | ||
|
13ddd48b97 | ||
|
27f728cdc5 | ||
|
b85f6ae4b2 | ||
|
c93ffd661a | ||
|
df3005de18 | ||
|
86541cf8ce | ||
|
d0173bce37 | ||
|
a5b3b24958 | ||
|
518abd0bbe | ||
|
fdb8487613 | ||
|
7f5f7d15fb | ||
|
8cd2f88845 | ||
|
3a21e4bd26 | ||
|
75a96cedf7 | ||
|
1b2b0e42ce | ||
|
af1e6aa75b | ||
|
3c73c41871 | ||
|
c73a13e953 | ||
|
92994742d0 | ||
|
2484263fe9 | ||
|
8413822c8c | ||
|
2b916c6e47 | ||
|
e933d54599 | ||
|
c0731a1b14 | ||
|
4fc86f183e | ||
|
23bba717e1 | ||
|
a562313f37 | ||
|
7adc9fa1f1 | ||
|
076f73edb3 | ||
|
04aa8b58a0 | ||
|
c92b2a1d7b | ||
|
2b47ef715a | ||
|
b568a5f6a8 | ||
|
29ef7a9f19 | ||
|
4251ccb47b | ||
|
c1da15709a | ||
|
c67ce2bd3b | ||
|
b73782bf18 | ||
|
f8a647883a | ||
|
ecc559218d | ||
|
5c7fd67045 | ||
|
02425d3ec2 | ||
|
4529916dfd | ||
|
eaba922582 | ||
|
8b838fa9f0 | ||
|
9da9adcfd7 | ||
|
ad75620863 | ||
|
e42d2948d3 | ||
|
5e645e68d6 | ||
|
992cda2c8a | ||
|
930ebb2585 | ||
|
a0b192d3d9 | ||
|
bfad71606a | ||
|
09039f4bc1 | ||
|
e1f4724097 | ||
|
ff463af436 | ||
|
ce90227c71 | ||
|
53077aee66 | ||
|
6f7dea0b32 | ||
|
7cb60d770f | ||
|
b5f1a48e23 | ||
|
3e5a90792d | ||
|
ea0ac53f05 | ||
|
854c4d8b37 | ||
|
1aab58f394 | ||
|
03846696ce | ||
|
3352724dfa | ||
|
086d29f4d7 | ||
|
7a594a95a9 | ||
|
3af2623da5 | ||
|
a0c02d2bbb | ||
|
bd0d6a9cce | ||
|
59979b133d | ||
|
ba78a50071 | ||
|
4be99438e6 | ||
|
2cd466f6c3 | ||
|
501134b9fe | ||
|
03582f95b2 | ||
|
8be01e3548 | ||
|
a69332a312 | ||
|
fc2273a340 | ||
|
44a8cf488e | ||
|
8fbb3d3569 | ||
|
33deff4f05 | ||
|
f18792aa10 | ||
|
59e7e6f7a2 | ||
|
633938afd3 | ||
|
cecf738b0f | ||
|
98b0122e0a | ||
|
b1abfc4947 | ||
|
b145855df6 | ||
|
6bd991a137 | ||
|
1ad928ed9f | ||
|
f68ec2baf4 | ||
|
fa75f2d566 | ||
|
a9f31a032b | ||
|
8368939e5d | ||
|
86ae788bae | ||
|
5a5607a16c | ||
|
1dd3543ac1 | ||
|
fb7eba97d7 | ||
|
24d74b6688 | ||
|
170200e0fc | ||
|
d0a42b457f | ||
|
2294ba9565 | ||
|
3f0e7c28fe | ||
|
19d88e3f9f | ||
|
cb1cfb710c | ||
|
49db765deb | ||
|
49021e5058 | ||
|
c561b2faa8 | ||
|
cd14fcbca0 | ||
|
9ec50dc6bb | ||
|
d1bb3b4910 | ||
|
c00d093c8f | ||
|
055e3a3f87 | ||
|
e235ca159f | ||
|
e17056f5a2 | ||
|
b868971e78 | ||
|
2e04492a14 | ||
|
aefec4fa22 | ||
|
1f5e070dd7 | ||
|
044f7bbda0 | ||
|
22954db71c | ||
|
cbb7477e8a | ||
|
601733da67 | ||
|
95faf2c639 | ||
|
b0193adbe9 | ||
|
736c6f3cfc | ||
|
bf4019a1c8 | ||
|
5142564734 | ||
|
72f31c63d7 | ||
|
6ca3ff982a | ||
|
768b4a25b9 | ||
|
82546729e3 | ||
|
aa25a2c1ba | ||
|
56f1f47eda | ||
|
fd865d56d2 | ||
|
313940b03c | ||
|
ab63610a36 | ||
|
7850774f21 | ||
|
98a4b111fb | ||
|
96d4db683f | ||
|
020301bacc | ||
|
a240748de5 | ||
|
be8a8ebe57 | ||
|
bda1354aac | ||
|
65d36a109a | ||
|
1b1ef6b457 | ||
|
810763deb5 | ||
|
56462a3008 | ||
|
0815729d96 | ||
|
bc5e2bec30 | ||
|
4b15cb6daa | ||
|
d69da58e84 | ||
|
11516b8bd1 | ||
|
e1dcd15878 | ||
|
bb9d59aed5 | ||
|
9deb614cac | ||
|
e39ece0d78 | ||
|
a818faa6dd | ||
|
7b40d92f0d | ||
|
b0654e368b | ||
|
4b6c1efb22 | ||
|
730e8c4410 | ||
|
b42444ffed | ||
|
f8059c9f3f | ||
|
56980f107e | ||
|
a9cbb2c722 | ||
|
4b8745680f | ||
|
aa40546b2d | ||
|
be405ee334 | ||
|
c59c0f8a42 | ||
|
9fff00d387 | ||
|
0127580647 | ||
|
bbbefec732 | ||
|
ca4e17e03e | ||
|
0d207905e6 | ||
|
1252d53c19 | ||
|
7974e23be9 | ||
|
013d731a67 | ||
|
30f97b5e52 | ||
|
24a7d4e437 | ||
|
9d60793a03 | ||
|
22c9339abf | ||
|
00fb21e744 | ||
|
bc893e3dad | ||
|
28db89fa8b | ||
|
dd86fbeaaa | ||
|
43b69aad19 | ||
|
d7cb3f76f5 | ||
|
3afa40e433 | ||
|
05a44ab328 | ||
|
81e2c256e9 | ||
|
dbefffa5b4 | ||
|
319b83b3ee | ||
|
0a51acbb46 | ||
|
7e0036a492 | ||
|
7c4768540d | ||
|
80511d176a | ||
|
17f7148369 | ||
|
c844afe94e | ||
|
a6f39ec1c5 | ||
|
d6b50ba980 | ||
|
c6267ebd6c | ||
|
f3728a16c9 | ||
|
b469cf10ef | ||
|
a3b53beaa0 | ||
|
9f7a68feaf | ||
|
6d8e466792 | ||
|
88818c4cd6 | ||
|
fd092328e1 | ||
|
da89e75d9c | ||
|
77672cdb64 | ||
|
7cf2bffe82 | ||
|
e3e2df01bf | ||
|
71744c0692 | ||
|
c2350fb3db | ||
|
59438a4d0e | ||
|
4b2a58a523 | ||
|
c8e5337a9a | ||
|
d1ffdebce6 | ||
|
b9ea557fd0 | ||
|
f97c14f9e4 | ||
|
65d84daf29 | ||
|
c3fad009c5 | ||
|
a922c27993 | ||
|
6f57fda494 | ||
|
3f4f3e2d48 | ||
|
0a18f16015 | ||
|
60266863d8 | ||
|
44ea8b9b8e | ||
|
7dd429e8f7 | ||
|
65ac360823 | ||
|
884df9ef83 | ||
|
30681c3bb8 | ||
|
d8a250ce5e | ||
|
670b9e56da | ||
|
f73ef82486 | ||
|
57f24299b7 | ||
|
d16ff8ac78 | ||
|
24b0e50683 | ||
|
cc172fddf3 | ||
|
25d6f56c08 | ||
|
4c7b007104 | ||
|
b8f3e316bc | ||
|
2ffe9b5421 | ||
|
2ca1f76781 | ||
|
18955e8a80 | ||
|
b406c34a65 | ||
|
bac12c8948 | ||
|
a193c4978b | ||
|
12df9a7876 | ||
|
99bf47f603 | ||
|
5aa5f90823 | ||
|
3344699243 | ||
|
09d02fa463 | ||
|
74c1001d13 | ||
|
db267a04ce | ||
|
b6f4fdf6a9 | ||
|
ebfd9e0071 | ||
|
aa2fa6723a | ||
|
fff16e4ad2 | ||
|
4805685b6f | ||
|
59b3556f4c | ||
|
d9d0de4d28 | ||
|
55b6f1caae | ||
|
d1f43a7e5b | ||
|
c2670463fd | ||
|
3ce91c727f | ||
|
57b6f8d9f9 | ||
|
f66844820e | ||
|
aa1f2af572 | ||
|
2ecb06b946 | ||
|
1bc0fba572 | ||
|
a3be59b4a9 | ||
|
7626ad8d6d | ||
|
bda9094f1d | ||
|
82f7fad966 | ||
|
8f40428afb | ||
|
f4c13fad65 | ||
|
37d1809dd7 | ||
|
c9998617a8 | ||
|
05c847433f | ||
|
d00e2763b1 | ||
|
40bc1c32d2 | ||
|
bda79139d4 | ||
|
a58a66fe85 | ||
|
ba9fb96f86 | ||
|
df4ee8ef36 | ||
|
0af240e940 | ||
|
d070238944 | ||
|
41acdae2e9 | ||
|
3a4b87f26d | ||
|
d5787e7eef | ||
|
19f46d0540 | ||
|
8cf72972ce | ||
|
799afadf51 | ||
|
df16e0dd63 | ||
|
0e94f350ee | ||
|
567f1b2ee8 | ||
|
61846f222f | ||
|
d563946a40 | ||
|
da7adb99e8 | ||
|
b7f98f9f09 | ||
|
64a0ae88b9 | ||
|
2abbe941e1 | ||
|
fb800b3dcd | ||
|
0cfac91755 | ||
|
c53aa26379 | ||
|
73a9a1539a | ||
|
54f2950297 | ||
|
7c758c5a21 | ||
|
1009b3311f | ||
|
1036b024d4 | ||
|
497eb29583 | ||
|
206af9d049 | ||
|
3d528e7c47 | ||
|
882413f1c5 | ||
|
550a570c53 | ||
|
6823d713c6 | ||
|
cb0c12512c | ||
|
e32e546c17 | ||
|
a30cc28829 | ||
|
6435b2909e | ||
|
5852b5d2fa | ||
|
8e758c3a74 | ||
|
fa602c2088 | ||
|
a894ed8293 | ||
|
78d3054980 | ||
|
bb97cc66c1 | ||
|
a2af956963 | ||
|
df3860a3e3 | ||
|
e2b59a39cb | ||
|
5ead448719 | ||
|
6b37643b82 | ||
|
5e3974338e | ||
|
0aa2446e2c | ||
|
46b2b3bda8 | ||
|
50a957c5de | ||
|
e4d738f6c6 | ||
|
2369dc8382 | ||
|
68dcbf4c46 | ||
|
85f5722f70 | ||
|
5ef1782b9f | ||
|
4ef7d93a94 | ||
|
b7492a1f45 | ||
|
4e8bbed926 | ||
|
3639d66a47 | ||
|
2d8213bfa9 | ||
|
8141b4cee5 | ||
|
d082c53249 | ||
|
2f50fc040c | ||
|
1828357629 | ||
|
4f57ccd02d | ||
|
c2c2e9ab60 | ||
|
956ebf41ac | ||
|
b06a6852ff | ||
|
461b4b103f | ||
|
e2ef659c2e | ||
|
1040a861a8 | ||
|
e7e29189e2 | ||
|
e342039612 | ||
|
0399d7ab3f | ||
|
8e5e18ac28 | ||
|
a1202807dc | ||
|
0b915856ba | ||
|
c17e01748e | ||
|
3593f37fd7 | ||
|
d62879565a | ||
|
32debea337 | ||
|
dc1ece3748 | ||
|
78674631a2 | ||
|
ce2a4bd541 | ||
|
5284e9e2c4 | ||
|
48926da0f7 | ||
|
bf6247f608 | ||
|
66d77cd71c | ||
|
a29a8b92ff | ||
|
fe1503fe38 | ||
|
787995bffb | ||
|
9ab5b644ef | ||
|
1c328b8aa7 | ||
|
72c784347b | ||
|
0efd773f71 | ||
|
816e4c1b5e | ||
|
16f6d432de | ||
|
fe42902009 | ||
|
800efb0690 | ||
|
fcc1949cc4 | ||
|
13322a6590 | ||
|
09c440c718 | ||
|
7fccebf980 | ||
|
300926def0 | ||
|
d323f26830 | ||
|
61ed88b1dd | ||
|
24799c4223 | ||
|
b94367ba8d | ||
|
89212f9d06 | ||
|
48f9f0bfdd | ||
|
2494f91fb8 | ||
|
a92f0277d8 | ||
|
f20cfc5a40 | ||
|
613f1e00b8 | ||
|
2a95fd1531 | ||
|
5bfc360e40 | ||
|
1ad305b612 | ||
|
e693fc299f | ||
|
0963718790 | ||
|
2a2c946942 | ||
|
d7bd9fa1a3 | ||
|
98a6c5ea11 | ||
|
4c7196b684 | ||
|
a2a1a5805f | ||
|
958b5c3111 | ||
|
a62ccdec62 | ||
|
912921059d | ||
|
5b4a7ec8f1 | ||
|
545dec5b3e | ||
|
fadf347735 | ||
|
9383664a9c | ||
|
5f8d9ae5a5 | ||
|
b298311d51 | ||
|
2f11e92cef | ||
|
cd0dec0d9d | ||
|
4be30fcd05 | ||
|
5b7dd4d419 | ||
|
c2cb771354 | ||
|
19a6214b0f | ||
|
6d207b8e35 | ||
|
d246a96bbc | ||
|
8ba1982b1e | ||
|
801d41fa43 | ||
|
8c8a71f0d1 | ||
|
346ce0b988 | ||
|
20e484afa4 | ||
|
670914ea7c | ||
|
fc65b6eb61 | ||
|
2133980bc7 | ||
|
190756482e | ||
|
090529af18 | ||
|
ccf9598ad7 | ||
|
ff7896a398 | ||
|
e42cfe5d03 | ||
|
27aa31fab4 | ||
|
5341349dde | ||
|
be7adc2eca | ||
|
90dfabc3b5 | ||
|
be1f49bda9 | ||
|
bde4c8ec1f | ||
|
18e73bf7f8 | ||
|
c4a2217e79 | ||
|
9f344b908a | ||
|
eaf799ddff | ||
|
8eea091747 | ||
|
01cdbba341 | ||
|
7e337859ff | ||
|
4b17f0d9f5 | ||
|
3a31876600 | ||
|
ef42352ff4 | ||
|
51e8d549e1 | ||
|
4bddd82bf3 | ||
|
b00cd6e4a0 | ||
|
3ee2daf23d | ||
|
8fba933ca2 | ||
|
05a12c53a3 | ||
|
b73bec0ecd | ||
|
f9f79d29ce | ||
|
26222932c0 | ||
|
af768922ca | ||
|
7e0180d57d | ||
|
7b9ebf879b | ||
|
779cabfc7d | ||
|
d21320f625 | ||
|
882476fea3 | ||
|
26c1361ac3 | ||
|
642f289824 | ||
|
f11c6f09cf | ||
|
131573df7a | ||
|
09348c12fc | ||
|
fbf3aebf1f | ||
|
141e1eb29f | ||
|
7124feba1b | ||
|
0f4d2b0a2d | ||
|
1835ce6e35 | ||
|
9476b11d6e | ||
|
320089dbd6 | ||
|
cd7dd45bfe | ||
|
1e80c9fab9 | ||
|
3df7892878 | ||
|
7432017f65 | ||
|
a0d3915663 | ||
|
748bf459b4 | ||
|
e4c540f6d0 | ||
|
ab80519b3c | ||
|
759ed0bd03 | ||
|
ea633db65f | ||
|
1966ea5772 | ||
|
2a66ee6fc1 | ||
|
5dfea83ee6 | ||
|
0b1111d985 | ||
|
5360ff30c4 | ||
|
3ad92589f2 | ||
|
173ed05a6d | ||
|
8a1d58bd61 | ||
|
7b0d0a2bf2 | ||
|
0aa83f3e90 | ||
|
e72f5ef502 | ||
|
98a1a2c730 | ||
|
2747d566f1 | ||
|
9f651dbf79 | ||
|
20b2907db7 | ||
|
fa0a86c057 | ||
|
c717604dc4 | ||
|
cd50906e03 | ||
|
df89ed1591 | ||
|
a78a589efc | ||
|
84fc5fece0 | ||
|
6b09598d63 | ||
|
1146696f75 | ||
|
18feaa8f36 | ||
|
3095ee9b8b | ||
|
75df8f0019 | ||
|
431a065861 | ||
|
7a50bf6c7f | ||
|
10a7b579fd | ||
|
82b9b2e523 | ||
|
a025e539e4 | ||
|
c505064b2c | ||
|
9027d53b2a | ||
|
dd50ccf0f4 | ||
|
cc32d25454 | ||
|
132031b110 | ||
|
c73d30dfe9 | ||
|
abc20120e4 | ||
|
0959d7312d | ||
|
a27ec5dc46 | ||
|
69a1b9959e | ||
|
de5c2b6f2b | ||
|
4cbf0a0ccf | ||
|
8108de4774 | ||
|
f7008ebcdc | ||
|
5d219908ce | ||
|
6cc29cf5e2 | ||
|
846c60fc7d | ||
|
6dfce109c2 | ||
|
66d3543845 | ||
|
ad2c3905d3 | ||
|
e70d051560 | ||
|
c397bd1407 | ||
|
1bfa25e88d | ||
|
4fe15717ce | ||
|
6be024f44d | ||
|
f3a620e2a6 | ||
|
a078e13a7c | ||
|
0edb084f9d | ||
|
0fae4e451b | ||
|
75784243df | ||
|
15d3524ad2 | ||
|
2b7a54452f | ||
|
e44845472a | ||
|
a1a6f00782 | ||
|
65b2ae510b | ||
|
422296e38d | ||
|
ab3ba21f97 | ||
|
749dced4b3 | ||
|
7e0a26defe | ||
|
f60354ee72 | ||
|
0a8af6361e | ||
|
f12302b898 | ||
|
64390967c1 | ||
|
13372a0ce7 | ||
|
8524deb8c8 | ||
|
dc776ffb90 | ||
|
0163c99e8f | ||
|
308c0bf743 | ||
|
04a57a7ee9 | ||
|
1f02a82c8b | ||
|
27d8a690c4 | ||
|
a2dde3a8da | ||
|
c04339486a | ||
|
0166b4c165 | ||
|
2cfa64e159 | ||
|
bbfdf5c17b | ||
|
adc816a1e4 | ||
|
ec151e2f72 | ||
|
efb36271a9 | ||
|
e27ea99644 | ||
|
7d642442d9 | ||
|
c7f3657450 | ||
|
64cb014037 | ||
|
f1d08c4f75 | ||
|
f241345793 | ||
|
c8d3ebaffc | ||
|
38c2ec5ff0 | ||
|
87d2e15b1a | ||
|
73d0e7f345 | ||
|
6611f65047 | ||
|
10cff5e1ae | ||
|
a804f58243 | ||
|
86ebd31c67 | ||
|
f025aec906 | ||
|
7009e2683e | ||
|
24842e18aa | ||
|
40e2102e52 | ||
|
248b26429f | ||
|
b0334a9aeb | ||
|
7b06af9d3c | ||
|
128de6f6d7 | ||
|
86a3557d7c | ||
|
18039078e0 | ||
|
d9ab95b365 | ||
|
493af150fb | ||
|
fc2726e4af | ||
|
f1be3d8cdd | ||
|
7316cc92f3 | ||
|
3836857a77 | ||
|
245b464d5c | ||
|
872ede6fd1 | ||
|
5a69929683 | ||
|
bd214f030f | ||
|
3da1c7919d | ||
|
d50598fbad | ||
|
d3f4f6b2e9 | ||
|
ff0a41b5d5 | ||
|
c427daa23e | ||
|
24bf11e9c7 | ||
|
939dc28506 | ||
|
7ecb11c81c | ||
|
9565e34528 | ||
|
f70719cc4b | ||
|
83984f134b | ||
|
28dda47ae4 | ||
|
97ec2c694f | ||
|
7744687ddb | ||
|
914365c0eb | ||
|
a34e871449 | ||
|
9e127325ef | ||
|
32aa1d769d | ||
|
b193f2b9b6 | ||
|
a84505c719 | ||
|
2215ff2a5d | ||
|
6b9f5cd5f7 | ||
|
0a155538eb | ||
|
959b47262b | ||
|
29addf50e0 | ||
|
fc73f8ab8c | ||
|
7abc1e3286 | ||
|
89bd5ee64c | ||
|
197a19f9ed | ||
|
fe2b748a39 | ||
|
9d408a41a3 | ||
|
c3215ef204 | ||
|
1087c566e3 | ||
|
4f57cdba27 | ||
|
e212a80db3 | ||
|
2c8f251369 | ||
|
80fc9c01df | ||
|
dabec9c293 | ||
|
8276ba260e | ||
|
f045b8b2ff | ||
|
73afa31f07 | ||
|
ccaf37f449 | ||
|
19ea623586 | ||
|
b4c66e4d3e | ||
|
3c6af396f9 | ||
|
0896d629fd | ||
|
0da3b732ad | ||
|
0faeb21dc0 | ||
|
f1946546c7 | ||
|
c88e6cdfbf | ||
|
c3b205dbeb | ||
|
9e13f5c85f | ||
|
5dcb28c3d2 | ||
|
4caaa2681e | ||
|
e35c571783 | ||
|
5ccd61217d | ||
|
1de93f9499 | ||
|
5afed936fe | ||
|
ebe3043eea | ||
|
830f67046a | ||
|
7f77abc9ed | ||
|
83458e7c53 | ||
|
9a0c883292 | ||
|
21803b7b33 | ||
|
c9676329dd | ||
|
b624ccc206 | ||
|
500525e960 | ||
|
89bc4c78c3 | ||
|
67c4c9e1a7 | ||
|
f7dcc11603 | ||
|
7fcbe14107 | ||
|
b535ba55ed | ||
|
362eff7741 | ||
|
438e9c8b88 | ||
|
c5a8da5f24 | ||
|
12bc22ef58 | ||
|
aca5228011 | ||
|
241317d59a | ||
|
3258e1b80d | ||
|
aa7d4cecec | ||
|
f49e51ef44 | ||
|
0ecdf04060 | ||
|
864907e2f1 | ||
|
2b1a1d8b12 | ||
|
af2aea40d2 | ||
|
4ea5223a95 | ||
|
0afa633507 | ||
|
6098ef8244 | ||
|
879dcf07f6 | ||
|
d1f0e01979 | ||
|
6082515de7 | ||
|
dc7e6463d3 | ||
|
00b6b41482 | ||
|
906da49527 | ||
|
db5105b4b3 | ||
|
3244195f48 | ||
|
0a8c8fa770 | ||
|
1370fde8af | ||
|
bb2c4b68f7 | ||
|
01b5f13363 | ||
|
9350ea6979 | ||
|
f17c8c287f | ||
|
2dc2b12ed1 | ||
|
8852e26e93 | ||
|
e4512e1581 | ||
|
edb8383c98 | ||
|
d5f1253b0c | ||
|
21b7c58b8a | ||
|
e22e0de0d7 | ||
|
089e7c3788 | ||
|
dacf9efd63 | ||
|
bad107f2ec | ||
|
b875198f1f | ||
|
54afb10f0e | ||
|
3df5aaaa15 | ||
|
412c8c8e7e | ||
|
ca21c9ab28 | ||
|
2a397c7958 | ||
|
7f282d05a1 | ||
|
69ee316c1d | ||
|
a1afd59662 | ||
|
385cd3e0be | ||
|
c9dbdc08b9 | ||
|
06f76b7fa6 | ||
|
e566e5203a | ||
|
c61bc6ed84 | ||
|
de3e323be1 | ||
|
195ab79dde | ||
|
ba5e1612c8 | ||
|
73d2b5af52 | ||
|
d15b32ebde | ||
|
249a9df7fc | ||
|
c0ca6c30ea | ||
|
dd9ceb0219 | ||
|
24df6cd0f7 | ||
|
07158c508a | ||
|
6218c68bec | ||
|
cae701fc8e | ||
|
61912036d1 | ||
|
b5622313ea | ||
|
19a0ba130f | ||
|
17e8fca626 | ||
|
b4b4406e1e | ||
|
a98600b0eb | ||
|
2a210b797e | ||
|
556dd4af76 | ||
|
7e5064360c | ||
|
35d8379304 | ||
|
ad62ec8316 | ||
|
052b3d4e2f | ||
|
3cf90bb183 | ||
|
404a90b827 | ||
|
229450520a | ||
|
7de85694fa | ||
|
cbdc26aa3f | ||
|
2ee95f6d64 | ||
|
dc2e92b2d3 | ||
|
934e4a469f | ||
|
f825fe8e13 | ||
|
07acf9cb16 | ||
|
9871646c13 | ||
|
36d107e92c | ||
|
fbba25bba0 | ||
|
316206ee9e | ||
|
c1151b18f2 | ||
|
101a73846b | ||
|
c97105ee12 | ||
|
6026f7e8fb | ||
|
77a78c65f8 | ||
|
d1663ccb4c | ||
|
9f261dc18d | ||
|
b2c6ba0c4b | ||
|
104c8fc2c2 | ||
|
c2ff3485b3 | ||
|
4b35ab9bdb | ||
|
9d4b9f1e0c | ||
|
147cdb53ec | ||
|
e31bce4041 | ||
|
c1de7df6d4 | ||
|
a552c897ca | ||
|
30d67d3824 | ||
|
390f94e358 | ||
|
29aaab2b5f | ||
|
32a220f1f6 | ||
|
23132cd13b | ||
|
c8b8e8b29b | ||
|
7796e8889a | ||
|
3fd4c80b32 | ||
|
5458ac01ae | ||
|
997f677841 | ||
|
0f69d59b1c | ||
|
af83eb2581 | ||
|
76851f49a5 | ||
|
8fbcabc41a | ||
|
19056d0429 | ||
|
fc0da629b5 | ||
|
e70f5617f1 |
@@ -42,6 +42,7 @@ LOCAL_CFLAGS += \
|
||||
-DANDROID_VERSION=0x0$(MESA_ANDROID_MAJOR_VERSION)0$(MESA_ANDROID_MINOR_VERSION)
|
||||
|
||||
LOCAL_CFLAGS += \
|
||||
-D__STDC_LIMIT_MACROS \
|
||||
-DHAVE___BUILTIN_EXPECT \
|
||||
-DHAVE___BUILTIN_FFS \
|
||||
-DHAVE___BUILTIN_FFSLL \
|
||||
@@ -70,7 +71,7 @@ endif
|
||||
|
||||
ifeq ($(MESA_ENABLE_LLVM),true)
|
||||
LOCAL_CFLAGS += \
|
||||
-DHAVE_LLVM=0x0305 -DLLVM_VERSION_PATCH=2 \
|
||||
-DHAVE_LLVM=0x0305 -DMESA_LLVM_VERSION_PATCH=2 \
|
||||
-D__STDC_CONSTANT_MACROS \
|
||||
-D__STDC_FORMAT_MACROS \
|
||||
-D__STDC_LIMIT_MACROS
|
||||
|
@@ -45,8 +45,6 @@ endif
|
||||
MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
|
||||
MESA_PYTHON2 := python
|
||||
|
||||
DRM_GRALLOC_TOP := hardware/drm_gralloc
|
||||
|
||||
classic_drivers := i915 i965
|
||||
gallium_drivers := swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx vc4
|
||||
|
||||
@@ -91,8 +89,7 @@ SUBDIRS := \
|
||||
src/glsl \
|
||||
src/mesa \
|
||||
src/util \
|
||||
src/egl/main \
|
||||
src/egl/drivers/dri2 \
|
||||
src/egl \
|
||||
src/mesa/drivers/dri
|
||||
|
||||
ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
|
||||
|
@@ -32,7 +32,10 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--enable-vdpau \
|
||||
--enable-xa \
|
||||
--enable-xvmc \
|
||||
--with-egl-platforms=x11,wayland,drm
|
||||
--disable-llvm-shared-libs \
|
||||
--with-egl-platforms=x11,wayland,drm \
|
||||
--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \
|
||||
--with-gallium-drivers=i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
|
5
bin/.cherry-ignore
Normal file
5
bin/.cherry-ignore
Normal file
@@ -0,0 +1,5 @@
|
||||
# The commit base differs greatly between 11.0 and master
|
||||
2832ca95ecce064c7d841a3a374c2179f56161be glsl: fix stream qualifier for blocks with an instance name
|
||||
|
||||
# Somewhat of a mixed feature/bugfix patch, causing some 200 piglit regressions
|
||||
2b676570960277d47477822ffeccc672613f9142 gallium/swrast: fix front buffer blitting. (v2)
|
@@ -15,17 +15,14 @@
|
||||
# $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | wc -l
|
||||
|
||||
|
||||
# regex pattern: trim before url
|
||||
trim_before='s/.*\(http\)/\1/'
|
||||
# regex pattern: trim before bug number
|
||||
trim_before='s/.*show_bug.cgi?id=\([0-9]*\).*/\1/'
|
||||
|
||||
# regex pattern: trim after url
|
||||
trim_after='s/\(show_bug.cgi?id=[0-9]*\).*/\1/'
|
||||
|
||||
# regex pattern: always use https
|
||||
use_https='s/http:/https:/'
|
||||
# regex pattern: reconstruct the url
|
||||
use_after='s,^,https://bugs.freedesktop.org/show_bug.cgi?id=,'
|
||||
|
||||
# extract fdo urls from commit log
|
||||
urls=$(git log $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before -e $trim_after -e $use_https | sort | uniq)
|
||||
urls=$(git log $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before | sort -n -u | sed -e $use_after)
|
||||
|
||||
# if DRYRUN is set to "yes", simply print the URLs and don't fetch the
|
||||
# details from fdo bugzilla.
|
||||
|
35
bin/get-extra-pick-list.sh
Executable file
35
bin/get-extra-pick-list.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Script for generating a list of candidates which fix commits that have been
|
||||
# previously cherry-picked to a stable branch.
|
||||
#
|
||||
# Usage examples:
|
||||
#
|
||||
# $ bin/get-extra-pick-list.sh
|
||||
# $ bin/get-extra-pick-list.sh > picklist
|
||||
# $ bin/get-extra-pick-list.sh | tee picklist
|
||||
|
||||
# Use the last branchpoint as our limit for the search
|
||||
# XXX: there should be a better way for this
|
||||
latest_branchpoint=`git branch | grep \* | cut -c 3-`-branchpoint
|
||||
|
||||
# Grep for commits with "cherry picked from commit" in the commit message.
|
||||
git log --reverse --grep="cherry picked from commit" $latest_branchpoint..HEAD |\
|
||||
grep "cherry picked from commit" |\
|
||||
sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' |\
|
||||
cut -c -8 |\
|
||||
while read sha
|
||||
do
|
||||
# Check if the original commit is referenced in master
|
||||
git log -n1 --pretty=oneline --grep=$sha $latest_branchpoint..origin/master |\
|
||||
cut -c -8 |\
|
||||
while read candidate
|
||||
do
|
||||
# Check if the potential fix, hasn't landed in branch yet.
|
||||
found=`git log -n1 --pretty=oneline --reverse --grep=$candidate $latest_branchpoint..HEAD |wc -l`
|
||||
if test $found = 0
|
||||
then
|
||||
echo Commit $candidate might need to be picked, as it references $sha
|
||||
fi
|
||||
done
|
||||
done
|
@@ -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\.0.*mesa-stable\)' HEAD..origin/master |\
|
||||
while read sha
|
||||
do
|
||||
# Check to see whether the patch is on the ignore list.
|
||||
|
265
configure.ac
265
configure.ac
@@ -9,7 +9,6 @@ dnl Copyright © 2009-2014 Jon TURNEY
|
||||
dnl Copyright © 2011-2012 Benjamin Franzke
|
||||
dnl Copyright © 2008-2014 David Airlie
|
||||
dnl Copyright © 2009-2013 Brian Paul
|
||||
dnl Copyright © 2003-2007 Keith Packard, Daniel Stone
|
||||
dnl
|
||||
dnl Permission is hereby granted, free of charge, to any person obtaining a
|
||||
dnl copy of this software and associated documentation files (the "Software"),
|
||||
@@ -44,7 +43,7 @@ AC_INIT([Mesa], [MESA_VERSION],
|
||||
AC_CONFIG_AUX_DIR([bin])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CANONICAL_SYSTEM
|
||||
AM_INIT_AUTOMAKE([foreign tar-ustar dist-xz])
|
||||
AM_INIT_AUTOMAKE([foreign tar-ustar dist-xz subdir-objects])
|
||||
|
||||
dnl We only support native Windows builds (MinGW/MSVC) through SCons.
|
||||
case "$host_os" in
|
||||
@@ -64,14 +63,17 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||
dnl Set internal versions
|
||||
OSMESA_VERSION=8
|
||||
AC_SUBST([OSMESA_VERSION])
|
||||
OPENCL_VERSION=1
|
||||
AC_SUBST([OPENCL_VERSION])
|
||||
|
||||
dnl Versions for external dependencies
|
||||
LIBDRM_REQUIRED=2.4.38
|
||||
LIBDRM_REQUIRED=2.4.60
|
||||
LIBDRM_RADEON_REQUIRED=2.4.56
|
||||
LIBDRM_INTEL_REQUIRED=2.4.60
|
||||
LIBDRM_AMDGPU_REQUIRED=2.4.63
|
||||
LIBDRM_INTEL_REQUIRED=2.4.61
|
||||
LIBDRM_NVVIEUX_REQUIRED=2.4.33
|
||||
LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
|
||||
LIBDRM_FREEDRENO_REQUIRED=2.4.57
|
||||
LIBDRM_NOUVEAU_REQUIRED=2.4.62
|
||||
LIBDRM_FREEDRENO_REQUIRED=2.4.64
|
||||
DRI2PROTO_REQUIRED=2.6
|
||||
DRI3PROTO_REQUIRED=1.0
|
||||
PRESENTPROTO_REQUIRED=1.0
|
||||
@@ -79,7 +81,7 @@ LIBUDEV_REQUIRED=151
|
||||
GLPROTO_REQUIRED=1.4.14
|
||||
LIBOMXIL_BELLAGIO_REQUIRED=0.0
|
||||
LIBVA_REQUIRED=0.35.0
|
||||
VDPAU_REQUIRED=0.4.1
|
||||
VDPAU_REQUIRED=1.1
|
||||
WAYLAND_REQUIRED=1.2.0
|
||||
XCB_REQUIRED=1.9.3
|
||||
XCBDRI2_REQUIRED=1.8
|
||||
@@ -104,6 +106,8 @@ AC_SYS_LARGEFILE
|
||||
LT_PREREQ([2.2])
|
||||
LT_INIT([disable-static])
|
||||
|
||||
AC_CHECK_PROG(RM, rm, [rm -f])
|
||||
|
||||
AX_PROG_BISON([],
|
||||
AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
|
||||
[AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
|
||||
@@ -205,11 +209,14 @@ AX_GCC_BUILTIN([__builtin_popcount])
|
||||
AX_GCC_BUILTIN([__builtin_popcountll])
|
||||
AX_GCC_BUILTIN([__builtin_unreachable])
|
||||
|
||||
AX_GCC_FUNC_ATTRIBUTE([const])
|
||||
AX_GCC_FUNC_ATTRIBUTE([flatten])
|
||||
AX_GCC_FUNC_ATTRIBUTE([format])
|
||||
AX_GCC_FUNC_ATTRIBUTE([malloc])
|
||||
AX_GCC_FUNC_ATTRIBUTE([packed])
|
||||
AX_GCC_FUNC_ATTRIBUTE([pure])
|
||||
AX_GCC_FUNC_ATTRIBUTE([unused])
|
||||
AX_GCC_FUNC_ATTRIBUTE([warn_unused_result])
|
||||
|
||||
AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
|
||||
|
||||
@@ -230,7 +237,7 @@ _SAVE_LDFLAGS="$LDFLAGS"
|
||||
_SAVE_CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
dnl Compiler macros
|
||||
DEFINES=""
|
||||
DEFINES="-D__STDC_LIMIT_MACROS"
|
||||
AC_SUBST([DEFINES])
|
||||
case "$host_os" in
|
||||
linux*|*-gnu*|gnu*)
|
||||
@@ -281,6 +288,9 @@ if test "x$GCC" = xyes; then
|
||||
# Work around aliasing bugs - developers should comment this out
|
||||
CFLAGS="$CFLAGS -fno-strict-aliasing"
|
||||
|
||||
# We don't want floating-point math functions to set errno or trap
|
||||
CFLAGS="$CFLAGS -fno-math-errno -fno-trapping-math"
|
||||
|
||||
# gcc's builtin memcmp is slower than glibc's
|
||||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
|
||||
CFLAGS="$CFLAGS -fno-builtin-memcmp"
|
||||
@@ -651,6 +661,7 @@ fi
|
||||
AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"])
|
||||
AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"])
|
||||
AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
|
||||
AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"])
|
||||
|
||||
dnl Check to see if dlopen is in default libraries (like Solaris, which
|
||||
dnl has it in libc), or if libdl is needed to get it.
|
||||
@@ -910,6 +921,13 @@ 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])
|
||||
if test "x$have_libdrm" = xyes; then
|
||||
DEFINES="$DEFINES -DHAVE_LIBDRM"
|
||||
fi
|
||||
|
||||
# Select which platform-dependent DRI code gets built
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
@@ -922,8 +940,8 @@ esac
|
||||
|
||||
AM_CONDITIONAL(HAVE_DRICOMMON, test "x$enable_dri" = xyes )
|
||||
AM_CONDITIONAL(HAVE_DRISW, test "x$enable_dri" = xyes )
|
||||
AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm )
|
||||
AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm )
|
||||
AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" = xyes )
|
||||
AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" = xyes )
|
||||
AM_CONDITIONAL(HAVE_APPLEDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xapple )
|
||||
|
||||
AC_ARG_ENABLE([shared-glapi],
|
||||
@@ -952,11 +970,9 @@ dnl
|
||||
dnl Driver specific build directories
|
||||
dnl
|
||||
|
||||
case "x$enable_glx$enable_xlib_glx" in
|
||||
xyesyes)
|
||||
if test -n "$with_gallium_drivers" -a "x$enable_glx$enable_xlib_glx" = xyesyes; then
|
||||
NEED_WINSYS_XLIB="yes"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if test "x$enable_dri" = xyes; then
|
||||
enable_gallium_loader="$enable_shared_pipe_drivers"
|
||||
@@ -973,151 +989,6 @@ fi
|
||||
|
||||
AC_SUBST([MESA_LLVM])
|
||||
|
||||
# SHA1 hashing
|
||||
AC_ARG_WITH([sha1],
|
||||
[AS_HELP_STRING([--with-sha1=libc|libmd|libnettle|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI],
|
||||
[choose SHA1 implementation])])
|
||||
case "x$with_sha1" in
|
||||
x | xlibc | xlibmd | xlibnettle | xlibgcrypt | xlibcrypto | xlibsha1 | xCommonCrypto | xCryptoAPI)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Illegal value for --with-sha1: $with_sha1])
|
||||
esac
|
||||
|
||||
AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
|
||||
if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
|
||||
with_sha1=libc
|
||||
fi
|
||||
if test "x$with_sha1" = xlibc && test "x$HAVE_SHA1_IN_LIBC" != xyes; then
|
||||
AC_MSG_ERROR([sha1 in libc requested but not found])
|
||||
fi
|
||||
if test "x$with_sha1" = xlibc; then
|
||||
AC_DEFINE([HAVE_SHA1_IN_LIBC], [1],
|
||||
[Use libc SHA1 functions])
|
||||
SHA1_LIBS=""
|
||||
fi
|
||||
AC_CHECK_FUNC([CC_SHA1_Init], [HAVE_SHA1_IN_COMMONCRYPTO=yes])
|
||||
if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_COMMONCRYPTO" = xyes; then
|
||||
with_sha1=CommonCrypto
|
||||
fi
|
||||
if test "x$with_sha1" = xCommonCrypto && test "x$HAVE_SHA1_IN_COMMONCRYPTO" != xyes; then
|
||||
AC_MSG_ERROR([CommonCrypto requested but not found])
|
||||
fi
|
||||
if test "x$with_sha1" = xCommonCrypto; then
|
||||
AC_DEFINE([HAVE_SHA1_IN_COMMONCRYPTO], [1],
|
||||
[Use CommonCrypto SHA1 functions])
|
||||
SHA1_LIBS=""
|
||||
fi
|
||||
dnl stdcall functions cannot be tested with AC_CHECK_LIB
|
||||
AC_CHECK_HEADER([wincrypt.h], [HAVE_SHA1_IN_CRYPTOAPI=yes], [], [#include <windows.h>])
|
||||
if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_CRYPTOAPI" = xyes; then
|
||||
with_sha1=CryptoAPI
|
||||
fi
|
||||
if test "x$with_sha1" = xCryptoAPI && test "x$HAVE_SHA1_IN_CRYPTOAPI" != xyes; then
|
||||
AC_MSG_ERROR([CryptoAPI requested but not found])
|
||||
fi
|
||||
if test "x$with_sha1" = xCryptoAPI; then
|
||||
AC_DEFINE([HAVE_SHA1_IN_CRYPTOAPI], [1],
|
||||
[Use CryptoAPI SHA1 functions])
|
||||
SHA1_LIBS=""
|
||||
fi
|
||||
AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
|
||||
if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
|
||||
with_sha1=libmd
|
||||
fi
|
||||
if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
|
||||
AC_MSG_ERROR([libmd requested but not found])
|
||||
fi
|
||||
if test "x$with_sha1" = xlibmd; then
|
||||
AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
|
||||
[Use libmd SHA1 functions])
|
||||
SHA1_LIBS=-lmd
|
||||
fi
|
||||
PKG_CHECK_MODULES([LIBSHA1], [libsha1], [HAVE_LIBSHA1=yes], [HAVE_LIBSHA1=no])
|
||||
if test "x$with_sha1" = x && test "x$HAVE_LIBSHA1" = xyes; then
|
||||
with_sha1=libsha1
|
||||
fi
|
||||
if test "x$with_sha1" = xlibsha1 && test "x$HAVE_LIBSHA1" != xyes; then
|
||||
AC_MSG_ERROR([libsha1 requested but not found])
|
||||
fi
|
||||
if test "x$with_sha1" = xlibsha1; then
|
||||
AC_DEFINE([HAVE_SHA1_IN_LIBSHA1], [1],
|
||||
[Use libsha1 for SHA1])
|
||||
SHA1_LIBS=-lsha1
|
||||
fi
|
||||
AC_CHECK_LIB([nettle], [nettle_sha1_init], [HAVE_LIBNETTLE=yes])
|
||||
if test "x$with_sha1" = x && test "x$HAVE_LIBNETTLE" = xyes; then
|
||||
with_sha1=libnettle
|
||||
fi
|
||||
if test "x$with_sha1" = xlibnettle && test "x$HAVE_LIBNETTLE" != xyes; then
|
||||
AC_MSG_ERROR([libnettle requested but not found])
|
||||
fi
|
||||
if test "x$with_sha1" = xlibnettle; then
|
||||
AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1],
|
||||
[Use libnettle SHA1 functions])
|
||||
SHA1_LIBS=-lnettle
|
||||
fi
|
||||
AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
|
||||
if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
|
||||
with_sha1=libgcrypt
|
||||
fi
|
||||
if test "x$with_sha1" = xlibgcrypt && test "x$HAVE_LIBGCRYPT" != xyes; then
|
||||
AC_MSG_ERROR([libgcrypt requested but not found])
|
||||
fi
|
||||
if test "x$with_sha1" = xlibgcrypt; then
|
||||
AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
|
||||
[Use libgcrypt SHA1 functions])
|
||||
SHA1_LIBS=-lgcrypt
|
||||
fi
|
||||
# We don't need all of the OpenSSL libraries, just libcrypto
|
||||
AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
|
||||
PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
|
||||
[HAVE_OPENSSL_PKC=no])
|
||||
if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
|
||||
if test "x$with_sha1" = x; then
|
||||
with_sha1=libcrypto
|
||||
fi
|
||||
else
|
||||
if test "x$with_sha1" = xlibcrypto; then
|
||||
AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
|
||||
fi
|
||||
fi
|
||||
if test "x$with_sha1" = xlibcrypto; then
|
||||
if test "x$HAVE_LIBCRYPTO" = xyes; then
|
||||
SHA1_LIBS=-lcrypto
|
||||
else
|
||||
SHA1_LIBS="$OPENSSL_LIBS"
|
||||
SHA1_CFLAGS="$OPENSSL_CFLAGS"
|
||||
fi
|
||||
fi
|
||||
AC_MSG_CHECKING([for SHA1 implementation])
|
||||
AC_MSG_RESULT([$with_sha1])
|
||||
AC_SUBST(SHA1_LIBS)
|
||||
AC_SUBST(SHA1_CFLAGS)
|
||||
|
||||
# Allow user to configure out the shader-cache feature
|
||||
AC_ARG_ENABLE([shader-cache],
|
||||
AS_HELP_STRING([--disable-shader-cache], [Disable binary shader cache]),
|
||||
[enable_shader_cache="$enableval"],
|
||||
[if test "x$with_sha1" != "x"; then
|
||||
enable_shader_cache=yes
|
||||
else
|
||||
enable_shader_cache=no
|
||||
fi])
|
||||
if test "x$with_sha1" = "x"; then
|
||||
if test "x$enable_shader_cache" = "xyes"; then
|
||||
AC_MSG_ERROR([Cannot enable shader cache (no SHA-1 implementation found)])
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL([ENABLE_SHADER_CACHE], [test x$enable_shader_cache = xyes])
|
||||
|
||||
# Check for libdrm
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
|
||||
[have_libdrm=yes], [have_libdrm=no])
|
||||
if test "x$have_libdrm" = xyes; then
|
||||
DEFINES="$DEFINES -DHAVE_LIBDRM"
|
||||
fi
|
||||
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
need_pci_id=yes ;;
|
||||
@@ -1281,6 +1152,16 @@ AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
|
||||
AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
|
||||
[DEFINES="${DEFINES} -DGLX_USE_TLS"])
|
||||
|
||||
dnl Read-only text section on x86 hardened platforms
|
||||
AC_ARG_ENABLE([glx-read-only-text],
|
||||
[AS_HELP_STRING([--enable-glx-read-only-text],
|
||||
[Disable writable .text section on x86 (decreases performance) @<:@default=disabled@:>@])],
|
||||
[enable_glx_read_only_text="$enableval"],
|
||||
[enable_glx_read_only_text=no])
|
||||
if test "x$enable_glx_read_only_text" = xyes; then
|
||||
DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl More DRI setup
|
||||
dnl
|
||||
@@ -1353,7 +1234,7 @@ if test "x$enable_dri" = xyes; then
|
||||
fi
|
||||
;;
|
||||
darwin*)
|
||||
DEFINES="$DEFINES -DGLX_ALIAS_UNSUPPORTED"
|
||||
DEFINES="$DEFINES -DGLX_ALIAS_UNSUPPORTED -DBUILDING_MESA"
|
||||
if test "x$with_dri_drivers" = "xyes"; then
|
||||
with_dri_drivers="swrast"
|
||||
fi
|
||||
@@ -1374,26 +1255,6 @@ if test "x$enable_dri" = xyes; then
|
||||
[AC_MSG_ERROR([Expat library required for DRI not found])])
|
||||
EXPAT_LIBS="-lexpat"])
|
||||
|
||||
DRICOMMON_NEED_LIBDRM=no
|
||||
# If we are building any DRI driver other than swrast.
|
||||
if test -n "$with_dri_drivers"; then
|
||||
if test "x$with_dri_drivers" != xswrast; then
|
||||
# ... libdrm is required
|
||||
if test "x$have_libdrm" != xyes; then
|
||||
AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
|
||||
fi
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
# If we're building any gallium DRI driver other than swrast
|
||||
if test -n "$with_gallium_drivers" -a "x$DRICOMMON_NEED_LIBDRM" = xno; then
|
||||
if test "x$with_gallium_drivers" != xswrast; then
|
||||
# ... build a libdrm aware dricommon
|
||||
DRICOMMON_NEED_LIBDRM=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
# put all the necessary libs together
|
||||
DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
|
||||
fi
|
||||
@@ -1421,7 +1282,7 @@ if test -n "$with_dri_drivers"; then
|
||||
;;
|
||||
xnouveau)
|
||||
HAVE_NOUVEAU_DRI=yes;
|
||||
PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
|
||||
PKG_CHECK_MODULES([NVVIEUX], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
|
||||
;;
|
||||
xradeon)
|
||||
HAVE_RADEON_DRI=yes;
|
||||
@@ -1645,6 +1506,10 @@ if test "x$enable_nine" = xyes; then
|
||||
if test "x$with_gallium_drivers" = xswrast; then
|
||||
AC_MSG_ERROR([nine requires at least one non-swrast gallium driver])
|
||||
fi
|
||||
if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6; then
|
||||
AC_MSG_ERROR([gcc >= 4.6 is required to build nine])
|
||||
fi
|
||||
|
||||
if test "x$enable_dri3" = xno; then
|
||||
AC_MSG_WARN([using nine together with wine requires DRI3 enabled system])
|
||||
fi
|
||||
@@ -1759,6 +1624,9 @@ egl_platforms=`IFS=', '; echo $with_egl_platforms`
|
||||
for plat in $egl_platforms; do
|
||||
case "$plat" in
|
||||
wayland)
|
||||
test "x$have_libdrm" != xyes &&
|
||||
AC_MSG_ERROR([EGL platform wayland requires libdrm >= $LIBDRM_REQUIRED])
|
||||
|
||||
PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
|
||||
|
||||
if test "x$WAYLAND_SCANNER" = x; then
|
||||
@@ -1782,9 +1650,6 @@ for plat in $egl_platforms; do
|
||||
AC_MSG_ERROR([EGL platform surfaceless requires libdrm >= $LIBDRM_REQUIRED])
|
||||
;;
|
||||
|
||||
android|gdi|null)
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_ERROR([EGL platform '$plat' does not exist])
|
||||
;;
|
||||
@@ -1805,9 +1670,6 @@ else
|
||||
EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
|
||||
fi
|
||||
|
||||
if echo "$egl_platforms" | grep -q 'x11'; then
|
||||
NEED_WINSYS_XLIB=yes
|
||||
fi
|
||||
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')
|
||||
@@ -2121,6 +1983,7 @@ if test -n "$with_gallium_drivers"; then
|
||||
xradeonsi)
|
||||
HAVE_GALLIUM_RADEONSI=yes
|
||||
PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
|
||||
PKG_CHECK_MODULES([AMDGPU], [libdrm_amdgpu >= $LIBDRM_AMDGPU_REQUIRED])
|
||||
gallium_require_drm "radeonsi"
|
||||
gallium_require_drm_loader
|
||||
radeon_llvm_check "radeonsi"
|
||||
@@ -2231,31 +2094,15 @@ AM_CONDITIONAL(HAVE_GALLIUM_STATIC_TARGETS, test "x$enable_shared_pipe_drivers"
|
||||
# use by XA tracker in particular, but could be used in any case
|
||||
# where communication with xserver is not desired).
|
||||
if test "x$enable_gallium_loader" = xyes; then
|
||||
if test "x$NEED_WINSYS_XLIB" = xyes; then
|
||||
GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
|
||||
fi
|
||||
|
||||
if test "x$enable_dri" = xyes; then
|
||||
GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRI"
|
||||
fi
|
||||
|
||||
if test "x$enable_gallium_drm_loader" = xyes; then
|
||||
GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
|
||||
PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
|
||||
pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
|
||||
if test "x$pipe_loader_have_xcb" = xyes; then
|
||||
GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES -DHAVE_PIPE_LOADER_XCB"
|
||||
GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
|
||||
fi
|
||||
fi
|
||||
|
||||
GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES $GALLIUM_PIPE_LOADER_DEFINES"
|
||||
GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_LIBS"
|
||||
|
||||
AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
|
||||
AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
|
||||
AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_DEFINES])
|
||||
AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_LIBS])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
|
||||
@@ -2282,7 +2129,6 @@ fi
|
||||
|
||||
AC_SUBST([ELF_LIB])
|
||||
|
||||
AM_CONDITIONAL(DRICOMMON_NEED_LIBDRM, test "x$DRICOMMON_NEED_LIBDRM" = xyes)
|
||||
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)
|
||||
@@ -2335,8 +2181,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
|
||||
dnl Substitute the config
|
||||
AC_CONFIG_FILES([Makefile
|
||||
src/Makefile
|
||||
src/egl/drivers/dri2/Makefile
|
||||
src/egl/main/Makefile
|
||||
src/egl/Makefile
|
||||
src/egl/main/egl.pc
|
||||
src/egl/wayland/wayland-drm/Makefile
|
||||
src/egl/wayland/wayland-egl/Makefile
|
||||
@@ -2375,6 +2220,7 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/targets/libgl-xlib/Makefile
|
||||
src/gallium/targets/omx/Makefile
|
||||
src/gallium/targets/opencl/Makefile
|
||||
src/gallium/targets/opencl/mesa.icd
|
||||
src/gallium/targets/osmesa/Makefile
|
||||
src/gallium/targets/osmesa/osmesa.pc
|
||||
src/gallium/targets/pipe-loader/Makefile
|
||||
@@ -2390,6 +2236,7 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/winsys/intel/drm/Makefile
|
||||
src/gallium/winsys/nouveau/drm/Makefile
|
||||
src/gallium/winsys/radeon/drm/Makefile
|
||||
src/gallium/winsys/amdgpu/drm/Makefile
|
||||
src/gallium/winsys/svga/drm/Makefile
|
||||
src/gallium/winsys/sw/dri/Makefile
|
||||
src/gallium/winsys/sw/kms-dri/Makefile
|
||||
@@ -2510,12 +2357,6 @@ else
|
||||
echo " Gallium: no"
|
||||
fi
|
||||
|
||||
dnl Shader cache
|
||||
echo ""
|
||||
echo " Shader cache: $enable_shader_cache"
|
||||
if test "x$enable_shader_cache" = "xyes"; then
|
||||
echo " With SHA1 from: $with_sha1"
|
||||
fi
|
||||
|
||||
dnl Libraries
|
||||
echo ""
|
||||
|
69
docs/GL3.txt
69
docs/GL3.txt
@@ -92,43 +92,43 @@ GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft
|
||||
GL_ARB_vertex_type_2_10_10_10_rev DONE ()
|
||||
|
||||
|
||||
GL 4.0, GLSL 4.00:
|
||||
GL 4.0, GLSL 4.00 --- all DONE: nvc0, radeonsi
|
||||
|
||||
GL_ARB_draw_buffers_blend DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_gpu_shader5 DONE (i965, nvc0)
|
||||
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)
|
||||
- 'precise' qualifier DONE
|
||||
- Dynamically uniform sampler array indices DONE (r600, softpipe)
|
||||
- Dynamically uniform UBO array indices DONE (r600)
|
||||
- Implicit signed -> unsigned conversions DONE
|
||||
- Fused multiply-add DONE ()
|
||||
- Packing/bitfield/conversion functions DONE (r600, radeonsi, softpipe)
|
||||
- Enhanced textureGather DONE (r600, radeonsi, softpipe)
|
||||
- Packing/bitfield/conversion functions DONE (r600, softpipe)
|
||||
- Enhanced textureGather DONE (r600, softpipe)
|
||||
- Geometry shader instancing DONE (r600, llvmpipe, softpipe)
|
||||
- Geometry shader multiple streams DONE ()
|
||||
- Enhanced per-sample shading DONE (r600, radeonsi)
|
||||
- Enhanced per-sample shading DONE (r600)
|
||||
- Interpolation functions DONE (r600)
|
||||
- New overload resolution rules DONE
|
||||
GL_ARB_gpu_shader_fp64 DONE (nvc0, softpipe)
|
||||
GL_ARB_sample_shading DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_shader_subroutine started (Dave)
|
||||
GL_ARB_tessellation_shader started (Chris, Ilia)
|
||||
GL_ARB_texture_buffer_object_rgb32 DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_cube_map_array DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_gather DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_query_lod DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_transform_feedback2 DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_transform_feedback3 DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_gpu_shader_fp64 DONE (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)
|
||||
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:
|
||||
GL 4.1, GLSL 4.10 --- all DONE: nvc0, radeonsi
|
||||
|
||||
GL_ARB_ES2_compatibility DONE (i965, nv50, nvc0, r600, radeonsi, 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 started (Micah)
|
||||
GL_ARB_vertex_attrib_64bit DONE (nvc0, softpipe)
|
||||
GL_ARB_viewport_array DONE (i965, nv50, nvc0, r600, llvmpipe)
|
||||
GL_ARB_shader_precision DONE (all drivers that support GLSL 4.10)
|
||||
GL_ARB_vertex_attrib_64bit DONE (llvmpipe, softpipe)
|
||||
GL_ARB_viewport_array DONE (i965, nv50, r600, llvmpipe)
|
||||
|
||||
|
||||
GL 4.2, GLSL 4.20:
|
||||
@@ -139,7 +139,7 @@ GL 4.2, GLSL 4.20:
|
||||
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 in progress (curro)
|
||||
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)
|
||||
@@ -156,14 +156,14 @@ GL 4.3, GLSL 4.30:
|
||||
GL_ARB_copy_image DONE (i965) (gallium - in progress, VMware)
|
||||
GL_KHR_debug DONE (all drivers)
|
||||
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_fragment_layer_viewport DONE (nv50, nvc0, r600, llvmpipe)
|
||||
GL_ARB_fragment_layer_viewport DONE (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 in progress (Martin Peres)
|
||||
GL_ARB_shader_image_size DONE (i965)
|
||||
GL_ARB_shader_storage_buffer_object in progress (Iago Toral, Samuel Iglesias)
|
||||
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)
|
||||
@@ -189,20 +189,11 @@ GL 4.5, GLSL 4.50:
|
||||
|
||||
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, 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)
|
||||
GL_ARB_derivative_control DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_direct_state_access DONE (all drivers)
|
||||
- Transform Feedback object DONE
|
||||
- Buffer object DONE
|
||||
- Framebuffer object DONE
|
||||
- Renderbuffer object DONE
|
||||
- Texture object DONE
|
||||
- Vertex array object DONE
|
||||
- Sampler object DONE
|
||||
- Program Pipeline object DONE
|
||||
- Query object DONE (will require changes when GL_ARB_query_buffer_object lands)
|
||||
GL_ARB_get_texture_sub_image started (Brian Paul)
|
||||
GL_ARB_get_texture_sub_image DONE (all drivers)
|
||||
GL_ARB_shader_texture_image_samples not started
|
||||
GL_ARB_texture_barrier DONE (nv50, nvc0, r600, radeonsi)
|
||||
GL_KHR_context_flush_control DONE (all - but needs GLX/EXT extension to be useful)
|
||||
@@ -219,8 +210,8 @@ GLES3.1, GLSL ES 3.1
|
||||
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 in progress (curro)
|
||||
GL_ARB_shader_image_size in progress (Martin Peres)
|
||||
GL_ARB_shader_image_load_store DONE (i965)
|
||||
GL_ARB_shader_image_size DONE (i965)
|
||||
GL_ARB_shader_storage_buffer_object in progress (Iago Toral, Samuel Iglesias)
|
||||
GL_ARB_shading_language_packing DONE (all drivers)
|
||||
GL_ARB_separate_shader_objects DONE (all drivers)
|
||||
|
@@ -88,10 +88,10 @@ types such as <code>EGLNativeDisplayType</code> or
|
||||
<code>EGLNativeWindowType</code> defined for.</p>
|
||||
|
||||
<p>The available platforms are <code>x11</code>, <code>drm</code>,
|
||||
<code>wayland</code>, <code>null</code>, <code>android</code>,
|
||||
<code>haiku</code>, and <code>gdi</code>. The <code>android</code> platform
|
||||
<code>wayland</code>, <code>surfaceless</code>, <code>android</code>,
|
||||
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> and <code>gdi</code> platforms can only be built with SCons.
|
||||
<code>haiku</code> platform can only be built with SCons.
|
||||
Unless for special needs, the build system should
|
||||
select the right platforms automatically.</p>
|
||||
|
||||
|
@@ -16,6 +16,46 @@
|
||||
|
||||
<h1>News</h1>
|
||||
|
||||
<h2>August 22 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.6.5.html">Mesa 10.6.5</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>August 11 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.6.4.html">Mesa 10.6.4</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>July 26 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.6.3.html">Mesa 10.6.3</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>July 11 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.6.2.html">Mesa 10.6.2</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>July 04, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.9.html">Mesa 10.5.9</a> is released.
|
||||
This is a bug-fix release.
|
||||
<br>
|
||||
NOTE: It is anticipated that 10.5.9 will be the final release in the 10.5
|
||||
series. Users of 10.5 are encouraged to migrate to the 10.6 series in order
|
||||
to obtain future fixes.
|
||||
</p>
|
||||
|
||||
<h2>June 29, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.6.1.html">Mesa 10.6.1</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>June 20, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.8.html">Mesa 10.5.8</a> is released.
|
||||
|
@@ -21,6 +21,12 @@ The release notes summarize what's new or changed in each Mesa release.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="relnotes/10.6.5.html">10.6.5 release notes</a>
|
||||
<li><a href="relnotes/10.6.4.html">10.6.4 release notes</a>
|
||||
<li><a href="relnotes/10.6.3.html">10.6.3 release notes</a>
|
||||
<li><a href="relnotes/10.6.2.html">10.6.2 release notes</a>
|
||||
<li><a href="relnotes/10.5.9.html">10.5.9 release notes</a>
|
||||
<li><a href="relnotes/10.6.1.html">10.6.1 release notes</a>
|
||||
<li><a href="relnotes/10.5.8.html">10.5.8 release notes</a>
|
||||
<li><a href="relnotes/10.6.0.html">10.6.0 release notes</a>
|
||||
<li><a href="relnotes/10.5.7.html">10.5.7 release notes</a>
|
||||
|
140
docs/relnotes/10.5.9.html
Normal file
140
docs/relnotes/10.5.9.html
Normal file
@@ -0,0 +1,140 @@
|
||||
<!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 10.5.9 Release Notes / July 04, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.9 is a bug fix release which fixes bugs found since the 10.5.8 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.9 implements the OpenGL 3.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 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
0c081b59572ee9732e7438d34adc3817fe8cc8d4b58abc0e71fd4b4c904945cb mesa-10.5.9.tar.gz
|
||||
71c69f31d3dbc35cfa79950e58a01d27030378d8c7ef1259a0b31d4d0487f4ec mesa-10.5.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=84225">Bug 84225</a> - Allow constant-index-expression sampler array indexing with GLSL-ES < 300</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88999">Bug 88999</a> - [SKL] Compiz crashes after opening unity dash</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89118">Bug 89118</a> - [SKL Bisected]many Ogles3conform cases core dumped</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90537">Bug 90537</a> - radeonsi bo/va conflict on RADEON_GEM_VA (rscreen->ws->buffer_from_handle returns NULL)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90839">Bug 90839</a> - [10.5.5/10.6 regression, bisected] PBO glDrawPixels no longer using blit fastpath</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90873">Bug 90873</a> - Kernel hang, TearFree On, Mate desktop environment</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91056">Bug 91056</a> - The Bard's Tale (2005, native) has rendering issues</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91117">Bug 91117</a> - Nimbus (running in wine) has rendering issues, objects are semi-transparent</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91124">Bug 91124</a> - Civilization V (in Wine) has rendering issues: text missing, menu bar corrupted</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Ben Widawsky (2):</p>
|
||||
<ul>
|
||||
<li>i965/gen9: Implement Push Constant Buffer workaround</li>
|
||||
<li>i965/skl: Use 1 register for uniform pull constant payload</li>
|
||||
</ul>
|
||||
|
||||
<p>Boyan Ding (1):</p>
|
||||
<ul>
|
||||
<li>egl/x11: Remove duplicate call to dri2_x11_add_configs_for_visuals</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Wilson (3):</p>
|
||||
<ul>
|
||||
<li>i965: Fix HW blitter pitch limits</li>
|
||||
<li>i915: Blit RGBX<->RGBA drawpixels</li>
|
||||
<li>i965: Export format comparison for blitting between miptrees</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256sums for the 10.5.8 release</li>
|
||||
<li>configure: warn about shared_glapi & xlib-glx only when both are set</li>
|
||||
<li>configure: error out when building backend-less libEGL</li>
|
||||
<li>configure: error out when building libEGL without shared-glapi</li>
|
||||
<li>gbm: do not (over)link against libglapi.so</li>
|
||||
<li>Update version to 10.5.9</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Henigman (1):</p>
|
||||
<ul>
|
||||
<li>gbm: dlopen libglapi so gbm_create_device works</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (8):</p>
|
||||
<ul>
|
||||
<li>glsl: add version checks to conditionals for builtin variable enablement</li>
|
||||
<li>mesa: add GL_PROGRAM_PIPELINE support in KHR_debug calls</li>
|
||||
<li>glsl: binding point is a texture unit, which is a combined space</li>
|
||||
<li>nvc0: always put all tfb bufs into bufctx</li>
|
||||
<li>nv50,nvc0: make sure to pushbuf_refn before putting bo into pushbuf_data</li>
|
||||
<li>nv50/ir: propagate modifier to right arg when const-folding mad</li>
|
||||
<li>nv50/ir: fix emission of address reg in 3rd source</li>
|
||||
<li>nv50/ir: copy joinAt when splitting both before and after</li>
|
||||
</ul>
|
||||
|
||||
<p>Mario Kleiner (2):</p>
|
||||
<ul>
|
||||
<li>nouveau: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
|
||||
<li>winsys/radeon: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>winsys/radeon: Unmap GPU VM address range when destroying BO</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (6):</p>
|
||||
<ul>
|
||||
<li>glsl: Allow dynamic sampler array indexing with GLSL ES < 3.00</li>
|
||||
<li>mesa/glsl: new compiler option EmitNoIndirectSampler</li>
|
||||
<li>i915: use EmitNoIndirectSampler</li>
|
||||
<li>mesa/st: use EmitNoIndirectSampler if !ARB_gpu_shader5</li>
|
||||
<li>i965: use EmitNoIndirectSampler for gen < 7</li>
|
||||
<li>glsl: validate sampler array indexing for 'constant-index-expression'</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
104
docs/relnotes/10.6.1.html
Normal file
104
docs/relnotes/10.6.1.html
Normal file
@@ -0,0 +1,104 @@
|
||||
<!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 10.6.1 Release Notes / June 29, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.1 is a bug fix release which fixes bugs found since the 10.6.0 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.1 implements the OpenGL 3.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 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
b4cccd4d0eabcc2bca00c3175d3ad88fdda57ffdb883a7998525b873a21fe607 mesa-10.6.1.tar.gz
|
||||
6c80a2b647e57c85dc36e609d9aed17f878f0d8e0cf9ace86d14cf604101e1eb mesa-10.6.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=90347">Bug 90347</a> - [NVE0+] Failure to insert texbar under some circumstances (causing bad colors in Terasology)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Anuj Phogat (4):</p>
|
||||
<ul>
|
||||
<li>mesa: Handle integer formats in need_rgb_to_luminance_conversion()</li>
|
||||
<li>mesa: Use helper function need_rgb_to_luminance_conversion()</li>
|
||||
<li>mesa: Turn need_rgb_to_luminance_conversion() in to a global function</li>
|
||||
<li>meta: Abort meta path if ReadPixels need rgb to luminance conversion</li>
|
||||
</ul>
|
||||
|
||||
<p>Ben Widawsky (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen9: Implement Push Constant Buffer workaround</li>
|
||||
</ul>
|
||||
|
||||
<p>Boyan Ding (2):</p>
|
||||
<ul>
|
||||
<li>egl/x11: Set version of swrastLoader to 2</li>
|
||||
<li>egl/x11: Remove duplicate call to dri2_x11_add_configs_for_visuals</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256sums for the 10.6.0 release</li>
|
||||
<li>configure: warn about shared_glapi & xlib-glx only when both are set</li>
|
||||
<li>configure: error out when building backend-less libEGL</li>
|
||||
<li>configure: error out when building libEGL without shared-glapi</li>
|
||||
<li>gbm: do not (over)link against libglapi.so</li>
|
||||
<li>Update version to 10.6.1</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Henigman (1):</p>
|
||||
<ul>
|
||||
<li>gbm: dlopen libglapi so gbm_create_device works</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (9):</p>
|
||||
<ul>
|
||||
<li>nvc0/ir: fix collection of first uses for texture barrier insertion</li>
|
||||
<li>nv50,nvc0: clamp uniform size to 64k</li>
|
||||
<li>nvc0/ir: can't have a join on a load with an indirect source</li>
|
||||
<li>glsl: handle conversions to double when comparing param matches</li>
|
||||
<li>glsl: add version checks to conditionals for builtin variable enablement</li>
|
||||
<li>mesa: add GL_PROGRAM_PIPELINE support in KHR_debug calls</li>
|
||||
<li>glsl: binding point is a texture unit, which is a combined space</li>
|
||||
<li>nvc0: always put all tfb bufs into bufctx</li>
|
||||
<li>nv50,nvc0: make sure to pushbuf_refn before putting bo into pushbuf_data</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
165
docs/relnotes/10.6.2.html
Normal file
165
docs/relnotes/10.6.2.html
Normal file
@@ -0,0 +1,165 @@
|
||||
<!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 10.6.2 Release Notes / July 11, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.2 is a bug fix release which fixes bugs found since the 10.6.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.2 implements the OpenGL 3.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 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
9c7ab9300dda6c912faaaff97995ec1820ba21d114d9cf555f145cbad90995f4 mesa-10.6.2.tar.gz
|
||||
05753d3db4212900927b9894221a1669a10f56786e86a7e818b6e18a0817dca9 mesa-10.6.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=73528">Bug 73528</a> - Deferred lighting in Second Life causes system hiccups and screen flickering</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80500">Bug 80500</a> - Flickering shadows in unreleased title trace</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82186">Bug 82186</a> - [r600g] BARTS GPU lockup with minecraft shaders</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84225">Bug 84225</a> - Allow constant-index-expression sampler array indexing with GLSL-ES < 300</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90537">Bug 90537</a> - radeonsi bo/va conflict on RADEON_GEM_VA (rscreen->ws->buffer_from_handle returns NULL)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90873">Bug 90873</a> - Kernel hang, TearFree On, Mate desktop environment</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91022">Bug 91022</a> - [g45 g965 bisected] assertions generated from textureGrad cube samplers fix</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91047">Bug 91047</a> - [SNB Bisected] Messed up Fog in Super Smash Bros. Melee in Dolphin</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91056">Bug 91056</a> - The Bard's Tale (2005, native) has rendering issues</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91117">Bug 91117</a> - Nimbus (running in wine) has rendering issues, objects are semi-transparent</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91124">Bug 91124</a> - Civilization V (in Wine) has rendering issues: text missing, menu bar corrupted</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91173">Bug 91173</a> - Oddworld: Stranger's Wrath HD: disfigured models in wrong colors</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91226">Bug 91226</a> - Crash in glLinkProgram (NEW)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91231">Bug 91231</a> - [NV92] Psychonauts (native) segfaults on start when DRI3 enabled</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Chris Wilson (1):</p>
|
||||
<ul>
|
||||
<li>loader: Look for any version of currently linked libudev.so</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 checksums for the 10.6.1 release</li>
|
||||
<li>Update version to 10.6.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (8):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: propagate modifier to right arg when const-folding mad</li>
|
||||
<li>nv50/ir: fix emission of address reg in 3rd source</li>
|
||||
<li>nv50/ir: copy joinAt when splitting both before and after</li>
|
||||
<li>mesa: reset the source packing when creating temp transfer image</li>
|
||||
<li>nv50/ir: don't emit src2 in immediate form</li>
|
||||
<li>mesa/prog: relative offsets into constbufs are not constant</li>
|
||||
<li>nv50/ir: UCMP arguments are float, so make sure modifiers are applied</li>
|
||||
<li>nvc0: turn sample counts off during blit</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (5):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Fix ir_txs in emit_texture_gen4_simd16().</li>
|
||||
<li>i965: Reserve more batch space to accomodate Gen6 perfmonitors.</li>
|
||||
<li>i965/vs: Fix matNxM vertex attributes where M != 4.</li>
|
||||
<li>Revert "glsl: clone inputs and outputs during linking"</li>
|
||||
<li>Revert "i965: Delete linked GLSL IR when using NIR."</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>r600g: disable single-sample fast color clear due to hangs</li>
|
||||
<li>radeonsi: fix a hang with DrawTransformFeedback on 4 SE chips</li>
|
||||
<li>st/dri: don't set PIPE_BIND_SCANOUT for MSAA surfaces</li>
|
||||
</ul>
|
||||
|
||||
<p>Mario Kleiner (2):</p>
|
||||
<ul>
|
||||
<li>nouveau: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
|
||||
<li>winsys/radeon: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (2):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Don't mess up stride for uniform integer multiplication.</li>
|
||||
<li>Revert SHA1 additions.</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>winsys/radeon: Unmap GPU VM address range when destroying BO</li>
|
||||
</ul>
|
||||
|
||||
<p>Mike Stroyan (2):</p>
|
||||
<ul>
|
||||
<li>meta: Only change and restore viewport 0 in mesa meta mode</li>
|
||||
<li>i965: allocate at least 1 BLEND_STATE element</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (4):</p>
|
||||
<ul>
|
||||
<li>i965/skl: Set the pulls bary bit in 3DSTATE_PS_EXTRA</li>
|
||||
<li>glsl: Add missing check for whether an expression is an add operation</li>
|
||||
<li>glsl: Make sure not to dereference NULL</li>
|
||||
<li>i965: Don't try to print the GLSL IR if it has been freed</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (8):</p>
|
||||
<ul>
|
||||
<li>glsl: clone inputs and outputs during linking</li>
|
||||
<li>i965: Delete linked GLSL IR when using NIR.</li>
|
||||
<li>glsl: Allow dynamic sampler array indexing with GLSL ES < 3.00</li>
|
||||
<li>mesa/glsl: new compiler option EmitNoIndirectSampler</li>
|
||||
<li>i965: use EmitNoIndirectSampler for gen < 7</li>
|
||||
<li>i915: use EmitNoIndirectSampler</li>
|
||||
<li>mesa/st: use EmitNoIndirectSampler if !ARB_gpu_shader5</li>
|
||||
<li>glsl: validate sampler array indexing for 'constant-index-expression'</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
106
docs/relnotes/10.6.3.html
Normal file
106
docs/relnotes/10.6.3.html
Normal file
@@ -0,0 +1,106 @@
|
||||
<!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 10.6.3 Release Notes / July 26, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.3 is a bug fix release which fixes bugs found since the 10.6.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.3 implements the OpenGL 3.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 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
c27e1e33798e69a6d2d2425aee8ac7b4c0b243066a65dd76cbb182ea31b1c7f2 mesa-10.6.3.tar.gz
|
||||
58592e07c350cd2e8969b73fa83048c657a39fe2f13f3b88f5e5818fe2e4676d mesa-10.6.3.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=90728">Bug 90728</a> - dvd playback with vlc and vdpau causes segmentation fault</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91337">Bug 91337</a> - OSMesaGetProcAdress("OSMesaPixelStore") returns nil</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>osmesa: fix OSMesaPixelsStore typo</li>
|
||||
</ul>
|
||||
|
||||
<p>Chad Versace (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix generation of git_sha1.h.tmp for gitlinks</li>
|
||||
</ul>
|
||||
|
||||
<p>Christian König (2):</p>
|
||||
<ul>
|
||||
<li>vl: cleanup video buffer private when the decoder is destroyed</li>
|
||||
<li>st/vdpau: fix mixer size checks</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 checksums for the 10.6.2 release</li>
|
||||
<li>auxiliary/vl: use the correct screen index</li>
|
||||
<li>Update version to 10.6.3</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen9: Use custom MOCS entries set up by the kernel.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (5):</p>
|
||||
<ul>
|
||||
<li>nv50, nvc0: enable at least one color RT if alphatest is enabled</li>
|
||||
<li>nvc0/ir: fix txq on indirect samplers</li>
|
||||
<li>nvc0/ir: don't worry about sampler in txq handling</li>
|
||||
<li>gm107/ir: fix indirect txq emission</li>
|
||||
<li>nv50: fix max level clamping on G80</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<ul>
|
||||
<li>program: Allow redundant OPTION ARB_fog_* directives.</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (1):</p>
|
||||
<ul>
|
||||
<li>xa: don't leak fences</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
137
docs/relnotes/10.6.4.html
Normal file
137
docs/relnotes/10.6.4.html
Normal file
@@ -0,0 +1,137 @@
|
||||
<!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 10.6.4 Release Notes / August 11, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.4 is a bug fix release which fixes bugs found since the 10.6.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.4 implements the OpenGL 3.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 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
4960bf17d8b5d6a6503c6954ec6cf480b5cd930797bac901c60bea192675f85e mesa-10.6.4.tar.gz
|
||||
8f5ac103f0f503de2f7a985b0df349bd4ecdfe7f51c714be146fa5a9a3c07b77 mesa-10.6.4.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=73512">Bug 73512</a> - [clover] mesa.icd. should contain full path</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91290">Bug 91290</a> - SIGSEGV glcpp/glcpp-parse.y:1077</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Anuj Phogat (6):</p>
|
||||
<ul>
|
||||
<li>mesa: Turn get_readpixels_transfer_ops() in to a global function</li>
|
||||
<li>meta: Fix transfer operations check in meta pbo path for readpixels</li>
|
||||
<li>meta: Abort meta pbo path if readpixels need signed-unsigned conversion</li>
|
||||
<li>meta: Don't do fragment color clamping in _mesa_meta_pbo_GetTexSubImage</li>
|
||||
<li>mesa: Add a helper function _mesa_need_luminance_to_rgb_conversion()</li>
|
||||
<li>meta: Fix reading luminance texture as rgba in _mesa_meta_pbo_GetTexSubImage()</li>
|
||||
</ul>
|
||||
|
||||
<p>Ben Widawsky (1):</p>
|
||||
<ul>
|
||||
<li>i965/skl: Add production thread counts and URB size</li>
|
||||
</ul>
|
||||
|
||||
<p>Eduardo Lima Mitev (3):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix errors values returned by glShaderBinary()</li>
|
||||
<li>mesa: Validate target before resolving tex obj in glTex(ture)SubImageXD</li>
|
||||
<li>mesa: Fix error returned by glCopyTexImage2D() upon an invalid internal format</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add checksums for mesa 10.6.3 tarballs</li>
|
||||
<li>configure.ac: do not set HAVE_DRI(23) when libdrm is missing</li>
|
||||
<li>egl/wayland: libdrm is a hard requirement, treat it as such</li>
|
||||
<li>winsys/radeon: don't leak the fd when it is 0</li>
|
||||
<li>bugzilla_mesa.sh: sort the bugs list by number</li>
|
||||
<li>Update version to 10.6.4</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Fix fs_inst::regs_read() for sources in the ATTR file.</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Binns (2):</p>
|
||||
<ul>
|
||||
<li>egl/dri: Add error info needed for EGL_EXT_image_dma_buf_import extension</li>
|
||||
<li>egl: Add eglQuerySurface surface type check for EGL_LARGEST_PBUFFER attrib</li>
|
||||
</ul>
|
||||
|
||||
<p>Igor Gnatenko (1):</p>
|
||||
<ul>
|
||||
<li>opencl: use versioned .so in mesa.icd</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<ul>
|
||||
<li>nvc0: fix geometry program revalidation of clipping params</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Fix a bug where LHS swizzles of swizzles were too small.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (6):</p>
|
||||
<ul>
|
||||
<li>st/mesa: don't call st_validate_state in BlitFramebuffer</li>
|
||||
<li>radeonsi: upload shader rodata after updating scratch relocations</li>
|
||||
<li>st/mesa: don't ignore texture buffer state changes</li>
|
||||
<li>radeonsi: rework how shader pointers to descriptors are set</li>
|
||||
<li>radeonsi: completely rework updating descriptors without CP DMA</li>
|
||||
<li>r600g: fix the CB_SHADER_MASK setup</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Iglesias Gonsalvez (1):</p>
|
||||
<ul>
|
||||
<li>glsl/glcpp: fix SIGSEGV when checking error condition for macro redefinition</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Pitoiset (1):</p>
|
||||
<ul>
|
||||
<li>nv50: avoid segfault with enabled but unbound vertex attrib</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
124
docs/relnotes/10.6.5.html
Normal file
124
docs/relnotes/10.6.5.html
Normal file
@@ -0,0 +1,124 @@
|
||||
<!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 10.6.5 Release Notes / August 22, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.5 is a bug fix release which fixes bugs found since the 10.6.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.5 implements the OpenGL 3.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 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
afe290fc7af75a25df5ee52396a9f09e5dba85fb3e159304bdda265b8564b0d4 mesa-10.6.5.tar.gz
|
||||
fb6fac3c85bcfa9d06b8dd439169f23f0c0924a88e44362e738b99b1feff762f mesa-10.6.5.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=85252">Bug 85252</a> - Segfault in compiler while processing ternary operator with void arguments</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91570">Bug 91570</a> - Upgrading mesa to 10.6 causes segfault in OpenGL applications with GeForce4 MX 440 / AGP 8X</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91610">Bug 91610</a> - [BSW] GPU hang for spec.shaders.point-vertex-id gl_instanceid divisor</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Adam Jackson (1):</p>
|
||||
<ul>
|
||||
<li>glx: Fix __glXWireToEvent for BufferSwapComplete</li>
|
||||
</ul>
|
||||
|
||||
<p>Alex Deucher (2):</p>
|
||||
<ul>
|
||||
<li>radeonsi: add new OLAND pci id</li>
|
||||
<li>radeonsi: properly set the raster_config for KV</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (4):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 10.6.4</li>
|
||||
<li>vc4: add missing nir include, to fix the build</li>
|
||||
<li>Revert "radeonsi: properly set the raster_config for KV"</li>
|
||||
<li>Update version to 10.6.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Binns (1):</p>
|
||||
<ul>
|
||||
<li>egl/x11: don't abort when creating a DRI2 drawable fails</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>nouveau: no need to do tnl wakeup, state updates are always hooked up</li>
|
||||
<li>gm107/ir: indirect handle goes first on maxwell also</li>
|
||||
<li>nv50,nvc0: take level into account when doing eng2d multi-layer blits</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (4):</p>
|
||||
<ul>
|
||||
<li>meta/copy_image: Stash off the scissor</li>
|
||||
<li>mesa/formats: Only do byteswapping for packed formats</li>
|
||||
<li>mesa/formats: Fix swizzle flipping for big-endian targets</li>
|
||||
<li>mesa/formats: Don't flip channels of null array formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>radeonsi: fix polygon offset scale</li>
|
||||
<li>r600g: fix polygon offset scale</li>
|
||||
<li>r600g: allow setting geometry shader sampler states</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (1):</p>
|
||||
<ul>
|
||||
<li>i965/bdw: Fix setting the instancing state for the SGVS element</li>
|
||||
</ul>
|
||||
|
||||
<p>Oded Gabbay (2):</p>
|
||||
<ul>
|
||||
<li>mesa: clear existing swizzle info before bitwise-OR</li>
|
||||
<li>mesa/formats: don't byteswap when building array formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Renaud Gaubert (1):</p>
|
||||
<ul>
|
||||
<li>glsl: avoid compiler's segfault when processing operators with void arguments</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,61 +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 10.7.0 Release Notes / TBD</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.7.0 is a new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release or wait for Mesa 10.7.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.7.0 implements the OpenGL 3.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 3.3. OpenGL
|
||||
3.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>GL_ARB_framebuffer_no_attachments on i965</li>
|
||||
<li>GL_ARB_shader_stencil_export on llvmpipe</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
TBD.
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
TBD.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
259
docs/relnotes/11.0.0.html
Normal file
259
docs/relnotes/11.0.0.html
Normal file
@@ -0,0 +1,259 @@
|
||||
<!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.0 Release Notes / September 12, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.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 11.0.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.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>
|
||||
7d7e4ddffa3b162506efa01e2cc41e329caa4995336b92e5cc21f2e1fb36c1b3 mesa-11.0.0.tar.gz
|
||||
e095a3eb2eca9dfde7efca8946527c8ae20a0cc938a8c78debc7f158ad44af32 mesa-11.0.0.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<p>
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>New hardware support for AMD GCN 1.2 GPUs: Tonga, Iceland, Carrizo, Fiji</li>
|
||||
<li>OpenGL 4.1 on radeonsi, nvc0</li>
|
||||
<li>OpenGL ES 3.0 on freedreno (a3xx, a4xx)
|
||||
<li>GL_AMD_vertex_shader_viewport_index on radeonsi</li>
|
||||
<li>GL_ARB_conditional_render_inverted on r600, radeonsi</li>
|
||||
<li>GL_ARB_depth_buffer_float on a4xx</li>
|
||||
<li>GL_ARB_derivative_control on radeonsi</li>
|
||||
<li>GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend on a4xx</li>
|
||||
<li>GL_ARB_fragment_layer_viewport on radeonsi</li>
|
||||
<li>GL_ARB_framebuffer_no_attachments on i965</li>
|
||||
<li>GL_ARB_get_texture_sub_image for all drivers</li>
|
||||
<li>GL_ARB_gpu_shader5 on radeonsi</li>
|
||||
<li>GL_ARB_gpu_shader_fp64 on llvmpipe, radeonsi</li>
|
||||
<li>GL_ARB_shader_image_load_store on i965</li>
|
||||
<li>GL_ARB_shader_precision on radeonsi, nvc0</li>
|
||||
<li>GL_ARB_shader_image_size on i965</li>
|
||||
<li>GL_ARB_shader_stencil_export on llvmpipe</li>
|
||||
<li>GL_ARB_shader_subroutine on core profile all drivers</li>
|
||||
<li>GL_ARB_tessellation_shader on nvc0, radeonsi</li>
|
||||
<li>GL_ARB_transform_feedback2, GL_ARB_transform_feedback_instanced, GL_EXT_transform_feedback on a3xx, a4xx</li>
|
||||
<li>GL_ARB_vertex_attrib_64bit on llvmpipe, radeonsi</li>
|
||||
<li>GL_ARB_viewport_array on radeonsi</li>
|
||||
<li>GL_EXT_depth_bounds_test on radeonsi, nv30, nv50, nvc0</li>
|
||||
<li>GL_EXT_texture_compression_s3tc on freedreno (a3xx)</li>
|
||||
<li>GL_NV_read_depth (GLES) on all drivers</li>
|
||||
<li>GL_NV_read_depth_stencil (GLES) on all drivers</li>
|
||||
<li>GL_NV_read_stencil (GLES) on all drivers</li>
|
||||
<li>GL_OES_texture_float on all r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe</li>
|
||||
<li>GL_OES_texture_half_float on all r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe</li>
|
||||
<li>GL_OES_texture_float_linear on all r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe</li>
|
||||
<li>GL_OES_texture_half_float_linear on all r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe</li>
|
||||
<li>GL_EXT_draw_buffers2 on a4xx</li>
|
||||
<li>GLX_ARB_create_context_robustness on r600, radeonsi</li>
|
||||
<li>EGL_EXT_create_context_robustness on r600, radeonsi</li>
|
||||
<li>EGL_KHR_gl_colorspace on r600, radeonsi, nv50, nvc0</li>
|
||||
<li>EGL_KHR_gl_texture_3D_image on r600, radeonsi, nv50, nvc0</li>
|
||||
<li>EGL 1.5 on r600, radeonsi, nv50, nvc0</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=51658">Bug 51658</a> - r200 (& possibly radeon) DRI fixes for gnome shell on Mesa 8.0.3</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=65525">Bug 65525</a> - [llvmpipe] lp_scene.h:210:lp_scene_alloc: Assertion `size <= (64 * 1024)' failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66346">Bug 66346</a> - shader_query.cpp:49: error: invalid conversion from 'void*' to 'GLuint'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73512">Bug 73512</a> - [clover] mesa.icd. should contain full path</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73528">Bug 73528</a> - Deferred lighting in Second Life causes system hiccups and screen flickering</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74329">Bug 74329</a> - Please expose OES_texture_float and OES_texture_half_float on the ES3 context</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80500">Bug 80500</a> - Flickering shadows in unreleased title trace</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82186">Bug 82186</a> - [r600g] BARTS GPU lockup with minecraft shaders</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84225">Bug 84225</a> - Allow constant-index-expression sampler array indexing with GLSL-ES < 300</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84677">Bug 84677</a> - Triangle disappears with glPolygonMode GL_LINE</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85252">Bug 85252</a> - Segfault in compiler while processing ternary operator with void arguments</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89131">Bug 89131</a> - [Bisected] Graphical corruption in Weston, shows old framebuffer pieces</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90000">Bug 90000</a> - [i965 Bisected NIR] Piglit/gglean_fragprog1-z-write_test fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90073">Bug 90073</a> - Leaks in xcb_dri3_open_reply_fds() and get_render_node_from_id_path_tag</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90249">Bug 90249</a> - Fails to build egl_dri2 on osx</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90310">Bug 90310</a> - Fails to build gallium_dri.so at linking stage with clang because of multiple redefinitions</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90347">Bug 90347</a> - [NVE0+] Failure to insert texbar under some circumstances (causing bad colors in Terasology)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90466">Bug 90466</a> - arm: linker error ndefined reference to `nir_metadata_preserve'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90520">Bug 90520</a> - Register spilling clobbers registers used elsewhere in the shader</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90537">Bug 90537</a> - radeonsi bo/va conflict on RADEON_GEM_VA (rscreen->ws->buffer_from_handle returns NULL)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90547">Bug 90547</a> - [BDW/BSW/SKL Bisected]Piglit/glean@vertprog1-rsq_test_2_(reciprocal_square_root_of_negative_value) fais</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90580">Bug 90580</a> - [HSW bisected] integer multiplication bug</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90600">Bug 90600</a> - IOError: [Errno 2] No such file or directory: 'gl_API.xml'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90621">Bug 90621</a> - Mesa fail to build from git</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90629">Bug 90629</a> - [i965] SIMD16 dual_source_blend assertion `src[i].file != GRF || src[i].width == dst.width' failed</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90691">Bug 90691</a> - [BSW]Piglit/spec/nv_conditional_render/dlist fails intermittently</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90728">Bug 90728</a> - dvd playback with vlc and vdpau causes segmentation fault</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90734">Bug 90734</a> - glBufferSubData is corrupting data when buffer is > 32k</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90748">Bug 90748</a> - [BDW Bisected]dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth.rg_half_float_oes fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90749">Bug 90749</a> - [BDW Bisected]dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90751">Bug 90751</a> - [BDW Bisected]dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil.stencil_index8 fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90797">Bug 90797</a> - [ALL bisected] Mesa change cause performance case manhattan fail.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90817">Bug 90817</a> - swrast fails to load with certain remote X servers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90830">Bug 90830</a> - [bsw bisected regression] GPU hang for spec.arb_gpu_shader5.execution.sampler_array_indexing.vs-nonzero-base</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90839">Bug 90839</a> - [10.5.5/10.6 regression, bisected] PBO glDrawPixels no longer using blit fastpath</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90873">Bug 90873</a> - Kernel hang, TearFree On, Mate desktop environment</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90887">Bug 90887</a> - PhiMovesPass in register allocator broken</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90895">Bug 90895</a> - [IVB/HSW/BDW/BSW Bisected] GLB2.7 Egypt, GfxBench3.0 T-Rex & ALU and many SynMark cases performance reduced by 10-23%</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90902">Bug 90902</a> - [bsw][regression] dEQP: "Found invalid pixel values"</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90903">Bug 90903</a> - egl_dri2.c:dri2_load fails to load libglapi on osx</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90904">Bug 90904</a> - OSX: EXC_BAD_ACCESS when using translate_sse + gallium + softpipe/llvmpipe</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90905">Bug 90905</a> - mesa: Finish subdir-objects transition</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90925">Bug 90925</a> - "high fidelity": Segfault in _mesa_program_resource_find_name</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91022">Bug 91022</a> - [g45 g965 bisected] assertions generated from textureGrad cube samplers fix</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91047">Bug 91047</a> - [SNB Bisected] Messed up Fog in Super Smash Bros. Melee in Dolphin</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91056">Bug 91056</a> - The Bard's Tale (2005, native) has rendering issues</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91077">Bug 91077</a> - dri2_glx.c:1186: undefined reference to `loader_open_device'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91099">Bug 91099</a> - [llvmpipe] piglit glsl-max-varyings >max_varying_components regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91101">Bug 91101</a> - [softpipe] piglit glsl-1.50@execution@geometry@max-input-components regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91117">Bug 91117</a> - Nimbus (running in wine) has rendering issues, objects are semi-transparent</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91124">Bug 91124</a> - Civilization V (in Wine) has rendering issues: text missing, menu bar corrupted</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91173">Bug 91173</a> - Oddworld: Stranger's Wrath HD: disfigured models in wrong colors</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91193">Bug 91193</a> - [290x] Dota2 reborn ingame rendering breaks with git-af4b9c7</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91222">Bug 91222</a> - lp_test_format regression on CentOS 7</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91226">Bug 91226</a> - Crash in glLinkProgram (NEW)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91231">Bug 91231</a> - [NV92] Psychonauts (native) segfaults on start when DRI3 enabled</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91254">Bug 91254</a> - (regresion) video using VA-API on Intel slow and freeze system with mesa 10.6 or 10.6.1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91290">Bug 91290</a> - SIGSEGV glcpp/glcpp-parse.y:1077</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91292">Bug 91292</a> - [BDW+] glVertexAttribDivisor not working in combination with glPolygonMode</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91337">Bug 91337</a> - OSMesaGetProcAdress("OSMesaPixelStore") returns nil</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91418">Bug 91418</a> - Visual Studio 2015 vsnprintf build error</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91425">Bug 91425</a> - [regression, bisected] Piglit spec/ext_packed_float/ getteximage-invalid-format-for-packed-type fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91441">Bug 91441</a> - make check DispatchSanity_test.GL30 regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91444">Bug 91444</a> - regression bisected radeonsi: don't change pipe_resource in resource_copy_region</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91461">Bug 91461</a> - gl_TessLevel* writes have no effect for all but the last TCS invocation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91513">Bug 91513</a> - [IVB/HSW/BDW/SKL Bisected] Lightsmark performance reduced by 7%-10%</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=91544">Bug 91544</a> - [i965, regression, bisected] regression of several tests in 93977d3a151675946c03e</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91551">Bug 91551</a> - DXTn compressed normal maps produce severe artifacts on all NV5x and NVDx chipsets</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91570">Bug 91570</a> - Upgrading mesa to 10.6 causes segfault in OpenGL applications with GeForce4 MX 440 / AGP 8X</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91591">Bug 91591</a> - rounding.h:102:2: error: #error "Unsupported or undefined LONG_BIT"</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91610">Bug 91610</a> - [BSW] GPU hang for spec.shaders.point-vertex-id gl_instanceid divisor</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91673">Bug 91673</a> - Segfault when calling glTexSubImage2D on storage texture to bound FBO</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91726">Bug 91726</a> - R600 asserts in tgsi_cmp/make_src_for_op3</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91847">Bug 91847</a> - glGenerateTextureMipmap not working (no errors) unless glActiveTexture(GL_TEXTURE1) is called before</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91857">Bug 91857</a> - Mesa 10.6.3 linker is slow</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91881">Bug 91881</a> - regression: GPU lockups since mesa-11.0.0_rc1 on RV620 (r600) driver</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91890">Bug 91890</a> - [nve7] witcher2: blurry image & DATA_ERRORs (class 0xa097 mthd 0x2380/0x238c)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<li>Removed the EGL loader from the Linux SCons build.</li>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
134
docs/relnotes/11.0.1.html
Normal file
134
docs/relnotes/11.0.1.html
Normal file
@@ -0,0 +1,134 @@
|
||||
<!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.1 Release Notes / September 26, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.1 is a bug fix release which fixes bugs found since the 11.0.0 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.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>
|
||||
6dab262877e12c0546a0e2970c6835a0f217e6d4026ccecb3cd5dd733d1ce867 mesa-11.0.1.tar.gz
|
||||
43d0dfcd1f1e36f07f8228cd76d90175d3fc74c1ed25d7071794a100a98ef2a6 mesa-11.0.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=38109">Bug 38109</a> - i915 driver crashes if too few vertices are submitted (Mesa 7.10.2)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91114">Bug 91114</a> - ES3-CTS.gtf.GL3Tests.shadow.shadow_execution_vert fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91716">Bug 91716</a> - [bisected] piglit.shaders.glsl-vs-int-attrib regresses on 32 bit BYT, HSW, IVB, SNB</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91719">Bug 91719</a> - [SNB,HSW,BYT] dEQP regressions associated with using NIR for vertex shaders</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92009">Bug 92009</a> - ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels fails</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Antia Puentes (2):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Fix saturation errors when coalescing registers</li>
|
||||
<li>i965/vec4_nir: Load constants as integers</li>
|
||||
</ul>
|
||||
|
||||
<p>Anuj Phogat (1):</p>
|
||||
<ul>
|
||||
<li>meta: Abort meta pbo path if TexSubImage need signed unsigned conversion</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.0</li>
|
||||
<li>Update version to 11.0.1</li>
|
||||
</ul>
|
||||
|
||||
<p>Iago Toral Quiroga (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE for default framebuffer.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (5):</p>
|
||||
<ul>
|
||||
<li>t_dd_dmatmp: Make "count" actually be the count</li>
|
||||
<li>t_dd_dmatmp: Clean up improper code formatting from previous patch</li>
|
||||
<li>t_dd_dmatmp: Use '& 3' instead of '% 4' everywhere</li>
|
||||
<li>t_dd_dmatmp: Pull out common 'count -= count & 3' code</li>
|
||||
<li>t_dd_dmatmp: Use addition instead of subtraction in loop bounds</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (6):</p>
|
||||
<ul>
|
||||
<li>st/mesa: avoid integer overflows with buffers >= 512MB</li>
|
||||
<li>nv50, nvc0: fix max texture buffer size to 128M elements</li>
|
||||
<li>freedreno/a3xx: fix blending of L8 format</li>
|
||||
<li>nv50,nvc0: detect underlying resource changes and update tic</li>
|
||||
<li>nv50,nvc0: flush texture cache in presence of coherent bufs</li>
|
||||
<li>radeonsi: load fmask ptr relative to the resources array</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (2):</p>
|
||||
<ul>
|
||||
<li>nir: Fix a bunch of ralloc parenting errors</li>
|
||||
<li>i965/vec4: Don't reswizzle hardware registers</li>
|
||||
</ul>
|
||||
|
||||
<p>Jeremy Huddleston (1):</p>
|
||||
<ul>
|
||||
<li>configure.ac: Add support to enable read-only text segment on x86.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ray Strode (1):</p>
|
||||
<ul>
|
||||
<li>gbm: convert gbm bo format to fourcc format on dma-buf import</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (2):</p>
|
||||
<ul>
|
||||
<li>mesa: fix errors when reading depth with glReadPixels</li>
|
||||
<li>i965: fix textureGrad for cubemaps</li>
|
||||
</ul>
|
||||
|
||||
<p>Ulrich Weigand (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix texture compression on big-endian systems</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
85
docs/relnotes/11.0.2.html
Normal file
85
docs/relnotes/11.0.2.html
Normal file
@@ -0,0 +1,85 @@
|
||||
<!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.2 Release Notes / September 28, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.2 is a bug fix release which fixes bugs found since the 11.0.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.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>
|
||||
45170773500d6ae2f9eb93fc85efee69f7c97084411ada4eddf92f78bca56d20 mesa-11.0.2.tar.gz
|
||||
fce11fb27eb87adf1e620a76455d635c6136dfa49ae58c53b34ef8d0c7b7eae4 mesa-11.0.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=91582">Bug 91582</a> - [bisected] Regression in DEQP gles2.functional.negative_api.texture.texsubimage2d_neg_offset</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91970">Bug 91970</a> - [BSW regression] dEQP-GLES3.functional.shaders.precision.int.highp_mul_vertex</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92095">Bug 92095</a> - [Regression, bisected] arb_shader_atomic_counters.compiler.builtins.frag</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Eduardo Lima Mitev (3):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix order of format+type and internal format checks for glTexImageXD ops</li>
|
||||
<li>mesa: Move _mesa_base_tex_format() from teximage to glformats files</li>
|
||||
<li>mesa: Use the effective internal format instead for validation</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.1</li>
|
||||
<li>Update version to 11.0.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Kristian Høgsberg Kristensen (1):</p>
|
||||
<ul>
|
||||
<li>i965: Respect stride and subreg_offset for ATTR registers</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Expose gl_MaxTess{Control,Evaluation}AtomicCounters.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
185
docs/relnotes/11.0.3.html
Normal file
185
docs/relnotes/11.0.3.html
Normal file
@@ -0,0 +1,185 @@
|
||||
<!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.3 Release Notes / October 10, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.3 is a bug fix release which fixes bugs found since the 11.0.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.3 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>
|
||||
c2210e3daecc10ed9fdcea500327652ed6effc2f47c4b9cee63fb08f560d7117 mesa-11.0.3.tar.gz
|
||||
ab2992eece21adc23c398720ef8c6933cb69ea42e1b2611dc09d031e17e033d6 mesa-11.0.3.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=55552">Bug 55552</a> - Compile errors with --enable-mangling</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71789">Bug 71789</a> - [r300g] Visuals not found in (default) depth = 24</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91044">Bug 91044</a> - piglit spec/egl_khr_create_context/valid debug flag gles* fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91342">Bug 91342</a> - Very dark textures on some objects in indoors environments in Postal 2</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=91718">Bug 91718</a> - piglit.spec.arb_shader_image_load_store.invalid causes intermittent GPU HANG</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92072">Bug 92072</a> - Wine breakage since d082c5324 (st/mesa: don't call st_validate_state in BlitFramebuffer)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92265">Bug 92265</a> - Black windows in weston after update mesa to 11.0.2-1</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>st/mesa: try PIPE_BIND_RENDER_TARGET when choosing float texture formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Scharrer (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Add abs input modifier to base for POW in ffvertex_prog</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.2</li>
|
||||
<li>Revert "nouveau: make sure there's always room to emit a fence"</li>
|
||||
<li>Update version to 11.0.3</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Fix hang on IVB and VLV with image format mismatch.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>meta: Handle array textures in scaled MSAA blits</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (6):</p>
|
||||
<ul>
|
||||
<li>nouveau: be more careful about freeing temporary transfer buffers</li>
|
||||
<li>nouveau: delay deleting buffer with unflushed fence</li>
|
||||
<li>nouveau: wait to unref the transfer's bo until it's no longer used</li>
|
||||
<li>nv30: pretend to have packed texture/surface formats</li>
|
||||
<li>nv30: always go through translate module on big-endian</li>
|
||||
<li>nouveau: make sure there's always room to emit a fence</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Correctly handle GL_BGRA_EXT in ES3 format_and_type checks</li>
|
||||
</ul>
|
||||
|
||||
<p>Kyle Brenneman (3):</p>
|
||||
<ul>
|
||||
<li>glx: Fix build errors with --enable-mangling (v2)</li>
|
||||
<li>mapi: Make _glapi_get_stub work with "gl" or "mgl" prefix.</li>
|
||||
<li>glx: Don't hard-code the name "libGL.so.1" in driOpenDriver (v3)</li>
|
||||
</ul>
|
||||
|
||||
<p>Leo Liu (1):</p>
|
||||
<ul>
|
||||
<li>radeon/vce: fix vui time_scale zero error</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (21):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix front buffer regression after dropping st_validate_state in Blit</li>
|
||||
<li>radeonsi: handle index buffer alloc failures</li>
|
||||
<li>radeonsi: handle constant buffer alloc failures</li>
|
||||
<li>gallium/radeon: handle buffer_map staging buffer failures better</li>
|
||||
<li>gallium/radeon: handle buffer alloc failures in r600_draw_rectangle</li>
|
||||
<li>gallium/radeon: add a fail path for depth MSAA texture readback</li>
|
||||
<li>radeonsi: report alloc failure from si_shader_binary_read</li>
|
||||
<li>radeonsi: add malloc fail paths to si_create_shader_state</li>
|
||||
<li>radeonsi: skip drawing if the tess factor ring allocation fails</li>
|
||||
<li>radeonsi: skip drawing if GS ring allocations fail</li>
|
||||
<li>radeonsi: handle shader precompile failures</li>
|
||||
<li>radeonsi: handle fixed-func TCS shader create failure</li>
|
||||
<li>radeonsi: skip drawing if VS, TCS, TES, GS fail to compile or upload</li>
|
||||
<li>radeonsi: skip drawing if PS fails to compile or upload</li>
|
||||
<li>radeonsi: skip drawing if updating the scratch buffer fails</li>
|
||||
<li>radeonsi: don't forget to update scratch relocations for LS, HS, ES shaders</li>
|
||||
<li>radeonsi: handle dummy constant buffer allocation failure</li>
|
||||
<li>gallium/u_blitter: handle allocation failures</li>
|
||||
<li>radeonsi: add scratch buffer to the buffer list when it's re-allocated</li>
|
||||
<li>st/dri: don't use _ctx in client_wait_sync</li>
|
||||
<li>egl/dri2: don't require a context for ClientWaitSync (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Matthew Waters (1):</p>
|
||||
<ul>
|
||||
<li>egl: rework handling EGL_CONTEXT_FLAGS</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>st/dri: Use packed RGB formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (1):</p>
|
||||
<ul>
|
||||
<li>mesa: fix mipmap generation for immutable, compressed textures</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (3):</p>
|
||||
<ul>
|
||||
<li>gallium/radeon: Use call_once() when initailizing LLVM targets</li>
|
||||
<li>gallivm: Allow drivers and state trackers to initialize gallivm LLVM targets v2</li>
|
||||
<li>radeon/llvm: Initialize gallivm targets when initializing the AMDGPU target v2</li>
|
||||
</ul>
|
||||
|
||||
<p>Varad Gautam (1):</p>
|
||||
<ul>
|
||||
<li>egl: restore surface type before linking config to its display</li>
|
||||
</ul>
|
||||
|
||||
<p>Ville Syrjälä (3):</p>
|
||||
<ul>
|
||||
<li>i830: Fix collision between I830_UPLOAD_RASTER_RULES and I830_UPLOAD_TEX(0)</li>
|
||||
<li>i915: Fix texcoord vs. varying collision in fragment programs</li>
|
||||
<li>i915: Remember to call intel_prepare_render() before blitting</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
168
docs/relnotes/11.0.4.html
Normal file
168
docs/relnotes/11.0.4.html
Normal file
@@ -0,0 +1,168 @@
|
||||
<!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.4 Release Notes / October 24, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.4 is a bug fix release which fixes bugs found since the 11.0.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.4 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>
|
||||
ed412ca6a46d1bd055120e5c12806c15419ae8c4dd6d3f6ea20a83091d5c78bf mesa-11.0.4.tar.gz
|
||||
40201bf7fc6fa12a6d9edfe870b41eb4dd6669154e3c42c48a96f70805f5483d mesa-11.0.4.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=86281">Bug 86281</a> - brw_meta_fast_clear (brw=brw@entry=0x7fffd4097a08, fb=fb@entry=0x7fffd40fa900, buffers=buffers@entry=2, partial_clear=partial_clear@entry=false)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86720">Bug 86720</a> - [radeon] Europa Universalis 4 freezing during game start (10.3.3+, still broken on 11.0.2)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91788">Bug 91788</a> - [HSW Regression] Synmark2_v6 Multithread performance case FPS reduced by 36%</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92304">Bug 92304</a> - [cts] cts.shaders.negative conformance tests fail</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Alejandro Piñeiro (2):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: check writemask when bailing out at register coalesce</li>
|
||||
<li>i965/vec4: fill src_reg type using the constructor type parameter</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (2):</p>
|
||||
<ul>
|
||||
<li>vbo: fix incorrect switch statement in init_mat_currval()</li>
|
||||
<li>mesa: fix incorrect opcode in save_BlendFunci()</li>
|
||||
</ul>
|
||||
|
||||
<p>Chih-Wei Huang (3):</p>
|
||||
<ul>
|
||||
<li>mesa: android: Fix the incorrect path of sse_minmax.c</li>
|
||||
<li>nv50/ir: use C++11 standard std::unordered_map if possible</li>
|
||||
<li>nv30: include the header of ffs prototype</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Wilson (1):</p>
|
||||
<ul>
|
||||
<li>i965: Remove early release of DRI2 miptree</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (1):</p>
|
||||
<ul>
|
||||
<li>mesa/uniforms: fix get_uniform for doubles (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (1):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.3</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (5):</p>
|
||||
<ul>
|
||||
<li>i965: Don't tell the hardware about our UAV access.</li>
|
||||
<li>mesa: Expose function to calculate whether a shader image unit is valid.</li>
|
||||
<li>mesa: Skip redundant texture completeness checking during image validation.</li>
|
||||
<li>i965: Use _mesa_is_image_unit_valid() instead of gl_image_unit::_Valid.</li>
|
||||
<li>mesa: Get rid of texture-dependent image unit derived state.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (8):</p>
|
||||
<ul>
|
||||
<li>glsl: Allow built-in functions as constant expressions in OpenGL ES 1.00</li>
|
||||
<li>ff_fragment_shader: Use binding to set the sampler unit</li>
|
||||
<li>glsl/linker: Use constant_initializer instead of constant_value to initialize uniforms</li>
|
||||
<li>glsl: Use constant_initializer instead of constant_value to determine whether to keep an unused uniform</li>
|
||||
<li>glsl: Only set ir_variable::constant_value for const-decorated variables</li>
|
||||
<li>glsl: Restrict initializers for global variables to constant expression in ES</li>
|
||||
<li>glsl: Add method to determine whether an expression contains the sequence operator</li>
|
||||
<li>glsl: In later GLSL versions, sequence operator is cannot be a constant expression</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<ul>
|
||||
<li>nouveau: make sure there's always room to emit a fence</li>
|
||||
</ul>
|
||||
|
||||
<p>Indrajit Das (1):</p>
|
||||
<ul>
|
||||
<li>st/va: Used correct parameter to derive the value of the "h" variable in vlVaCreateImage</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Gray (1):</p>
|
||||
<ul>
|
||||
<li>configure.ac: ensure RM is set</li>
|
||||
</ul>
|
||||
|
||||
<p>Krzysztof Sobiecki (1):</p>
|
||||
<ul>
|
||||
<li>st/fbo: use pipe_surface_release instead of pipe_surface_reference</li>
|
||||
</ul>
|
||||
|
||||
<p>Leo Liu (1):</p>
|
||||
<ul>
|
||||
<li>st/omx/dec/h264: fix field picture type 0 poc disorder</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix clip state dependencies</li>
|
||||
<li>radeonsi: fix a GS copy shader leak</li>
|
||||
<li>gallium: add PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT</li>
|
||||
</ul>
|
||||
|
||||
<p>Nicolai Hähnle (1):</p>
|
||||
<ul>
|
||||
<li>u_vbuf: fix vb slot assignment for translated buffers</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (1):</p>
|
||||
<ul>
|
||||
<li>freedreno/a3xx: cache-flush is needed after MEM_WRITE</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (3):</p>
|
||||
<ul>
|
||||
<li>mesa: add GL_UNSIGNED_INT_24_8 to _mesa_pack_depth_span</li>
|
||||
<li>mesa: Set api prefix to version string when overriding version</li>
|
||||
<li>mesa: fix ARRAY_SIZE query for GetProgramResourceiv</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
174
docs/relnotes/11.0.5.html
Normal file
174
docs/relnotes/11.0.5.html
Normal file
@@ -0,0 +1,174 @@
|
||||
<!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.5 Release Notes / November 11, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.5 is a bug fix release which fixes bugs found since the 11.0.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.5 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>
|
||||
8495ef5c06f7f726452462b7d408a5b40048373ff908f2283a3b4d1f49b45ee6 mesa-11.0.5.tar.gz
|
||||
9c255a2a6695fcc6ef4a279e1df0aeaf417dc142f39ee59dfb533d80494bb67a mesa-11.0.5.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<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>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92437">Bug 92437</a> - osmesa: Expose GL entry points for Windows build, via .def file</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92476">Bug 92476</a> - [cts] ES2-CTS.gtf.GL2ExtensionTests.egl_image.egl_image fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92623">Bug 92623</a> - Differences in prog_data ignored when caching fragment programs (causes hangs)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Alex Deucher (1):</p>
|
||||
<ul>
|
||||
<li>radeon/uvd: don't expose HEVC on old UVD hw (v3)</li>
|
||||
</ul>
|
||||
|
||||
<p>Ben Widawsky (1):</p>
|
||||
<ul>
|
||||
<li>i965/skl: Add GT4 PCI IDs</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (4):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.4</li>
|
||||
<li>cherry-ignore: ignore a possible wrong nomination</li>
|
||||
<li>Revert "mesa/glformats: Undo code changes from _mesa_base_tex_format() move"</li>
|
||||
<li>Update version to 11.0.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Emmanuel Gil Peyrot (1):</p>
|
||||
<ul>
|
||||
<li>gbm.h: Add a missing stddef.h include for size_t.</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (1):</p>
|
||||
<ul>
|
||||
<li>vc4: When the create ioctl fails, free our cache and try again.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix is-renderable check in intel_image_target_renderbuffer_storage</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>nvc0: respect edgeflag attribute width</li>
|
||||
<li>nouveau: set MaxDrawBuffers to the same value as MaxColorAttachments</li>
|
||||
<li>nouveau: relax fence emit space assert</li>
|
||||
</ul>
|
||||
|
||||
<p>Ivan Kalvachev (1):</p>
|
||||
<ul>
|
||||
<li>r600g: Fix special negative immediate constants when using ABS modifier.</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (2):</p>
|
||||
<ul>
|
||||
<li>nir/lower_vec_to_movs: Pass the shader around directly</li>
|
||||
<li>nir: Report progress from lower_vec_to_movs().</li>
|
||||
</ul>
|
||||
|
||||
<p>Jose Fonseca (2):</p>
|
||||
<ul>
|
||||
<li>gallivm: Translate all util_cpu_caps bits to LLVM attributes.</li>
|
||||
<li>gallivm: Explicitly disable unsupported CPU features.</li>
|
||||
</ul>
|
||||
|
||||
<p>Julien Isorce (4):</p>
|
||||
<ul>
|
||||
<li>st/va: pass picture desc to begin and decode</li>
|
||||
<li>nvc0: fix crash when nv50_miptree_from_handle fails</li>
|
||||
<li>st/va: do not destroy old buffer when new one failed</li>
|
||||
<li>st/va: add more errors checks in vlVaBufferSetNumElements and vlVaMapBuffer</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (6):</p>
|
||||
<ul>
|
||||
<li>i965: Fix missing BRW_NEW_*_PROG_DATA flagging caused by cache reuse.</li>
|
||||
<li>nir: Report progress from nir_split_var_copies().</li>
|
||||
<li>nir: Properly invalidate metadata in nir_split_var_copies().</li>
|
||||
<li>nir: Properly invalidate metadata in nir_opt_copy_prop().</li>
|
||||
<li>nir: Properly invalidate metadata in nir_lower_vec_to_movs().</li>
|
||||
<li>nir: Properly invalidate metadata in nir_opt_remove_phis().</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: add register definitions for Stoney</li>
|
||||
</ul>
|
||||
|
||||
<p>Nanley Chery (1):</p>
|
||||
<ul>
|
||||
<li>mesa/glformats: Undo code changes from _mesa_base_tex_format() move</li>
|
||||
</ul>
|
||||
|
||||
<p>Nicolai Hähnle (1):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix mipmap generation for immutable textures with incomplete pyramids</li>
|
||||
</ul>
|
||||
|
||||
<p>Nigel Stewart (1):</p>
|
||||
<ul>
|
||||
<li>osmesa: Expose GL entry points for Windows build via DEF file.</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (1):</p>
|
||||
<ul>
|
||||
<li>gallivm: disable f16c when not using AVX</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Li (2):</p>
|
||||
<ul>
|
||||
<li>radeonsi: add support for Stoney asics (v3)</li>
|
||||
<li>radeonsi: add Stoney pci ids</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
145
docs/relnotes/11.0.6.html
Normal file
145
docs/relnotes/11.0.6.html
Normal file
@@ -0,0 +1,145 @@
|
||||
<!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.6 Release Notes / November 21, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 11.0.6 is a bug fix release which fixes bugs found since the 11.0.5 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 11.0.6 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>
|
||||
4bdf054af66ebabf3eca0616f9f5e44c2f234695661b570261c391bc2f4f7482 mesa-11.0.6.tar.gz
|
||||
8340e64cdc91999840404c211496f3de38e7b4cb38db34e2f72f1642c5134760 mesa-11.0.6.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=91780">Bug 91780</a> - Rendering issues with geometry shader</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92588">Bug 92588</a> - [HSW,BDW,BSW,SKL-Y][GLES 3.1 CTS] ES31-CTS.arrays_of_arrays.InteractionFunctionCalls2 - assert</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92738">Bug 92738</a> - Randon R7 240 doesn't work on 16KiB page size platform</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92860">Bug 92860</a> - [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92900">Bug 92900</a> - [regression bisected] About 700 piglit regressions is what could go wrong</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Alex Deucher (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: enable optimal raster config setting for fiji (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Ben Widawsky (1):</p>
|
||||
<ul>
|
||||
<li>i965/skl/gt4: Fix URB programming restriction.</li>
|
||||
</ul>
|
||||
|
||||
<p>Boyuan Zhang (2):</p>
|
||||
<ul>
|
||||
<li>st/vaapi: fix vaapi VC-1 simple/main corruption v2</li>
|
||||
<li>radeon/uvd: fix VC-1 simple/main profile decode v2</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (1):</p>
|
||||
<ul>
|
||||
<li>r600: initialised PGM_RESOURCES_2 for ES/GS</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (4):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 11.0.5</li>
|
||||
<li>cherry-ignore: add the swrast front buffer support</li>
|
||||
<li>automake: use static llvm for make distcheck</li>
|
||||
<li>Update version to 11.0.6</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (3):</p>
|
||||
<ul>
|
||||
<li>vc4: Return GL_OUT_OF_MEMORY when buffer allocation fails.</li>
|
||||
<li>vc4: Return NULL when we can't make our shadow for a sampler view.</li>
|
||||
<li>vc4: Add support for nir_op_uge, using the carry bit on QPU_A_SUB.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (2):</p>
|
||||
<ul>
|
||||
<li>meta/generate_mipmap: Don't leak the sampler object</li>
|
||||
<li>meta/generate_mipmap: Only modify the draw framebuffer binding in fallback_required</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (2):</p>
|
||||
<ul>
|
||||
<li>mesa/copyimage: allow width/height to not be multiples of block</li>
|
||||
<li>nouveau: don't expose HEVC decoding support</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<ul>
|
||||
<li>nir/vars_to_ssa: Rework copy set handling in lower_copies_to_load_store</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Allow implicit int -> uint conversions for the % operator.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: initialize SX_PS_DOWNCONVERT to 0 on Stoney</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>winsys/radeon: Use CPU page size instead of hardcoding 4096 bytes v3</li>
|
||||
</ul>
|
||||
|
||||
<p>Oded Gabbay (1):</p>
|
||||
<ul>
|
||||
<li>llvmpipe: use simple coeffs calc for 128bit vectors</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (2):</p>
|
||||
<ul>
|
||||
<li>radeon: fix bgrx8/xrgb8 blits</li>
|
||||
<li>r200: fix bgrx8/xrgb8 blits</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
153
docs/relnotes/11.0.7.html
Normal file
153
docs/relnotes/11.0.7.html
Normal file
@@ -0,0 +1,153 @@
|
||||
<!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>
|
||||
TBD
|
||||
</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
doxygen/.gitignore
vendored
1
doxygen/.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
*.db
|
||||
*.tag
|
||||
*.tmp
|
||||
agpgart
|
||||
|
@@ -33,3 +33,4 @@ subset: $(SUBSET:.doxy=.tag)
|
||||
clean:
|
||||
-rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
|
||||
-rm -rf *.tag
|
||||
-rm -rf *.db
|
||||
|
@@ -77,7 +77,7 @@ typedef HDC EGLNativeDisplayType;
|
||||
typedef HBITMAP EGLNativePixmapType;
|
||||
typedef HWND EGLNativeWindowType;
|
||||
|
||||
#elif defined(__APPLE__) || defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
||||
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
||||
|
||||
typedef int EGLNativeDisplayType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
@@ -105,7 +105,7 @@ typedef struct ANativeWindow* EGLNativeWindowType;
|
||||
typedef struct egl_native_pixmap_t* EGLNativePixmapType;
|
||||
typedef void* EGLNativeDisplayType;
|
||||
|
||||
#elif defined(__unix__)
|
||||
#elif defined(__unix__) || defined(__APPLE__)
|
||||
|
||||
#if defined(MESA_EGL_NO_X11_HEADERS)
|
||||
|
||||
|
@@ -6,7 +6,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013-2014 The Khronos Group Inc.
|
||||
** Copyright (c) 2013-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
|
||||
@@ -33,7 +33,7 @@ extern "C" {
|
||||
** used to make the header, and the header can be found at
|
||||
** http://www.opengl.org/registry/
|
||||
**
|
||||
** Khronos $Revision: 29735 $ on $Date: 2015-02-02 19:00:01 -0800 (Mon, 02 Feb 2015) $
|
||||
** Khronos $Revision: 31811 $ on $Date: 2015-08-10 17:01:11 +1000 (Mon, 10 Aug 2015) $
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||
@@ -53,7 +53,7 @@ extern "C" {
|
||||
#define GLAPI extern
|
||||
#endif
|
||||
|
||||
#define GL_GLEXT_VERSION 20150202
|
||||
#define GL_GLEXT_VERSION 20150809
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gl
|
||||
@@ -1041,6 +1041,22 @@ typedef unsigned short GLhalf;
|
||||
#define GL_COLOR_ATTACHMENT13 0x8CED
|
||||
#define GL_COLOR_ATTACHMENT14 0x8CEE
|
||||
#define GL_COLOR_ATTACHMENT15 0x8CEF
|
||||
#define GL_COLOR_ATTACHMENT16 0x8CF0
|
||||
#define GL_COLOR_ATTACHMENT17 0x8CF1
|
||||
#define GL_COLOR_ATTACHMENT18 0x8CF2
|
||||
#define GL_COLOR_ATTACHMENT19 0x8CF3
|
||||
#define GL_COLOR_ATTACHMENT20 0x8CF4
|
||||
#define GL_COLOR_ATTACHMENT21 0x8CF5
|
||||
#define GL_COLOR_ATTACHMENT22 0x8CF6
|
||||
#define GL_COLOR_ATTACHMENT23 0x8CF7
|
||||
#define GL_COLOR_ATTACHMENT24 0x8CF8
|
||||
#define GL_COLOR_ATTACHMENT25 0x8CF9
|
||||
#define GL_COLOR_ATTACHMENT26 0x8CFA
|
||||
#define GL_COLOR_ATTACHMENT27 0x8CFB
|
||||
#define GL_COLOR_ATTACHMENT28 0x8CFC
|
||||
#define GL_COLOR_ATTACHMENT29 0x8CFD
|
||||
#define GL_COLOR_ATTACHMENT30 0x8CFE
|
||||
#define GL_COLOR_ATTACHMENT31 0x8CFF
|
||||
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||
#define GL_FRAMEBUFFER 0x8D40
|
||||
@@ -2859,6 +2875,17 @@ GLAPI void APIENTRY glTextureBarrier (void);
|
||||
#define GL_ARB_ES3_1_compatibility 1
|
||||
#endif /* GL_ARB_ES3_1_compatibility */
|
||||
|
||||
#ifndef GL_ARB_ES3_2_compatibility
|
||||
#define GL_ARB_ES3_2_compatibility 1
|
||||
#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE
|
||||
#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381
|
||||
#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382
|
||||
typedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glPrimitiveBoundingBoxARB (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
|
||||
#endif
|
||||
#endif /* GL_ARB_ES3_2_compatibility */
|
||||
|
||||
#ifndef GL_ARB_ES3_compatibility
|
||||
#define GL_ARB_ES3_compatibility 1
|
||||
#endif /* GL_ARB_ES3_compatibility */
|
||||
@@ -3272,6 +3299,10 @@ GLAPI GLboolean APIENTRY glIsProgramARB (GLuint program);
|
||||
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
|
||||
#endif /* GL_ARB_fragment_shader */
|
||||
|
||||
#ifndef GL_ARB_fragment_shader_interlock
|
||||
#define GL_ARB_fragment_shader_interlock 1
|
||||
#endif /* GL_ARB_fragment_shader_interlock */
|
||||
|
||||
#ifndef GL_ARB_framebuffer_no_attachments
|
||||
#define GL_ARB_framebuffer_no_attachments 1
|
||||
#endif /* GL_ARB_framebuffer_no_attachments */
|
||||
@@ -3332,6 +3363,91 @@ GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachmen
|
||||
#define GL_ARB_gpu_shader_fp64 1
|
||||
#endif /* GL_ARB_gpu_shader_fp64 */
|
||||
|
||||
#ifndef GL_ARB_gpu_shader_int64
|
||||
#define GL_ARB_gpu_shader_int64 1
|
||||
#define GL_INT64_ARB 0x140E
|
||||
#define GL_INT64_VEC2_ARB 0x8FE9
|
||||
#define GL_INT64_VEC3_ARB 0x8FEA
|
||||
#define GL_INT64_VEC4_ARB 0x8FEB
|
||||
#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5
|
||||
#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6
|
||||
#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64ARBPROC) (GLint location, GLint64 x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64ARBPROC) (GLint location, GLint64 x, GLint64 y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64ARBPROC) (GLint location, GLuint64 x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMI64VARBPROC) (GLuint program, GLint location, GLint64 *params);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLuint64 *params);
|
||||
typedef void (APIENTRYP PFNGLGETNUNIFORMI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint64 *params);
|
||||
typedef void (APIENTRYP PFNGLGETNUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64ARBPROC) (GLuint program, GLint location, GLint64 x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64ARBPROC) (GLuint program, GLint location, GLuint64 x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glUniform1i64ARB (GLint location, GLint64 x);
|
||||
GLAPI void APIENTRY glUniform2i64ARB (GLint location, GLint64 x, GLint64 y);
|
||||
GLAPI void APIENTRY glUniform3i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
GLAPI void APIENTRY glUniform4i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
GLAPI void APIENTRY glUniform1i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform2i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform3i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform4i64vARB (GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glUniform1ui64ARB (GLint location, GLuint64 x);
|
||||
GLAPI void APIENTRY glUniform2ui64ARB (GLint location, GLuint64 x, GLuint64 y);
|
||||
GLAPI void APIENTRY glUniform3ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
GLAPI void APIENTRY glUniform4ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
GLAPI void APIENTRY glUniform1ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glUniform2ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glUniform3ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glUniform4ui64vARB (GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glGetUniformi64vARB (GLuint program, GLint location, GLint64 *params);
|
||||
GLAPI void APIENTRY glGetUniformui64vARB (GLuint program, GLint location, GLuint64 *params);
|
||||
GLAPI void APIENTRY glGetnUniformi64vARB (GLuint program, GLint location, GLsizei bufSize, GLint64 *params);
|
||||
GLAPI void APIENTRY glGetnUniformui64vARB (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params);
|
||||
GLAPI void APIENTRY glProgramUniform1i64ARB (GLuint program, GLint location, GLint64 x);
|
||||
GLAPI void APIENTRY glProgramUniform2i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y);
|
||||
GLAPI void APIENTRY glProgramUniform3i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
|
||||
GLAPI void APIENTRY glProgramUniform4i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
|
||||
GLAPI void APIENTRY glProgramUniform1i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform2i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform3i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform4i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64ARB (GLuint program, GLint location, GLuint64 x);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value);
|
||||
#endif
|
||||
#endif /* GL_ARB_gpu_shader_int64 */
|
||||
|
||||
#ifndef GL_ARB_half_float_pixel
|
||||
#define GL_ARB_half_float_pixel 1
|
||||
typedef unsigned short GLhalfARB;
|
||||
@@ -3711,6 +3827,16 @@ GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *par
|
||||
#define GL_ARB_occlusion_query2 1
|
||||
#endif /* GL_ARB_occlusion_query2 */
|
||||
|
||||
#ifndef GL_ARB_parallel_shader_compile
|
||||
#define GL_ARB_parallel_shader_compile 1
|
||||
#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0
|
||||
#define GL_COMPLETION_STATUS_ARB 0x91B1
|
||||
typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC) (GLuint count);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glMaxShaderCompilerThreadsARB (GLuint count);
|
||||
#endif
|
||||
#endif /* GL_ARB_parallel_shader_compile */
|
||||
|
||||
#ifndef GL_ARB_pipeline_statistics_query
|
||||
#define GL_ARB_pipeline_statistics_query 1
|
||||
#define GL_VERTICES_SUBMITTED_ARB 0x82EE
|
||||
@@ -3753,6 +3879,10 @@ GLAPI void APIENTRY glPointParameterfvARB (GLenum pname, const GLfloat *params);
|
||||
#define GL_COORD_REPLACE_ARB 0x8862
|
||||
#endif /* GL_ARB_point_sprite */
|
||||
|
||||
#ifndef GL_ARB_post_depth_coverage
|
||||
#define GL_ARB_post_depth_coverage 1
|
||||
#endif /* GL_ARB_post_depth_coverage */
|
||||
|
||||
#ifndef GL_ARB_program_interface_query
|
||||
#define GL_ARB_program_interface_query 1
|
||||
#endif /* GL_ARB_program_interface_query */
|
||||
@@ -3826,6 +3956,26 @@ GLAPI void APIENTRY glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum form
|
||||
#define GL_ARB_robustness_isolation 1
|
||||
#endif /* GL_ARB_robustness_isolation */
|
||||
|
||||
#ifndef GL_ARB_sample_locations
|
||||
#define GL_ARB_sample_locations 1
|
||||
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D
|
||||
#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E
|
||||
#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F
|
||||
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340
|
||||
#define GL_SAMPLE_LOCATION_ARB 0x8E50
|
||||
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341
|
||||
#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342
|
||||
#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343
|
||||
typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFramebufferSampleLocationsfvARB (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
|
||||
GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvARB (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
GLAPI void APIENTRY glEvaluateDepthValuesARB (void);
|
||||
#endif
|
||||
#endif /* GL_ARB_sample_locations */
|
||||
|
||||
#ifndef GL_ARB_sample_shading
|
||||
#define GL_ARB_sample_shading 1
|
||||
#define GL_SAMPLE_SHADING_ARB 0x8C36
|
||||
@@ -3852,14 +4002,26 @@ GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value);
|
||||
#define GL_ARB_separate_shader_objects 1
|
||||
#endif /* GL_ARB_separate_shader_objects */
|
||||
|
||||
#ifndef GL_ARB_shader_atomic_counter_ops
|
||||
#define GL_ARB_shader_atomic_counter_ops 1
|
||||
#endif /* GL_ARB_shader_atomic_counter_ops */
|
||||
|
||||
#ifndef GL_ARB_shader_atomic_counters
|
||||
#define GL_ARB_shader_atomic_counters 1
|
||||
#endif /* GL_ARB_shader_atomic_counters */
|
||||
|
||||
#ifndef GL_ARB_shader_ballot
|
||||
#define GL_ARB_shader_ballot 1
|
||||
#endif /* GL_ARB_shader_ballot */
|
||||
|
||||
#ifndef GL_ARB_shader_bit_encoding
|
||||
#define GL_ARB_shader_bit_encoding 1
|
||||
#endif /* GL_ARB_shader_bit_encoding */
|
||||
|
||||
#ifndef GL_ARB_shader_clock
|
||||
#define GL_ARB_shader_clock 1
|
||||
#endif /* GL_ARB_shader_clock */
|
||||
|
||||
#ifndef GL_ARB_shader_draw_parameters
|
||||
#define GL_ARB_shader_draw_parameters 1
|
||||
#endif /* GL_ARB_shader_draw_parameters */
|
||||
@@ -3879,7 +4041,12 @@ GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value);
|
||||
#ifndef GL_ARB_shader_objects
|
||||
#define GL_ARB_shader_objects 1
|
||||
#ifdef __APPLE__
|
||||
#ifdef BUILDING_MESA
|
||||
/* Avoid uint <-> void* warnings */
|
||||
typedef unsigned long GLhandleARB;
|
||||
#else
|
||||
typedef void *GLhandleARB;
|
||||
#endif
|
||||
#else
|
||||
typedef unsigned int GLhandleARB;
|
||||
#endif
|
||||
@@ -4024,6 +4191,10 @@ GLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GL
|
||||
#define GL_ARB_shader_texture_lod 1
|
||||
#endif /* GL_ARB_shader_texture_lod */
|
||||
|
||||
#ifndef GL_ARB_shader_viewport_layer_array
|
||||
#define GL_ARB_shader_viewport_layer_array 1
|
||||
#endif /* GL_ARB_shader_viewport_layer_array */
|
||||
|
||||
#ifndef GL_ARB_shading_language_100
|
||||
#define GL_ARB_shading_language_100 1
|
||||
#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
|
||||
@@ -4097,12 +4268,20 @@ GLAPI void APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offs
|
||||
#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199
|
||||
#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A
|
||||
#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9
|
||||
typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);
|
||||
typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);
|
||||
GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
|
||||
#endif
|
||||
#endif /* GL_ARB_sparse_texture */
|
||||
|
||||
#ifndef GL_ARB_sparse_texture2
|
||||
#define GL_ARB_sparse_texture2 1
|
||||
#endif /* GL_ARB_sparse_texture2 */
|
||||
|
||||
#ifndef GL_ARB_sparse_texture_clamp
|
||||
#define GL_ARB_sparse_texture_clamp 1
|
||||
#endif /* GL_ARB_sparse_texture_clamp */
|
||||
|
||||
#ifndef GL_ARB_stencil_texturing
|
||||
#define GL_ARB_stencil_texturing 1
|
||||
#endif /* GL_ARB_stencil_texturing */
|
||||
@@ -4255,6 +4434,12 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void
|
||||
#define GL_DOT3_RGBA_ARB 0x86AF
|
||||
#endif /* GL_ARB_texture_env_dot3 */
|
||||
|
||||
#ifndef GL_ARB_texture_filter_minmax
|
||||
#define GL_ARB_texture_filter_minmax 1
|
||||
#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366
|
||||
#define GL_WEIGHTED_AVERAGE_ARB 0x9367
|
||||
#endif /* GL_ARB_texture_filter_minmax */
|
||||
|
||||
#ifndef GL_ARB_texture_float
|
||||
#define GL_ARB_texture_float 1
|
||||
#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
|
||||
@@ -4749,6 +4934,11 @@ GLAPI void APIENTRY glBlendBarrierKHR (void);
|
||||
#define GL_KHR_debug 1
|
||||
#endif /* GL_KHR_debug */
|
||||
|
||||
#ifndef GL_KHR_no_error
|
||||
#define GL_KHR_no_error 1
|
||||
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
|
||||
#endif /* GL_KHR_no_error */
|
||||
|
||||
#ifndef GL_KHR_robust_buffer_access_behavior
|
||||
#define GL_KHR_robust_buffer_access_behavior 1
|
||||
#endif /* GL_KHR_robust_buffer_access_behavior */
|
||||
@@ -4891,7 +5081,6 @@ typedef void (APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfix
|
||||
typedef void (APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
|
||||
typedef void (APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
|
||||
typedef void (APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (APIENTRYP PFNGLSAMPLECOVERAGEOESPROC) (GLfixed value, GLboolean invert);
|
||||
typedef void (APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
@@ -4996,7 +5185,6 @@ GLAPI void APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
|
||||
GLAPI void APIENTRY glPointSizexOES (GLfixed size);
|
||||
GLAPI void APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
|
||||
GLAPI void APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
GLAPI void APIENTRY glSampleCoverageOES (GLfixed value, GLboolean invert);
|
||||
GLAPI void APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
|
||||
GLAPI void APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
|
||||
GLAPI void APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
|
||||
@@ -6710,7 +6898,7 @@ typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaob
|
||||
typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex);
|
||||
typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor);
|
||||
typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
|
||||
typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);
|
||||
typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
|
||||
typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m);
|
||||
@@ -6966,7 +7154,7 @@ GLAPI void APIENTRY glVertexArrayVertexAttribLFormatEXT (GLuint vaobj, GLuint at
|
||||
GLAPI void APIENTRY glVertexArrayVertexAttribBindingEXT (GLuint vaobj, GLuint attribindex, GLuint bindingindex);
|
||||
GLAPI void APIENTRY glVertexArrayVertexBindingDivisorEXT (GLuint vaobj, GLuint bindingindex, GLuint divisor);
|
||||
GLAPI void APIENTRY glVertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
|
||||
GLAPI void APIENTRY glTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);
|
||||
GLAPI void APIENTRY glTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
|
||||
GLAPI void APIENTRY glVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor);
|
||||
#endif
|
||||
#endif /* GL_EXT_direct_state_access */
|
||||
@@ -8630,6 +8818,14 @@ GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRG
|
||||
#define GL_INTEL_fragment_shader_ordering 1
|
||||
#endif /* GL_INTEL_fragment_shader_ordering */
|
||||
|
||||
#ifndef GL_INTEL_framebuffer_CMAA
|
||||
#define GL_INTEL_framebuffer_CMAA 1
|
||||
typedef void (APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void);
|
||||
#endif
|
||||
#endif /* GL_INTEL_framebuffer_CMAA */
|
||||
|
||||
#ifndef GL_INTEL_map_texture
|
||||
#define GL_INTEL_map_texture 1
|
||||
#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF
|
||||
@@ -8934,6 +9130,65 @@ GLAPI void APIENTRY glBlendBarrierNV (void);
|
||||
#define GL_NV_blend_square 1
|
||||
#endif /* GL_NV_blend_square */
|
||||
|
||||
#ifndef GL_NV_command_list
|
||||
#define GL_NV_command_list 1
|
||||
#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000
|
||||
#define GL_NOP_COMMAND_NV 0x0001
|
||||
#define GL_DRAW_ELEMENTS_COMMAND_NV 0x0002
|
||||
#define GL_DRAW_ARRAYS_COMMAND_NV 0x0003
|
||||
#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV 0x0004
|
||||
#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV 0x0005
|
||||
#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV 0x0006
|
||||
#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV 0x0007
|
||||
#define GL_ELEMENT_ADDRESS_COMMAND_NV 0x0008
|
||||
#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV 0x0009
|
||||
#define GL_UNIFORM_ADDRESS_COMMAND_NV 0x000A
|
||||
#define GL_BLEND_COLOR_COMMAND_NV 0x000B
|
||||
#define GL_STENCIL_REF_COMMAND_NV 0x000C
|
||||
#define GL_LINE_WIDTH_COMMAND_NV 0x000D
|
||||
#define GL_POLYGON_OFFSET_COMMAND_NV 0x000E
|
||||
#define GL_ALPHA_REF_COMMAND_NV 0x000F
|
||||
#define GL_VIEWPORT_COMMAND_NV 0x0010
|
||||
#define GL_SCISSOR_COMMAND_NV 0x0011
|
||||
#define GL_FRONT_FACE_COMMAND_NV 0x0012
|
||||
typedef void (APIENTRYP PFNGLCREATESTATESNVPROC) (GLsizei n, GLuint *states);
|
||||
typedef void (APIENTRYP PFNGLDELETESTATESNVPROC) (GLsizei n, const GLuint *states);
|
||||
typedef GLboolean (APIENTRYP PFNGLISSTATENVPROC) (GLuint state);
|
||||
typedef void (APIENTRYP PFNGLSTATECAPTURENVPROC) (GLuint state, GLenum mode);
|
||||
typedef GLuint (APIENTRYP PFNGLGETCOMMANDHEADERNVPROC) (GLenum tokenID, GLuint size);
|
||||
typedef GLushort (APIENTRYP PFNGLGETSTAGEINDEXNVPROC) (GLenum shadertype);
|
||||
typedef void (APIENTRYP PFNGLDRAWCOMMANDSNVPROC) (GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count);
|
||||
typedef void (APIENTRYP PFNGLDRAWCOMMANDSADDRESSNVPROC) (GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count);
|
||||
typedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESNVPROC) (GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);
|
||||
typedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC) (const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);
|
||||
typedef void (APIENTRYP PFNGLCREATECOMMANDLISTSNVPROC) (GLsizei n, GLuint *lists);
|
||||
typedef void (APIENTRYP PFNGLDELETECOMMANDLISTSNVPROC) (GLsizei n, const GLuint *lists);
|
||||
typedef GLboolean (APIENTRYP PFNGLISCOMMANDLISTNVPROC) (GLuint list);
|
||||
typedef void (APIENTRYP PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC) (GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);
|
||||
typedef void (APIENTRYP PFNGLCOMMANDLISTSEGMENTSNVPROC) (GLuint list, GLuint segments);
|
||||
typedef void (APIENTRYP PFNGLCOMPILECOMMANDLISTNVPROC) (GLuint list);
|
||||
typedef void (APIENTRYP PFNGLCALLCOMMANDLISTNVPROC) (GLuint list);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glCreateStatesNV (GLsizei n, GLuint *states);
|
||||
GLAPI void APIENTRY glDeleteStatesNV (GLsizei n, const GLuint *states);
|
||||
GLAPI GLboolean APIENTRY glIsStateNV (GLuint state);
|
||||
GLAPI void APIENTRY glStateCaptureNV (GLuint state, GLenum mode);
|
||||
GLAPI GLuint APIENTRY glGetCommandHeaderNV (GLenum tokenID, GLuint size);
|
||||
GLAPI GLushort APIENTRY glGetStageIndexNV (GLenum shadertype);
|
||||
GLAPI void APIENTRY glDrawCommandsNV (GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count);
|
||||
GLAPI void APIENTRY glDrawCommandsAddressNV (GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count);
|
||||
GLAPI void APIENTRY glDrawCommandsStatesNV (GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);
|
||||
GLAPI void APIENTRY glDrawCommandsStatesAddressNV (const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);
|
||||
GLAPI void APIENTRY glCreateCommandListsNV (GLsizei n, GLuint *lists);
|
||||
GLAPI void APIENTRY glDeleteCommandListsNV (GLsizei n, const GLuint *lists);
|
||||
GLAPI GLboolean APIENTRY glIsCommandListNV (GLuint list);
|
||||
GLAPI void APIENTRY glListDrawCommandsStatesClientNV (GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);
|
||||
GLAPI void APIENTRY glCommandListSegmentsNV (GLuint list, GLuint segments);
|
||||
GLAPI void APIENTRY glCompileCommandListNV (GLuint list);
|
||||
GLAPI void APIENTRY glCallCommandListNV (GLuint list);
|
||||
#endif
|
||||
#endif /* GL_NV_command_list */
|
||||
|
||||
#ifndef GL_NV_compute_program5
|
||||
#define GL_NV_compute_program5 1
|
||||
#define GL_COMPUTE_PROGRAM_NV 0x90FB
|
||||
@@ -8966,6 +9221,17 @@ GLAPI void APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits);
|
||||
#endif
|
||||
#endif /* GL_NV_conservative_raster */
|
||||
|
||||
#ifndef GL_NV_conservative_raster_dilate
|
||||
#define GL_NV_conservative_raster_dilate 1
|
||||
#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379
|
||||
#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A
|
||||
#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B
|
||||
typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum pname, GLfloat value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glConservativeRasterParameterfNV (GLenum pname, GLfloat value);
|
||||
#endif
|
||||
#endif /* GL_NV_conservative_raster_dilate */
|
||||
|
||||
#ifndef GL_NV_copy_depth_to_color
|
||||
#define GL_NV_copy_depth_to_color 1
|
||||
#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
|
||||
@@ -10845,6 +11111,21 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot
|
||||
#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983
|
||||
#endif /* GL_OML_subsample */
|
||||
|
||||
#ifndef GL_OVR_multiview
|
||||
#define GL_OVR_multiview 1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632
|
||||
#define GL_MAX_VIEWS_OVR 0x9631
|
||||
typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
|
||||
#endif
|
||||
#endif /* GL_OVR_multiview */
|
||||
|
||||
#ifndef GL_OVR_multiview2
|
||||
#define GL_OVR_multiview2 1
|
||||
#endif /* GL_OVR_multiview2 */
|
||||
|
||||
#ifndef GL_PGI_misc_hints
|
||||
#define GL_PGI_misc_hints 1
|
||||
#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8
|
||||
|
@@ -368,18 +368,6 @@ extern Bool glXDrawableAttribARB(Display *dpy, GLXDrawable draw, const int *attr
|
||||
#endif /* GLX_ARB_render_texture */
|
||||
|
||||
|
||||
/*
|
||||
* Remove this when glxext.h is updated.
|
||||
*/
|
||||
#ifndef GLX_NV_float_buffer
|
||||
#define GLX_NV_float_buffer 1
|
||||
|
||||
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
|
||||
|
||||
#endif /* GLX_NV_float_buffer */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* #?. GLX_MESA_swap_frame_usage
|
||||
*/
|
||||
@@ -415,86 +403,6 @@ typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void);
|
||||
#endif /* GLX_MESA_swap_control */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* #?. GLX_EXT_texture_from_pixmap
|
||||
* XXX not finished?
|
||||
*/
|
||||
#ifndef GLX_EXT_texture_from_pixmap
|
||||
#define GLX_EXT_texture_from_pixmap 1
|
||||
|
||||
#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
|
||||
#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
|
||||
#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
|
||||
#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
|
||||
#define GLX_Y_INVERTED_EXT 0x20D4
|
||||
|
||||
#define GLX_TEXTURE_FORMAT_EXT 0x20D5
|
||||
#define GLX_TEXTURE_TARGET_EXT 0x20D6
|
||||
#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
|
||||
|
||||
#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
|
||||
#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
|
||||
#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
|
||||
|
||||
#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
|
||||
#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
|
||||
#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
|
||||
|
||||
#define GLX_TEXTURE_1D_EXT 0x20DB
|
||||
#define GLX_TEXTURE_2D_EXT 0x20DC
|
||||
#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
|
||||
|
||||
#define GLX_FRONT_LEFT_EXT 0x20DE
|
||||
#define GLX_FRONT_RIGHT_EXT 0x20DF
|
||||
#define GLX_BACK_LEFT_EXT 0x20E0
|
||||
#define GLX_BACK_RIGHT_EXT 0x20E1
|
||||
#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT
|
||||
#define GLX_BACK_EXT GLX_BACK_LEFT_EXT
|
||||
#define GLX_AUX0_EXT 0x20E2
|
||||
#define GLX_AUX1_EXT 0x20E3
|
||||
#define GLX_AUX2_EXT 0x20E4
|
||||
#define GLX_AUX3_EXT 0x20E5
|
||||
#define GLX_AUX4_EXT 0x20E6
|
||||
#define GLX_AUX5_EXT 0x20E7
|
||||
#define GLX_AUX6_EXT 0x20E8
|
||||
#define GLX_AUX7_EXT 0x20E9
|
||||
#define GLX_AUX8_EXT 0x20EA
|
||||
#define GLX_AUX9_EXT 0x20EB
|
||||
|
||||
extern void glXBindTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
|
||||
extern void glXReleaseTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer);
|
||||
|
||||
#endif /* GLX_EXT_texture_from_pixmap */
|
||||
|
||||
|
||||
#ifndef GLX_MESA_query_renderer
|
||||
#define GLX_MESA_query_renderer 1
|
||||
|
||||
#define GLX_RENDERER_VENDOR_ID_MESA 0x8183
|
||||
#define GLX_RENDERER_DEVICE_ID_MESA 0x8184
|
||||
#define GLX_RENDERER_VERSION_MESA 0x8185
|
||||
#define GLX_RENDERER_ACCELERATED_MESA 0x8186
|
||||
#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187
|
||||
#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188
|
||||
#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189
|
||||
#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A
|
||||
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
|
||||
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
|
||||
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
|
||||
#define GLX_RENDERER_ID_MESA 0x818E
|
||||
|
||||
Bool glXQueryRendererIntegerMESA(Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
|
||||
Bool glXQueryCurrentRendererIntegerMESA(int attribute, unsigned int *value);
|
||||
const char *glXQueryRendererStringMESA(Display *dpy, int screen, int renderer, int attribute);
|
||||
const char *glXQueryCurrentRendererStringMESA(int attribute);
|
||||
|
||||
typedef Bool (*PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
|
||||
typedef Bool (*PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int *value);
|
||||
typedef const char *(*PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute);
|
||||
typedef const char *(*PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
|
||||
#endif /* GLX_MESA_query_renderer */
|
||||
|
||||
/*** Should these go here, or in another header? */
|
||||
/*
|
||||
** GLX Events
|
||||
|
@@ -40,14 +40,7 @@
|
||||
#ifndef DRI_INTERFACE_H
|
||||
#define DRI_INTERFACE_H
|
||||
|
||||
/* For archs with no drm.h */
|
||||
#if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__)
|
||||
#ifndef __NOT_HAVE_DRM_H
|
||||
#define __NOT_HAVE_DRM_H
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __NOT_HAVE_DRM_H
|
||||
#ifdef HAVE_LIBDRM
|
||||
#include <drm.h>
|
||||
#else
|
||||
typedef unsigned int drm_context_t;
|
||||
@@ -1101,12 +1094,15 @@ struct __DRIdri2ExtensionRec {
|
||||
|
||||
|
||||
/**
|
||||
* Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h
|
||||
* and GBM_FORMAT_* from gbm.h, used with createImageFromNames.
|
||||
* 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
|
||||
* createImageFromNames.
|
||||
*
|
||||
* \since 5
|
||||
*/
|
||||
|
||||
#define __DRI_IMAGE_FOURCC_R8 0x20203852
|
||||
#define __DRI_IMAGE_FOURCC_GR88 0x38385247
|
||||
#define __DRI_IMAGE_FOURCC_RGB565 0x36314752
|
||||
#define __DRI_IMAGE_FOURCC_ARGB8888 0x34325241
|
||||
#define __DRI_IMAGE_FOURCC_XRGB8888 0x34325258
|
||||
@@ -1141,6 +1137,8 @@ struct __DRIdri2ExtensionRec {
|
||||
#define __DRI_IMAGE_COMPONENTS_Y_U_V 0x3003
|
||||
#define __DRI_IMAGE_COMPONENTS_Y_UV 0x3004
|
||||
#define __DRI_IMAGE_COMPONENTS_Y_XUXV 0x3005
|
||||
#define __DRI_IMAGE_COMPONENTS_R 0x3006
|
||||
#define __DRI_IMAGE_COMPONENTS_RG 0x3007
|
||||
|
||||
|
||||
/**
|
||||
@@ -1180,7 +1178,8 @@ enum __DRIChromaSiting {
|
||||
};
|
||||
|
||||
/**
|
||||
* \name Reasons that __DRIimageExtensionRec::createImageFromTexture might fail
|
||||
* \name Reasons that __DRIimageExtensionRec::createImageFromTexture or
|
||||
* __DRIimageExtensionRec::createImageFromDmaBufs might fail
|
||||
*/
|
||||
/*@{*/
|
||||
/** Success! */
|
||||
@@ -1189,11 +1188,14 @@ enum __DRIChromaSiting {
|
||||
/** Memory allocation failure */
|
||||
#define __DRI_IMAGE_ERROR_BAD_ALLOC 1
|
||||
|
||||
/** Client requested an invalid attribute for a texture object */
|
||||
/** Client requested an invalid attribute */
|
||||
#define __DRI_IMAGE_ERROR_BAD_MATCH 2
|
||||
|
||||
/** Client requested an invalid texture object */
|
||||
#define __DRI_IMAGE_ERROR_BAD_PARAMETER 3
|
||||
|
||||
/** Client requested an invalid pitch and/or offset */
|
||||
#define __DRI_IMAGE_ERROR_BAD_ACCESS 4
|
||||
/*@}*/
|
||||
|
||||
/**
|
||||
@@ -1444,6 +1446,11 @@ typedef struct __DRIDriverVtableExtensionRec {
|
||||
#define __DRI2_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION 0x0008
|
||||
#define __DRI2_RENDERER_OPENGL_ES_PROFILE_VERSION 0x0009
|
||||
#define __DRI2_RENDERER_OPENGL_ES2_PROFILE_VERSION 0x000a
|
||||
#define __DRI2_RENDERER_HAS_TEXTURE_3D 0x000b
|
||||
/* Whether there is an sRGB format support for every supported 32-bit UNORM
|
||||
* color format.
|
||||
*/
|
||||
#define __DRI2_RENDERER_HAS_FRAMEBUFFER_SRGB 0x000c
|
||||
|
||||
typedef struct __DRI2rendererQueryExtensionRec __DRI2rendererQueryExtension;
|
||||
struct __DRI2rendererQueryExtensionRec {
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -140,6 +140,18 @@ llrintf(float f)
|
||||
return rounded;
|
||||
}
|
||||
|
||||
static inline float
|
||||
exp2f(float f)
|
||||
{
|
||||
return powf(2.0f, f);
|
||||
}
|
||||
|
||||
static inline double
|
||||
exp2(double d)
|
||||
{
|
||||
return pow(2.0, d);
|
||||
}
|
||||
|
||||
#endif /* C99 */
|
||||
|
||||
|
||||
|
@@ -124,7 +124,14 @@ CHIPSET(0x1921, skl_gt2, "Intel(R) Skylake ULT GT2F")
|
||||
CHIPSET(0x1926, skl_gt3, "Intel(R) Skylake ULT GT3")
|
||||
CHIPSET(0x192A, skl_gt3, "Intel(R) Skylake SRV GT3")
|
||||
CHIPSET(0x192B, skl_gt3, "Intel(R) Skylake Halo 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(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(0x5A84, bxt, "Intel(R) HD Graphics (Broxton)")
|
||||
|
@@ -63,6 +63,7 @@ CHIPSET(0x6608, OLAND_6608, OLAND)
|
||||
CHIPSET(0x6610, OLAND_6610, OLAND)
|
||||
CHIPSET(0x6611, OLAND_6611, OLAND)
|
||||
CHIPSET(0x6613, OLAND_6613, OLAND)
|
||||
CHIPSET(0x6617, OLAND_6617, OLAND)
|
||||
CHIPSET(0x6620, OLAND_6620, OLAND)
|
||||
CHIPSET(0x6621, OLAND_6621, OLAND)
|
||||
CHIPSET(0x6623, OLAND_6623, OLAND)
|
||||
@@ -156,3 +157,29 @@ CHIPSET(0x67B8, HAWAII_67B8, HAWAII)
|
||||
CHIPSET(0x67B9, HAWAII_67B9, HAWAII)
|
||||
CHIPSET(0x67BA, HAWAII_67BA, HAWAII)
|
||||
CHIPSET(0x67BE, HAWAII_67BE, HAWAII)
|
||||
|
||||
CHIPSET(0x6900, ICELAND_, ICELAND)
|
||||
CHIPSET(0x6901, ICELAND_, ICELAND)
|
||||
CHIPSET(0x6902, ICELAND_, ICELAND)
|
||||
CHIPSET(0x6903, ICELAND_, ICELAND)
|
||||
CHIPSET(0x6907, ICELAND_, ICELAND)
|
||||
|
||||
CHIPSET(0x6920, TONGA_, TONGA)
|
||||
CHIPSET(0x6921, TONGA_, TONGA)
|
||||
CHIPSET(0x6928, TONGA_, TONGA)
|
||||
CHIPSET(0x6929, TONGA_, TONGA)
|
||||
CHIPSET(0x692B, TONGA_, TONGA)
|
||||
CHIPSET(0x692F, TONGA_, TONGA)
|
||||
CHIPSET(0x6930, TONGA_, TONGA)
|
||||
CHIPSET(0x6938, TONGA_, TONGA)
|
||||
CHIPSET(0x6939, TONGA_, TONGA)
|
||||
|
||||
CHIPSET(0x9870, CARRIZO_, CARRIZO)
|
||||
CHIPSET(0x9874, CARRIZO_, CARRIZO)
|
||||
CHIPSET(0x9875, CARRIZO_, CARRIZO)
|
||||
CHIPSET(0x9876, CARRIZO_, CARRIZO)
|
||||
CHIPSET(0x9877, CARRIZO_, CARRIZO)
|
||||
|
||||
CHIPSET(0x7300, FIJI_, FIJI)
|
||||
|
||||
CHIPSET(0x98E4, STONEY_, STONEY)
|
||||
|
@@ -300,6 +300,7 @@ def generate(env):
|
||||
|
||||
# C preprocessor options
|
||||
cppdefines = []
|
||||
cppdefines += ['__STDC_LIMIT_MACROS']
|
||||
if env['build'] in ('debug', 'checked'):
|
||||
cppdefines += ['DEBUG']
|
||||
else:
|
||||
|
@@ -19,8 +19,6 @@
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
|
||||
SUBDIRS = . gtest util mapi/glapi/gen mapi
|
||||
|
||||
if NEED_OPENGL_COMMON
|
||||
@@ -37,16 +35,12 @@ if HAVE_EGL_PLATFORM_WAYLAND
|
||||
SUBDIRS += egl/wayland/wayland-egl egl/wayland/wayland-drm
|
||||
endif
|
||||
|
||||
if HAVE_EGL_DRIVER_DRI2
|
||||
SUBDIRS += egl/drivers/dri2
|
||||
endif
|
||||
|
||||
if HAVE_GBM
|
||||
SUBDIRS += gbm
|
||||
endif
|
||||
|
||||
if HAVE_EGL
|
||||
SUBDIRS += egl/main
|
||||
SUBDIRS += egl
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM
|
||||
@@ -54,8 +48,6 @@ SUBDIRS += gallium
|
||||
endif
|
||||
|
||||
EXTRA_DIST = \
|
||||
egl/drivers/haiku \
|
||||
egl/docs \
|
||||
getopt hgl SConscript
|
||||
|
||||
AM_CFLAGS = $(VISIBILITY_CFLAGS)
|
||||
|
@@ -31,13 +31,8 @@ SConscript('mesa/SConscript')
|
||||
if not env['embedded']:
|
||||
if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'windows'):
|
||||
SConscript('glx/SConscript')
|
||||
if env['platform'] not in ['darwin', 'haiku', 'sunos', 'windows']:
|
||||
if env['dri']:
|
||||
SConscript('egl/drivers/dri2/SConscript')
|
||||
SConscript('egl/main/SConscript')
|
||||
if env['platform'] == 'haiku':
|
||||
SConscript('egl/drivers/haiku/SConscript')
|
||||
SConscript('egl/main/SConscript')
|
||||
SConscript('egl/SConscript')
|
||||
|
||||
if env['gles']:
|
||||
SConscript('mapi/shared-glapi/SConscript')
|
||||
|
@@ -27,21 +27,36 @@ LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(LOCAL_PATH)/Makefile.sources
|
||||
|
||||
SOURCES := \
|
||||
${LIBEGL_C_FILES}
|
||||
|
||||
# ---------------------------------------
|
||||
# Build libGLES_mesa
|
||||
# ---------------------------------------
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(SOURCES)
|
||||
LOCAL_SRC_FILES := \
|
||||
$(LIBEGL_C_FILES) \
|
||||
$(dri2_backend_core_FILES) \
|
||||
drivers/dri2/platform_android.c
|
||||
|
||||
LOCAL_CFLAGS := \
|
||||
-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ANDROID \
|
||||
-D_EGL_DRIVER_SEARCH_DIR=\"/system/lib/egl\" \
|
||||
-D_EGL_OS_UNIX=1
|
||||
-D_EGL_BUILT_IN_DRIVER_DRI2 \
|
||||
-DHAVE_ANDROID_PLATFORM
|
||||
|
||||
ifeq ($(MESA_LOLLIPOP_BUILD),true)
|
||||
LOCAL_CFLAGS_arm := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
LOCAL_CFLAGS_x86 := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
LOCAL_CFLAGS_x86_64 := -DDEFAULT_DRIVER_DIR=\"/system/lib64/dri\"
|
||||
else
|
||||
LOCAL_CFLAGS += -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/egl/main \
|
||||
$(MESA_TOP)/src/egl/drivers/dri2 \
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libmesa_loader
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libdl \
|
||||
@@ -55,12 +70,11 @@ LOCAL_SHARED_LIBRARIES += libsync
|
||||
endif
|
||||
|
||||
# add libdrm if there are hardware drivers
|
||||
ifneq ($(MESA_GPU_DRIVERS),swrast)
|
||||
ifneq ($(filter-out swrast,$(MESA_GPU_DRIVERS)),)
|
||||
LOCAL_CFLAGS += -DHAVE_LIBDRM
|
||||
LOCAL_SHARED_LIBRARIES += libdrm
|
||||
endif
|
||||
|
||||
LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
|
||||
|
||||
ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
|
||||
# require i915_dri and/or i965_dri
|
||||
LOCAL_REQUIRED_MODULES += \
|
||||
@@ -71,9 +85,6 @@ ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
|
||||
LOCAL_REQUIRED_MODULES += gallium_dri
|
||||
endif # MESA_BUILD_GALLIUM
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libmesa_egl_dri2 \
|
||||
libmesa_loader
|
||||
|
||||
LOCAL_MODULE := libGLES_mesa
|
||||
ifeq ($(MESA_LOLLIPOP_BUILD),true)
|
@@ -23,18 +23,19 @@ include Makefile.sources
|
||||
|
||||
AM_CFLAGS = \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/src/egl/main \
|
||||
-I$(top_srcdir)/src/gbm/main \
|
||||
-I$(top_srcdir)/src \
|
||||
$(DEFINES) \
|
||||
$(VISIBILITY_CFLAGS) \
|
||||
$(LIBDRM_CFLAGS) \
|
||||
$(EGL_CFLAGS) \
|
||||
-D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM) \
|
||||
-D_EGL_DRIVER_SEARCH_DIR=\"$(libdir)/egl\" \
|
||||
-D_EGL_OS_UNIX=1
|
||||
-D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM)
|
||||
|
||||
lib_LTLIBRARIES = libEGL.la
|
||||
|
||||
libEGL_la_SOURCES = \
|
||||
${LIBEGL_C_FILES}
|
||||
$(LIBEGL_C_FILES)
|
||||
|
||||
libEGL_la_LIBADD = \
|
||||
$(EGL_LIB_DEPS)
|
||||
@@ -45,10 +46,13 @@ libEGL_la_LDFLAGS = \
|
||||
$(GC_SECTIONS) \
|
||||
$(LD_NO_UNDEFINED)
|
||||
|
||||
dri2_backend_FILES =
|
||||
|
||||
if HAVE_EGL_PLATFORM_X11
|
||||
AM_CFLAGS += -DHAVE_X11_PLATFORM
|
||||
AM_CFLAGS += $(XCB_DRI2_CFLAGS)
|
||||
libEGL_la_LIBADD += $(XCB_DRI2_LIBS)
|
||||
dri2_backend_FILES += drivers/dri2/platform_x11.c
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_WAYLAND
|
||||
@@ -56,26 +60,37 @@ AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM
|
||||
AM_CFLAGS += $(WAYLAND_CFLAGS)
|
||||
libEGL_la_LIBADD += $(WAYLAND_LIBS)
|
||||
libEGL_la_LIBADD += $(LIBDRM_LIBS)
|
||||
libEGL_la_LIBADD += ../wayland/wayland-drm/libwayland-drm.la
|
||||
libEGL_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la
|
||||
dri2_backend_FILES += drivers/dri2/platform_wayland.c
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_DRM
|
||||
AM_CFLAGS += -DHAVE_DRM_PLATFORM
|
||||
libEGL_la_LIBADD += ../../gbm/libgbm.la
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_NULL
|
||||
AM_CFLAGS += -DHAVE_NULL_PLATFORM
|
||||
libEGL_la_LIBADD += $(top_builddir)/src/gbm/libgbm.la
|
||||
dri2_backend_FILES += drivers/dri2/platform_drm.c
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_SURFACELESS
|
||||
AM_CFLAGS += -DHAVE_SURFACELESS_PLATFORM
|
||||
dri2_backend_FILES += drivers/dri2/platform_surfaceless.c
|
||||
endif
|
||||
|
||||
if HAVE_EGL_DRIVER_DRI2
|
||||
AM_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
|
||||
AM_CFLAGS += -DHAVE_XCB_DRI2
|
||||
libEGL_la_LIBADD += ../drivers/dri2/libegl_dri2.la
|
||||
AM_CFLAGS += \
|
||||
-I$(top_srcdir)/src/loader \
|
||||
-I$(top_srcdir)/src/egl/drivers/dri2 \
|
||||
-I$(top_srcdir)/src/gbm/backends/dri \
|
||||
-I$(top_srcdir)/src/egl/wayland/wayland-egl \
|
||||
-I$(top_srcdir)/src/egl/wayland/wayland-drm \
|
||||
-I$(top_builddir)/src/egl/wayland/wayland-drm \
|
||||
-DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \
|
||||
-D_EGL_BUILT_IN_DRIVER_DRI2
|
||||
|
||||
libEGL_la_SOURCES += \
|
||||
$(dri2_backend_core_FILES) \
|
||||
$(dri2_backend_FILES)
|
||||
|
||||
libEGL_la_LIBADD += $(top_builddir)/src/loader/libloader.la
|
||||
libEGL_la_LIBADD += $(DLOPEN_LIBS) $(LIBDRM_LIBS)
|
||||
endif
|
||||
|
||||
@@ -83,7 +98,7 @@ include $(top_srcdir)/install-lib-links.mk
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
|
||||
pkgconfig_DATA = egl.pc
|
||||
pkgconfig_DATA = main/egl.pc
|
||||
|
||||
khrdir = $(includedir)/KHR
|
||||
khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h
|
||||
@@ -97,6 +112,8 @@ egl_HEADERS = \
|
||||
$(top_srcdir)/include/EGL/eglplatform.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
egl.def \
|
||||
README.txt \
|
||||
SConscript
|
||||
SConscript \
|
||||
drivers/haiku \
|
||||
docs \
|
||||
main/egl.def \
|
||||
main/README.txt
|
34
src/egl/Makefile.sources
Normal file
34
src/egl/Makefile.sources
Normal file
@@ -0,0 +1,34 @@
|
||||
LIBEGL_C_FILES := \
|
||||
main/eglapi.c \
|
||||
main/eglapi.h \
|
||||
main/eglarray.c \
|
||||
main/eglarray.h \
|
||||
main/eglcompiler.h \
|
||||
main/eglconfig.c \
|
||||
main/eglconfig.h \
|
||||
main/eglcontext.c \
|
||||
main/eglcontext.h \
|
||||
main/eglcurrent.c \
|
||||
main/eglcurrent.h \
|
||||
main/egldefines.h \
|
||||
main/egldisplay.c \
|
||||
main/egldisplay.h \
|
||||
main/egldriver.c \
|
||||
main/egldriver.h \
|
||||
main/eglfallbacks.c \
|
||||
main/eglglobals.c \
|
||||
main/eglglobals.h \
|
||||
main/eglimage.c \
|
||||
main/eglimage.h \
|
||||
main/egllog.c \
|
||||
main/egllog.h \
|
||||
main/eglsurface.c \
|
||||
main/eglsurface.h \
|
||||
main/eglsync.c \
|
||||
main/eglsync.h \
|
||||
main/egltypedefs.h
|
||||
|
||||
dri2_backend_core_FILES := \
|
||||
drivers/dri2/egl_dri2.c \
|
||||
drivers/dri2/egl_dri2.h \
|
||||
drivers/dri2/egl_dri2_fallbacks.h
|
33
src/egl/SConscript
Normal file
33
src/egl/SConscript
Normal file
@@ -0,0 +1,33 @@
|
||||
#######################################################################
|
||||
# SConscript for EGL
|
||||
|
||||
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
'#/src/egl/main',
|
||||
'#/src',
|
||||
])
|
||||
|
||||
|
||||
# parse Makefile.sources
|
||||
egl_sources = env.ParseSourceList('Makefile.sources', 'LIBEGL_C_FILES')
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_HAIKU',
|
||||
'_EGL_BUILT_IN_DRIVER_HAIKU',
|
||||
'HAVE_HAIKU_PLATFORM',
|
||||
])
|
||||
egl_sources.append('drivers/haiku/egl_haiku.cpp')
|
||||
|
||||
egl = env.SharedLibrary(
|
||||
target = 'EGL',
|
||||
source = egl_sources,
|
||||
)
|
||||
|
||||
egl = env.InstallSharedLibrary(egl, version=(1, 0, 0))
|
||||
|
||||
env.Alias('egl', egl)
|
@@ -1,64 +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.
|
||||
|
||||
# Android.mk for egl_dri2
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
egl_dri2.c \
|
||||
platform_android.c
|
||||
|
||||
LOCAL_CFLAGS := \
|
||||
-DHAVE_SHARED_GLAPI \
|
||||
-DHAVE_ANDROID_PLATFORM
|
||||
|
||||
ifeq ($(MESA_LOLLIPOP_BUILD),true)
|
||||
LOCAL_CFLAGS_arm := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
LOCAL_CFLAGS_x86 := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
LOCAL_CFLAGS_x86_64 := -DDEFAULT_DRIVER_DIR=\"/system/lib64/dri\"
|
||||
else
|
||||
LOCAL_CFLAGS += -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/egl/main \
|
||||
$(DRM_GRALLOC_TOP)
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libmesa_loader
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
|
||||
ifeq ($(shell echo "$(MESA_ANDROID_VERSION) >= 4.2" | bc),1)
|
||||
LOCAL_SHARED_LIBRARIES += \
|
||||
libsync
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := libmesa_egl_dri2
|
||||
|
||||
include $(MESA_COMMON_MK)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
@@ -1,73 +0,0 @@
|
||||
# Copyright © 2012 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.
|
||||
|
||||
AM_CFLAGS = \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/src/egl/main \
|
||||
-I$(top_srcdir)/src/loader \
|
||||
-I$(top_srcdir)/src/gbm/main \
|
||||
-I$(top_srcdir)/src/gbm/backends/dri \
|
||||
-I$(top_srcdir)/src/egl/wayland/wayland-egl \
|
||||
-I$(top_srcdir)/src/egl/wayland/wayland-drm \
|
||||
-I$(top_builddir)/src/egl/wayland/wayland-drm \
|
||||
$(DEFINES) \
|
||||
$(VISIBILITY_CFLAGS) \
|
||||
$(LIBDRM_CFLAGS) \
|
||||
-DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\"
|
||||
|
||||
noinst_LTLIBRARIES = libegl_dri2.la
|
||||
|
||||
libegl_dri2_la_SOURCES = \
|
||||
egl_dri2.c \
|
||||
egl_dri2.h \
|
||||
egl_dri2_fallbacks.h
|
||||
|
||||
libegl_dri2_la_LIBADD = \
|
||||
$(top_builddir)/src/loader/libloader.la \
|
||||
$(EGL_LIB_DEPS)
|
||||
|
||||
if HAVE_SHARED_GLAPI
|
||||
AM_CFLAGS += -DHAVE_SHARED_GLAPI
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_X11
|
||||
libegl_dri2_la_SOURCES += platform_x11.c
|
||||
AM_CFLAGS += -DHAVE_X11_PLATFORM
|
||||
AM_CFLAGS += $(XCB_DRI2_CFLAGS)
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_WAYLAND
|
||||
libegl_dri2_la_SOURCES += platform_wayland.c
|
||||
AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM
|
||||
AM_CFLAGS += $(WAYLAND_CFLAGS)
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_DRM
|
||||
libegl_dri2_la_SOURCES += platform_drm.c
|
||||
AM_CFLAGS += -DHAVE_DRM_PLATFORM
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_SURFACELESS
|
||||
libegl_dri2_la_SOURCES += platform_surfaceless.c
|
||||
AM_CFLAGS += -DHAVE_SURFACELESS_PLATFORM
|
||||
endif
|
||||
|
||||
EXTRA_DIST = SConscript
|
@@ -1,40 +0,0 @@
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'DEFAULT_DRIVER_DIR=\\"\\"'
|
||||
])
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
'#/src/egl/main',
|
||||
'#/src/loader',
|
||||
])
|
||||
|
||||
sources = [
|
||||
'egl_dri2.c',
|
||||
]
|
||||
|
||||
if env['x11']:
|
||||
sources.append('platform_x11.c')
|
||||
env.Append(CPPDEFINES = [
|
||||
'HAVE_X11_PLATFORM',
|
||||
])
|
||||
#env.Append(CPPPATH = [
|
||||
# 'XCB_DRI2_CFLAGS',
|
||||
#])
|
||||
|
||||
if env['drm']:
|
||||
env.PkgUseModules('DRM')
|
||||
|
||||
env.Prepend(LIBS = [
|
||||
libloader,
|
||||
])
|
||||
|
||||
egl_dri2 = env.ConvenienceLibrary(
|
||||
target = 'egl_dri2',
|
||||
source = sources,
|
||||
)
|
||||
|
||||
Export('egl_dri2')
|
@@ -28,6 +28,7 @@
|
||||
#define WL_HIDE_DEPRECATED
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
@@ -51,7 +52,23 @@
|
||||
#endif
|
||||
|
||||
#include "egl_dri2.h"
|
||||
#include "../util/u_atomic.h"
|
||||
#include "util/u_atomic.h"
|
||||
|
||||
/* The kernel header drm_fourcc.h defines the DRM formats below. We duplicate
|
||||
* some of the definitions here so that building Mesa won't bleeding-edge
|
||||
* kernel headers.
|
||||
*/
|
||||
#ifndef DRM_FORMAT_R8
|
||||
#define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ') /* [7:0] R */
|
||||
#endif
|
||||
|
||||
#ifndef DRM_FORMAT_RG88
|
||||
#define DRM_FORMAT_RG88 fourcc_code('R', 'G', '8', '8') /* [15:0] R:G 8:8 little endian */
|
||||
#endif
|
||||
|
||||
#ifndef DRM_FORMAT_GR88
|
||||
#define DRM_FORMAT_GR88 fourcc_code('G', 'R', '8', '8') /* [15:0] G:R 8:8 little endian */
|
||||
#endif
|
||||
|
||||
const __DRIuseInvalidateExtension use_invalidate = {
|
||||
.base = { __DRI_USE_INVALIDATE, 1 }
|
||||
@@ -109,6 +126,18 @@ EGLint dri2_to_egl_attribute_map[] = {
|
||||
0, /* __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE */
|
||||
};
|
||||
|
||||
const __DRIconfig *
|
||||
dri2_get_dri_config(struct dri2_egl_config *conf, EGLint surface_type,
|
||||
EGLenum colorspace)
|
||||
{
|
||||
if (colorspace == EGL_GL_COLORSPACE_SRGB_KHR)
|
||||
return surface_type == EGL_WINDOW_BIT ? conf->dri_srgb_double_config :
|
||||
conf->dri_srgb_single_config;
|
||||
else
|
||||
return surface_type == EGL_WINDOW_BIT ? conf->dri_double_config :
|
||||
conf->dri_single_config;
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_match_config(const _EGLConfig *conf, const _EGLConfig *criteria)
|
||||
{
|
||||
@@ -130,6 +159,7 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
|
||||
struct dri2_egl_display *dri2_dpy;
|
||||
_EGLConfig base;
|
||||
unsigned int attrib, value, double_buffer;
|
||||
bool srgb = false;
|
||||
EGLint key, bind_to_texture_rgb, bind_to_texture_rgba;
|
||||
unsigned int dri_masks[4] = { 0, 0, 0, 0 };
|
||||
_EGLConfig *matching_config;
|
||||
@@ -204,6 +234,10 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
|
||||
return NULL;
|
||||
break;
|
||||
|
||||
case __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE:
|
||||
srgb = value != 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
key = dri2_to_egl_attribute_map[attrib];
|
||||
if (key != 0)
|
||||
@@ -249,27 +283,36 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
|
||||
if (num_configs == 1) {
|
||||
conf = (struct dri2_egl_config *) matching_config;
|
||||
|
||||
if (double_buffer && !conf->dri_double_config)
|
||||
if (double_buffer && srgb && !conf->dri_srgb_double_config)
|
||||
conf->dri_srgb_double_config = dri_config;
|
||||
else if (double_buffer && !srgb && !conf->dri_double_config)
|
||||
conf->dri_double_config = dri_config;
|
||||
else if (!double_buffer && !conf->dri_single_config)
|
||||
else if (!double_buffer && srgb && !conf->dri_srgb_single_config)
|
||||
conf->dri_srgb_single_config = dri_config;
|
||||
else if (!double_buffer && !srgb && !conf->dri_single_config)
|
||||
conf->dri_single_config = dri_config;
|
||||
else
|
||||
/* a similar config type is already added (unlikely) => discard */
|
||||
return NULL;
|
||||
}
|
||||
else if (num_configs == 0) {
|
||||
conf = malloc(sizeof *conf);
|
||||
conf = calloc(1, sizeof *conf);
|
||||
if (conf == NULL)
|
||||
return NULL;
|
||||
|
||||
memcpy(&conf->base, &base, sizeof base);
|
||||
if (double_buffer) {
|
||||
if (srgb)
|
||||
conf->dri_srgb_double_config = dri_config;
|
||||
else
|
||||
conf->dri_double_config = dri_config;
|
||||
conf->dri_single_config = NULL;
|
||||
} else {
|
||||
if (srgb)
|
||||
conf->dri_srgb_single_config = dri_config;
|
||||
else
|
||||
conf->dri_single_config = dri_config;
|
||||
conf->dri_double_config = NULL;
|
||||
}
|
||||
|
||||
conf->base.SurfaceType = 0;
|
||||
conf->base.ConfigID = config_id;
|
||||
|
||||
@@ -500,6 +543,19 @@ dri2_load_driver_swrast(_EGLDisplay *disp)
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
static unsigned
|
||||
dri2_renderer_query_integer(struct dri2_egl_display *dri2_dpy, int param)
|
||||
{
|
||||
const __DRI2rendererQueryExtension *rendererQuery = dri2_dpy->rendererQuery;
|
||||
unsigned int value = 0;
|
||||
|
||||
if (!rendererQuery ||
|
||||
rendererQuery->queryInteger(dri2_dpy->dri_screen, param, &value) == -1)
|
||||
return 0;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
void
|
||||
dri2_setup_screen(_EGLDisplay *disp)
|
||||
{
|
||||
@@ -530,6 +586,10 @@ dri2_setup_screen(_EGLDisplay *disp)
|
||||
disp->Extensions.KHR_surfaceless_context = EGL_TRUE;
|
||||
disp->Extensions.MESA_configless_context = EGL_TRUE;
|
||||
|
||||
if (dri2_renderer_query_integer(dri2_dpy,
|
||||
__DRI2_RENDERER_HAS_FRAMEBUFFER_SRGB))
|
||||
disp->Extensions.KHR_gl_colorspace = EGL_TRUE;
|
||||
|
||||
if (dri2_dpy->dri2 && dri2_dpy->dri2->base.version >= 3) {
|
||||
disp->Extensions.KHR_create_context = EGL_TRUE;
|
||||
|
||||
@@ -567,6 +627,9 @@ dri2_setup_screen(_EGLDisplay *disp)
|
||||
disp->Extensions.KHR_gl_texture_2D_image = EGL_TRUE;
|
||||
disp->Extensions.KHR_gl_texture_cubemap_image = EGL_TRUE;
|
||||
}
|
||||
if (dri2_renderer_query_integer(dri2_dpy,
|
||||
__DRI2_RENDERER_HAS_TEXTURE_3D))
|
||||
disp->Extensions.KHR_gl_texture_3D_image = EGL_TRUE;
|
||||
#ifdef HAVE_LIBDRM
|
||||
if (dri2_dpy->image->base.version >= 8 &&
|
||||
dri2_dpy->image->createImageFromDmaBufs) {
|
||||
@@ -644,6 +707,9 @@ dri2_create_screen(_EGLDisplay *disp)
|
||||
if (strcmp(extensions[i]->name, __DRI2_FENCE) == 0) {
|
||||
dri2_dpy->fence = (__DRI2fenceExtension *) extensions[i];
|
||||
}
|
||||
if (strcmp(extensions[i]->name, __DRI2_RENDERER_QUERY) == 0) {
|
||||
dri2_dpy->rendererQuery = (__DRI2rendererQueryExtension *) extensions[i];
|
||||
}
|
||||
}
|
||||
|
||||
dri2_setup_screen(disp);
|
||||
@@ -1384,53 +1450,6 @@ dri2_create_image_khr_renderbuffer(_EGLDisplay *disp, _EGLContext *ctx,
|
||||
return dri2_create_image_from_dri(disp, dri_image);
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
static _EGLImage *
|
||||
dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx,
|
||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
EGLint format, name, pitch, err;
|
||||
_EGLImageAttribs attrs;
|
||||
__DRIimage *dri_image;
|
||||
|
||||
name = (EGLint) (uintptr_t) buffer;
|
||||
|
||||
err = _eglParseImageAttribList(&attrs, disp, attr_list);
|
||||
if (err != EGL_SUCCESS)
|
||||
return NULL;
|
||||
|
||||
if (attrs.Width <= 0 || attrs.Height <= 0 ||
|
||||
attrs.DRMBufferStrideMESA <= 0) {
|
||||
_eglError(EGL_BAD_PARAMETER,
|
||||
"bad width, height or stride");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
switch (attrs.DRMBufferFormatMESA) {
|
||||
case EGL_DRM_BUFFER_FORMAT_ARGB32_MESA:
|
||||
format = __DRI_IMAGE_FORMAT_ARGB8888;
|
||||
pitch = attrs.DRMBufferStrideMESA;
|
||||
break;
|
||||
default:
|
||||
_eglError(EGL_BAD_PARAMETER,
|
||||
"dri2_create_image_khr: unsupported pixmap depth");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dri_image =
|
||||
dri2_dpy->image->createImageFromName(dri2_dpy->dri_screen,
|
||||
attrs.Width,
|
||||
attrs.Height,
|
||||
format,
|
||||
name,
|
||||
pitch,
|
||||
NULL);
|
||||
|
||||
return dri2_create_image_from_dri(disp, dri_image);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
|
||||
/* This structure describes how a wl_buffer maps to one or more
|
||||
@@ -1528,6 +1547,10 @@ dri2_create_image_khr_texture_error(int dri_error)
|
||||
egl_error = EGL_BAD_PARAMETER;
|
||||
break;
|
||||
|
||||
case __DRI_IMAGE_ERROR_BAD_ACCESS:
|
||||
egl_error = EGL_BAD_ACCESS;
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(0);
|
||||
egl_error = EGL_BAD_MATCH;
|
||||
@@ -1566,9 +1589,15 @@ dri2_create_image_khr_texture(_EGLDisplay *disp, _EGLContext *ctx,
|
||||
gl_target = GL_TEXTURE_2D;
|
||||
break;
|
||||
case EGL_GL_TEXTURE_3D_KHR:
|
||||
if (disp->Extensions.KHR_gl_texture_3D_image) {
|
||||
depth = attrs.GLTextureZOffset;
|
||||
gl_target = GL_TEXTURE_3D;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
_eglError(EGL_BAD_PARAMETER, "dri2_create_image_khr");
|
||||
return EGL_NO_IMAGE_KHR;
|
||||
}
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR:
|
||||
@@ -1621,6 +1650,51 @@ dri2_create_wayland_buffer_from_image(_EGLDriver *drv, _EGLDisplay *dpy,
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
static _EGLImage *
|
||||
dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx,
|
||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
EGLint format, name, pitch, err;
|
||||
_EGLImageAttribs attrs;
|
||||
__DRIimage *dri_image;
|
||||
|
||||
name = (EGLint) (uintptr_t) buffer;
|
||||
|
||||
err = _eglParseImageAttribList(&attrs, disp, attr_list);
|
||||
if (err != EGL_SUCCESS)
|
||||
return NULL;
|
||||
|
||||
if (attrs.Width <= 0 || attrs.Height <= 0 ||
|
||||
attrs.DRMBufferStrideMESA <= 0) {
|
||||
_eglError(EGL_BAD_PARAMETER,
|
||||
"bad width, height or stride");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
switch (attrs.DRMBufferFormatMESA) {
|
||||
case EGL_DRM_BUFFER_FORMAT_ARGB32_MESA:
|
||||
format = __DRI_IMAGE_FORMAT_ARGB8888;
|
||||
pitch = attrs.DRMBufferStrideMESA;
|
||||
break;
|
||||
default:
|
||||
_eglError(EGL_BAD_PARAMETER,
|
||||
"dri2_create_image_khr: unsupported pixmap depth");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dri_image =
|
||||
dri2_dpy->image->createImageFromName(dri2_dpy->dri_screen,
|
||||
attrs.Width,
|
||||
attrs.Height,
|
||||
format,
|
||||
name,
|
||||
pitch,
|
||||
NULL);
|
||||
|
||||
return dri2_create_image_from_dri(disp, dri_image);
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_check_dma_buf_attribs(const _EGLImageAttribs *attrs)
|
||||
{
|
||||
@@ -1673,6 +1747,9 @@ dri2_check_dma_buf_format(const _EGLImageAttribs *attrs)
|
||||
unsigned i, plane_n;
|
||||
|
||||
switch (attrs->DMABufFourCC.Value) {
|
||||
case DRM_FORMAT_R8:
|
||||
case DRM_FORMAT_RG88:
|
||||
case DRM_FORMAT_GR88:
|
||||
case DRM_FORMAT_RGB332:
|
||||
case DRM_FORMAT_BGR233:
|
||||
case DRM_FORMAT_XRGB4444:
|
||||
@@ -1850,59 +1927,6 @@ dri2_create_image_dma_buf(_EGLDisplay *disp, _EGLContext *ctx,
|
||||
|
||||
return res;
|
||||
}
|
||||
#endif
|
||||
|
||||
_EGLImage *
|
||||
dri2_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLContext *ctx, EGLenum target,
|
||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||
{
|
||||
(void) drv;
|
||||
|
||||
switch (target) {
|
||||
case EGL_GL_TEXTURE_2D_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR:
|
||||
return dri2_create_image_khr_texture(disp, ctx, target, buffer, attr_list);
|
||||
case EGL_GL_RENDERBUFFER_KHR:
|
||||
return dri2_create_image_khr_renderbuffer(disp, ctx, buffer, attr_list);
|
||||
#ifdef HAVE_LIBDRM
|
||||
case EGL_DRM_BUFFER_MESA:
|
||||
return dri2_create_image_mesa_drm_buffer(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
case EGL_WAYLAND_BUFFER_WL:
|
||||
return dri2_create_image_wayland_wl_buffer(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
#ifdef HAVE_LIBDRM
|
||||
case EGL_LINUX_DMA_BUF_EXT:
|
||||
return dri2_create_image_dma_buf(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
default:
|
||||
_eglError(EGL_BAD_PARAMETER, "dri2_create_image_khr");
|
||||
return EGL_NO_IMAGE_KHR;
|
||||
}
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_destroy_image_khr(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *image)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
struct dri2_egl_image *dri2_img = dri2_egl_image(image);
|
||||
|
||||
(void) drv;
|
||||
|
||||
dri2_dpy->image->destroyImage(dri2_img->dri_image);
|
||||
free(dri2_img);
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
static _EGLImage *
|
||||
dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
const EGLint *attr_list)
|
||||
@@ -2062,8 +2086,65 @@ dri2_export_dma_buf_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *im
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
_EGLImage *
|
||||
dri2_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLContext *ctx, EGLenum target,
|
||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||
{
|
||||
(void) drv;
|
||||
|
||||
switch (target) {
|
||||
case EGL_GL_TEXTURE_2D_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR:
|
||||
case EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR:
|
||||
return dri2_create_image_khr_texture(disp, ctx, target, buffer, attr_list);
|
||||
case EGL_GL_TEXTURE_3D_KHR:
|
||||
if (disp->Extensions.KHR_gl_texture_3D_image) {
|
||||
return dri2_create_image_khr_texture(disp, ctx, target, buffer, attr_list);
|
||||
}
|
||||
else {
|
||||
_eglError(EGL_BAD_PARAMETER, "dri2_create_image_khr");
|
||||
return EGL_NO_IMAGE_KHR;
|
||||
}
|
||||
case EGL_GL_RENDERBUFFER_KHR:
|
||||
return dri2_create_image_khr_renderbuffer(disp, ctx, buffer, attr_list);
|
||||
#ifdef HAVE_LIBDRM
|
||||
case EGL_DRM_BUFFER_MESA:
|
||||
return dri2_create_image_mesa_drm_buffer(disp, ctx, buffer, attr_list);
|
||||
case EGL_LINUX_DMA_BUF_EXT:
|
||||
return dri2_create_image_dma_buf(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
case EGL_WAYLAND_BUFFER_WL:
|
||||
return dri2_create_image_wayland_wl_buffer(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
default:
|
||||
_eglError(EGL_BAD_PARAMETER, "dri2_create_image_khr");
|
||||
return EGL_NO_IMAGE_KHR;
|
||||
}
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_destroy_image_khr(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *image)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
struct dri2_egl_image *dri2_img = dri2_egl_image(image);
|
||||
|
||||
(void) drv;
|
||||
|
||||
dri2_dpy->image->destroyImage(dri2_img->dri_image);
|
||||
free(dri2_img);
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
|
||||
static void
|
||||
@@ -2141,13 +2222,11 @@ dri2_bind_wayland_display_wl(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
wl_drm_callbacks.authenticate =
|
||||
(int(*)(void *, uint32_t)) dri2_dpy->vtbl->authenticate;
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
if (drmGetCap(dri2_dpy->fd, DRM_CAP_PRIME, &cap) == 0 &&
|
||||
cap == (DRM_PRIME_CAP_IMPORT | DRM_PRIME_CAP_EXPORT) &&
|
||||
dri2_dpy->image->base.version >= 7 &&
|
||||
dri2_dpy->image->createImageFromFds != NULL)
|
||||
flags |= WAYLAND_DRM_PRIME;
|
||||
#endif
|
||||
|
||||
dri2_dpy->wl_server_drm =
|
||||
wayland_drm_init(wl_dpy, dri2_dpy->device_name,
|
||||
@@ -2307,13 +2386,18 @@ dri2_client_wait_sync(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync,
|
||||
unsigned wait_flags = 0;
|
||||
EGLint ret = EGL_CONDITION_SATISFIED_KHR;
|
||||
|
||||
if (flags & EGL_SYNC_FLUSH_COMMANDS_BIT_KHR)
|
||||
/* The EGL_KHR_fence_sync spec states:
|
||||
*
|
||||
* "If no context is current for the bound API,
|
||||
* the EGL_SYNC_FLUSH_COMMANDS_BIT_KHR bit is ignored.
|
||||
*/
|
||||
if (dri2_ctx && flags & EGL_SYNC_FLUSH_COMMANDS_BIT_KHR)
|
||||
wait_flags |= __DRI2_FENCE_FLAG_FLUSH_COMMANDS;
|
||||
|
||||
/* the sync object should take a reference while waiting */
|
||||
dri2_egl_ref_sync(dri2_sync);
|
||||
|
||||
if (dri2_dpy->fence->client_wait_sync(dri2_ctx->dri_context,
|
||||
if (dri2_dpy->fence->client_wait_sync(dri2_ctx ? dri2_ctx->dri_context : NULL,
|
||||
dri2_sync->fence, wait_flags,
|
||||
timeout))
|
||||
dri2_sync->base.SyncStatus = EGL_SIGNALED_KHR;
|
||||
@@ -2351,18 +2435,12 @@ static EGLBoolean
|
||||
dri2_load(_EGLDriver *drv)
|
||||
{
|
||||
struct dri2_egl_driver *dri2_drv = dri2_egl_driver(drv);
|
||||
#ifdef HAVE_SHARED_GLAPI
|
||||
#ifdef HAVE_ANDROID_PLATFORM
|
||||
const char *libname = "libglapi.so";
|
||||
#elif defined(__APPLE__)
|
||||
const char *libname = "libglapi.0.dylib";
|
||||
#else
|
||||
const char *libname = "libglapi.so.0";
|
||||
#endif
|
||||
#else
|
||||
/*
|
||||
* Both libGL.so and libglapi.so are glapi providers. There is no way to
|
||||
* tell which one to load.
|
||||
*/
|
||||
const char *libname = NULL;
|
||||
#endif
|
||||
void *handle;
|
||||
|
||||
|
@@ -166,6 +166,7 @@ struct dri2_egl_display
|
||||
const __DRIrobustnessExtension *robustness;
|
||||
const __DRI2configQueryExtension *config;
|
||||
const __DRI2fenceExtension *fence;
|
||||
const __DRI2rendererQueryExtension *rendererQuery;
|
||||
int fd;
|
||||
|
||||
int own_device;
|
||||
@@ -285,6 +286,8 @@ struct dri2_egl_config
|
||||
_EGLConfig base;
|
||||
const __DRIconfig *dri_single_config;
|
||||
const __DRIconfig *dri_double_config;
|
||||
const __DRIconfig *dri_srgb_single_config;
|
||||
const __DRIconfig *dri_srgb_double_config;
|
||||
};
|
||||
|
||||
struct dri2_egl_image
|
||||
@@ -357,4 +360,8 @@ dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp);
|
||||
void
|
||||
dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw);
|
||||
|
||||
const __DRIconfig *
|
||||
dri2_get_dri_config(struct dri2_egl_config *conf, EGLint surface_type,
|
||||
EGLenum colorspace);
|
||||
|
||||
#endif /* EGL_DRI2_INCLUDED */
|
||||
|
@@ -199,6 +199,7 @@ droid_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
struct dri2_egl_config *dri2_conf = dri2_egl_config(conf);
|
||||
struct dri2_egl_surface *dri2_surf;
|
||||
struct ANativeWindow *window = native_window;
|
||||
const __DRIconfig *config;
|
||||
|
||||
dri2_surf = calloc(1, sizeof *dri2_surf);
|
||||
if (!dri2_surf) {
|
||||
@@ -230,9 +231,11 @@ droid_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
window->query(window, NATIVE_WINDOW_HEIGHT, &dri2_surf->base.Height);
|
||||
}
|
||||
|
||||
config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT,
|
||||
dri2_surf->base.GLColorspace);
|
||||
|
||||
dri2_surf->dri_drawable =
|
||||
(*dri2_dpy->dri2->createNewDrawable)(dri2_dpy->dri_screen,
|
||||
dri2_conf->dri_double_config,
|
||||
(*dri2_dpy->dri2->createNewDrawable)(dri2_dpy->dri_screen, config,
|
||||
dri2_surf);
|
||||
if (dri2_surf->dri_drawable == NULL) {
|
||||
_eglError(EGL_BAD_ALLOC, "dri2->createNewDrawable");
|
||||
|
@@ -68,7 +68,7 @@ release_buffer(struct gbm_surface *_surf, struct gbm_bo *bo)
|
||||
{
|
||||
struct gbm_dri_surface *surf = (struct gbm_dri_surface *) _surf;
|
||||
struct dri2_egl_surface *dri2_surf = surf->dri_private;
|
||||
int i;
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) {
|
||||
if (dri2_surf->color_buffers[i].bo == bo) {
|
||||
@@ -82,7 +82,7 @@ has_free_buffers(struct gbm_surface *_surf)
|
||||
{
|
||||
struct gbm_dri_surface *surf = (struct gbm_dri_surface *) _surf;
|
||||
struct dri2_egl_surface *dri2_surf = surf->dri_private;
|
||||
int i;
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++)
|
||||
if (!dri2_surf->color_buffers[i].locked)
|
||||
@@ -115,8 +115,11 @@ dri2_drm_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
|
||||
switch (type) {
|
||||
case EGL_WINDOW_BIT:
|
||||
if (!window)
|
||||
return NULL;
|
||||
if (!window) {
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW, "dri2_create_surface");
|
||||
goto cleanup_surf;
|
||||
}
|
||||
|
||||
surf = gbm_dri_surface(window);
|
||||
dri2_surf->gbm_surf = surf;
|
||||
dri2_surf->base.Width = surf->base.width;
|
||||
@@ -128,9 +131,12 @@ dri2_drm_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
}
|
||||
|
||||
if (dri2_dpy->dri2) {
|
||||
const __DRIconfig *config =
|
||||
dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT,
|
||||
dri2_surf->base.GLColorspace);
|
||||
|
||||
dri2_surf->dri_drawable =
|
||||
(*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen,
|
||||
dri2_conf->dri_double_config,
|
||||
(*dri2_dpy->dri2->createNewDrawable)(dri2_dpy->dri_screen, config,
|
||||
dri2_surf->gbm_surf);
|
||||
|
||||
} else {
|
||||
@@ -183,7 +189,7 @@ dri2_drm_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf);
|
||||
int i;
|
||||
unsigned i;
|
||||
|
||||
if (!_eglPutSurface(surf))
|
||||
return EGL_TRUE;
|
||||
@@ -212,7 +218,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf)
|
||||
struct dri2_egl_display *dri2_dpy =
|
||||
dri2_egl_display(dri2_surf->base.Resource.Display);
|
||||
struct gbm_dri_surface *surf = dri2_surf->gbm_surf;
|
||||
int i;
|
||||
unsigned i;
|
||||
|
||||
if (dri2_surf->back == NULL) {
|
||||
for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) {
|
||||
@@ -408,7 +414,7 @@ dri2_drm_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
|
||||
int i;
|
||||
unsigned i;
|
||||
|
||||
if (dri2_dpy->swrast) {
|
||||
(*dri2_dpy->core->swapBuffers)(dri2_surf->dri_drawable);
|
||||
|
@@ -65,7 +65,7 @@ sync_callback(void *data, struct wl_callback *callback, uint32_t serial)
|
||||
}
|
||||
|
||||
static const struct wl_callback_listener sync_listener = {
|
||||
sync_callback
|
||||
.done = sync_callback
|
||||
};
|
||||
|
||||
static int
|
||||
@@ -104,8 +104,8 @@ wl_buffer_release(void *data, struct wl_buffer *buffer)
|
||||
dri2_surf->color_buffers[i].locked = 0;
|
||||
}
|
||||
|
||||
static struct wl_buffer_listener wl_buffer_listener = {
|
||||
wl_buffer_release
|
||||
static const struct wl_buffer_listener wl_buffer_listener = {
|
||||
.release = wl_buffer_release
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -130,6 +130,7 @@ dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
struct dri2_egl_config *dri2_conf = dri2_egl_config(conf);
|
||||
struct wl_egl_window *window = native_window;
|
||||
struct dri2_egl_surface *dri2_surf;
|
||||
const __DRIconfig *config;
|
||||
|
||||
(void) drv;
|
||||
|
||||
@@ -149,6 +150,11 @@ dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
else
|
||||
dri2_surf->format = WL_DRM_FORMAT_ARGB8888;
|
||||
|
||||
if (!window) {
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW, "dri2_create_surface");
|
||||
goto cleanup_surf;
|
||||
}
|
||||
|
||||
dri2_surf->wl_win = window;
|
||||
|
||||
dri2_surf->wl_win->private = dri2_surf;
|
||||
@@ -157,19 +163,19 @@ dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
dri2_surf->base.Width = -1;
|
||||
dri2_surf->base.Height = -1;
|
||||
|
||||
config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT,
|
||||
dri2_surf->base.GLColorspace);
|
||||
|
||||
dri2_surf->dri_drawable =
|
||||
(*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen,
|
||||
dri2_conf->dri_double_config,
|
||||
(*dri2_dpy->dri2->createNewDrawable)(dri2_dpy->dri_screen, config,
|
||||
dri2_surf);
|
||||
if (dri2_surf->dri_drawable == NULL) {
|
||||
_eglError(EGL_BAD_ALLOC, "dri2->createNewDrawable");
|
||||
goto cleanup_dri_drawable;
|
||||
goto cleanup_surf;
|
||||
}
|
||||
|
||||
return &dri2_surf->base;
|
||||
|
||||
cleanup_dri_drawable:
|
||||
dri2_dpy->core->destroyDrawable(dri2_surf->dri_drawable);
|
||||
cleanup_surf:
|
||||
free(dri2_surf);
|
||||
|
||||
@@ -595,7 +601,7 @@ wayland_throttle_callback(void *data,
|
||||
}
|
||||
|
||||
static const struct wl_callback_listener throttle_listener = {
|
||||
wayland_throttle_callback
|
||||
.done = wayland_throttle_callback
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -697,18 +703,10 @@ dri2_wl_swap_buffers_with_damage(_EGLDriver *drv,
|
||||
dri2_surf->dx = 0;
|
||||
dri2_surf->dy = 0;
|
||||
|
||||
if (n_rects == 0) {
|
||||
/* We deliberately ignore the damage region and post maximum damage, due to
|
||||
* https://bugs.freedesktop.org/78190 */
|
||||
wl_surface_damage(dri2_surf->wl_win->surface,
|
||||
0, 0, INT32_MAX, INT32_MAX);
|
||||
} else {
|
||||
for (i = 0; i < n_rects; i++) {
|
||||
const int *rect = &rects[i * 4];
|
||||
wl_surface_damage(dri2_surf->wl_win->surface,
|
||||
rect[0],
|
||||
dri2_surf->base.Height - rect[1] - rect[3],
|
||||
rect[2], rect[3]);
|
||||
}
|
||||
}
|
||||
|
||||
if (dri2_dpy->is_different_gpu) {
|
||||
_EGLContext *ctx = _eglGetCurrentContext();
|
||||
@@ -839,22 +837,6 @@ bad_format:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static char
|
||||
is_fd_render_node(int fd)
|
||||
{
|
||||
struct stat render;
|
||||
|
||||
if (fstat(fd, &render))
|
||||
return 0;
|
||||
|
||||
if (!S_ISCHR(render.st_mode))
|
||||
return 0;
|
||||
|
||||
if (render.st_rdev & 0x80)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
dri2_wl_authenticate(_EGLDisplay *disp, uint32_t id)
|
||||
{
|
||||
@@ -898,7 +880,7 @@ drm_handle_device(void *data, struct wl_drm *drm, const char *device)
|
||||
return;
|
||||
}
|
||||
|
||||
if (is_fd_render_node(dri2_dpy->fd)) {
|
||||
if (drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER) {
|
||||
dri2_dpy->authenticated = 1;
|
||||
} else {
|
||||
drmGetMagic(dri2_dpy->fd, &magic);
|
||||
@@ -941,10 +923,10 @@ drm_handle_authenticated(void *data, struct wl_drm *drm)
|
||||
}
|
||||
|
||||
static const struct wl_drm_listener drm_listener = {
|
||||
drm_handle_device,
|
||||
drm_handle_format,
|
||||
drm_handle_authenticated,
|
||||
drm_handle_capabilities
|
||||
.device = drm_handle_device,
|
||||
.format = drm_handle_format,
|
||||
.authenticated = drm_handle_authenticated,
|
||||
.capabilities = drm_handle_capabilities
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -969,8 +951,8 @@ registry_handle_global_remove(void *data, struct wl_registry *registry,
|
||||
}
|
||||
|
||||
static const struct wl_registry_listener registry_listener_drm = {
|
||||
registry_handle_global_drm,
|
||||
registry_handle_global_remove
|
||||
.global = registry_handle_global_drm,
|
||||
.global_remove = registry_handle_global_remove
|
||||
};
|
||||
|
||||
static EGLBoolean
|
||||
@@ -1108,7 +1090,7 @@ dri2_initialize_wayland_drm(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
* will return a render-node when the requested gpu is different
|
||||
* to the server, but also if the client asks for the same gpu than
|
||||
* the server by requesting its pci-id */
|
||||
dri2_dpy->is_render_node = is_fd_render_node(dri2_dpy->fd);
|
||||
dri2_dpy->is_render_node = drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER;
|
||||
|
||||
dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0);
|
||||
if (dri2_dpy->driver_name == NULL) {
|
||||
@@ -1237,6 +1219,8 @@ dri2_wl_swrast_get_stride_for_format(int format, int w)
|
||||
* Taken from weston shared/os-compatibility.c
|
||||
*/
|
||||
|
||||
#ifndef HAVE_MKOSTEMP
|
||||
|
||||
static int
|
||||
set_cloexec_or_close(int fd)
|
||||
{
|
||||
@@ -1259,6 +1243,8 @@ err:
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Taken from weston shared/os-compatibility.c
|
||||
*/
|
||||
@@ -1726,7 +1712,7 @@ shm_handle_format(void *data, struct wl_shm *shm, uint32_t format)
|
||||
}
|
||||
|
||||
static const struct wl_shm_listener shm_listener = {
|
||||
shm_handle_format
|
||||
.format = shm_handle_format
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -1743,8 +1729,8 @@ registry_handle_global_swrast(void *data, struct wl_registry *registry, uint32_t
|
||||
}
|
||||
|
||||
static const struct wl_registry_listener registry_listener_swrast = {
|
||||
registry_handle_global_swrast,
|
||||
registry_handle_global_remove
|
||||
.global = registry_handle_global_swrast,
|
||||
.global_remove = registry_handle_global_remove
|
||||
};
|
||||
|
||||
static struct dri2_egl_display_vtbl dri2_wl_swrast_display_vtbl = {
|
||||
|
@@ -226,7 +226,7 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
s = xcb_setup_roots_iterator(xcb_get_setup(dri2_dpy->conn));
|
||||
screen = get_xcb_screen(s, dri2_dpy->screen);
|
||||
if (!screen) {
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW, "dri2_create_surface");
|
||||
_eglError(EGL_BAD_ALLOC, "failed to get xcb screen");
|
||||
goto cleanup_surf;
|
||||
}
|
||||
|
||||
@@ -235,15 +235,22 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
dri2_surf->drawable, screen->root,
|
||||
dri2_surf->base.Width, dri2_surf->base.Height);
|
||||
} else {
|
||||
if (!drawable) {
|
||||
if (type == EGL_WINDOW_BIT)
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW, "dri2_create_surface");
|
||||
else
|
||||
_eglError(EGL_BAD_NATIVE_PIXMAP, "dri2_create_surface");
|
||||
goto cleanup_surf;
|
||||
}
|
||||
dri2_surf->drawable = drawable;
|
||||
}
|
||||
|
||||
if (dri2_dpy->dri2) {
|
||||
const __DRIconfig *config =
|
||||
dri2_get_dri_config(dri2_conf, type, dri2_surf->base.GLColorspace);
|
||||
|
||||
dri2_surf->dri_drawable =
|
||||
(*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen,
|
||||
type == EGL_WINDOW_BIT ?
|
||||
dri2_conf->dri_double_config :
|
||||
dri2_conf->dri_single_config,
|
||||
(*dri2_dpy->dri2->createNewDrawable)(dri2_dpy->dri_screen, config,
|
||||
dri2_surf);
|
||||
} else {
|
||||
assert(dri2_dpy->swrast);
|
||||
@@ -261,10 +268,18 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
if (type != EGL_PBUFFER_BIT) {
|
||||
cookie = xcb_get_geometry (dri2_dpy->conn, dri2_surf->drawable);
|
||||
reply = xcb_get_geometry_reply (dri2_dpy->conn, cookie, &error);
|
||||
if (reply == NULL || error != NULL) {
|
||||
if (error != NULL) {
|
||||
if (error->error_code == BadAlloc)
|
||||
_eglError(EGL_BAD_ALLOC, "xcb_get_geometry");
|
||||
else if (type == EGL_WINDOW_BIT)
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW, "xcb_get_geometry");
|
||||
else
|
||||
_eglError(EGL_BAD_NATIVE_PIXMAP, "xcb_get_geometry");
|
||||
free(error);
|
||||
goto cleanup_dri_drawable;
|
||||
} else if (reply == NULL) {
|
||||
_eglError(EGL_BAD_ALLOC, "xcb_get_geometry");
|
||||
goto cleanup_dri_drawable;
|
||||
}
|
||||
|
||||
dri2_surf->base.Width = reply->width;
|
||||
@@ -274,7 +289,25 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
}
|
||||
|
||||
if (dri2_dpy->dri2) {
|
||||
xcb_dri2_create_drawable (dri2_dpy->conn, dri2_surf->drawable);
|
||||
xcb_void_cookie_t cookie;
|
||||
int conn_error;
|
||||
|
||||
cookie = xcb_dri2_create_drawable_checked(dri2_dpy->conn,
|
||||
dri2_surf->drawable);
|
||||
error = xcb_request_check(dri2_dpy->conn, cookie);
|
||||
conn_error = xcb_connection_has_error(dri2_dpy->conn);
|
||||
if (conn_error || error != NULL) {
|
||||
if (type == EGL_PBUFFER_BIT || conn_error || error->error_code == BadAlloc)
|
||||
_eglError(EGL_BAD_ALLOC, "xcb_dri2_create_drawable_checked");
|
||||
else if (type == EGL_WINDOW_BIT)
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW,
|
||||
"xcb_dri2_create_drawable_checked");
|
||||
else
|
||||
_eglError(EGL_BAD_NATIVE_PIXMAP,
|
||||
"xcb_dri2_create_drawable_checked");
|
||||
free(error);
|
||||
goto cleanup_dri_drawable;
|
||||
}
|
||||
} else {
|
||||
if (type == EGL_PBUFFER_BIT) {
|
||||
dri2_surf->depth = _eglGetConfigKey(conf, EGL_BUFFER_SIZE);
|
||||
@@ -515,7 +548,7 @@ dri2_x11_connect(struct dri2_egl_display *dri2_dpy)
|
||||
xcb_generic_error_t *error;
|
||||
xcb_screen_iterator_t s;
|
||||
xcb_screen_t *screen;
|
||||
char *driver_name, *device_name;
|
||||
char *driver_name, *loader_driver_name, *device_name;
|
||||
const xcb_query_extension_reply_t *extension;
|
||||
|
||||
xcb_prefetch_extension_data (dri2_dpy->conn, &xcb_xfixes_id);
|
||||
@@ -540,7 +573,7 @@ dri2_x11_connect(struct dri2_egl_display *dri2_dpy)
|
||||
s = xcb_setup_roots_iterator(xcb_get_setup(dri2_dpy->conn));
|
||||
screen = get_xcb_screen(s, dri2_dpy->screen);
|
||||
if (!screen) {
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW, "dri2_x11_connect");
|
||||
_eglLog(_EGL_WARNING, "DRI2: failed to get xcb screen");
|
||||
return EGL_FALSE;
|
||||
}
|
||||
connect_cookie = xcb_dri2_connect_unchecked(dri2_dpy->conn, screen->root,
|
||||
@@ -575,18 +608,38 @@ dri2_x11_connect(struct dri2_egl_display *dri2_dpy)
|
||||
return EGL_FALSE;
|
||||
}
|
||||
|
||||
driver_name = xcb_dri2_connect_driver_name (connect);
|
||||
dri2_dpy->driver_name =
|
||||
strndup(driver_name,
|
||||
xcb_dri2_connect_driver_name_length(connect));
|
||||
|
||||
device_name = xcb_dri2_connect_device_name (connect);
|
||||
|
||||
dri2_dpy->device_name =
|
||||
strndup(device_name,
|
||||
xcb_dri2_connect_device_name_length(connect));
|
||||
|
||||
dri2_dpy->fd = loader_open_device(dri2_dpy->device_name);
|
||||
if (dri2_dpy->fd == -1) {
|
||||
_eglLog(_EGL_WARNING,
|
||||
"DRI2: could not open %s (%s)", dri2_dpy->device_name,
|
||||
strerror(errno));
|
||||
free(dri2_dpy->device_name);
|
||||
free(connect);
|
||||
return EGL_FALSE;
|
||||
}
|
||||
|
||||
driver_name = xcb_dri2_connect_driver_name (connect);
|
||||
|
||||
/* If Mesa knows about the appropriate driver for this fd, then trust it.
|
||||
* Otherwise, default to the server's value.
|
||||
*/
|
||||
loader_driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0);
|
||||
if (loader_driver_name) {
|
||||
dri2_dpy->driver_name = loader_driver_name;
|
||||
} else {
|
||||
dri2_dpy->driver_name =
|
||||
strndup(driver_name,
|
||||
xcb_dri2_connect_driver_name_length(connect));
|
||||
}
|
||||
|
||||
if (dri2_dpy->device_name == NULL || dri2_dpy->driver_name == NULL) {
|
||||
close(dri2_dpy->fd);
|
||||
free(dri2_dpy->device_name);
|
||||
free(dri2_dpy->driver_name);
|
||||
free(connect);
|
||||
@@ -611,7 +664,7 @@ dri2_x11_authenticate(_EGLDisplay *disp, uint32_t id)
|
||||
|
||||
screen = get_xcb_screen(s, dri2_dpy->screen);
|
||||
if (!screen) {
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW, "dri2_x11_authenticate");
|
||||
_eglLog(_EGL_WARNING, "DRI2: failed to get xcb screen");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1099,7 +1152,7 @@ dri2_initialize_x11_swrast(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
dri2_dpy->screen = DefaultScreen(dpy);
|
||||
}
|
||||
|
||||
if (xcb_connection_has_error(dri2_dpy->conn)) {
|
||||
if (!dri2_dpy->conn || xcb_connection_has_error(dri2_dpy->conn)) {
|
||||
_eglLog(_EGL_WARNING, "DRI2: xcb_connect failed");
|
||||
goto cleanup_dpy;
|
||||
}
|
||||
@@ -1125,10 +1178,8 @@ dri2_initialize_x11_swrast(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
if (!dri2_create_screen(disp))
|
||||
goto cleanup_driver;
|
||||
|
||||
if (dri2_dpy->conn) {
|
||||
if (!dri2_x11_add_configs_for_visuals(dri2_dpy, disp))
|
||||
goto cleanup_configs;
|
||||
}
|
||||
|
||||
/* Fill vtbl last to prevent accidentally calling virtual function during
|
||||
* initialization.
|
||||
@@ -1218,31 +1269,19 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
dri2_dpy->screen = DefaultScreen(dpy);
|
||||
}
|
||||
|
||||
if (xcb_connection_has_error(dri2_dpy->conn)) {
|
||||
if (!dri2_dpy->conn || xcb_connection_has_error(dri2_dpy->conn)) {
|
||||
_eglLog(_EGL_WARNING, "DRI2: xcb_connect failed");
|
||||
goto cleanup_dpy;
|
||||
}
|
||||
|
||||
if (dri2_dpy->conn) {
|
||||
if (!dri2_x11_connect(dri2_dpy))
|
||||
goto cleanup_conn;
|
||||
}
|
||||
|
||||
if (!dri2_load_driver(disp))
|
||||
goto cleanup_conn;
|
||||
|
||||
dri2_dpy->fd = loader_open_device(dri2_dpy->device_name);
|
||||
if (dri2_dpy->fd == -1) {
|
||||
_eglLog(_EGL_WARNING,
|
||||
"DRI2: could not open %s (%s)", dri2_dpy->device_name,
|
||||
strerror(errno));
|
||||
goto cleanup_driver;
|
||||
}
|
||||
|
||||
if (dri2_dpy->conn) {
|
||||
if (!dri2_x11_local_authenticate(disp))
|
||||
goto cleanup_fd;
|
||||
}
|
||||
|
||||
if (!dri2_load_driver(disp))
|
||||
goto cleanup_fd;
|
||||
|
||||
if (dri2_dpy->dri2_minor >= 1) {
|
||||
dri2_dpy->dri2_loader_extension.base.name = __DRI_DRI2_LOADER;
|
||||
@@ -1267,7 +1306,7 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
dri2_dpy->invalidate_available = (dri2_dpy->dri2_minor >= 3);
|
||||
|
||||
if (!dri2_create_screen(disp))
|
||||
goto cleanup_fd;
|
||||
goto cleanup_driver;
|
||||
|
||||
dri2_x11_setup_swap_interval(dri2_dpy);
|
||||
|
||||
@@ -1281,10 +1320,8 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
disp->Extensions.WL_bind_wayland_display = EGL_TRUE;
|
||||
#endif
|
||||
|
||||
if (dri2_dpy->conn) {
|
||||
if (!dri2_x11_add_configs_for_visuals(dri2_dpy, disp))
|
||||
goto cleanup_configs;
|
||||
}
|
||||
|
||||
/* Fill vtbl last to prevent accidentally calling virtual function during
|
||||
* initialization.
|
||||
@@ -1296,10 +1333,10 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
cleanup_configs:
|
||||
_eglCleanupDisplay(disp);
|
||||
dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen);
|
||||
cleanup_fd:
|
||||
close(dri2_dpy->fd);
|
||||
cleanup_driver:
|
||||
dlclose(dri2_dpy->driver);
|
||||
cleanup_fd:
|
||||
close(dri2_dpy->fd);
|
||||
cleanup_conn:
|
||||
if (disp->PlatformDisplay == NULL)
|
||||
xcb_disconnect(dri2_dpy->conn);
|
||||
|
@@ -1,29 +0,0 @@
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'DEFAULT_DRIVER_DIR=\\"\\"',
|
||||
])
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
'#/src/egl/main',
|
||||
])
|
||||
|
||||
sources = [
|
||||
'egl_haiku.cpp'
|
||||
]
|
||||
|
||||
if env['platform'] == 'haiku':
|
||||
env.Append(CPPDEFINES = [
|
||||
'HAVE_HAIKU_PLATFORM',
|
||||
'_EGL_NATIVE_PLATFORM=haiku',
|
||||
])
|
||||
|
||||
egl_haiku = env.ConvenienceLibrary(
|
||||
target = 'egl_haiku',
|
||||
source = sources,
|
||||
)
|
||||
|
||||
Export('egl_haiku')
|
@@ -92,8 +92,11 @@ haiku_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!_eglInitSurface(&surface->surf, disp, EGL_WINDOW_BIT, conf, attrib_list))
|
||||
goto cleanup_surface;
|
||||
if (!_eglInitSurface(&surface->surf, disp, EGL_WINDOW_BIT,
|
||||
conf, attrib_list)) {
|
||||
free(surface);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
(&surface->surf)->SwapInterval = 1;
|
||||
|
||||
@@ -110,10 +113,6 @@ haiku_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
TRACE("Showing window\n");
|
||||
win->Show();
|
||||
return &surface->surf;
|
||||
|
||||
cleanup_surface:
|
||||
free(surface);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -153,7 +152,7 @@ haiku_add_configs_for_visuals(_EGLDisplay *dpy)
|
||||
conf = (struct haiku_egl_config*) calloc(1, sizeof (*conf));
|
||||
if (!conf) {
|
||||
_eglError(EGL_BAD_ALLOC, "haiku_add_configs_for_visuals");
|
||||
return NULL;
|
||||
return EGL_FALSE;
|
||||
}
|
||||
|
||||
_eglInitConfig(&conf->base, dpy, 1);
|
||||
@@ -210,6 +209,7 @@ cleanup:
|
||||
return EGL_FALSE;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
EGLBoolean
|
||||
init_haiku(_EGLDriver *drv, _EGLDisplay *dpy)
|
||||
@@ -271,7 +271,7 @@ haiku_destroy_context(_EGLDriver* drv, _EGLDisplay *disp, _EGLContext* ctx)
|
||||
if (_eglPutContext(ctx)) {
|
||||
// XXX: teardown the context ?
|
||||
free(context);
|
||||
ctx = NULL
|
||||
ctx = NULL;
|
||||
}
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
@@ -1,31 +0,0 @@
|
||||
LIBEGL_C_FILES := \
|
||||
eglapi.c \
|
||||
eglapi.h \
|
||||
eglarray.c \
|
||||
eglarray.h \
|
||||
eglcompiler.h \
|
||||
eglconfig.c \
|
||||
eglconfig.h \
|
||||
eglcontext.c \
|
||||
eglcontext.h \
|
||||
eglcurrent.c \
|
||||
eglcurrent.h \
|
||||
egldefines.h \
|
||||
egldisplay.c \
|
||||
egldisplay.h \
|
||||
egldriver.c \
|
||||
egldriver.h \
|
||||
eglfallbacks.c \
|
||||
eglglobals.c \
|
||||
eglglobals.h \
|
||||
eglimage.c \
|
||||
eglimage.h \
|
||||
egllog.c \
|
||||
egllog.h \
|
||||
eglstring.c \
|
||||
eglstring.h \
|
||||
eglsurface.c \
|
||||
eglsurface.h \
|
||||
eglsync.c \
|
||||
eglsync.h \
|
||||
egltypedefs.h
|
@@ -1,52 +0,0 @@
|
||||
#######################################################################
|
||||
# SConscript for EGL
|
||||
|
||||
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_DRIVER_SEARCH_DIR=\\"\\"',
|
||||
])
|
||||
|
||||
if env['platform'] == 'haiku':
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_HAIKU',
|
||||
'_EGL_OS_UNIX',
|
||||
'_EGL_BUILT_IN_DRIVER_HAIKU',
|
||||
])
|
||||
env.Prepend(LIBS = [
|
||||
egl_haiku,
|
||||
libloader,
|
||||
])
|
||||
else:
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11',
|
||||
'_EGL_OS_UNIX',
|
||||
])
|
||||
if env['dri']:
|
||||
env.Prepend(LIBS = [
|
||||
egl_dri2,
|
||||
libloader,
|
||||
])
|
||||
# Disallow undefined symbols
|
||||
if env['platform'] != 'darwin':
|
||||
env.Append(SHLINKFLAGS = ['-Wl,-z,defs'])
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
])
|
||||
|
||||
|
||||
# parse Makefile.sources
|
||||
egl_sources = env.ParseSourceList('Makefile.sources', 'LIBEGL_C_FILES')
|
||||
|
||||
egl = env.SharedLibrary(
|
||||
target = 'EGL',
|
||||
source = egl_sources,
|
||||
)
|
||||
|
||||
egl = env.InstallSharedLibrary(egl, version=(1, 0, 0))
|
||||
|
||||
env.Alias('egl', egl)
|
@@ -100,7 +100,6 @@
|
||||
#include "eglconfig.h"
|
||||
#include "eglimage.h"
|
||||
#include "eglsync.h"
|
||||
#include "eglstring.h"
|
||||
|
||||
|
||||
/**
|
||||
@@ -381,48 +380,47 @@ _eglCreateExtensionsString(_EGLDisplay *dpy)
|
||||
|
||||
char *exts = dpy->ExtensionsString;
|
||||
|
||||
_EGL_CHECK_EXTENSION(MESA_drm_display);
|
||||
_EGL_CHECK_EXTENSION(MESA_drm_image);
|
||||
_EGL_CHECK_EXTENSION(MESA_configless_context);
|
||||
|
||||
_EGL_CHECK_EXTENSION(WL_bind_wayland_display);
|
||||
_EGL_CHECK_EXTENSION(WL_create_wayland_buffer_from_image);
|
||||
|
||||
_EGL_CHECK_EXTENSION(KHR_image_base);
|
||||
_EGL_CHECK_EXTENSION(KHR_image_pixmap);
|
||||
if (dpy->Extensions.KHR_image_base && dpy->Extensions.KHR_image_pixmap)
|
||||
_eglAppendExtension(&exts, "EGL_KHR_image");
|
||||
|
||||
_EGL_CHECK_EXTENSION(KHR_vg_parent_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_get_all_proc_addresses);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_texture_2D_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_texture_cubemap_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_texture_3D_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_renderbuffer_image);
|
||||
|
||||
_EGL_CHECK_EXTENSION(KHR_reusable_sync);
|
||||
_EGL_CHECK_EXTENSION(KHR_fence_sync);
|
||||
_EGL_CHECK_EXTENSION(KHR_wait_sync);
|
||||
_EGL_CHECK_EXTENSION(KHR_cl_event2);
|
||||
|
||||
_EGL_CHECK_EXTENSION(KHR_surfaceless_context);
|
||||
_EGL_CHECK_EXTENSION(KHR_create_context);
|
||||
|
||||
_EGL_CHECK_EXTENSION(NOK_swap_region);
|
||||
_EGL_CHECK_EXTENSION(NOK_texture_from_pixmap);
|
||||
|
||||
/* Please keep these sorted alphabetically. */
|
||||
_EGL_CHECK_EXTENSION(ANDROID_image_native_buffer);
|
||||
|
||||
_EGL_CHECK_EXTENSION(CHROMIUM_sync_control);
|
||||
|
||||
_EGL_CHECK_EXTENSION(EXT_create_context_robustness);
|
||||
_EGL_CHECK_EXTENSION(EXT_buffer_age);
|
||||
_EGL_CHECK_EXTENSION(EXT_swap_buffers_with_damage);
|
||||
_EGL_CHECK_EXTENSION(EXT_create_context_robustness);
|
||||
_EGL_CHECK_EXTENSION(EXT_image_dma_buf_import);
|
||||
_EGL_CHECK_EXTENSION(EXT_swap_buffers_with_damage);
|
||||
|
||||
_EGL_CHECK_EXTENSION(KHR_cl_event2);
|
||||
_EGL_CHECK_EXTENSION(KHR_create_context);
|
||||
_EGL_CHECK_EXTENSION(KHR_fence_sync);
|
||||
_EGL_CHECK_EXTENSION(KHR_get_all_proc_addresses);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_colorspace);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_renderbuffer_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_texture_2D_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_texture_3D_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_gl_texture_cubemap_image);
|
||||
if (dpy->Extensions.KHR_image_base && dpy->Extensions.KHR_image_pixmap)
|
||||
_eglAppendExtension(&exts, "EGL_KHR_image");
|
||||
_EGL_CHECK_EXTENSION(KHR_image_base);
|
||||
_EGL_CHECK_EXTENSION(KHR_image_pixmap);
|
||||
_EGL_CHECK_EXTENSION(KHR_reusable_sync);
|
||||
_EGL_CHECK_EXTENSION(KHR_surfaceless_context);
|
||||
_EGL_CHECK_EXTENSION(KHR_vg_parent_image);
|
||||
_EGL_CHECK_EXTENSION(KHR_wait_sync);
|
||||
|
||||
_EGL_CHECK_EXTENSION(MESA_configless_context);
|
||||
_EGL_CHECK_EXTENSION(MESA_drm_display);
|
||||
_EGL_CHECK_EXTENSION(MESA_drm_image);
|
||||
_EGL_CHECK_EXTENSION(MESA_image_dma_buf_export);
|
||||
|
||||
_EGL_CHECK_EXTENSION(NOK_swap_region);
|
||||
_EGL_CHECK_EXTENSION(NOK_texture_from_pixmap);
|
||||
|
||||
_EGL_CHECK_EXTENSION(NV_post_sub_buffer);
|
||||
|
||||
_EGL_CHECK_EXTENSION(MESA_image_dma_buf_export);
|
||||
_EGL_CHECK_EXTENSION(WL_bind_wayland_display);
|
||||
_EGL_CHECK_EXTENSION(WL_create_wayland_buffer_from_image);
|
||||
|
||||
#undef _EGL_CHECK_EXTENSION
|
||||
}
|
||||
|
||||
@@ -507,7 +505,7 @@ eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
|
||||
_eglComputeVersion(disp);
|
||||
_eglCreateExtensionsString(disp);
|
||||
_eglCreateAPIsString(disp);
|
||||
_eglsnprintf(disp->VersionString, sizeof(disp->VersionString),
|
||||
snprintf(disp->VersionString, sizeof(disp->VersionString),
|
||||
"%d.%d (%s)", disp->Version / 10, disp->Version % 10,
|
||||
disp->Driver->Name);
|
||||
}
|
||||
@@ -1015,8 +1013,6 @@ eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
|
||||
}
|
||||
|
||||
|
||||
#ifdef EGL_EXT_swap_buffers_with_damage
|
||||
|
||||
static EGLBoolean EGLAPIENTRY
|
||||
eglSwapBuffersWithDamageEXT(EGLDisplay dpy, EGLSurface surface,
|
||||
EGLint *rects, EGLint n_rects)
|
||||
@@ -1042,8 +1038,6 @@ eglSwapBuffersWithDamageEXT(EGLDisplay dpy, EGLSurface surface,
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
|
||||
#endif /* EGL_EXT_swap_buffers_with_damage */
|
||||
|
||||
EGLBoolean EGLAPIENTRY
|
||||
eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
|
||||
{
|
||||
@@ -1204,8 +1198,6 @@ eglGetError(void)
|
||||
}
|
||||
|
||||
|
||||
#ifdef EGL_MESA_drm_display
|
||||
|
||||
static EGLDisplay EGLAPIENTRY
|
||||
eglGetDRMDisplayMESA(int fd)
|
||||
{
|
||||
@@ -1213,8 +1205,6 @@ eglGetDRMDisplayMESA(int fd)
|
||||
return _eglGetDisplayHandle(dpy);
|
||||
}
|
||||
|
||||
#endif /* EGL_MESA_drm_display */
|
||||
|
||||
/**
|
||||
** EGL 1.2
|
||||
**/
|
||||
@@ -1580,8 +1570,6 @@ eglGetSyncAttribKHR(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLint *valu
|
||||
}
|
||||
|
||||
|
||||
#ifdef EGL_NOK_swap_region
|
||||
|
||||
static EGLBoolean EGLAPIENTRY
|
||||
eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface,
|
||||
EGLint numRects, const EGLint *rects)
|
||||
@@ -1607,10 +1595,6 @@ eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface,
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
|
||||
#endif /* EGL_NOK_swap_region */
|
||||
|
||||
|
||||
#ifdef EGL_MESA_drm_image
|
||||
|
||||
static EGLImage EGLAPIENTRY
|
||||
eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attr_list)
|
||||
@@ -1650,9 +1634,7 @@ eglExportDRMImageMESA(EGLDisplay dpy, EGLImage image,
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef EGL_WL_bind_wayland_display
|
||||
struct wl_display;
|
||||
|
||||
static EGLBoolean EGLAPIENTRY
|
||||
@@ -1709,9 +1691,8 @@ eglQueryWaylandBufferWL(EGLDisplay dpy, struct wl_resource *buffer,
|
||||
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef EGL_WL_create_wayland_buffer_from_image
|
||||
|
||||
static struct wl_buffer * EGLAPIENTRY
|
||||
eglCreateWaylandBufferFromImageWL(EGLDisplay dpy, EGLImage image)
|
||||
{
|
||||
@@ -1732,7 +1713,6 @@ eglCreateWaylandBufferFromImageWL(EGLDisplay dpy, EGLImage image)
|
||||
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
static EGLBoolean EGLAPIENTRY
|
||||
eglPostSubBufferNV(EGLDisplay dpy, EGLSurface surface,
|
||||
@@ -1775,7 +1755,6 @@ eglGetSyncValuesCHROMIUM(EGLDisplay display, EGLSurface surface,
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
|
||||
#ifdef EGL_MESA_image_dma_buf_export
|
||||
static EGLBoolean EGLAPIENTRY
|
||||
eglExportDMABUFImageQueryMESA(EGLDisplay dpy, EGLImage image,
|
||||
EGLint *fourcc, EGLint *nplanes,
|
||||
@@ -1817,7 +1796,6 @@ eglExportDMABUFImageMESA(EGLDisplay dpy, EGLImage image,
|
||||
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
__eglMustCastToProperFunctionPointerType EGLAPIENTRY
|
||||
eglGetProcAddress(const char *procname)
|
||||
@@ -1874,9 +1852,7 @@ eglGetProcAddress(const char *procname)
|
||||
{ "eglGetPlatformDisplay", (_EGLProc) eglGetPlatformDisplay },
|
||||
{ "eglCreatePlatformWindowSurface", (_EGLProc) eglCreatePlatformWindowSurface },
|
||||
{ "eglCreatePlatformPixmapSurface", (_EGLProc) eglCreatePlatformPixmapSurface },
|
||||
#ifdef EGL_MESA_drm_display
|
||||
{ "eglGetDRMDisplayMESA", (_EGLProc) eglGetDRMDisplayMESA },
|
||||
#endif
|
||||
{ "eglCreateImageKHR", (_EGLProc) eglCreateImageKHR },
|
||||
{ "eglDestroyImageKHR", (_EGLProc) eglDestroyImage },
|
||||
{ "eglCreateSyncKHR", (_EGLProc) eglCreateSyncKHR },
|
||||
@@ -1886,33 +1862,21 @@ eglGetProcAddress(const char *procname)
|
||||
{ "eglWaitSyncKHR", (_EGLProc) eglWaitSyncKHR },
|
||||
{ "eglSignalSyncKHR", (_EGLProc) eglSignalSyncKHR },
|
||||
{ "eglGetSyncAttribKHR", (_EGLProc) eglGetSyncAttribKHR },
|
||||
#ifdef EGL_NOK_swap_region
|
||||
{ "eglSwapBuffersRegionNOK", (_EGLProc) eglSwapBuffersRegionNOK },
|
||||
#endif
|
||||
#ifdef EGL_MESA_drm_image
|
||||
{ "eglCreateDRMImageMESA", (_EGLProc) eglCreateDRMImageMESA },
|
||||
{ "eglExportDRMImageMESA", (_EGLProc) eglExportDRMImageMESA },
|
||||
#endif
|
||||
#ifdef EGL_WL_bind_wayland_display
|
||||
{ "eglBindWaylandDisplayWL", (_EGLProc) eglBindWaylandDisplayWL },
|
||||
{ "eglUnbindWaylandDisplayWL", (_EGLProc) eglUnbindWaylandDisplayWL },
|
||||
{ "eglQueryWaylandBufferWL", (_EGLProc) eglQueryWaylandBufferWL },
|
||||
#endif
|
||||
#ifdef EGL_WL_create_wayland_buffer_from_image
|
||||
{ "eglCreateWaylandBufferFromImageWL", (_EGLProc) eglCreateWaylandBufferFromImageWL },
|
||||
#endif
|
||||
{ "eglPostSubBufferNV", (_EGLProc) eglPostSubBufferNV },
|
||||
#ifdef EGL_EXT_swap_buffers_with_damage
|
||||
{ "eglSwapBuffersWithDamageEXT", (_EGLProc) eglSwapBuffersWithDamageEXT },
|
||||
#endif
|
||||
{ "eglGetPlatformDisplayEXT", (_EGLProc) eglGetPlatformDisplayEXT },
|
||||
{ "eglCreatePlatformWindowSurfaceEXT", (_EGLProc) eglCreatePlatformWindowSurfaceEXT },
|
||||
{ "eglCreatePlatformPixmapSurfaceEXT", (_EGLProc) eglCreatePlatformPixmapSurfaceEXT },
|
||||
{ "eglGetSyncValuesCHROMIUM", (_EGLProc) eglGetSyncValuesCHROMIUM },
|
||||
#ifdef EGL_MESA_image_dma_buf_export
|
||||
{ "eglExportDMABUFImageQueryMESA", (_EGLProc) eglExportDMABUFImageQueryMESA },
|
||||
{ "eglExportDMABUFImageMESA", (_EGLProc) eglExportDMABUFImageMESA },
|
||||
#endif
|
||||
{ NULL, NULL }
|
||||
};
|
||||
EGLint i;
|
||||
|
@@ -99,41 +99,29 @@ typedef EGLBoolean (*SignalSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSyn
|
||||
typedef EGLBoolean (*GetSyncAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLint attribute, EGLAttrib *value);
|
||||
|
||||
|
||||
#ifdef EGL_NOK_swap_region
|
||||
typedef EGLBoolean (*SwapBuffersRegionNOK_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf, EGLint numRects, const EGLint *rects);
|
||||
#endif
|
||||
|
||||
#ifdef EGL_MESA_drm_image
|
||||
typedef _EGLImage *(*CreateDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, const EGLint *attr_list);
|
||||
typedef EGLBoolean (*ExportDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *name, EGLint *handle, EGLint *stride);
|
||||
#endif
|
||||
|
||||
#ifdef EGL_WL_bind_wayland_display
|
||||
struct wl_display;
|
||||
typedef EGLBoolean (*BindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display);
|
||||
typedef EGLBoolean (*UnbindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display);
|
||||
typedef EGLBoolean (*QueryWaylandBufferWL_t)(_EGLDriver *drv, _EGLDisplay *displ, struct wl_resource *buffer, EGLint attribute, EGLint *value);
|
||||
#endif
|
||||
|
||||
#ifdef EGL_WL_create_wayland_buffer_from_image
|
||||
typedef struct wl_buffer * (*CreateWaylandBufferFromImageWL_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img);
|
||||
#endif
|
||||
|
||||
typedef EGLBoolean (*PostSubBufferNV_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surface, EGLint x, EGLint y, EGLint width, EGLint height);
|
||||
|
||||
typedef EGLint (*QueryBufferAge_t)(_EGLDriver *drv,
|
||||
_EGLDisplay *dpy, _EGLSurface *surface);
|
||||
|
||||
#ifdef EGL_EXT_swap_buffers_with_damage
|
||||
typedef EGLBoolean (*SwapBuffersWithDamageEXT_t) (_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, const EGLint *rects, EGLint n_rects);
|
||||
#endif
|
||||
|
||||
typedef EGLBoolean (*GetSyncValuesCHROMIUM_t) (_EGLDisplay *dpy, _EGLSurface *surface, EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc);
|
||||
|
||||
#ifdef EGL_MESA_image_dma_buf_export
|
||||
typedef EGLBoolean (*ExportDMABUFImageQueryMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fourcc, EGLint *nplanes, EGLuint64KHR *modifiers);
|
||||
typedef EGLBoolean (*ExportDMABUFImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fds, EGLint *strides, EGLint *offsets);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* The API dispatcher jumps through these functions
|
||||
@@ -180,38 +168,26 @@ struct _egl_api
|
||||
SignalSyncKHR_t SignalSyncKHR;
|
||||
GetSyncAttrib_t GetSyncAttrib;
|
||||
|
||||
#ifdef EGL_NOK_swap_region
|
||||
SwapBuffersRegionNOK_t SwapBuffersRegionNOK;
|
||||
#endif
|
||||
|
||||
#ifdef EGL_MESA_drm_image
|
||||
CreateDRMImageMESA_t CreateDRMImageMESA;
|
||||
ExportDRMImageMESA_t ExportDRMImageMESA;
|
||||
#endif
|
||||
|
||||
#ifdef EGL_WL_bind_wayland_display
|
||||
BindWaylandDisplayWL_t BindWaylandDisplayWL;
|
||||
UnbindWaylandDisplayWL_t UnbindWaylandDisplayWL;
|
||||
QueryWaylandBufferWL_t QueryWaylandBufferWL;
|
||||
#endif
|
||||
|
||||
#ifdef EGL_WL_create_wayland_buffer_from_image
|
||||
CreateWaylandBufferFromImageWL_t CreateWaylandBufferFromImageWL;
|
||||
#endif
|
||||
|
||||
#ifdef EGL_EXT_swap_buffers_with_damage
|
||||
SwapBuffersWithDamageEXT_t SwapBuffersWithDamageEXT;
|
||||
#endif /* EGL_EXT_swap_buffers_with_damage */
|
||||
|
||||
PostSubBufferNV_t PostSubBufferNV;
|
||||
|
||||
QueryBufferAge_t QueryBufferAge;
|
||||
GetSyncValuesCHROMIUM_t GetSyncValuesCHROMIUM;
|
||||
|
||||
#ifdef EGL_MESA_image_dma_buf_export
|
||||
ExportDMABUFImageQueryMESA_t ExportDMABUFImageQueryMESA;
|
||||
ExportDMABUFImageMESA_t ExportDMABUFImageMESA;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
@@ -197,6 +197,9 @@ _eglFlattenArray(_EGLArray *array, void *buffer, EGLint elem_size, EGLint size,
|
||||
|
||||
count = array->Size;
|
||||
if (buffer) {
|
||||
/* clamp size to 0 */
|
||||
if (size < 0)
|
||||
size = 0;
|
||||
/* do not exceed buffer size */
|
||||
if (count > size)
|
||||
count = size;
|
||||
|
@@ -83,7 +83,8 @@ _eglLinkConfig(_EGLConfig *conf)
|
||||
_EGLDisplay *dpy = conf->Display;
|
||||
|
||||
/* sanity check */
|
||||
assert(dpy && conf->ConfigID > 0);
|
||||
assert(dpy);
|
||||
assert(conf->ConfigID > 0);
|
||||
|
||||
if (!dpy->Configs) {
|
||||
dpy->Configs = _eglCreateArray("Config", 16);
|
||||
|
@@ -101,11 +101,42 @@ _eglParseContextAttribList(_EGLContext *ctx, _EGLDisplay *dpy,
|
||||
|
||||
switch (attr) {
|
||||
case EGL_CONTEXT_CLIENT_VERSION:
|
||||
/* The EGL 1.4 spec says:
|
||||
*
|
||||
* "attribute EGL_CONTEXT_CLIENT_VERSION is only valid when the
|
||||
* current rendering API is EGL_OPENGL_ES_API"
|
||||
*
|
||||
* The EGL_KHR_create_context spec says:
|
||||
*
|
||||
* "EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
|
||||
* (this token is an alias for EGL_CONTEXT_CLIENT_VERSION)"
|
||||
*
|
||||
* "The values for attributes EGL_CONTEXT_MAJOR_VERSION_KHR and
|
||||
* EGL_CONTEXT_MINOR_VERSION_KHR specify the requested client API
|
||||
* version. They are only meaningful for OpenGL and OpenGL ES
|
||||
* contexts, and specifying them for other types of contexts will
|
||||
* generate an error."
|
||||
*/
|
||||
if ((api != EGL_OPENGL_ES_API &&
|
||||
(!dpy->Extensions.KHR_create_context || api != EGL_OPENGL_API))) {
|
||||
err = EGL_BAD_ATTRIBUTE;
|
||||
break;
|
||||
}
|
||||
|
||||
ctx->ClientMajorVersion = val;
|
||||
break;
|
||||
|
||||
case EGL_CONTEXT_MINOR_VERSION_KHR:
|
||||
if (!dpy->Extensions.KHR_create_context) {
|
||||
/* The EGL_KHR_create_context spec says:
|
||||
*
|
||||
* "The values for attributes EGL_CONTEXT_MAJOR_VERSION_KHR and
|
||||
* EGL_CONTEXT_MINOR_VERSION_KHR specify the requested client API
|
||||
* version. They are only meaningful for OpenGL and OpenGL ES
|
||||
* contexts, and specifying them for other types of contexts will
|
||||
* generate an error."
|
||||
*/
|
||||
if (!dpy->Extensions.KHR_create_context ||
|
||||
(api != EGL_OPENGL_ES_API && api != EGL_OPENGL_API)) {
|
||||
err = EGL_BAD_ATTRIBUTE;
|
||||
break;
|
||||
}
|
||||
@@ -121,12 +152,51 @@ _eglParseContextAttribList(_EGLContext *ctx, _EGLDisplay *dpy,
|
||||
|
||||
/* The EGL_KHR_create_context spec says:
|
||||
*
|
||||
* "Flags are only defined for OpenGL context creation, and
|
||||
* specifying a flags value other than zero for other types of
|
||||
* contexts, including OpenGL ES contexts, will generate an
|
||||
* error."
|
||||
* "If the EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR flag bit is set in
|
||||
* EGL_CONTEXT_FLAGS_KHR, then a <debug context> will be created.
|
||||
* [...]
|
||||
* In some cases a debug context may be identical to a non-debug
|
||||
* context. This bit is supported for OpenGL and OpenGL ES
|
||||
* contexts."
|
||||
*/
|
||||
if (api != EGL_OPENGL_API && val != 0) {
|
||||
if ((val & EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR) &&
|
||||
(api != EGL_OPENGL_API && api != EGL_OPENGL_ES_API)) {
|
||||
err = EGL_BAD_ATTRIBUTE;
|
||||
break;
|
||||
}
|
||||
|
||||
/* The EGL_KHR_create_context spec says:
|
||||
*
|
||||
* "If the EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR flag bit
|
||||
* is set in EGL_CONTEXT_FLAGS_KHR, then a <forward-compatible>
|
||||
* context will be created. Forward-compatible contexts are
|
||||
* defined only for OpenGL versions 3.0 and later. They must not
|
||||
* support functionality marked as <deprecated> by that version of
|
||||
* the API, while a non-forward-compatible context must support
|
||||
* all functionality in that version, deprecated or not. This bit
|
||||
* is supported for OpenGL contexts, and requesting a
|
||||
* forward-compatible context for OpenGL versions less than 3.0
|
||||
* will generate an error."
|
||||
*/
|
||||
if ((val & EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR) &&
|
||||
(api != EGL_OPENGL_API || ctx->ClientMajorVersion < 3)) {
|
||||
err = EGL_BAD_ATTRIBUTE;
|
||||
break;
|
||||
}
|
||||
|
||||
/* The EGL_KHR_create_context_spec says:
|
||||
*
|
||||
* "If the EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR bit is set in
|
||||
* EGL_CONTEXT_FLAGS_KHR, then a context supporting <robust buffer
|
||||
* access> will be created. Robust buffer access is defined in the
|
||||
* GL_ARB_robustness extension specification, and the resulting
|
||||
* context must also support either the GL_ARB_robustness
|
||||
* extension, or a version of OpenGL incorporating equivalent
|
||||
* functionality. This bit is supported for OpenGL contexts.
|
||||
*/
|
||||
if ((val & EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR) &&
|
||||
(api != EGL_OPENGL_API ||
|
||||
!dpy->Extensions.EXT_create_context_robustness)) {
|
||||
err = EGL_BAD_ATTRIBUTE;
|
||||
break;
|
||||
}
|
||||
|
@@ -65,11 +65,9 @@ static const struct {
|
||||
_EGLPlatformType platform;
|
||||
const char *name;
|
||||
} egl_platforms[_EGL_NUM_PLATFORMS] = {
|
||||
{ _EGL_PLATFORM_WINDOWS, "gdi" },
|
||||
{ _EGL_PLATFORM_X11, "x11" },
|
||||
{ _EGL_PLATFORM_WAYLAND, "wayland" },
|
||||
{ _EGL_PLATFORM_DRM, "drm" },
|
||||
{ _EGL_PLATFORM_NULL, "null" },
|
||||
{ _EGL_PLATFORM_ANDROID, "android" },
|
||||
{ _EGL_PLATFORM_HAIKU, "haiku" },
|
||||
{ _EGL_PLATFORM_SURFACELESS, "surfaceless" },
|
||||
|
@@ -44,11 +44,9 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
enum _egl_platform_type {
|
||||
_EGL_PLATFORM_WINDOWS,
|
||||
_EGL_PLATFORM_X11,
|
||||
_EGL_PLATFORM_WAYLAND,
|
||||
_EGL_PLATFORM_DRM,
|
||||
_EGL_PLATFORM_NULL,
|
||||
_EGL_PLATFORM_ANDROID,
|
||||
_EGL_PLATFORM_HAIKU,
|
||||
_EGL_PLATFORM_SURFACELESS,
|
||||
@@ -91,46 +89,44 @@ struct _egl_resource
|
||||
*/
|
||||
struct _egl_extensions
|
||||
{
|
||||
EGLBoolean MESA_drm_display;
|
||||
EGLBoolean MESA_drm_image;
|
||||
EGLBoolean MESA_configless_context;
|
||||
|
||||
EGLBoolean WL_bind_wayland_display;
|
||||
EGLBoolean WL_create_wayland_buffer_from_image;
|
||||
|
||||
EGLBoolean KHR_image_base;
|
||||
EGLBoolean KHR_image_pixmap;
|
||||
EGLBoolean KHR_vg_parent_image;
|
||||
EGLBoolean KHR_get_all_proc_addresses;
|
||||
EGLBoolean KHR_gl_colorspace;
|
||||
EGLBoolean KHR_gl_texture_2D_image;
|
||||
EGLBoolean KHR_gl_texture_cubemap_image;
|
||||
EGLBoolean KHR_gl_texture_3D_image;
|
||||
EGLBoolean KHR_gl_renderbuffer_image;
|
||||
|
||||
EGLBoolean KHR_reusable_sync;
|
||||
EGLBoolean KHR_fence_sync;
|
||||
EGLBoolean KHR_wait_sync;
|
||||
EGLBoolean KHR_cl_event2;
|
||||
|
||||
EGLBoolean KHR_surfaceless_context;
|
||||
EGLBoolean KHR_create_context;
|
||||
|
||||
EGLBoolean NOK_swap_region;
|
||||
EGLBoolean NOK_texture_from_pixmap;
|
||||
|
||||
/* Please keep these sorted alphabetically. */
|
||||
EGLBoolean ANDROID_image_native_buffer;
|
||||
|
||||
EGLBoolean CHROMIUM_sync_control;
|
||||
|
||||
EGLBoolean EXT_buffer_age;
|
||||
EGLBoolean EXT_create_context_robustness;
|
||||
EGLBoolean EXT_image_dma_buf_import;
|
||||
EGLBoolean EXT_swap_buffers_with_damage;
|
||||
|
||||
EGLBoolean KHR_cl_event2;
|
||||
EGLBoolean KHR_create_context;
|
||||
EGLBoolean KHR_fence_sync;
|
||||
EGLBoolean KHR_get_all_proc_addresses;
|
||||
EGLBoolean KHR_gl_colorspace;
|
||||
EGLBoolean KHR_gl_renderbuffer_image;
|
||||
EGLBoolean KHR_gl_texture_2D_image;
|
||||
EGLBoolean KHR_gl_texture_3D_image;
|
||||
EGLBoolean KHR_gl_texture_cubemap_image;
|
||||
EGLBoolean KHR_image_base;
|
||||
EGLBoolean KHR_image_pixmap;
|
||||
EGLBoolean KHR_reusable_sync;
|
||||
EGLBoolean KHR_surfaceless_context;
|
||||
EGLBoolean KHR_vg_parent_image;
|
||||
EGLBoolean KHR_wait_sync;
|
||||
|
||||
EGLBoolean MESA_configless_context;
|
||||
EGLBoolean MESA_drm_display;
|
||||
EGLBoolean MESA_drm_image;
|
||||
EGLBoolean MESA_image_dma_buf_export;
|
||||
|
||||
EGLBoolean NOK_swap_region;
|
||||
EGLBoolean NOK_texture_from_pixmap;
|
||||
|
||||
EGLBoolean NV_post_sub_buffer;
|
||||
|
||||
EGLBoolean EXT_create_context_robustness;
|
||||
EGLBoolean EXT_buffer_age;
|
||||
EGLBoolean EXT_swap_buffers_with_damage;
|
||||
EGLBoolean EXT_image_dma_buf_import;
|
||||
|
||||
EGLBoolean MESA_image_dma_buf_export;
|
||||
EGLBoolean WL_bind_wayland_display;
|
||||
EGLBoolean WL_create_wayland_buffer_from_image;
|
||||
};
|
||||
|
||||
|
||||
|
@@ -39,7 +39,6 @@
|
||||
#include <stdlib.h>
|
||||
#include "c11/threads.h"
|
||||
|
||||
#include "eglstring.h"
|
||||
#include "egldefines.h"
|
||||
#include "egldisplay.h"
|
||||
#include "egldriver.h"
|
||||
@@ -97,15 +96,10 @@ _eglLoadModule(_EGLModule *mod)
|
||||
static void
|
||||
_eglUnloadModule(_EGLModule *mod)
|
||||
{
|
||||
#if defined(_EGL_OS_UNIX)
|
||||
/* destroy the driver */
|
||||
if (mod->Driver && mod->Driver->Unload)
|
||||
mod->Driver->Unload(mod->Driver);
|
||||
|
||||
#elif defined(_EGL_OS_WINDOWS)
|
||||
/* XXX Windows unloads DLLs before atexit */
|
||||
#endif
|
||||
|
||||
mod->Driver = NULL;
|
||||
}
|
||||
|
||||
@@ -135,7 +129,7 @@ _eglAddModule(const char *name)
|
||||
/* allocate a new one */
|
||||
mod = calloc(1, sizeof(*mod));
|
||||
if (mod) {
|
||||
mod->Name = _eglstrdup(name);
|
||||
mod->Name = strdup(name);
|
||||
if (!mod->Name) {
|
||||
free(mod);
|
||||
mod = NULL;
|
||||
|
@@ -93,17 +93,11 @@ _eglInitDriverFallbacks(_EGLDriver *drv)
|
||||
drv->API.SignalSyncKHR = NULL;
|
||||
drv->API.GetSyncAttrib = _eglGetSyncAttrib;
|
||||
|
||||
#ifdef EGL_MESA_drm_image
|
||||
drv->API.CreateDRMImageMESA = NULL;
|
||||
drv->API.ExportDRMImageMESA = NULL;
|
||||
#endif
|
||||
|
||||
#ifdef EGL_NOK_swap_region
|
||||
drv->API.SwapBuffersRegionNOK = NULL;
|
||||
#endif
|
||||
|
||||
#ifdef EGL_MESA_image_dma_buf_export
|
||||
drv->API.ExportDMABUFImageQueryMESA = NULL;
|
||||
drv->API.ExportDMABUFImageMESA = NULL;
|
||||
#endif
|
||||
}
|
||||
|
@@ -53,10 +53,10 @@ struct _egl_global _eglGlobal =
|
||||
/* ClientExtensionsString */
|
||||
"EGL_EXT_client_extensions"
|
||||
" EGL_EXT_platform_base"
|
||||
" EGL_EXT_platform_x11"
|
||||
" EGL_EXT_platform_wayland"
|
||||
" EGL_MESA_platform_gbm"
|
||||
" EGL_EXT_platform_x11"
|
||||
" EGL_KHR_client_get_all_proc_addresses"
|
||||
" EGL_MESA_platform_gbm"
|
||||
};
|
||||
|
||||
|
||||
|
@@ -38,10 +38,11 @@
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include "c11/threads.h"
|
||||
|
||||
#include "egllog.h"
|
||||
#include "eglstring.h"
|
||||
|
||||
#define MAXSTRING 1000
|
||||
#define FALLBACK_LOG_LEVEL _EGL_WARNING
|
||||
@@ -146,7 +147,7 @@ _eglInitLogger(void)
|
||||
log_env = getenv("EGL_LOG_LEVEL");
|
||||
if (log_env) {
|
||||
for (i = 0; level_strings[i]; i++) {
|
||||
if (_eglstrcasecmp(log_env, level_strings[i]) == 0) {
|
||||
if (strcasecmp(log_env, level_strings[i]) == 0) {
|
||||
level = i;
|
||||
break;
|
||||
}
|
||||
|
@@ -1,54 +0,0 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2008 VMware, Inc.
|
||||
* Copyright 2009-2010 Chia-I Wu <olvaffe@gmail.com>
|
||||
* Copyright 2010-2011 LunarG, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sub license, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND 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.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
/**
|
||||
* String utils.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "eglstring.h"
|
||||
|
||||
|
||||
char *
|
||||
_eglstrdup(const char *s)
|
||||
{
|
||||
if (s) {
|
||||
size_t l = strlen(s);
|
||||
char *s2 = malloc(l + 1);
|
||||
if (s2)
|
||||
strcpy(s2, s);
|
||||
return s2;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1,50 +0,0 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2008 VMware, Inc.
|
||||
* Copyright 2009-2010 Chia-I Wu <olvaffe@gmail.com>
|
||||
* Copyright 2010-2011 LunarG, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sub license, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND 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 EGLSTRING_INCLUDED
|
||||
#define EGLSTRING_INCLUDED
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef _EGL_OS_WINDOWS
|
||||
#define _eglstrcasecmp _stricmp
|
||||
#define _eglsnprintf _snprintf
|
||||
#else
|
||||
#include <strings.h> // for strcasecmp
|
||||
#define _eglstrcasecmp strcasecmp
|
||||
#define _eglsnprintf snprintf
|
||||
#endif
|
||||
|
||||
extern char *
|
||||
_eglstrdup(const char *s);
|
||||
|
||||
|
||||
#endif /* EGLSTRING_INCLUDED */
|
@@ -84,6 +84,22 @@ _eglParseSurfaceAttribList(_EGLSurface *surf, const EGLint *attrib_list)
|
||||
|
||||
switch (attr) {
|
||||
/* common attributes */
|
||||
case EGL_GL_COLORSPACE_KHR:
|
||||
if (!dpy->Extensions.KHR_gl_colorspace) {
|
||||
err = EGL_BAD_ATTRIBUTE;
|
||||
break;
|
||||
}
|
||||
switch (val) {
|
||||
case EGL_GL_COLORSPACE_SRGB_KHR:
|
||||
case EGL_GL_COLORSPACE_LINEAR_KHR:
|
||||
break;
|
||||
default:
|
||||
err = EGL_BAD_ATTRIBUTE;
|
||||
}
|
||||
if (err != EGL_SUCCESS)
|
||||
break;
|
||||
surf->GLColorspace = val;
|
||||
break;
|
||||
case EGL_VG_COLORSPACE:
|
||||
switch (val) {
|
||||
case EGL_VG_COLORSPACE_sRGB:
|
||||
@@ -272,6 +288,7 @@ _eglInitSurface(_EGLSurface *surf, _EGLDisplay *dpy, EGLint type,
|
||||
surf->RenderBuffer = renderBuffer;
|
||||
surf->VGAlphaFormat = EGL_VG_ALPHA_FORMAT_NONPRE;
|
||||
surf->VGColorspace = EGL_VG_COLORSPACE_sRGB;
|
||||
surf->GLColorspace = EGL_GL_COLORSPACE_LINEAR_KHR;
|
||||
|
||||
surf->MipmapLevel = 0;
|
||||
surf->MultisampleResolve = EGL_MULTISAMPLE_RESOLVE_DEFAULT;
|
||||
@@ -309,6 +326,7 @@ _eglQuerySurface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface,
|
||||
*value = surface->Config->ConfigID;
|
||||
break;
|
||||
case EGL_LARGEST_PBUFFER:
|
||||
if (surface->Type == EGL_PBUFFER_BIT)
|
||||
*value = surface->LargestPbuffer;
|
||||
break;
|
||||
case EGL_TEXTURE_FORMAT:
|
||||
@@ -352,6 +370,13 @@ _eglQuerySurface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface,
|
||||
case EGL_VG_COLORSPACE:
|
||||
*value = surface->VGColorspace;
|
||||
break;
|
||||
case EGL_GL_COLORSPACE_KHR:
|
||||
if (!dpy->Extensions.KHR_gl_colorspace) {
|
||||
_eglError(EGL_BAD_ATTRIBUTE, "eglQuerySurface");
|
||||
return EGL_FALSE;
|
||||
}
|
||||
*value = surface->GLColorspace;
|
||||
break;
|
||||
case EGL_POST_SUB_BUFFER_SUPPORTED_NV:
|
||||
*value = surface->PostSubBufferSupportedNV;
|
||||
break;
|
||||
|
@@ -65,6 +65,7 @@ struct _egl_surface
|
||||
EGLenum RenderBuffer;
|
||||
EGLenum VGAlphaFormat;
|
||||
EGLenum VGColorspace;
|
||||
EGLenum GLColorspace;
|
||||
|
||||
/* attributes set by eglSurfaceAttrib */
|
||||
EGLint MipmapLevel;
|
||||
|
@@ -34,7 +34,7 @@ SUBDIRS := auxiliary
|
||||
|
||||
# swrast
|
||||
ifneq ($(filter swrast,$(MESA_GPU_DRIVERS)),)
|
||||
SUBDIRS += winsys/sw/dri winsys/sw/kms-dri drivers/softpipe
|
||||
SUBDIRS += winsys/sw/dri drivers/softpipe
|
||||
endif
|
||||
|
||||
# freedreno
|
||||
@@ -72,6 +72,7 @@ SUBDIRS += drivers/r600
|
||||
endif
|
||||
ifneq ($(filter radeonsi, $(MESA_GPU_DRIVERS)),)
|
||||
SUBDIRS += drivers/radeonsi
|
||||
SUBDIRS += winsys/amdgpu/drm
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
@@ -67,10 +67,3 @@ if HAVE_DRISW
|
||||
GALLIUM_PIPE_LOADER_WINSYS_LIBS += \
|
||||
$(top_builddir)/src/gallium/winsys/sw/dri/libswdri.la
|
||||
endif
|
||||
|
||||
if NEED_WINSYS_XLIB
|
||||
GALLIUM_PIPE_LOADER_WINSYS_LIBS += \
|
||||
$(top_builddir)/src/gallium/winsys/sw/xlib/libws_xlib.la \
|
||||
-lX11 -lXext -lXfixes \
|
||||
$(LIBDRM_LIBS)
|
||||
endif
|
||||
|
@@ -58,6 +58,7 @@ endif
|
||||
## radeonsi
|
||||
if HAVE_GALLIUM_RADEONSI
|
||||
SUBDIRS += drivers/radeonsi
|
||||
SUBDIRS += winsys/amdgpu/drm
|
||||
endif
|
||||
|
||||
## the radeon winsys - linked in by r300, r600 and radeonsi
|
||||
|
@@ -13,8 +13,6 @@ headers in general, should strictly follow these guidelines to ensure
|
||||
|
||||
* Include the p_compiler.h.
|
||||
|
||||
* Don't use the 'inline' keyword, use the INLINE macro in p_compiler.h instead.
|
||||
|
||||
* Cast explicitly when converting to integer types of smaller sizes.
|
||||
|
||||
* Cast explicitly when converting between float, double and integral types.
|
||||
|
@@ -46,7 +46,6 @@ if env['platform'] == 'haiku':
|
||||
if env['dri']:
|
||||
SConscript([
|
||||
'winsys/sw/dri/SConscript',
|
||||
'winsys/sw/kms-dri/SConscript',
|
||||
'winsys/svga/drm/SConscript',
|
||||
])
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
|
||||
if HAVE_LOADER_GALLIUM
|
||||
SUBDIRS := pipe-loader
|
||||
endif
|
||||
@@ -10,6 +8,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
|
||||
noinst_LTLIBRARIES = libgallium.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
-I$(top_srcdir)/src/loader \
|
||||
-I$(top_builddir)/src/glsl/nir \
|
||||
-I$(top_srcdir)/src/gallium/auxiliary/util \
|
||||
$(GALLIUM_CFLAGS) \
|
||||
@@ -39,18 +38,23 @@ libgallium_la_SOURCES += \
|
||||
|
||||
endif
|
||||
|
||||
indices/u_indices_gen.c: $(srcdir)/indices/u_indices_gen.py
|
||||
$(AM_V_at)$(MKDIR_P) indices
|
||||
$(AM_V_GEN) $(PYTHON2) $< > $@
|
||||
MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
|
||||
PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
|
||||
|
||||
indices/u_unfilled_gen.c: $(srcdir)/indices/u_unfilled_gen.py
|
||||
$(AM_V_at)$(MKDIR_P) indices
|
||||
$(AM_V_GEN) $(PYTHON2) $< > $@
|
||||
indices/u_indices_gen.c: indices/u_indices_gen.py
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/indices/u_indices_gen.py > $@
|
||||
|
||||
util/u_format_table.c: $(srcdir)/util/u_format_table.py $(srcdir)/util/u_format_pack.py $(srcdir)/util/u_format_parse.py $(srcdir)/util/u_format.csv
|
||||
$(AM_V_at)$(MKDIR_P) util
|
||||
$(AM_V_GEN) $(PYTHON2) $(srcdir)/util/u_format_table.py $(srcdir)/util/u_format.csv > $@
|
||||
indices/u_unfilled_gen.c: indices/u_unfilled_gen.py
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/indices/u_unfilled_gen.py > $@
|
||||
|
||||
util/u_format_table.c: util/u_format_table.py \
|
||||
util/u_format_pack.py \
|
||||
util/u_format_parse.py \
|
||||
util/u_format.csv
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/util/u_format_table.py $(srcdir)/util/u_format.csv > $@
|
||||
|
||||
noinst_LTLIBRARIES += libgalliumvl_stub.la
|
||||
libgalliumvl_stub_la_SOURCES = \
|
||||
|
@@ -274,7 +274,6 @@ C_SOURCES := \
|
||||
util/u_simple_shaders.h \
|
||||
util/u_slab.c \
|
||||
util/u_slab.h \
|
||||
util/u_snprintf.c \
|
||||
util/u_split_prim.h \
|
||||
util/u_sse.h \
|
||||
util/u_staging.c \
|
||||
|
@@ -80,7 +80,7 @@ unsigned cso_construct_key(void *item, int item_size)
|
||||
return hash_key((item), item_size);
|
||||
}
|
||||
|
||||
static INLINE struct cso_hash *_cso_hash_for_type(struct cso_cache *sc, enum cso_cache_type type)
|
||||
static inline struct cso_hash *_cso_hash_for_type(struct cso_cache *sc, enum cso_cache_type type)
|
||||
{
|
||||
struct cso_hash *hash;
|
||||
hash = sc->hashes[type];
|
||||
@@ -127,7 +127,7 @@ static void delete_velements(void *state, void *data)
|
||||
FREE(state);
|
||||
}
|
||||
|
||||
static INLINE void delete_cso(void *state, enum cso_cache_type type)
|
||||
static inline void delete_cso(void *state, enum cso_cache_type type)
|
||||
{
|
||||
switch (type) {
|
||||
case CSO_BLEND:
|
||||
@@ -152,7 +152,7 @@ static INLINE void delete_cso(void *state, enum cso_cache_type type)
|
||||
}
|
||||
|
||||
|
||||
static INLINE void sanitize_hash(struct cso_cache *sc,
|
||||
static inline void sanitize_hash(struct cso_cache *sc,
|
||||
struct cso_hash *hash,
|
||||
enum cso_cache_type type,
|
||||
int max_size)
|
||||
@@ -162,7 +162,7 @@ static INLINE void sanitize_hash(struct cso_cache *sc,
|
||||
}
|
||||
|
||||
|
||||
static INLINE void sanitize_cb(struct cso_hash *hash, enum cso_cache_type type,
|
||||
static inline void sanitize_cb(struct cso_hash *hash, enum cso_cache_type type,
|
||||
int max_size, void *user_data)
|
||||
{
|
||||
/* if we're approach the maximum size, remove fourth of the entries
|
||||
|
@@ -56,22 +56,8 @@
|
||||
*/
|
||||
struct sampler_info
|
||||
{
|
||||
struct {
|
||||
void *samplers[PIPE_MAX_SAMPLERS];
|
||||
unsigned nr_samplers;
|
||||
} hw;
|
||||
|
||||
void *samplers[PIPE_MAX_SAMPLERS];
|
||||
unsigned nr_samplers;
|
||||
|
||||
void *samplers_saved[PIPE_MAX_SAMPLERS];
|
||||
unsigned nr_samplers_saved;
|
||||
|
||||
struct pipe_sampler_view *views[PIPE_MAX_SHADER_SAMPLER_VIEWS];
|
||||
unsigned nr_views;
|
||||
|
||||
struct pipe_sampler_view *views_saved[PIPE_MAX_SHADER_SAMPLER_VIEWS];
|
||||
unsigned nr_views_saved;
|
||||
};
|
||||
|
||||
|
||||
@@ -85,6 +71,15 @@ struct cso_context {
|
||||
boolean has_tessellation;
|
||||
boolean has_streamout;
|
||||
|
||||
struct pipe_sampler_view *fragment_views[PIPE_MAX_SHADER_SAMPLER_VIEWS];
|
||||
unsigned nr_fragment_views;
|
||||
|
||||
struct pipe_sampler_view *fragment_views_saved[PIPE_MAX_SHADER_SAMPLER_VIEWS];
|
||||
unsigned nr_fragment_views_saved;
|
||||
|
||||
void *fragment_samplers_saved[PIPE_MAX_SAMPLERS];
|
||||
unsigned nr_fragment_samplers_saved;
|
||||
|
||||
struct sampler_info samplers[PIPE_SHADER_TYPES];
|
||||
|
||||
struct pipe_vertex_buffer aux_vertex_buffer_current;
|
||||
@@ -116,9 +111,6 @@ struct cso_context {
|
||||
uint render_condition_mode, render_condition_mode_saved;
|
||||
boolean render_condition_cond, render_condition_cond_saved;
|
||||
|
||||
struct pipe_clip_state clip;
|
||||
struct pipe_clip_state clip_saved;
|
||||
|
||||
struct pipe_framebuffer_state fb, fb_saved;
|
||||
struct pipe_viewport_state vp, vp_saved;
|
||||
struct pipe_blend_color blend_color;
|
||||
@@ -192,7 +184,7 @@ static boolean delete_vertex_elements(struct cso_context *ctx,
|
||||
}
|
||||
|
||||
|
||||
static INLINE boolean delete_cso(struct cso_context *ctx,
|
||||
static inline boolean delete_cso(struct cso_context *ctx,
|
||||
void *state, enum cso_cache_type type)
|
||||
{
|
||||
switch (type) {
|
||||
@@ -213,7 +205,7 @@ static INLINE boolean delete_cso(struct cso_context *ctx,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
static inline void
|
||||
sanitize_hash(struct cso_hash *hash, enum cso_cache_type type,
|
||||
int max_size, void *user_data)
|
||||
{
|
||||
@@ -297,7 +289,7 @@ out:
|
||||
*/
|
||||
void cso_destroy_context( struct cso_context *ctx )
|
||||
{
|
||||
unsigned i, shader;
|
||||
unsigned i;
|
||||
|
||||
if (ctx->pipe) {
|
||||
ctx->pipe->set_index_buffer(ctx->pipe, NULL);
|
||||
@@ -347,13 +339,9 @@ void cso_destroy_context( struct cso_context *ctx )
|
||||
ctx->pipe->set_stream_output_targets(ctx->pipe, 0, NULL, NULL);
|
||||
}
|
||||
|
||||
/* free sampler views for each shader stage */
|
||||
for (shader = 0; shader < Elements(ctx->samplers); shader++) {
|
||||
struct sampler_info *info = &ctx->samplers[shader];
|
||||
for (i = 0; i < PIPE_MAX_SHADER_SAMPLER_VIEWS; i++) {
|
||||
pipe_sampler_view_reference(&info->views[i], NULL);
|
||||
pipe_sampler_view_reference(&info->views_saved[i], NULL);
|
||||
}
|
||||
pipe_sampler_view_reference(&ctx->fragment_views[i], NULL);
|
||||
pipe_sampler_view_reference(&ctx->fragment_views_saved[i], NULL);
|
||||
}
|
||||
|
||||
util_unreference_framebuffer_state(&ctx->fb);
|
||||
@@ -919,47 +907,6 @@ void cso_restore_tesseval_shader(struct cso_context *ctx)
|
||||
ctx->tesseval_shader_saved = NULL;
|
||||
}
|
||||
|
||||
/* clip state */
|
||||
|
||||
static INLINE void
|
||||
clip_state_cpy(struct pipe_clip_state *dst,
|
||||
const struct pipe_clip_state *src)
|
||||
{
|
||||
memcpy(dst->ucp, src->ucp, sizeof(dst->ucp));
|
||||
}
|
||||
|
||||
static INLINE int
|
||||
clip_state_cmp(const struct pipe_clip_state *a,
|
||||
const struct pipe_clip_state *b)
|
||||
{
|
||||
return memcmp(a->ucp, b->ucp, sizeof(a->ucp));
|
||||
}
|
||||
|
||||
void
|
||||
cso_set_clip(struct cso_context *ctx,
|
||||
const struct pipe_clip_state *clip)
|
||||
{
|
||||
if (clip_state_cmp(&ctx->clip, clip)) {
|
||||
clip_state_cpy(&ctx->clip, clip);
|
||||
ctx->pipe->set_clip_state(ctx->pipe, clip);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
cso_save_clip(struct cso_context *ctx)
|
||||
{
|
||||
clip_state_cpy(&ctx->clip_saved, &ctx->clip);
|
||||
}
|
||||
|
||||
void
|
||||
cso_restore_clip(struct cso_context *ctx)
|
||||
{
|
||||
if (clip_state_cmp(&ctx->clip, &ctx->clip_saved)) {
|
||||
clip_state_cpy(&ctx->clip, &ctx->clip_saved);
|
||||
ctx->pipe->set_clip_state(ctx->pipe, &ctx->clip_saved);
|
||||
}
|
||||
}
|
||||
|
||||
enum pipe_error
|
||||
cso_set_vertex_elements(struct cso_context *ctx,
|
||||
unsigned count,
|
||||
@@ -1122,11 +1069,9 @@ unsigned cso_get_aux_vertex_buffer_slot(struct cso_context *ctx)
|
||||
|
||||
/**************** fragment/vertex sampler view state *************************/
|
||||
|
||||
static enum pipe_error
|
||||
single_sampler(struct cso_context *ctx,
|
||||
struct sampler_info *info,
|
||||
unsigned idx,
|
||||
const struct pipe_sampler_state *templ)
|
||||
enum pipe_error
|
||||
cso_single_sampler(struct cso_context *ctx, unsigned shader_stage,
|
||||
unsigned idx, const struct pipe_sampler_state *templ)
|
||||
{
|
||||
void *handle = NULL;
|
||||
|
||||
@@ -1162,24 +1107,13 @@ single_sampler(struct cso_context *ctx,
|
||||
}
|
||||
}
|
||||
|
||||
info->samplers[idx] = handle;
|
||||
|
||||
ctx->samplers[shader_stage].samplers[idx] = handle;
|
||||
return PIPE_OK;
|
||||
}
|
||||
|
||||
enum pipe_error
|
||||
cso_single_sampler(struct cso_context *ctx,
|
||||
unsigned shader_stage,
|
||||
unsigned idx,
|
||||
const struct pipe_sampler_state *templ)
|
||||
{
|
||||
return single_sampler(ctx, &ctx->samplers[shader_stage], idx, templ);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
single_sampler_done(struct cso_context *ctx, unsigned shader_stage)
|
||||
void
|
||||
cso_single_sampler_done(struct cso_context *ctx, unsigned shader_stage)
|
||||
{
|
||||
struct sampler_info *info = &ctx->samplers[shader_stage];
|
||||
unsigned i;
|
||||
@@ -1191,33 +1125,8 @@ single_sampler_done(struct cso_context *ctx, unsigned shader_stage)
|
||||
}
|
||||
|
||||
info->nr_samplers = i;
|
||||
|
||||
if (info->hw.nr_samplers != info->nr_samplers ||
|
||||
memcmp(info->hw.samplers,
|
||||
info->samplers,
|
||||
info->nr_samplers * sizeof(void *)) != 0)
|
||||
{
|
||||
memcpy(info->hw.samplers,
|
||||
info->samplers,
|
||||
info->nr_samplers * sizeof(void *));
|
||||
|
||||
/* set remaining slots/pointers to null */
|
||||
for (i = info->nr_samplers; i < info->hw.nr_samplers; i++)
|
||||
info->samplers[i] = NULL;
|
||||
|
||||
ctx->pipe->bind_sampler_states(ctx->pipe, shader_stage, 0,
|
||||
MAX2(info->nr_samplers,
|
||||
info->hw.nr_samplers),
|
||||
ctx->pipe->bind_sampler_states(ctx->pipe, shader_stage, 0, i,
|
||||
info->samplers);
|
||||
|
||||
info->hw.nr_samplers = info->nr_samplers;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
cso_single_sampler_done(struct cso_context *ctx, unsigned shader_stage)
|
||||
{
|
||||
single_sampler_done(ctx, shader_stage);
|
||||
}
|
||||
|
||||
|
||||
@@ -1240,38 +1149,42 @@ cso_set_samplers(struct cso_context *ctx,
|
||||
*/
|
||||
|
||||
for (i = 0; i < nr; i++) {
|
||||
temp = single_sampler(ctx, info, i, templates[i]);
|
||||
temp = cso_single_sampler(ctx, shader_stage, i, templates[i]);
|
||||
if (temp != PIPE_OK)
|
||||
error = temp;
|
||||
}
|
||||
|
||||
for ( ; i < info->nr_samplers; i++) {
|
||||
temp = single_sampler(ctx, info, i, NULL);
|
||||
temp = cso_single_sampler(ctx, shader_stage, i, NULL);
|
||||
if (temp != PIPE_OK)
|
||||
error = temp;
|
||||
}
|
||||
|
||||
single_sampler_done(ctx, shader_stage);
|
||||
cso_single_sampler_done(ctx, shader_stage);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
void
|
||||
cso_save_samplers(struct cso_context *ctx, unsigned shader_stage)
|
||||
cso_save_fragment_samplers(struct cso_context *ctx)
|
||||
{
|
||||
struct sampler_info *info = &ctx->samplers[shader_stage];
|
||||
info->nr_samplers_saved = info->nr_samplers;
|
||||
memcpy(info->samplers_saved, info->samplers, sizeof(info->samplers));
|
||||
struct sampler_info *info = &ctx->samplers[PIPE_SHADER_FRAGMENT];
|
||||
|
||||
ctx->nr_fragment_samplers_saved = info->nr_samplers;
|
||||
memcpy(ctx->fragment_samplers_saved, info->samplers,
|
||||
sizeof(info->samplers));
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
cso_restore_samplers(struct cso_context *ctx, unsigned shader_stage)
|
||||
cso_restore_fragment_samplers(struct cso_context *ctx)
|
||||
{
|
||||
struct sampler_info *info = &ctx->samplers[shader_stage];
|
||||
info->nr_samplers = info->nr_samplers_saved;
|
||||
memcpy(info->samplers, info->samplers_saved, sizeof(info->samplers));
|
||||
single_sampler_done(ctx, shader_stage);
|
||||
struct sampler_info *info = &ctx->samplers[PIPE_SHADER_FRAGMENT];
|
||||
|
||||
info->nr_samplers = ctx->nr_fragment_samplers_saved;
|
||||
memcpy(info->samplers, ctx->fragment_samplers_saved,
|
||||
sizeof(info->samplers));
|
||||
cso_single_sampler_done(ctx, PIPE_SHADER_FRAGMENT);
|
||||
}
|
||||
|
||||
|
||||
@@ -1281,71 +1194,74 @@ cso_set_sampler_views(struct cso_context *ctx,
|
||||
unsigned count,
|
||||
struct pipe_sampler_view **views)
|
||||
{
|
||||
struct sampler_info *info = &ctx->samplers[shader_stage];
|
||||
if (shader_stage == PIPE_SHADER_FRAGMENT) {
|
||||
unsigned i;
|
||||
boolean any_change = FALSE;
|
||||
|
||||
/* reference new views */
|
||||
for (i = 0; i < count; i++) {
|
||||
any_change |= info->views[i] != views[i];
|
||||
pipe_sampler_view_reference(&info->views[i], views[i]);
|
||||
any_change |= ctx->fragment_views[i] != views[i];
|
||||
pipe_sampler_view_reference(&ctx->fragment_views[i], views[i]);
|
||||
}
|
||||
/* unref extra old views, if any */
|
||||
for (; i < info->nr_views; i++) {
|
||||
any_change |= info->views[i] != NULL;
|
||||
pipe_sampler_view_reference(&info->views[i], NULL);
|
||||
for (; i < ctx->nr_fragment_views; i++) {
|
||||
any_change |= ctx->fragment_views[i] != NULL;
|
||||
pipe_sampler_view_reference(&ctx->fragment_views[i], NULL);
|
||||
}
|
||||
|
||||
/* bind the new sampler views */
|
||||
if (any_change) {
|
||||
ctx->pipe->set_sampler_views(ctx->pipe, shader_stage, 0,
|
||||
MAX2(info->nr_views, count),
|
||||
info->views);
|
||||
MAX2(ctx->nr_fragment_views, count),
|
||||
ctx->fragment_views);
|
||||
}
|
||||
|
||||
info->nr_views = count;
|
||||
ctx->nr_fragment_views = count;
|
||||
}
|
||||
else
|
||||
ctx->pipe->set_sampler_views(ctx->pipe, shader_stage, 0, count, views);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
cso_save_sampler_views(struct cso_context *ctx, unsigned shader_stage)
|
||||
cso_save_fragment_sampler_views(struct cso_context *ctx)
|
||||
{
|
||||
struct sampler_info *info = &ctx->samplers[shader_stage];
|
||||
unsigned i;
|
||||
|
||||
info->nr_views_saved = info->nr_views;
|
||||
ctx->nr_fragment_views_saved = ctx->nr_fragment_views;
|
||||
|
||||
for (i = 0; i < info->nr_views; i++) {
|
||||
assert(!info->views_saved[i]);
|
||||
pipe_sampler_view_reference(&info->views_saved[i], info->views[i]);
|
||||
for (i = 0; i < ctx->nr_fragment_views; i++) {
|
||||
assert(!ctx->fragment_views_saved[i]);
|
||||
pipe_sampler_view_reference(&ctx->fragment_views_saved[i],
|
||||
ctx->fragment_views[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
cso_restore_sampler_views(struct cso_context *ctx, unsigned shader_stage)
|
||||
cso_restore_fragment_sampler_views(struct cso_context *ctx)
|
||||
{
|
||||
struct sampler_info *info = &ctx->samplers[shader_stage];
|
||||
unsigned i, nr_saved = info->nr_views_saved;
|
||||
unsigned i, nr_saved = ctx->nr_fragment_views_saved;
|
||||
unsigned num;
|
||||
|
||||
for (i = 0; i < nr_saved; i++) {
|
||||
pipe_sampler_view_reference(&info->views[i], NULL);
|
||||
pipe_sampler_view_reference(&ctx->fragment_views[i], NULL);
|
||||
/* move the reference from one pointer to another */
|
||||
info->views[i] = info->views_saved[i];
|
||||
info->views_saved[i] = NULL;
|
||||
ctx->fragment_views[i] = ctx->fragment_views_saved[i];
|
||||
ctx->fragment_views_saved[i] = NULL;
|
||||
}
|
||||
for (; i < info->nr_views; i++) {
|
||||
pipe_sampler_view_reference(&info->views[i], NULL);
|
||||
for (; i < ctx->nr_fragment_views; i++) {
|
||||
pipe_sampler_view_reference(&ctx->fragment_views[i], NULL);
|
||||
}
|
||||
|
||||
num = MAX2(info->nr_views, nr_saved);
|
||||
num = MAX2(ctx->nr_fragment_views, nr_saved);
|
||||
|
||||
/* bind the old/saved sampler views */
|
||||
ctx->pipe->set_sampler_views(ctx->pipe, shader_stage, 0, num, info->views);
|
||||
ctx->pipe->set_sampler_views(ctx->pipe, PIPE_SHADER_FRAGMENT, 0, num,
|
||||
ctx->fragment_views);
|
||||
|
||||
info->nr_views = nr_saved;
|
||||
info->nr_views_saved = 0;
|
||||
ctx->nr_fragment_views = nr_saved;
|
||||
ctx->nr_fragment_views_saved = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -72,19 +72,17 @@ cso_set_samplers(struct cso_context *cso,
|
||||
const struct pipe_sampler_state **states);
|
||||
|
||||
void
|
||||
cso_save_samplers(struct cso_context *cso, unsigned shader_stage);
|
||||
cso_save_fragment_samplers(struct cso_context *cso);
|
||||
|
||||
void
|
||||
cso_restore_samplers(struct cso_context *cso, unsigned shader_stage);
|
||||
cso_restore_fragment_samplers(struct cso_context *cso);
|
||||
|
||||
/* Alternate interface to support state trackers that like to modify
|
||||
* samplers one at a time:
|
||||
*/
|
||||
enum pipe_error
|
||||
cso_single_sampler(struct cso_context *cso,
|
||||
unsigned shader_stage,
|
||||
unsigned count,
|
||||
const struct pipe_sampler_state *states);
|
||||
cso_single_sampler(struct cso_context *cso, unsigned shader_stage,
|
||||
unsigned idx, const struct pipe_sampler_state *states);
|
||||
|
||||
void
|
||||
cso_single_sampler_done(struct cso_context *cso, unsigned shader_stage);
|
||||
@@ -188,19 +186,6 @@ void cso_save_render_condition(struct cso_context *cso);
|
||||
void cso_restore_render_condition(struct cso_context *cso);
|
||||
|
||||
|
||||
/* clip state */
|
||||
|
||||
void
|
||||
cso_set_clip(struct cso_context *cso,
|
||||
const struct pipe_clip_state *clip);
|
||||
|
||||
void
|
||||
cso_save_clip(struct cso_context *cso);
|
||||
|
||||
void
|
||||
cso_restore_clip(struct cso_context *cso);
|
||||
|
||||
|
||||
/* sampler view state */
|
||||
|
||||
void
|
||||
@@ -210,10 +195,10 @@ cso_set_sampler_views(struct cso_context *cso,
|
||||
struct pipe_sampler_view **views);
|
||||
|
||||
void
|
||||
cso_save_sampler_views(struct cso_context *cso, unsigned shader_stage);
|
||||
cso_save_fragment_sampler_views(struct cso_context *ctx);
|
||||
|
||||
void
|
||||
cso_restore_sampler_views(struct cso_context *cso, unsigned shader_stage);
|
||||
cso_restore_fragment_sampler_views(struct cso_context *ctx);
|
||||
|
||||
|
||||
/* constant buffers */
|
||||
|
@@ -45,7 +45,7 @@
|
||||
/* fixme: move it from here */
|
||||
#define MAX_PRIMITIVES 64
|
||||
|
||||
static INLINE int
|
||||
static inline int
|
||||
draw_gs_get_input_index(int semantic, int index,
|
||||
const struct tgsi_shader_info *input_info)
|
||||
{
|
||||
@@ -66,7 +66,7 @@ draw_gs_get_input_index(int semantic, int index,
|
||||
* the number of elements in the SOA vector. This ensures that the
|
||||
* throughput is optimized for the given vector instruction set.
|
||||
*/
|
||||
static INLINE boolean
|
||||
static inline boolean
|
||||
draw_gs_should_flush(struct draw_geometry_shader *shader)
|
||||
{
|
||||
return (shader->fetched_prim_count == shader->vector_length);
|
||||
|
@@ -72,7 +72,7 @@ struct draw_gs_llvm_iface {
|
||||
LLVMValueRef input;
|
||||
};
|
||||
|
||||
static INLINE const struct draw_gs_llvm_iface *
|
||||
static inline const struct draw_gs_llvm_iface *
|
||||
draw_gs_llvm_iface(const struct lp_build_tgsi_gs_iface *iface)
|
||||
{
|
||||
return (const struct draw_gs_llvm_iface *)iface;
|
||||
|
@@ -350,7 +350,7 @@ struct draw_gs_llvm_variant_key
|
||||
PIPE_MAX_SHADER_SAMPLER_VIEWS * sizeof(struct draw_sampler_static_state))
|
||||
|
||||
|
||||
static INLINE size_t
|
||||
static inline size_t
|
||||
draw_llvm_variant_key_size(unsigned nr_vertex_elements,
|
||||
unsigned nr_samplers)
|
||||
{
|
||||
@@ -360,7 +360,7 @@ draw_llvm_variant_key_size(unsigned nr_vertex_elements,
|
||||
}
|
||||
|
||||
|
||||
static INLINE size_t
|
||||
static inline size_t
|
||||
draw_gs_llvm_variant_key_size(unsigned nr_samplers)
|
||||
{
|
||||
return (sizeof(struct draw_gs_llvm_variant_key) +
|
||||
@@ -368,7 +368,7 @@ draw_gs_llvm_variant_key_size(unsigned nr_samplers)
|
||||
}
|
||||
|
||||
|
||||
static INLINE struct draw_sampler_static_state *
|
||||
static inline struct draw_sampler_static_state *
|
||||
draw_llvm_variant_key_samplers(struct draw_llvm_variant_key *key)
|
||||
{
|
||||
return (struct draw_sampler_static_state *)
|
||||
@@ -476,13 +476,13 @@ struct draw_llvm {
|
||||
};
|
||||
|
||||
|
||||
static INLINE struct llvm_vertex_shader *
|
||||
static inline struct llvm_vertex_shader *
|
||||
llvm_vertex_shader(struct draw_vertex_shader *vs)
|
||||
{
|
||||
return (struct llvm_vertex_shader *)vs;
|
||||
}
|
||||
|
||||
static INLINE struct llvm_geometry_shader *
|
||||
static inline struct llvm_geometry_shader *
|
||||
llvm_geometry_shader(struct draw_geometry_shader *gs)
|
||||
{
|
||||
return (struct llvm_geometry_shader *)gs;
|
||||
|
@@ -115,7 +115,7 @@ void draw_unfilled_prepare_outputs(struct draw_context *context,
|
||||
* \param idx index into stage's tmp[] array to put the copy (dest)
|
||||
* \return pointer to the copied vertex
|
||||
*/
|
||||
static INLINE struct vertex_header *
|
||||
static inline struct vertex_header *
|
||||
dup_vert( struct draw_stage *stage,
|
||||
const struct vertex_header *vert,
|
||||
unsigned idx )
|
||||
|
@@ -511,7 +511,7 @@ bind_aaline_fragment_shader(struct aaline_stage *aaline)
|
||||
|
||||
|
||||
|
||||
static INLINE struct aaline_stage *
|
||||
static inline struct aaline_stage *
|
||||
aaline_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct aaline_stage *) stage;
|
||||
|
@@ -427,7 +427,7 @@ bind_aapoint_fragment_shader(struct aapoint_stage *aapoint)
|
||||
|
||||
|
||||
|
||||
static INLINE struct aapoint_stage *
|
||||
static inline struct aapoint_stage *
|
||||
aapoint_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct aapoint_stage *) stage;
|
||||
|
@@ -70,12 +70,12 @@ struct clip_stage {
|
||||
|
||||
|
||||
/** Cast wrapper */
|
||||
static INLINE struct clip_stage *clip_stage( struct draw_stage *stage )
|
||||
static inline struct clip_stage *clip_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct clip_stage *)stage;
|
||||
}
|
||||
|
||||
static INLINE unsigned
|
||||
static inline unsigned
|
||||
draw_viewport_index(struct draw_context *draw,
|
||||
const struct vertex_header *leading_vertex)
|
||||
{
|
||||
@@ -210,7 +210,7 @@ static void interp( const struct clip_stage *clip,
|
||||
* true, otherwise returns false.
|
||||
* Triangle is considered null/empty if it's area is qual to zero.
|
||||
*/
|
||||
static INLINE boolean
|
||||
static inline boolean
|
||||
is_tri_null(struct draw_context *draw, const struct prim_header *header)
|
||||
{
|
||||
const unsigned pos_attr = draw_current_shader_position_output(draw);
|
||||
@@ -322,7 +322,7 @@ static void emit_poly( struct draw_stage *stage,
|
||||
}
|
||||
|
||||
|
||||
static INLINE float
|
||||
static inline float
|
||||
dot4(const float *a, const float *b)
|
||||
{
|
||||
return (a[0] * b[0] +
|
||||
@@ -336,7 +336,7 @@ dot4(const float *a, const float *b)
|
||||
* it first checks if the shader provided a clip distance, otherwise
|
||||
* it works out the value using the clipvertex
|
||||
*/
|
||||
static INLINE float getclipdist(const struct clip_stage *clipper,
|
||||
static inline float getclipdist(const struct clip_stage *clipper,
|
||||
struct vertex_header *vert,
|
||||
int plane_idx)
|
||||
{
|
||||
|
@@ -46,12 +46,12 @@ struct cull_stage {
|
||||
};
|
||||
|
||||
|
||||
static INLINE struct cull_stage *cull_stage( struct draw_stage *stage )
|
||||
static inline struct cull_stage *cull_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct cull_stage *)stage;
|
||||
}
|
||||
|
||||
static INLINE boolean
|
||||
static inline boolean
|
||||
cull_distance_is_out(float dist)
|
||||
{
|
||||
return (dist < 0.0f) || util_is_inf_or_nan(dist);
|
||||
|
@@ -47,7 +47,7 @@ struct flat_stage
|
||||
};
|
||||
|
||||
|
||||
static INLINE struct flat_stage *
|
||||
static inline struct flat_stage *
|
||||
flat_stage(struct draw_stage *stage)
|
||||
{
|
||||
return (struct flat_stage *) stage;
|
||||
@@ -55,7 +55,7 @@ flat_stage(struct draw_stage *stage)
|
||||
|
||||
|
||||
/** Copy all the constant attributes from 'src' vertex to 'dst' vertex */
|
||||
static INLINE void copy_flats( struct draw_stage *stage,
|
||||
static inline void copy_flats( struct draw_stage *stage,
|
||||
struct vertex_header *dst,
|
||||
const struct vertex_header *src )
|
||||
{
|
||||
@@ -70,7 +70,7 @@ static INLINE void copy_flats( struct draw_stage *stage,
|
||||
|
||||
|
||||
/** Copy all the color attributes from src vertex to dst0 & dst1 vertices */
|
||||
static INLINE void copy_flats2( struct draw_stage *stage,
|
||||
static inline void copy_flats2( struct draw_stage *stage,
|
||||
struct vertex_header *dst0,
|
||||
struct vertex_header *dst1,
|
||||
const struct vertex_header *src )
|
||||
|
@@ -49,7 +49,7 @@ struct offset_stage {
|
||||
|
||||
|
||||
|
||||
static INLINE struct offset_stage *offset_stage( struct draw_stage *stage )
|
||||
static inline struct offset_stage *offset_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct offset_stage *) stage;
|
||||
}
|
||||
|
@@ -462,7 +462,7 @@ bind_pstip_fragment_shader(struct pstip_stage *pstip)
|
||||
}
|
||||
|
||||
|
||||
static INLINE struct pstip_stage *
|
||||
static inline struct pstip_stage *
|
||||
pstip_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct pstip_stage *) stage;
|
||||
|
@@ -53,7 +53,7 @@ struct stipple_stage {
|
||||
};
|
||||
|
||||
|
||||
static INLINE struct stipple_stage *
|
||||
static inline struct stipple_stage *
|
||||
stipple_stage(struct draw_stage *stage)
|
||||
{
|
||||
return (struct stipple_stage *) stage;
|
||||
@@ -108,7 +108,7 @@ emit_segment(struct draw_stage *stage, struct prim_header *header,
|
||||
}
|
||||
|
||||
|
||||
static INLINE unsigned
|
||||
static inline unsigned
|
||||
stipple_test(int counter, ushort pattern, int factor)
|
||||
{
|
||||
int b = (counter / factor) & 0xf;
|
||||
|
@@ -43,7 +43,7 @@ struct twoside_stage {
|
||||
};
|
||||
|
||||
|
||||
static INLINE struct twoside_stage *twoside_stage( struct draw_stage *stage )
|
||||
static inline struct twoside_stage *twoside_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct twoside_stage *)stage;
|
||||
}
|
||||
@@ -51,7 +51,7 @@ static INLINE struct twoside_stage *twoside_stage( struct draw_stage *stage )
|
||||
/**
|
||||
* Copy back color(s) to front color(s).
|
||||
*/
|
||||
static INLINE struct vertex_header *
|
||||
static inline struct vertex_header *
|
||||
copy_bfc( struct twoside_stage *twoside,
|
||||
const struct vertex_header *v,
|
||||
unsigned idx )
|
||||
|
@@ -53,7 +53,7 @@ struct unfilled_stage {
|
||||
};
|
||||
|
||||
|
||||
static INLINE struct unfilled_stage *unfilled_stage( struct draw_stage *stage )
|
||||
static inline struct unfilled_stage *unfilled_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct unfilled_stage *)stage;
|
||||
}
|
||||
|
@@ -85,7 +85,7 @@ struct vbuf_stage {
|
||||
/**
|
||||
* Basically a cast wrapper.
|
||||
*/
|
||||
static INLINE struct vbuf_stage *
|
||||
static inline struct vbuf_stage *
|
||||
vbuf_stage( struct draw_stage *stage )
|
||||
{
|
||||
assert(stage);
|
||||
@@ -97,7 +97,7 @@ static void vbuf_flush_vertices( struct vbuf_stage *vbuf );
|
||||
static void vbuf_alloc_vertices( struct vbuf_stage *vbuf );
|
||||
|
||||
|
||||
static INLINE boolean
|
||||
static inline boolean
|
||||
overflow( void *map, void *ptr, unsigned bytes, unsigned bufsz )
|
||||
{
|
||||
unsigned long used = (unsigned long) ((char *)ptr - (char *)map);
|
||||
@@ -105,7 +105,7 @@ overflow( void *map, void *ptr, unsigned bytes, unsigned bufsz )
|
||||
}
|
||||
|
||||
|
||||
static INLINE void
|
||||
static inline void
|
||||
check_space( struct vbuf_stage *vbuf, unsigned nr )
|
||||
{
|
||||
if (vbuf->nr_vertices + nr > vbuf->max_vertices ||
|
||||
@@ -126,7 +126,7 @@ check_space( struct vbuf_stage *vbuf, unsigned nr )
|
||||
* have a couple of slots at the beginning (1-dword header, 4-dword
|
||||
* clip pos) that we ignore here. We only use the vertex->data[] fields.
|
||||
*/
|
||||
static INLINE ushort
|
||||
static inline ushort
|
||||
emit_vertex( struct vbuf_stage *vbuf,
|
||||
struct vertex_header *vertex )
|
||||
{
|
||||
|
@@ -45,7 +45,7 @@ struct wideline_stage {
|
||||
|
||||
|
||||
|
||||
static INLINE struct wideline_stage *wideline_stage( struct draw_stage *stage )
|
||||
static inline struct wideline_stage *wideline_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct wideline_stage *)stage;
|
||||
}
|
||||
|
@@ -83,7 +83,7 @@ struct widepoint_stage {
|
||||
|
||||
|
||||
|
||||
static INLINE struct widepoint_stage *
|
||||
static inline struct widepoint_stage *
|
||||
widepoint_stage( struct draw_stage *stage )
|
||||
{
|
||||
return (struct widepoint_stage *)stage;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user