Compare commits
1632
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac8ca47501 | ||
|
|
65cf3e6f59 | ||
|
|
ec084e972e | ||
|
|
1e79c703ec | ||
|
|
831966363d | ||
|
|
114a4562ed | ||
|
|
858f8ac6d9 | ||
|
|
b71130e6f1 | ||
|
|
af418eb666 | ||
|
|
a2f6a2480d | ||
|
|
503feba7e4 | ||
|
|
69511aed3d | ||
|
|
989d4a7a41 | ||
|
|
a32f6e9d8e | ||
|
|
36df3ce97e | ||
|
|
de2f2e5140 | ||
|
|
fb4b3c127f | ||
|
|
72b34650f9 | ||
|
|
105c60b984 | ||
|
|
f6c47df671 | ||
|
|
be351c2b3d | ||
|
|
f3d3528754 | ||
|
|
ce961cb4c6 | ||
|
|
1c8b509441 | ||
|
|
cc289a8ed0 | ||
|
|
8a858c2623 | ||
|
|
6e12eb80a0 | ||
|
|
d879741ec6 | ||
|
|
439e621674 | ||
|
|
a1f2610522 | ||
|
|
240f59a4c8 | ||
|
|
c889a5805e | ||
|
|
762a30d0db | ||
|
|
390d49c5f1 | ||
|
|
3cf15af31e | ||
|
|
7aa1d10655 | ||
|
|
74d1b9a254 | ||
|
|
b01541f4e4 | ||
|
|
0e5a6676c3 | ||
|
|
a9beb4746e | ||
|
|
79352ee9d5 | ||
|
|
3a8c2ae328 | ||
|
|
7f53cd1e96 | ||
|
|
4118aad491 | ||
|
|
bf948b5790 | ||
|
|
c82806f9cb | ||
|
|
4eb7f6c044 | ||
|
|
b57df1dcb9 | ||
|
|
020982508d | ||
|
|
775e29efb6 | ||
|
|
5035df27c3 | ||
|
|
8f3098fc1e | ||
|
|
3ca3254b9f | ||
|
|
f7908eebb9 | ||
|
|
ffd3afcf2f | ||
|
|
5808e76fae | ||
|
|
5c20373db3 | ||
|
|
f981e90af3 | ||
|
|
55b0dda57c | ||
|
|
36d44bf52f | ||
|
|
370d3fa1e3 | ||
|
|
b3f8c7ce58 | ||
|
|
eea68eae18 | ||
|
|
0b9ef3c0b8 | ||
|
|
2fb6df3fe9 | ||
|
|
dca63391b6 | ||
|
|
c2b583c911 | ||
|
|
e7ba9fd7e1 | ||
|
|
e158951695 | ||
|
|
f345ffdc0f | ||
|
|
26e5bc6082 | ||
|
|
2123594ce2 | ||
|
|
5562ae9cc5 | ||
|
|
4087f1d10f | ||
|
|
7fe5004f90 | ||
|
|
b317f54f22 | ||
|
|
4f1a2c2562 | ||
|
|
babd580c64 | ||
|
|
7eb0992d2c | ||
|
|
535bc61b4c | ||
|
|
18a0c2e9db | ||
|
|
4559112651 | ||
|
|
f3f3f1b7d9 | ||
|
|
b06f9f2606 | ||
|
|
8037f2eae8 | ||
|
|
08bddd7d79 | ||
|
|
d00464bd25 | ||
|
|
9398521006 | ||
|
|
f72f4377f4 | ||
|
|
16b7fd71a0 | ||
|
|
4be00def5c | ||
|
|
9b34640a58 | ||
|
|
eab68d8fb6 | ||
|
|
bd9f74e6e4 | ||
|
|
073df3d7eb | ||
|
|
b50e1596cc | ||
|
|
ca28b447ac | ||
|
|
5687bc6e10 | ||
|
|
709d7fd92c | ||
|
|
01cf05bc75 | ||
|
|
f3128fe915 | ||
|
|
794cfb4271 | ||
|
|
9ed0b5c5f9 | ||
|
|
99b425e0e2 | ||
|
|
173d849b8f | ||
|
|
17ce54d7f2 | ||
|
|
d2388a2ca8 | ||
|
|
213120a98b | ||
|
|
5295a925d8 | ||
|
|
67569dfe9d | ||
|
|
7709374f4f | ||
|
|
7130bcc46d | ||
|
|
262df44be1 | ||
|
|
1193f7c393 | ||
|
|
693b212417 | ||
|
|
8304b14a90 | ||
|
|
64e93dc959 | ||
|
|
a7f7279d9d | ||
|
|
9d64253916 | ||
|
|
8eabdc058b | ||
|
|
1b0bf6efe9 | ||
|
|
91a6df0361 | ||
|
|
0f3ad939a8 | ||
|
|
61582efeb9 | ||
|
|
7f77aafe41 | ||
|
|
4de43e4d4a | ||
|
|
dc71bccc5c | ||
|
|
9c70177456 | ||
|
|
99ceb03a1c | ||
|
|
a63244d1e4 | ||
|
|
04afcfe115 | ||
|
|
764e5c7fe5 | ||
|
|
a1ee9799bc | ||
|
|
b087886305 | ||
|
|
fd409a9247 | ||
|
|
0ca4dff62c | ||
|
|
ea07e61d3d | ||
|
|
17bff6bf57 | ||
|
|
cc866ab7e4 | ||
|
|
5fdeda5ee8 | ||
|
|
9dfadc8b30 | ||
|
|
75ec9f57a0 | ||
|
|
c99712ea7d | ||
|
|
1d26fabaa7 | ||
|
|
9a47330fec | ||
|
|
24d7a027dc | ||
|
|
92362d4932 | ||
|
|
af16f2c6b7 | ||
|
|
3e77466b86 | ||
|
|
637f7e6928 | ||
|
|
42b8148aca | ||
|
|
fd49b186fa | ||
|
|
a29a8c6f78 | ||
|
|
46e1c5bc37 | ||
|
|
d2f9412cf1 | ||
|
|
b2359f1527 | ||
|
|
856a841c72 | ||
|
|
34710065e8 | ||
|
|
f783883bf8 | ||
|
|
d4571b123d | ||
|
|
a24e7ba61b | ||
|
|
8ae43a1be9 | ||
|
|
46da380b57 | ||
|
|
072b3e6e26 | ||
|
|
276764cfe9 | ||
|
|
ba08f63ec4 | ||
|
|
f17aaeccf9 | ||
|
|
ca2accfb25 | ||
|
|
f6695814be | ||
|
|
dc2dd5d5a6 | ||
|
|
3f0b93925f | ||
|
|
965c05b43d | ||
|
|
ae38b8bf5e | ||
|
|
8deaac8bd1 | ||
|
|
fd5e1e80da | ||
|
|
fc258f1d7a | ||
|
|
d13e48e002 | ||
|
|
b86cfe159f | ||
|
|
38dd6dc190 | ||
|
|
4ad6bca31c | ||
|
|
59cbeb3e1b | ||
|
|
3b91d213b1 | ||
|
|
bf3c6f8812 | ||
|
|
b29242862b | ||
|
|
32e2fb5d33 | ||
|
|
a7f73d606f | ||
|
|
b44a564792 | ||
|
|
788bebb160 | ||
|
|
d737652d08 | ||
|
|
f55fc850a2 | ||
|
|
04efd729d6 | ||
|
|
82d46a974a | ||
|
|
21359936b8 | ||
|
|
be95b5a954 | ||
|
|
bbaa08d7f0 | ||
|
|
50b10c4bac | ||
|
|
1c3983c12e | ||
|
|
f05e87402a | ||
|
|
9c85cb354a | ||
|
|
d79274a5d9 | ||
|
|
4778656110 | ||
|
|
3cf6593342 | ||
|
|
bbc585881a | ||
|
|
159ae5e47c | ||
|
|
6a071c42d2 | ||
|
|
1f275eb077 | ||
|
|
c589db6add | ||
|
|
fa5277ecdb | ||
|
|
4265372099 | ||
|
|
03d5794183 | ||
|
|
827a901153 | ||
|
|
50192eb4ad | ||
|
|
a02fd4cddd | ||
|
|
4d5900aaa1 | ||
|
|
5ca67332ee | ||
|
|
172137f1a0 | ||
|
|
0cfcee95c7 | ||
|
|
52ebdd42c6 | ||
|
|
eb8c8db899 | ||
|
|
37199c5f90 | ||
|
|
8c089f4e2a | ||
|
|
12dc4d0527 | ||
|
|
0c1b954e07 | ||
|
|
b976cac49d | ||
|
|
e4c3565ebe | ||
|
|
9af501b75d | ||
|
|
7f11710e0a | ||
|
|
ce859cf526 | ||
|
|
119d1692c9 | ||
|
|
02473ea7d5 | ||
|
|
c7f3c2cedf | ||
|
|
1ab771c3ad | ||
|
|
494c41dd5a | ||
|
|
f114436120 | ||
|
|
b7be6a4316 | ||
|
|
c59c035d74 | ||
|
|
a57531854e | ||
|
|
cb913e5c02 | ||
|
|
983916e919 | ||
|
|
6bcbbb29e7 | ||
|
|
d6a0666268 | ||
|
|
5b5a1b7fa7 | ||
|
|
83b86d915a | ||
|
|
4052bfb4ad | ||
|
|
fdd4d019ef | ||
|
|
e9cf2d43f1 | ||
|
|
a5d040df3d | ||
|
|
f8b8af47ad | ||
|
|
2d1af6beee | ||
|
|
b5910ad0ba | ||
|
|
3e5469a974 | ||
|
|
979e53b87b | ||
|
|
084bd225dc | ||
|
|
c562c1d6be | ||
|
|
b4746529e1 | ||
|
|
7f1e66e94b | ||
|
|
1e47252214 | ||
|
|
0bcbe3a703 | ||
|
|
1cb83c91a6 | ||
|
|
51a8dd4919 | ||
|
|
1f74b25fd1 | ||
|
|
f4004b1271 | ||
|
|
8c57de1605 | ||
|
|
0c214cb5b9 | ||
|
|
8dc1913db8 | ||
|
|
fdf4909f97 | ||
|
|
4036e37bbe | ||
|
|
30b07878ba | ||
|
|
7610554b1e | ||
|
|
f9371f36a4 | ||
|
|
93f010c988 | ||
|
|
d02bf6dab1 | ||
|
|
99770653bb | ||
|
|
2afef2b609 | ||
|
|
11120b5b1e | ||
|
|
bf1750664c | ||
|
|
864523327f | ||
|
|
1166c3910d | ||
|
|
7d5a38ea6c | ||
|
|
faf6a9876c | ||
|
|
550844e5e8 | ||
|
|
a45baa0e78 | ||
|
|
d061dc4342 | ||
|
|
4e4dbb6821 | ||
|
|
79ed7e143e | ||
|
|
a2e170bb93 | ||
|
|
b1fdc02465 | ||
|
|
e9e671d101 | ||
|
|
078a6cb0cb | ||
|
|
9346f0b33d | ||
|
|
9b52ee4558 | ||
|
|
c6aa4ec687 | ||
|
|
365c6ad753 | ||
|
|
c04e65c254 | ||
|
|
8e9d253687 | ||
|
|
69807dd208 | ||
|
|
6552968df4 | ||
|
|
063d38a991 | ||
|
|
0d7a0c0817 | ||
|
|
90c846d1ad | ||
|
|
3e489782e1 | ||
|
|
642913b0d1 | ||
|
|
ea7a0d4652 | ||
|
|
7382e7a5c8 | ||
|
|
1383441b15 | ||
|
|
3a9a0d9cb3 | ||
|
|
af94bf4a59 | ||
|
|
99654721eb | ||
|
|
e043cc0bc3 | ||
|
|
af04f8b8e9 | ||
|
|
94967e0f6d | ||
|
|
9408100a80 | ||
|
|
0c75913bf2 | ||
|
|
3c8547160d | ||
|
|
1b3dba329a | ||
|
|
3bc0c2a625 | ||
|
|
94543f129e | ||
|
|
5b667f5e52 | ||
|
|
c975a51ae7 | ||
|
|
f29410d821 | ||
|
|
4e2401c11a | ||
|
|
664d8c8732 | ||
|
|
25faca8ea7 | ||
|
|
07c7f96fb2 | ||
|
|
13aa0a1f24 | ||
|
|
741a8c3034 | ||
|
|
da46d924e9 | ||
|
|
a2d7b2f905 | ||
|
|
7a9d9e575b | ||
|
|
ab6a5784fa | ||
|
|
0608336c60 | ||
|
|
d108c2873d | ||
|
|
9872d4bc4f | ||
|
|
284934ebfd | ||
|
|
c64e1ae104 | ||
|
|
02dbb2ed54 | ||
|
|
c9d28c30f0 | ||
|
|
241ecae867 | ||
|
|
81eefcaa76 | ||
|
|
3b13f5e43b | ||
|
|
4d9488033f | ||
|
|
e524def8c0 | ||
|
|
8e35eedf22 | ||
|
|
0ce308047e | ||
|
|
480c79edba | ||
|
|
7db60fe7da | ||
|
|
ddd5a2b1c6 | ||
|
|
53058ae73f | ||
|
|
650c9d0d62 | ||
|
|
ca12a77670 | ||
|
|
5849c9a4cd | ||
|
|
7f4165fc05 | ||
|
|
a87812c6a1 | ||
|
|
56284bff6c | ||
|
|
bfff7b58fd | ||
|
|
6e7f687df4 | ||
|
|
41983bc0ca | ||
|
|
0057159066 | ||
|
|
79e8cdf595 | ||
|
|
d25cb12bff | ||
|
|
c723db39c7 | ||
|
|
d13e18a8ed | ||
|
|
a454670de5 | ||
|
|
fe9945ad6c | ||
|
|
b9cbc708e8 | ||
|
|
81e143a3d2 | ||
|
|
fd24d5a0a2 | ||
|
|
05ff9e8d4e | ||
|
|
05d80fba38 | ||
|
|
402273d91b | ||
|
|
d456b9d554 | ||
|
|
5a8b9a9706 | ||
|
|
8c27465325 | ||
|
|
d47575f2c5 | ||
|
|
0704b645df | ||
|
|
9edbbf2af4 | ||
|
|
5e982a7812 | ||
|
|
ecb3342145 | ||
|
|
c09a4f4eb6 | ||
|
|
8f2e5f5666 | ||
|
|
c50f2bd4f6 | ||
|
|
8d45dd3b73 | ||
|
|
dea5de91d2 | ||
|
|
67159e3be7 | ||
|
|
fb4d80b169 | ||
|
|
a8896e940a | ||
|
|
749efbb84b | ||
|
|
f8773e4ba0 | ||
|
|
e439c31c9e | ||
|
|
dd862dff66 | ||
|
|
f10d40a0a2 | ||
|
|
e6f200b960 | ||
|
|
e7c1e6fc27 | ||
|
|
6e232b9efe | ||
|
|
bcca849d0c | ||
|
|
c50401903f | ||
|
|
1d5f6b173d | ||
|
|
7c44a4ede3 | ||
|
|
aa44ef7b64 | ||
|
|
e05e6853fa | ||
|
|
f83cd2e8b9 | ||
|
|
b3cfccdb80 | ||
|
|
ee532e5c01 | ||
|
|
75046a3351 | ||
|
|
82ac66f8a4 | ||
|
|
15f9472b15 | ||
|
|
109566fc8f | ||
|
|
ff2e891022 | ||
|
|
3b0d233cbd | ||
|
|
628534a9ac | ||
|
|
d1c0cdf4f2 | ||
|
|
7c05c987a3 | ||
|
|
150f6db4d1 | ||
|
|
866b7c20a8 | ||
|
|
a367db44cf | ||
|
|
936829e873 | ||
|
|
9b505758dc | ||
|
|
967ed01fcf | ||
|
|
574a2c4b77 | ||
|
|
5960d54722 | ||
|
|
474318ee37 | ||
|
|
923decae5a | ||
|
|
1bc7d61b57 | ||
|
|
17ebe211ec | ||
|
|
c85a3e5a28 | ||
|
|
8a8ea65fae | ||
|
|
ade596121b | ||
|
|
8c8b5359f2 | ||
|
|
536d7ed7b1 | ||
|
|
d400b618a7 | ||
|
|
fe1182e916 | ||
|
|
d618bba8a6 | ||
|
|
8b7d571b66 | ||
|
|
6fa17f3372 | ||
|
|
4d840aa903 | ||
|
|
cb86e7941b | ||
|
|
a616f49864 | ||
|
|
db637b5a4c | ||
|
|
7760777c06 | ||
|
|
fa46fb90fb | ||
|
|
1cbe23ed7b | ||
|
|
3009d0bd7d | ||
|
|
e228a40db8 | ||
|
|
3ac522ba41 | ||
|
|
f55af65e82 | ||
|
|
6407f16d81 | ||
|
|
1415542f73 | ||
|
|
2db5076ec9 | ||
|
|
c3c351e2c2 | ||
|
|
613558867c | ||
|
|
bcc2d7e69b | ||
|
|
9e633999d6 | ||
|
|
50415f68a5 | ||
|
|
24d51e1c92 | ||
|
|
cb32d9aff8 | ||
|
|
59d2a38daa | ||
|
|
e95bb782f0 | ||
|
|
5f3e77d93e | ||
|
|
82a2463062 | ||
|
|
f7d1929816 | ||
|
|
51589c5e21 | ||
|
|
0defac2f2a | ||
|
|
813b2ef253 | ||
|
|
3210bc2767 | ||
|
|
15d9b0418f | ||
|
|
a25cd4bb4b | ||
|
|
91819726b1 | ||
|
|
08434842b3 | ||
|
|
4a28d8cebb | ||
|
|
ed67e1dd10 | ||
|
|
bfc4823e36 | ||
|
|
8873c0c3db | ||
|
|
25c0acc388 | ||
|
|
07c9d9bdbd | ||
|
|
ce33503adf | ||
|
|
0f0e1c25bc | ||
|
|
944d9186ca | ||
|
|
158c5845ab | ||
|
|
0fdf1d2a60 | ||
|
|
69c2faeb6a | ||
|
|
52895fab67 | ||
|
|
5119a57614 | ||
|
|
cd07a43724 | ||
|
|
f9e1f559b1 | ||
|
|
cc285b9924 | ||
|
|
be0e6a2bb4 | ||
|
|
0331b8d799 | ||
|
|
364c67e49b | ||
|
|
37aa472269 | ||
|
|
220674d0d6 | ||
|
|
185fc03c3c | ||
|
|
ec9f0f064e | ||
|
|
8decc8d1a5 | ||
|
|
1f6bbb6257 | ||
|
|
6b164a80a1 | ||
|
|
f87f8d4610 | ||
|
|
e8c50e709e | ||
|
|
948f6e1112 | ||
|
|
27cc7b6a73 | ||
|
|
56c646d82c | ||
|
|
5c74dd6462 | ||
|
|
15fdc2cd09 | ||
|
|
d248c1203e | ||
|
|
29a7a61806 | ||
|
|
70e632f153 | ||
|
|
8180b262fc | ||
|
|
82c3042c0f | ||
|
|
f1521183f8 | ||
|
|
e200161982 | ||
|
|
22f50c6bc1 | ||
|
|
52f8f00434 | ||
|
|
d9b1199ffb | ||
|
|
9a97ef4647 | ||
|
|
873a9fa7e5 | ||
|
|
ec5f3351b6 | ||
|
|
86e9e60f07 | ||
|
|
3c33ba7f18 | ||
|
|
d233de8194 | ||
|
|
add2cfcb96 | ||
|
|
6f670381cf | ||
|
|
853e58e593 | ||
|
|
f2743b41b0 | ||
|
|
35309f27ed | ||
|
|
c78c8190d5 | ||
|
|
1f37896066 | ||
|
|
749f76e6fe | ||
|
|
b5e60ae1b0 | ||
|
|
1f24a4e520 | ||
|
|
58b52f4884 | ||
|
|
381f1dd2c9 | ||
|
|
4498908e72 | ||
|
|
370e480c8c | ||
|
|
fc84649aab | ||
|
|
5784aa1064 | ||
|
|
5192c64991 | ||
|
|
e4e92cb75c | ||
|
|
a31c195749 | ||
|
|
3ab82e7582 | ||
|
|
b33f23cc46 | ||
|
|
e06a133717 | ||
|
|
3c47570563 | ||
|
|
b4c919eba8 | ||
|
|
03d671fabc | ||
|
|
96dbb9233a | ||
|
|
fdf81cd112 | ||
|
|
c4df0d8cdc | ||
|
|
ec9689f200 | ||
|
|
14d28a043d | ||
|
|
16e5954fcb | ||
|
|
f87f076162 | ||
|
|
913c2bd2cb | ||
|
|
7f7df43da2 | ||
|
|
16784e5bb3 | ||
|
|
adbb9c2b00 | ||
|
|
f7e65eb971 | ||
|
|
06e2b76c75 | ||
|
|
5d1a81520c | ||
|
|
a6496deeed | ||
|
|
9b5e7971dc | ||
|
|
18e77a54c3 | ||
|
|
06a21ac229 | ||
|
|
96d90be59f | ||
|
|
ce46aa4721 | ||
|
|
20e9501b0d | ||
|
|
56d9052b73 | ||
|
|
91d802f68d | ||
|
|
5f8d6bc504 | ||
|
|
e292b2d991 | ||
|
|
6c9b9b72da | ||
|
|
f582a4482d | ||
|
|
1079215871 | ||
|
|
6978093404 | ||
|
|
2f45e999d8 | ||
|
|
d44464829b | ||
|
|
efe50d88ec | ||
|
|
71f62a346d | ||
|
|
c0e45a3c78 | ||
|
|
70482e6b26 | ||
|
|
ca5e843bf6 | ||
|
|
a74fddc98f | ||
|
|
57ebcbf2c4 | ||
|
|
c7019db6f4 | ||
|
|
21f5912ec9 | ||
|
|
8d46c3cc66 | ||
|
|
7712e46d64 | ||
|
|
b504df9d02 | ||
|
|
92b2e92620 | ||
|
|
2984695265 | ||
|
|
c9260a75f6 | ||
|
|
1a16d055df | ||
|
|
83a84f1c2d | ||
|
|
90a4591563 | ||
|
|
768fdb269e | ||
|
|
c48b9668f0 | ||
|
|
027ff7847c | ||
|
|
4514325b9c | ||
|
|
b5fd9c58cd | ||
|
|
910a0fa58e | ||
|
|
1e21f5f872 | ||
|
|
e1201abc1e | ||
|
|
c3242abe95 | ||
|
|
d81cdd9114 | ||
|
|
45bcd7f9b8 | ||
|
|
4390370a19 | ||
|
|
54c7af9902 | ||
|
|
b57d61010f | ||
|
|
eaca010ee9 | ||
|
|
c5d22952bf | ||
|
|
81806603eb | ||
|
|
ca9da569ce | ||
|
|
6705439cf3 | ||
|
|
3799c820ca | ||
|
|
1105614b86 | ||
|
|
6a1ad03153 | ||
|
|
fc01074f89 | ||
|
|
bcd666b86b | ||
|
|
d0c7c3f64f | ||
|
|
862dddf8c9 | ||
|
|
d134ca68c6 | ||
|
|
e35c2fd5d0 | ||
|
|
29f9a454eb | ||
|
|
41b65d38fa | ||
|
|
fc9abd3c62 | ||
|
|
c001a2af25 | ||
|
|
3d24eb54ec | ||
|
|
ab93b4c66d | ||
|
|
49eb78497b | ||
|
|
6a4ab3e0d2 | ||
|
|
21742f0096 | ||
|
|
b720009dc0 | ||
|
|
36910e9020 | ||
|
|
0456ed6b4e | ||
|
|
ec4d7f71fe | ||
|
|
25db62ce15 | ||
|
|
dfe11d72e3 | ||
|
|
d94dcaefa0 | ||
|
|
f0340b8d22 | ||
|
|
ee0547e4c4 | ||
|
|
cb30fe50cd | ||
|
|
3271099fea | ||
|
|
5cb1c2ad84 | ||
|
|
928380ebf9 | ||
|
|
0ec5b9bff2 | ||
|
|
7ad17ae397 | ||
|
|
edbfbf2f2f | ||
|
|
fbefcf7280 | ||
|
|
16bf50e610 | ||
|
|
fc8aef7323 | ||
|
|
8ec32e9755 | ||
|
|
03186af6a1 | ||
|
|
d68eb751c5 | ||
|
|
694c078655 | ||
|
|
9484519ec3 | ||
|
|
e015dc8264 | ||
|
|
7367e55d1d | ||
|
|
856f576c05 | ||
|
|
064aa3de11 | ||
|
|
ade44ac2ea | ||
|
|
f785f73e92 | ||
|
|
09400e4f4e | ||
|
|
76d83ffbec | ||
|
|
72add82ee9 | ||
|
|
995e27e9b7 | ||
|
|
79e8f4abe8 | ||
|
|
404a94a199 | ||
|
|
40d31b8b8a | ||
|
|
b9f06bd599 | ||
|
|
330b31ae2e | ||
|
|
50e9ba34b4 | ||
|
|
a28a10bc54 | ||
|
|
cd9345e10c | ||
|
|
5c4ed30c21 | ||
|
|
e2a86e2c8a | ||
|
|
2dba59d1ff | ||
|
|
9ba6bab920 | ||
|
|
f56226e17f | ||
|
|
2ce0410f2c | ||
|
|
cd4aa50207 | ||
|
|
e5c83b5a3e | ||
|
|
7432343214 | ||
|
|
8f32bab4c9 | ||
|
|
26a9dc3f65 | ||
|
|
360a97ab54 | ||
|
|
540ed72e99 | ||
|
|
c81793029d | ||
|
|
1e66eaf929 | ||
|
|
7ddccb55d2 | ||
|
|
34dc1c8bc2 | ||
|
|
1ed22b4613 | ||
|
|
8a6e6465a7 | ||
|
|
35ed051742 | ||
|
|
5bd0c1517f | ||
|
|
6267110b69 | ||
|
|
4e766280c4 | ||
|
|
3d2d77eb3f | ||
|
|
e394e1ecc4 | ||
|
|
90a0506d56 | ||
|
|
ad58d7eae7 | ||
|
|
d0a5a48948 | ||
|
|
4258d515e6 | ||
|
|
f54280dafd | ||
|
|
11099dda2e | ||
|
|
64a68ccbb4 | ||
|
|
4790ba7839 | ||
|
|
1900abde13 | ||
|
|
60b5670577 | ||
|
|
b00406c8e4 | ||
|
|
8dea7fa129 | ||
|
|
2241d8c971 | ||
|
|
beaf7654bb | ||
|
|
0dec42431f | ||
|
|
fea05a17ea | ||
|
|
e4c63d432d | ||
|
|
f300a1d54b | ||
|
|
3a1a3dd0db | ||
|
|
74e6e3623f | ||
|
|
8a244dd3d3 | ||
|
|
fd1cef5616 | ||
|
|
adcac857f8 | ||
|
|
f6a049337e | ||
|
|
40050c1188 | ||
|
|
9bf7ad97f5 | ||
|
|
5723145165 | ||
|
|
84cc22b21b | ||
|
|
c93dd45997 | ||
|
|
a1c4bca908 | ||
|
|
432f4441b9 | ||
|
|
306b3491c4 | ||
|
|
8dbad556ec | ||
|
|
a8a4f37628 | ||
|
|
81d1a1133d | ||
|
|
cfd9f7d25b | ||
|
|
a05d9405b9 | ||
|
|
74f80299b0 | ||
|
|
f11eefed56 | ||
|
|
6b873b72ae | ||
|
|
a3c81745b1 | ||
|
|
d8486a9968 | ||
|
|
9b38c8ef08 | ||
|
|
e7af84670d | ||
|
|
b46ec4efea | ||
|
|
4f9f55ec21 | ||
|
|
3442365127 | ||
|
|
651358d0b6 | ||
|
|
187c9d7e33 | ||
|
|
0849be094e | ||
|
|
8bb39750a1 | ||
|
|
12e7d3b254 | ||
|
|
51dd3da11c | ||
|
|
87eb3cb083 | ||
|
|
b084a9bf0a | ||
|
|
2f12caccf9 | ||
|
|
ebf19616f4 | ||
|
|
b998aa5504 | ||
|
|
fdde08bd01 | ||
|
|
2136ebccd6 | ||
|
|
59add00d4a | ||
|
|
e791da9791 | ||
|
|
07add23251 | ||
|
|
ee25e0a40b | ||
|
|
0cee5e1af8 | ||
|
|
ffcaf5af90 | ||
|
|
5b57ee66ce | ||
|
|
f68be36159 | ||
|
|
2935c9d8de | ||
|
|
264bb5abf7 | ||
|
|
0137f2e6e1 | ||
|
|
6d8e498f76 | ||
|
|
b8b1b58f36 | ||
|
|
8433edacb3 | ||
|
|
68c8a1b170 | ||
|
|
7d133fd37e | ||
|
|
cef7649bed | ||
|
|
615fb40416 | ||
|
|
d990f043bd | ||
|
|
12bf8ca929 | ||
|
|
8dd6dc9a29 | ||
|
|
43039d95ac | ||
|
|
7ba6f68a8d | ||
|
|
19c11e2fd2 | ||
|
|
888bc10c17 | ||
|
|
54150f5afa | ||
|
|
3da43ad2a9 | ||
|
|
0f7337c522 | ||
|
|
29e3636e0a | ||
|
|
a271cf89cf | ||
|
|
88d9b55b14 | ||
|
|
03cf308c16 | ||
|
|
d63d8bf7f9 | ||
|
|
a396473201 | ||
|
|
ef7c50b276 | ||
|
|
f6815086a1 | ||
|
|
91ff6d4cb3 | ||
|
|
46a620f9d7 | ||
|
|
0b37e7cb39 | ||
|
|
384e24d3e9 | ||
|
|
ad53dc22fd | ||
|
|
5ffec69dc7 | ||
|
|
11a380c3da | ||
|
|
f6cbb14dce | ||
|
|
e781f6e767 | ||
|
|
55ef89a9c7 | ||
|
|
d24a4b79d4 | ||
|
|
dc471700ca | ||
|
|
490df43f34 | ||
|
|
8fa0416fee | ||
|
|
d15814d39f | ||
|
|
b5e83bcc7b | ||
|
|
fc3eb72359 | ||
|
|
eceee8e5f4 | ||
|
|
101d86897b | ||
|
|
1dbb9e353e | ||
|
|
5eb0b65590 | ||
|
|
36144a5690 | ||
|
|
a943600019 | ||
|
|
45ac3f414e | ||
|
|
b92198b7f8 | ||
|
|
cf4893410b | ||
|
|
345bcd4cdf | ||
|
|
84786dde00 | ||
|
|
ca2d904770 | ||
|
|
3431e0acf5 | ||
|
|
a99f84f4b2 | ||
|
|
8eddafd9d0 | ||
|
|
78e233c460 | ||
|
|
789af19c60 | ||
|
|
c624edceba | ||
|
|
9eab07f863 | ||
|
|
a5bff8e9b3 | ||
|
|
850896a52b | ||
|
|
c8b3a12856 | ||
|
|
92d676d788 | ||
|
|
419f427a01 | ||
|
|
480b03b645 | ||
|
|
5eda606952 | ||
|
|
b54cbc985e | ||
|
|
7978ea4e8c | ||
|
|
4064e03568 | ||
|
|
f499c8177e | ||
|
|
d8b3f665db | ||
|
|
03884b7ea6 | ||
|
|
c905044e1b | ||
|
|
bf32fcc817 | ||
|
|
f6de57c1a5 | ||
|
|
cc112f971e | ||
|
|
5ce5432830 | ||
|
|
b2d45a4072 | ||
|
|
07e477f891 | ||
|
|
2147240e47 | ||
|
|
f1aa7ff893 | ||
|
|
b3bcf0fa88 | ||
|
|
8185509683 | ||
|
|
d348070226 | ||
|
|
eb7197eb47 | ||
|
|
49a0e4330e | ||
|
|
6ac44f3bdc | ||
|
|
6123b6ea45 | ||
|
|
081669c334 | ||
|
|
599c0763e5 | ||
|
|
c8b358dba2 | ||
|
|
d92b5fc435 | ||
|
|
c65c651b6f | ||
|
|
36da4d1121 | ||
|
|
b3308830b2 | ||
|
|
18adea343e | ||
|
|
09f4f3f23b | ||
|
|
a1054a093c | ||
|
|
099dd0c0d2 | ||
|
|
acbfb0083a | ||
|
|
af4696657c | ||
|
|
ea089c012e | ||
|
|
b9a313057e | ||
|
|
42f653ab6f | ||
|
|
26f4e92c1f | ||
|
|
873d26b335 | ||
|
|
d05675242a | ||
|
|
72c8a94a6c | ||
|
|
b94e947793 | ||
|
|
50a7152941 | ||
|
|
4b4af29f86 | ||
|
|
a95c49e7d0 | ||
|
|
2897ddb8f5 | ||
|
|
b590e5572d | ||
|
|
f46e1b8ca2 | ||
|
|
7116a7d28b | ||
|
|
37a3b89e7a | ||
|
|
7c88f4de2d | ||
|
|
62c13e8318 | ||
|
|
41bbb31af4 | ||
|
|
524674aafc | ||
|
|
6af82fd070 | ||
|
|
afb06b1495 | ||
|
|
118d5fa3b0 | ||
|
|
c68a0d17fc | ||
|
|
c17938f96b | ||
|
|
f58ee3f15f | ||
|
|
7652543231 | ||
|
|
e773354477 | ||
|
|
abbbdc2bc0 | ||
|
|
05b7b177f6 | ||
|
|
b89d096652 | ||
|
|
d866916f42 | ||
|
|
da8e0f6571 | ||
|
|
3fa9702952 | ||
|
|
ae7da0b12d | ||
|
|
7a13a515d9 | ||
|
|
133f497f84 | ||
|
|
a9ad983c13 | ||
|
|
214b9fc9a7 | ||
|
|
951c61aeaa | ||
|
|
285b6dbc39 | ||
|
|
eb7d361657 | ||
|
|
2428214c4b | ||
|
|
af89f7683d | ||
|
|
667a8ae163 | ||
|
|
3a89723d97 | ||
|
|
9ee5c4ec56 | ||
|
|
5e58271903 | ||
|
|
8c907c620d | ||
|
|
b84d429c2e | ||
|
|
9f34be5a61 | ||
|
|
14ac0c2923 | ||
|
|
279c7bcc1a | ||
|
|
c7235e67ef | ||
|
|
840d5520d2 | ||
|
|
1eec9590c3 | ||
|
|
e18bf4b062 | ||
|
|
88e1e7f14b | ||
|
|
091463a429 | ||
|
|
f67605e6aa | ||
|
|
9a0648ff0a | ||
|
|
c9e4acc4e2 | ||
|
|
292dfac25e | ||
|
|
37addf7a94 | ||
|
|
640fc1418b | ||
|
|
8a48c4ed1c | ||
|
|
f9e0681d59 | ||
|
|
cbc0f0a66e | ||
|
|
481b210c0d | ||
|
|
4e7a6639d2 | ||
|
|
a0c7d93b84 | ||
|
|
516325eba8 | ||
|
|
e0193e2be5 | ||
|
|
b85f5b1332 | ||
|
|
648c7b4ed6 | ||
|
|
14fc1bec17 | ||
|
|
fa7abafa5f | ||
|
|
36df305b13 | ||
|
|
f1eff447bb | ||
|
|
49e3c073a5 | ||
|
|
6991d447d4 | ||
|
|
b30a1d49ff | ||
|
|
78759d98dc | ||
|
|
5e24f7ed31 | ||
|
|
cf221ca92d | ||
|
|
59c6f45e7a | ||
|
|
caf38725ae | ||
|
|
ee6d40d414 | ||
|
|
eb4ea7e5c7 | ||
|
|
3074b2eb93 | ||
|
|
39bb6851e4 | ||
|
|
55650c5b75 | ||
|
|
e57b13ad94 | ||
|
|
1a9576fdff | ||
|
|
8e33cf1c2b | ||
|
|
6fb212784e | ||
|
|
2030522d86 | ||
|
|
1490b49fa9 | ||
|
|
212b497d5c | ||
|
|
7feac8ba46 | ||
|
|
4908a07c20 | ||
|
|
6c00151d17 | ||
|
|
04b4f3b051 | ||
|
|
6ebc972c2b | ||
|
|
94652e122d | ||
|
|
e49184e606 | ||
|
|
14d2c77f91 | ||
|
|
6430fc29a9 | ||
|
|
77d06d5df0 | ||
|
|
c73841500a | ||
|
|
11f4bf8a9a | ||
|
|
9b3611eb8d | ||
|
|
e610485cd2 | ||
|
|
c82e6dc810 | ||
|
|
e242f16986 | ||
|
|
333ccf23f8 | ||
|
|
1cdddd17d2 | ||
|
|
7cf74abbf5 | ||
|
|
476637d143 | ||
|
|
3ae9258efe | ||
|
|
3f765ea9a4 | ||
|
|
b3fc36d989 | ||
|
|
2a24c415c1 | ||
|
|
2f32133ad5 | ||
|
|
44b3abdfc0 | ||
|
|
156215d1fa | ||
|
|
019ae82c94 | ||
|
|
822259a3f2 | ||
|
|
f0ed11e318 | ||
|
|
935fee18ed | ||
|
|
6aac5d4c27 | ||
|
|
5e732e7aec | ||
|
|
ac0c5be7c0 | ||
|
|
7f965172c5 | ||
|
|
dd72e4dce4 | ||
|
|
a2d73eaa10 | ||
|
|
9fa1cf3e01 | ||
|
|
e05d2a70b2 | ||
|
|
4af413623b | ||
|
|
54eafbaf17 | ||
|
|
5e7e38ac72 | ||
|
|
6497fbfa96 | ||
|
|
7783c0aaef | ||
|
|
ad45963b45 | ||
|
|
37f1c76613 | ||
|
|
f91b6fbbcb | ||
|
|
ccc0a1e621 | ||
|
|
96579e515a | ||
|
|
7276aaf907 | ||
|
|
54ca48e8b7 | ||
|
|
734fb180bb | ||
|
|
ddda6ae776 | ||
|
|
db9320e754 | ||
|
|
26ef76213c | ||
|
|
a515ede2af | ||
|
|
6be730bdcd | ||
|
|
37a8e2a67e | ||
|
|
d52ad96ce3 | ||
|
|
c126b0718c | ||
|
|
e4de1783e1 | ||
|
|
a9d39b6895 | ||
|
|
4d4a234476 | ||
|
|
e51b852aee | ||
|
|
e826e6715a | ||
|
|
755822ceec | ||
|
|
a92dbec962 | ||
|
|
985599e485 | ||
|
|
38f3442ea5 | ||
|
|
2b92d22bda | ||
|
|
9a104e2b60 | ||
|
|
479369db43 | ||
|
|
3c618a3306 | ||
|
|
3592628302 | ||
|
|
04301e1a8a | ||
|
|
4e2fb9e51a | ||
|
|
a2f842ce54 | ||
|
|
280c779898 | ||
|
|
316f80af87 | ||
|
|
b64d28492a | ||
|
|
14110230c7 | ||
|
|
eec9aace60 | ||
|
|
1598426493 | ||
|
|
ae4869650a | ||
|
|
429320aee8 | ||
|
|
46366c6dca | ||
|
|
25298d1c02 | ||
|
|
9ba812485a | ||
|
|
7dd2764f2a | ||
|
|
47a724780f | ||
|
|
5f7e73c74a | ||
|
|
f6e8e61e3e | ||
|
|
815189eaf3 | ||
|
|
5b2cb22a04 | ||
|
|
edbde7a220 | ||
|
|
00f65af8b2 | ||
|
|
e05c86aa3c | ||
|
|
d197246880 | ||
|
|
204d198d16 | ||
|
|
60bdedc7dd | ||
|
|
257d3c9ecf | ||
|
|
9a9e7dd78b | ||
|
|
834c25f4d9 | ||
|
|
a63af9860b | ||
|
|
3f8eb44e7d | ||
|
|
2e8d737a96 | ||
|
|
0d1bdfc1d4 | ||
|
|
d7f6d516ce | ||
|
|
e596fac6ee | ||
|
|
efb5de1c5f | ||
|
|
a2384a18fa | ||
|
|
42697527ba | ||
|
|
e3d156ab0e | ||
|
|
0d9afdedc4 | ||
|
|
894ed14ebc | ||
|
|
3c2a451f47 | ||
|
|
abbea575cf | ||
|
|
2c49a65d2b | ||
|
|
8f4ff06c4c | ||
|
|
316a2dd22a | ||
|
|
4c74761155 | ||
|
|
f3d6e31e78 | ||
|
|
f62c7091a2 | ||
|
|
b0671c7cfa | ||
|
|
beb55cb90e | ||
|
|
e942d97540 | ||
|
|
5dff28290f | ||
|
|
423acf53b7 | ||
|
|
15c721b909 | ||
|
|
2f89456041 | ||
|
|
bc1399204b | ||
|
|
3dc803a430 | ||
|
|
d14b8fc747 | ||
|
|
08c63d5c75 | ||
|
|
07690572f7 | ||
|
|
3239442de6 | ||
|
|
284015dfd7 | ||
|
|
d604edfedf | ||
|
|
178584e56f | ||
|
|
629f9274ac | ||
|
|
13c82d042f | ||
|
|
f412d2027a | ||
|
|
f13fce3953 | ||
|
|
4c18a207a4 | ||
|
|
04daefa488 | ||
|
|
3bd5d4b6f8 | ||
|
|
669a2d2c67 | ||
|
|
c61857286d | ||
|
|
77b11b927c | ||
|
|
bafee97589 | ||
|
|
133504b74b | ||
|
|
f4587c596f | ||
|
|
ac1bfe228f | ||
|
|
8ed2748820 | ||
|
|
e10903cab9 | ||
|
|
4bdacdedc1 | ||
|
|
32854a2992 | ||
|
|
6d25fe6c9a | ||
|
|
189741b521 | ||
|
|
df47cfc32c | ||
|
|
29559930e9 | ||
|
|
14c03b9748 | ||
|
|
8254f238b9 | ||
|
|
7105204a7e | ||
|
|
1e1f7b3234 | ||
|
|
f32b2bcd20 | ||
|
|
975931e8fa | ||
|
|
d6ae9c68f8 | ||
|
|
b7d80c127f | ||
|
|
5286a7bc4c | ||
|
|
41aec2773f | ||
|
|
36350d3f78 | ||
|
|
228a381aed | ||
|
|
c22c4f5d59 | ||
|
|
218d790bd6 | ||
|
|
b8f3e5157b | ||
|
|
35d94dcb2b | ||
|
|
4a13f9eecd | ||
|
|
ad99bbf5fe | ||
|
|
b387a26f30 | ||
|
|
75c4aec8ab | ||
|
|
fae07919af | ||
|
|
8aef8f39d8 | ||
|
|
7347cdb651 | ||
|
|
f1f91ad468 | ||
|
|
7220056974 | ||
|
|
60e923046e | ||
|
|
7fe455e42e | ||
|
|
5462485cc3 | ||
|
|
a5c212516c | ||
|
|
e482dd82b9 | ||
|
|
f919498f8f | ||
|
|
a2fb5a13b2 | ||
|
|
e7f10de11a | ||
|
|
a578df4c6b | ||
|
|
20a46790d7 | ||
|
|
cd27f211c8 | ||
|
|
fdcc161323 | ||
|
|
f138731e2f | ||
|
|
55d6b095e5 | ||
|
|
5ba7b11ba4 | ||
|
|
762b8ad448 | ||
|
|
2c47f8aa18 | ||
|
|
8a613f6c8f | ||
|
|
40317eccba | ||
|
|
ff63080cd9 | ||
|
|
505ae5ea1b | ||
|
|
46e3ed5a48 | ||
|
|
e4492a9a82 | ||
|
|
5deecd714b | ||
|
|
322339a5fd | ||
|
|
bfac21fca1 | ||
|
|
b86fcf7c31 | ||
|
|
051e63c9a1 | ||
|
|
940375dfbb | ||
|
|
410df5446e | ||
|
|
04f48f0120 | ||
|
|
b9b28c0457 | ||
|
|
660c6bec22 | ||
|
|
04fa990b0c | ||
|
|
614702488f | ||
|
|
524a9baa7e | ||
|
|
dcc4685557 | ||
|
|
3031223153 | ||
|
|
5a3463bc2b | ||
|
|
11a9bff36d | ||
|
|
be56587ad7 | ||
|
|
54f007efc6 | ||
|
|
50d8e753c5 | ||
|
|
51df96b7c0 | ||
|
|
f966c05a74 | ||
|
|
564f105277 | ||
|
|
ecefc932e6 | ||
|
|
182cd9004f | ||
|
|
a4a0638bc8 | ||
|
|
157985f556 | ||
|
|
639402850a | ||
|
|
1624f307d0 | ||
|
|
50a19b07d1 | ||
|
|
5303161aa1 | ||
|
|
06ad463ec8 | ||
|
|
23bf2e3bb6 | ||
|
|
e64ee99f00 | ||
|
|
746c85b560 | ||
|
|
c4760489a0 | ||
|
|
922aa9410a | ||
|
|
42949738f2 | ||
|
|
f4e5f89e6f | ||
|
|
654d76e79e | ||
|
|
bca299e8e0 | ||
|
|
b673857d7d | ||
|
|
7fcfe24a3e | ||
|
|
71f9b90dd9 | ||
|
|
a17550be98 | ||
|
|
e7eee36d52 | ||
|
|
690013b342 | ||
|
|
b21fcd9527 | ||
|
|
d14e74132c | ||
|
|
5d0f3540c4 | ||
|
|
84c58666a4 | ||
|
|
c35af8d1c0 | ||
|
|
157e0b85fd | ||
|
|
136eb9c4c2 | ||
|
|
77fa4d4bf6 | ||
|
|
730f078302 | ||
|
|
2b1b0c2a30 | ||
|
|
61d9eb9f69 | ||
|
|
5f69fdbfcc | ||
|
|
d8e3f2b10b | ||
|
|
2d3a63b289 | ||
|
|
c085e54316 | ||
|
|
1d71d4b874 | ||
|
|
7348e205d9 | ||
|
|
064ddacf49 | ||
|
|
c6c32daf40 | ||
|
|
f01dac3bf9 | ||
|
|
464c4d26ac | ||
|
|
cc651c7c99 | ||
|
|
b564f024f0 | ||
|
|
e2e5f1beaf | ||
|
|
21819da8cd | ||
|
|
b5e72de753 | ||
|
|
95cf66b655 | ||
|
|
85052b8662 | ||
|
|
af55dd1935 | ||
|
|
c3ff0a8ac0 | ||
|
|
601ac43495 | ||
|
|
4d308fd0b4 | ||
|
|
72e5920240 | ||
|
|
e0da5c1bbc | ||
|
|
06a5ef5874 | ||
|
|
e14ae06391 | ||
|
|
1b82d5bb4f | ||
|
|
510c7d2953 | ||
|
|
dd62a0187d | ||
|
|
c87ad2d0d6 | ||
|
|
a2ad5762e6 | ||
|
|
800a66d25a | ||
|
|
afe2d667d9 | ||
|
|
072559dede | ||
|
|
dbe0301102 | ||
|
|
db08721dcc | ||
|
|
8fff6d6c67 | ||
|
|
6e2c84042d | ||
|
|
456397ed39 | ||
|
|
173a6b1e57 | ||
|
|
c405a19b73 | ||
|
|
967cca10ff | ||
|
|
c3f54ff232 | ||
|
|
14b949a0da | ||
|
|
737d305f63 | ||
|
|
29ae42f3e2 | ||
|
|
6d108f0dcb | ||
|
|
59b995a9e5 | ||
|
|
10241886dd | ||
|
|
dc3ab9e110 | ||
|
|
395e9a449d | ||
|
|
fa8e23b842 | ||
|
|
00834b84dd | ||
|
|
5a785ed794 | ||
|
|
4c6f2c2547 | ||
|
|
854c933716 | ||
|
|
ea7b1fbc67 | ||
|
|
449576df93 | ||
|
|
bf71d18af9 | ||
|
|
ad5142ac2c | ||
|
|
f078d3d212 | ||
|
|
60928cf8cd | ||
|
|
72aa418b0b | ||
|
|
cd6cf0422d | ||
|
|
daecbd3a7f | ||
|
|
08674aee87 | ||
|
|
ee76b546d4 | ||
|
|
be238fb26a | ||
|
|
4d9c9e567e | ||
|
|
c8a67a725d | ||
|
|
84eb3e7d02 | ||
|
|
097de2febc | ||
|
|
b7a938e817 | ||
|
|
f90d980837 | ||
|
|
1e474fb9d1 | ||
|
|
0902119302 | ||
|
|
8532849439 | ||
|
|
d7f4434bd5 | ||
|
|
b96caf200d | ||
|
|
8e3371a5c5 | ||
|
|
d20f91da11 | ||
|
|
5082712b4e | ||
|
|
ba5210675a | ||
|
|
fc34749778 | ||
|
|
779f4ac72d | ||
|
|
5cf93c1346 | ||
|
|
2726d705f8 | ||
|
|
281437c811 | ||
|
|
a41c6dafea | ||
|
|
095bc88428 | ||
|
|
9173f07a51 | ||
|
|
3dc38d185b | ||
|
|
ea6fa044f3 | ||
|
|
40cd0bb97b | ||
|
|
fe1f06c856 | ||
|
|
da2fe81905 | ||
|
|
4ca6e9a9e2 | ||
|
|
0857f82913 | ||
|
|
c3e1ffc44b | ||
|
|
e02cff2f69 | ||
|
|
1d5e6a51d7 | ||
|
|
6f896d1fae | ||
|
|
4dd85f86a8 | ||
|
|
b44fbf6cdd | ||
|
|
d2e009f355 | ||
|
|
a69813948f | ||
|
|
c45af76ea0 | ||
|
|
b805c7bf05 | ||
|
|
0ff228405f | ||
|
|
bc5ed1aa1b | ||
|
|
a237fb5f75 | ||
|
|
c76163b611 | ||
|
|
b130f648d7 | ||
|
|
2ec7fcecb7 | ||
|
|
0bc46fedd6 | ||
|
|
a100f5d5d4 | ||
|
|
dc61b7045b | ||
|
|
66fed9ecbd | ||
|
|
f7e155d8b9 | ||
|
|
2054013edb | ||
|
|
d8a783a368 | ||
|
|
6dd6dc046c | ||
|
|
2348eb41f3 | ||
|
|
311324e231 | ||
|
|
f7e0a37753 | ||
|
|
894cc9d876 | ||
|
|
20ed7ba441 | ||
|
|
50c3d53076 | ||
|
|
35ca6274f4 | ||
|
|
16aa49d138 | ||
|
|
71313509f7 | ||
|
|
3154773c00 | ||
|
|
1c8a3d8d29 | ||
|
|
6e57c519e2 | ||
|
|
1128cc35b9 | ||
|
|
978f598ff6 | ||
|
|
282e04bffb | ||
|
|
5230378709 | ||
|
|
6c97ab571a | ||
|
|
6f98690963 | ||
|
|
d46a71e786 | ||
|
|
de1c8c5c2c | ||
|
|
917b2466ad | ||
|
|
9fc1fa1b0d | ||
|
|
099b0b3167 | ||
|
|
9189aacfe2 | ||
|
|
c97c46747d | ||
|
|
87abab71ff | ||
|
|
864f2e0b81 | ||
|
|
99124b7261 | ||
|
|
bb03675485 | ||
|
|
47369faaab | ||
|
|
dcc5b4f6b0 | ||
|
|
a39e867c73 | ||
|
|
282a4501d9 | ||
|
|
93c9eb196f | ||
|
|
172d4f1e3b | ||
|
|
5c6fa88935 | ||
|
|
c5dbd93adb | ||
|
|
99547d2656 | ||
|
|
a96c9c803b | ||
|
|
21a8ba0437 | ||
|
|
6cdfaee7b4 | ||
|
|
e6f1ed08fb | ||
|
|
056894f07a | ||
|
|
48cf376462 | ||
|
|
74e39ed6ee | ||
|
|
510caeefb3 | ||
|
|
2eff80b47f | ||
|
|
9e065b9c7d | ||
|
|
bf01b7993d | ||
|
|
bb3e95133d | ||
|
|
916b882ea8 | ||
|
|
e7fc60406e | ||
|
|
d37d10e7a7 | ||
|
|
7506ac4118 | ||
|
|
4ad22c7d2b | ||
|
|
826a350e2b | ||
|
|
150bc45401 | ||
|
|
f3ff8bdc0e | ||
|
|
3b61de74e6 | ||
|
|
c2ca55c9d5 | ||
|
|
50b4c774cb | ||
|
|
425ab9ef4b | ||
|
|
b60966041c | ||
|
|
77b0812d69 | ||
|
|
37cb0377ae | ||
|
|
d4f5193bd3 | ||
|
|
ef1dc42635 | ||
|
|
618de4e787 | ||
|
|
b7ccc58f23 | ||
|
|
0f14c9379e | ||
|
|
ca1db63116 | ||
|
|
ebf36f23dd | ||
|
|
4de584005f | ||
|
|
b1ae935f11 | ||
|
|
abd07e4158 | ||
|
|
b14f2c7c82 | ||
|
|
49c0c7efd2 | ||
|
|
1c93476a80 | ||
|
|
3233fa5dc8 | ||
|
|
89a7e566c7 | ||
|
|
f8339cd703 | ||
|
|
31478c6c1b | ||
|
|
88ef04dbaf | ||
|
|
237a43004f | ||
|
|
e0a3830855 | ||
|
|
581ea90062 | ||
|
|
ea82bd4b7e | ||
|
|
19ca0c9ab5 | ||
|
|
99eec162da | ||
|
|
276565973f | ||
|
|
dd66384451 | ||
|
|
36f261edef | ||
|
|
8183142cd4 | ||
|
|
122ddeb7ff | ||
|
|
16017ac450 | ||
|
|
27af298e78 | ||
|
|
b027fac794 | ||
|
|
c8a971be91 | ||
|
|
edb5844240 | ||
|
|
b3a9c8f108 | ||
|
|
6000fe69a4 | ||
|
|
80f8d4989e | ||
|
|
fcf2b2c78a | ||
|
|
ae8d19d17e | ||
|
|
29710f3250 | ||
|
|
a6b88e85bf | ||
|
|
c5bbbf3902 | ||
|
|
68e038404c | ||
|
|
65781f88f8 | ||
|
|
d7c9792169 | ||
|
|
dfa8291526 | ||
|
|
4b1393a691 | ||
|
|
8f78444de3 | ||
|
|
ed675cfd8c | ||
|
|
dc28284437 | ||
|
|
e66d5b88a6 | ||
|
|
fc9bb3c3fe | ||
|
|
c7a1cbad44 | ||
|
|
526e47f148 | ||
|
|
c9238555f7 | ||
|
|
cfeb161c7e | ||
|
|
4a512d6827 | ||
|
|
05d98d9bbf | ||
|
|
b6060873ce | ||
|
|
9bc7b04ca5 | ||
|
|
f086c82e1f | ||
|
|
2182d25750 | ||
|
|
56ccda1d99 | ||
|
|
48d81506a3 | ||
|
|
07c564f38b | ||
|
|
cee7eba64e | ||
|
|
117f8ee7a4 | ||
|
|
0e8cf38f39 | ||
|
|
138d9d7eff | ||
|
|
d2388dd0d0 | ||
|
|
dc72d4d4f5 | ||
|
|
baf0993d5c | ||
|
|
6f3a41abe2 | ||
|
|
656adee630 | ||
|
|
01379c5e3c | ||
|
|
c15332c44f | ||
|
|
74efa57c1b | ||
|
|
c892359d1b | ||
|
|
95761cc6a7 | ||
|
|
43aa695a04 | ||
|
|
e580299467 | ||
|
|
fad2c92a39 | ||
|
|
d5143c83a9 | ||
|
|
0fb4b84383 | ||
|
|
520c4a44f6 | ||
|
|
1672e9ba09 | ||
|
|
fb924ea85c | ||
|
|
fddf372c68 | ||
|
|
0a6c895af7 | ||
|
|
dfc65cd0a3 | ||
|
|
d464b122d5 | ||
|
|
973f8f1d08 | ||
|
|
de66a69ed4 | ||
|
|
8704c93913 | ||
|
|
778700ff9d | ||
|
|
71ca84d829 | ||
|
|
84f2aea896 | ||
|
|
10e5065a5c | ||
|
|
ba18047e8d | ||
|
|
360e897ccd | ||
|
|
37ef9c9130 | ||
|
|
22f4b290b6 | ||
|
|
ffb79afd29 | ||
|
|
720970c4c1 | ||
|
|
2e5866147e | ||
|
|
30442d8a89 | ||
|
|
7f256392a1 | ||
|
|
0eacc362dd | ||
|
|
c50f170597 | ||
|
|
1994edfeb6 | ||
|
|
d35391b9f4 | ||
|
|
b39b33b1fe | ||
|
|
852858c2cb | ||
|
|
50acc0da20 | ||
|
|
bdabd17c76 | ||
|
|
3af2117c88 | ||
|
|
84934693cf | ||
|
|
1af499c15b | ||
|
|
ced1302975 | ||
|
|
70d51f72ec | ||
|
|
3a71ff44f8 | ||
|
|
2ceb514a39 | ||
|
|
0cf78a34ba | ||
|
|
3ceefc64f1 | ||
|
|
a6e6a5ac38 | ||
|
|
64275dfbf4 | ||
|
|
f178a8ef0c | ||
|
|
21c1316503 | ||
|
|
ef427e4cb0 | ||
|
|
b92c4abc96 | ||
|
|
bee6b71553 | ||
|
|
35aa153d6c | ||
|
|
f2988ecabc | ||
|
|
b275f2e475 | ||
|
|
7c4b6aab2e | ||
|
|
f2a4204245 | ||
|
|
863e2e2b4f | ||
|
|
b871388a31 | ||
|
|
7ce29ea74e | ||
|
|
43ba9db890 | ||
|
|
3d1f2bb3aa | ||
|
|
cb09ea0f01 | ||
|
|
98b351758c | ||
|
|
52e52924bb | ||
|
|
a41e9e93dd | ||
|
|
2b3d66fe69 | ||
|
|
b118fa8698 | ||
|
|
d6b5f64484 | ||
|
|
2d4bbd83e6 | ||
|
|
194579bc4f | ||
|
|
d607ceacf4 | ||
|
|
f808a30f94 | ||
|
|
02178137c9 | ||
|
|
c50ad56bf5 | ||
|
|
49f9a44235 | ||
|
|
99ba26460d | ||
|
|
7aa0d97eed | ||
|
|
a3a353edf2 | ||
|
|
7c2c72a6d6 | ||
|
|
604b6d1210 | ||
|
|
92159b210e | ||
|
|
f503dbf071 | ||
|
|
c1b199bd21 | ||
|
|
60e79d50f8 | ||
|
|
06d097a18e | ||
|
|
3f8d74dec1 | ||
|
|
cd49907248 | ||
|
|
baf599c1d3 | ||
|
|
e4052a1dab | ||
|
|
fac2e073a1 | ||
|
|
61121d1b22 | ||
|
|
1b5c37fa29 | ||
|
|
189927c237 | ||
|
|
1ff9ad4e7c | ||
|
|
40c8a8c627 | ||
|
|
dd29285e35 | ||
|
|
052017e189 | ||
|
|
a8b0104923 | ||
|
|
36c21ff6cb | ||
|
|
92bebecf46 | ||
|
|
b04c7b6343 | ||
|
|
1665e2d2a6 | ||
|
|
63ed7d9af7 | ||
|
|
3c8c17be4d | ||
|
|
aed5878dd3 | ||
|
|
e5291e2031 | ||
|
|
3be87bed8d | ||
|
|
31b9797296 | ||
|
|
5299554bb0 | ||
|
|
2dbef58eeb | ||
|
|
494e34af6a | ||
|
|
ad8afaf1ef | ||
|
|
2686bf6734 | ||
|
|
33e92c15eb | ||
|
|
7461196839 | ||
|
|
b769bea61b | ||
|
|
b65314dc21 | ||
|
|
1841f63a40 | ||
|
|
b01aa721ff | ||
|
|
f190547bbb | ||
|
|
c82318c9cb | ||
|
|
c871320760 | ||
|
|
06894b0711 | ||
|
|
ef811c6425 | ||
|
|
abe6d39b1a | ||
|
|
da6673e79a | ||
|
|
427ce8dcef | ||
|
|
60a3980561 | ||
|
|
13471ddf86 | ||
|
|
d4cab35533 |
No files matched your search
@@ -25,7 +25,7 @@ def check_individual(repo_id, pr_id):
|
||||
|
||||
def merge_pr(pn, ref):
|
||||
print("Matched PR# %s" % pn)
|
||||
print(subprocess.check_output(["git", "fetch", "https://%sdev.azure.com/%s/_git/%s" % (user, org, repo), ref, "-f"]))
|
||||
print(subprocess.check_output(["git", "fetch", "https://%sdev.azure.com/%s/_git/%s" % (user, org, repo), ref, "-f", "--no-recurse-submodules"]))
|
||||
print(subprocess.check_output(["git", "merge", "--squash", 'origin/' + ref.replace('refs/heads/','')]))
|
||||
print(subprocess.check_output(["git", "commit", "-m\"Merge %s PR %s\"" % (tagline, pn)]))
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Download all pull requests as patches that match a specific label
|
||||
# Usage: python download-patches-by-label.py <Label to Match> <Root Path Folder to DL to>
|
||||
|
||||
import requests, sys, json, urllib3.request, shutil, subprocess, os
|
||||
import requests, sys, json, urllib3.request, shutil, subprocess, os, traceback
|
||||
|
||||
tagline = sys.argv[2]
|
||||
|
||||
@@ -25,7 +25,7 @@ def do_page(page):
|
||||
if (check_individual(pr["labels"])):
|
||||
pn = pr["number"]
|
||||
print("Matched PR# %s" % pn)
|
||||
print(subprocess.check_output(["git", "fetch", "https://github.com/yuzu-emu/yuzu.git", "pull/%s/head:pr-%s" % (pn, pn), "-f"]))
|
||||
print(subprocess.check_output(["git", "fetch", "https://github.com/yuzu-emu/yuzu.git", "pull/%s/head:pr-%s" % (pn, pn), "-f", "--no-recurse-submodules"]))
|
||||
print(subprocess.check_output(["git", "merge", "--squash", "pr-%s" % pn]))
|
||||
print(subprocess.check_output(["git", "commit", "-m\"Merge %s PR %s\"" % (tagline, pn)]))
|
||||
|
||||
@@ -33,4 +33,5 @@ try:
|
||||
for i in range(1,30):
|
||||
do_page(i)
|
||||
except:
|
||||
traceback.print_exc(file=sys.stdout)
|
||||
sys.exit(-1)
|
||||
@@ -41,12 +41,11 @@ for i in package/*.exe; do
|
||||
done
|
||||
|
||||
pip3 install pefile
|
||||
python3 .ci/scripts/windows/scan_dll.py package/*.exe "package/"
|
||||
python3 .ci/scripts/windows/scan_dll.py package/imageformats/*.dll "package/"
|
||||
python3 .ci/scripts/windows/scan_dll.py package/*.exe package/imageformats/*.dll "package/"
|
||||
|
||||
# copy FFmpeg libraries
|
||||
EXTERNALS_PATH="$(pwd)/build/externals"
|
||||
FFMPEG_DLL_PATH="$(find ${EXTERNALS_PATH} -maxdepth 1 -type d | grep ffmpeg)/bin"
|
||||
FFMPEG_DLL_PATH="$(find "${EXTERNALS_PATH}" -maxdepth 1 -type d | grep 'ffmpeg-')/bin"
|
||||
find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -v {} package/ ';'
|
||||
|
||||
# copy libraries from yuzu.exe path
|
||||
|
||||
@@ -8,7 +8,7 @@ steps:
|
||||
displayName: 'Install vulkan-sdk'
|
||||
- script: python -m pip install --upgrade pip conan
|
||||
displayName: 'Install conan'
|
||||
- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd ..
|
||||
- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd ..
|
||||
displayName: 'Configure CMake'
|
||||
- task: MSBuild@1
|
||||
displayName: 'Build'
|
||||
|
||||
+3
-6
@@ -7,9 +7,6 @@
|
||||
[submodule "dynarmic"]
|
||||
path = externals/dynarmic
|
||||
url = https://github.com/MerryMage/dynarmic.git
|
||||
[submodule "soundtouch"]
|
||||
path = externals/soundtouch
|
||||
url = https://github.com/citra-emu/ext-soundtouch.git
|
||||
[submodule "libressl"]
|
||||
path = externals/libressl
|
||||
url = https://github.com/citra-emu/ext-libressl-portable.git
|
||||
@@ -34,12 +31,12 @@
|
||||
[submodule "opus"]
|
||||
path = externals/opus/opus
|
||||
url = https://github.com/xiph/opus.git
|
||||
[submodule "ffmpeg"]
|
||||
path = externals/ffmpeg
|
||||
url = https://git.ffmpeg.org/ffmpeg.git
|
||||
[submodule "SDL"]
|
||||
path = externals/SDL
|
||||
url = https://github.com/libsdl-org/SDL.git
|
||||
[submodule "externals/cpp-httplib"]
|
||||
path = externals/cpp-httplib
|
||||
url = https://github.com/yhirose/cpp-httplib.git
|
||||
[submodule "externals/ffmpeg/ffmpeg"]
|
||||
path = externals/ffmpeg/ffmpeg
|
||||
url = https://git.ffmpeg.org/ffmpeg.git
|
||||
+46
-255
@@ -21,8 +21,6 @@ CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSV
|
||||
|
||||
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
|
||||
|
||||
option(YUZU_USE_BUNDLED_BOOST "Download bundled Boost" OFF)
|
||||
|
||||
option(YUZU_USE_BUNDLED_LIBUSB "Compile bundled libusb" OFF)
|
||||
|
||||
option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" "${WIN32}")
|
||||
@@ -33,6 +31,10 @@ option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
|
||||
|
||||
option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF)
|
||||
|
||||
option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON)
|
||||
|
||||
option(YUZU_TESTS "Compile tests" ON)
|
||||
|
||||
# Default to a Release build
|
||||
get_property(IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if (NOT IS_MULTI_CONFIG AND NOT CMAKE_BUILD_TYPE)
|
||||
@@ -57,7 +59,7 @@ function(check_submodules_present)
|
||||
string(REGEX REPLACE "path *= *" "" module ${module})
|
||||
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/${module}/.git")
|
||||
message(FATAL_ERROR "Git submodule ${module} not found. "
|
||||
"Please run: git submodule update --init --recursive")
|
||||
"Please run: \ngit submodule update --init --recursive")
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
@@ -131,7 +133,7 @@ add_definitions(-DBOOST_ASIO_DISABLE_CONCEPTS)
|
||||
if (MSVC)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/std:c++latest>)
|
||||
|
||||
# cubeb and boost still make use of deprecated result_of.
|
||||
# boost still makes use of deprecated result_of.
|
||||
add_definitions(-D_HAS_DEPRECATED_RESULT_OF)
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
@@ -166,8 +168,7 @@ macro(yuzu_find_packages)
|
||||
# Capitalization matters here. We need the naming to match the generated paths from Conan
|
||||
set(REQUIRED_LIBS
|
||||
# Cmake Pkg Prefix Version Conan Pkg
|
||||
"Catch2 2.13 catch2/2.13.0"
|
||||
"fmt 8.0 fmt/8.0.0"
|
||||
"fmt 8.0.1 fmt/8.1.1"
|
||||
"lz4 1.8 lz4/1.9.2"
|
||||
"nlohmann_json 3.8 nlohmann_json/3.8.0"
|
||||
"ZLIB 1.2 zlib/1.2.11"
|
||||
@@ -175,6 +176,11 @@ macro(yuzu_find_packages)
|
||||
# can't use opus until AVX check is fixed: https://github.com/yuzu-emu/yuzu/pull/4068
|
||||
#"opus 1.3 opus/1.3.1"
|
||||
)
|
||||
if (YUZU_TESTS)
|
||||
list(APPEND REQUIRED_LIBS
|
||||
"Catch2 2.13.7 catch2/2.13.7"
|
||||
)
|
||||
endif()
|
||||
|
||||
foreach(PACKAGE ${REQUIRED_LIBS})
|
||||
string(REGEX REPLACE "[ \t\r\n]+" ";" PACKAGE_SPLIT ${PACKAGE})
|
||||
@@ -200,9 +206,7 @@ macro(yuzu_find_packages)
|
||||
unset(FN_FORCE_REQUIRED)
|
||||
endmacro()
|
||||
|
||||
if (NOT YUZU_USE_BUNDLED_BOOST)
|
||||
find_package(Boost 1.73.0 CONFIG COMPONENTS context headers QUIET)
|
||||
endif()
|
||||
find_package(Boost 1.73.0 COMPONENTS context headers)
|
||||
if (Boost_FOUND)
|
||||
set(Boost_LIBRARIES Boost::boost)
|
||||
# Conditionally add Boost::context only if the active version of the Conan or system Boost package provides it
|
||||
@@ -213,23 +217,14 @@ if (Boost_FOUND)
|
||||
if (TARGET Boost::context)
|
||||
list(APPEND Boost_LIBRARIES Boost::context)
|
||||
endif()
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR YUZU_USE_BUNDLED_BOOST)
|
||||
message(STATUS "Boost 1.73.0 or newer not found, falling back to externals")
|
||||
set(YUZU_USE_BUNDLED_BOOST ON CACHE BOOL "Download bundled Boost" FORCE)
|
||||
|
||||
# Use yuzu Boost binaries
|
||||
set(Boost_EXT_NAME "boost_1_75_0")
|
||||
set(Boost_PATH "${CMAKE_BINARY_DIR}/externals/${Boost_EXT_NAME}")
|
||||
download_bundled_external("boost/" ${Boost_EXT_NAME} "")
|
||||
set(Boost_USE_DEBUG_RUNTIME FALSE)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
find_package(Boost 1.75.0 CONFIG REQUIRED COMPONENTS context headers PATHS ${Boost_PATH} NO_DEFAULT_PATH)
|
||||
# Manually set the include dirs since the find_package sets it incorrectly
|
||||
set(Boost_INCLUDE_DIRS ${Boost_PATH}/include CACHE PATH "Path to Boost headers" FORCE)
|
||||
include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
|
||||
else()
|
||||
message(STATUS "Boost 1.73.0 or newer not found, falling back to Conan")
|
||||
list(APPEND CONAN_REQUIRED_LIBS "boost/1.73.0")
|
||||
message(STATUS "Boost 1.79.0 or newer not found, falling back to Conan")
|
||||
list(APPEND CONAN_REQUIRED_LIBS "boost/1.79.0")
|
||||
endif()
|
||||
|
||||
# boost:asio has functions that require AcceptEx et al
|
||||
if (MINGW)
|
||||
find_library(MSWSOCK_LIBRARY mswsock REQUIRED)
|
||||
endif()
|
||||
|
||||
# Attempt to locate any packages that are required and report the missing ones in CONAN_REQUIRED_LIBS
|
||||
@@ -249,7 +244,7 @@ if(ENABLE_QT)
|
||||
# Check for system Qt on Linux, fallback to bundled Qt
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if (NOT YUZU_USE_BUNDLED_QT)
|
||||
find_package(Qt5 ${QT_VERSION} COMPONENTS Widgets)
|
||||
find_package(Qt5 ${QT_VERSION} COMPONENTS Widgets DBus)
|
||||
endif()
|
||||
if (NOT Qt5_FOUND OR YUZU_USE_BUNDLED_QT)
|
||||
# Check for dependencies, then enable bundled Qt download
|
||||
@@ -355,7 +350,11 @@ if(ENABLE_QT)
|
||||
|
||||
set(YUZU_QT_NO_CMAKE_SYSTEM_PATH "NO_CMAKE_SYSTEM_PATH")
|
||||
endif()
|
||||
find_package(Qt5 ${QT_VERSION} REQUIRED COMPONENTS Widgets ${QT_PREFIX_HINT} ${YUZU_QT_NO_CMAKE_SYSTEM_PATH})
|
||||
if ((${CMAKE_SYSTEM_NAME} STREQUAL "Linux") AND YUZU_USE_BUNDLED_QT)
|
||||
find_package(Qt5 ${QT_VERSION} REQUIRED COMPONENTS Widgets DBus ${QT_PREFIX_HINT} ${YUZU_QT_NO_CMAKE_SYSTEM_PATH})
|
||||
else()
|
||||
find_package(Qt5 ${QT_VERSION} REQUIRED COMPONENTS Widgets ${QT_PREFIX_HINT} ${YUZU_QT_NO_CMAKE_SYSTEM_PATH})
|
||||
endif()
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
find_package(Qt5 COMPONENTS WebEngineCore WebEngineWidgets)
|
||||
endif()
|
||||
@@ -370,7 +369,7 @@ if (ENABLE_SDL2)
|
||||
if (YUZU_USE_BUNDLED_SDL2)
|
||||
# Detect toolchain and platform
|
||||
if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64)
|
||||
set(SDL2_VER "SDL2-2.0.16")
|
||||
set(SDL2_VER "SDL2-2.0.18")
|
||||
else()
|
||||
message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable YUZU_USE_BUNDLED_SDL2 and provide your own.")
|
||||
endif()
|
||||
@@ -390,7 +389,7 @@ if (ENABLE_SDL2)
|
||||
elseif (YUZU_USE_EXTERNAL_SDL2)
|
||||
message(STATUS "Using SDL2 from externals.")
|
||||
else()
|
||||
find_package(SDL2 2.0.16 REQUIRED)
|
||||
find_package(SDL2 2.0.18 REQUIRED)
|
||||
|
||||
# Some installations don't set SDL2_LIBRARIES
|
||||
if("${SDL2_LIBRARIES}" STREQUAL "")
|
||||
@@ -411,12 +410,11 @@ if (CONAN_REQUIRED_LIBS)
|
||||
# Download conan.cmake automatically, you can also just copy the conan.cmake file
|
||||
if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
|
||||
message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
|
||||
file(DOWNLOAD "https://github.com/conan-io/cmake-conan/raw/v0.15/conan.cmake"
|
||||
"${CMAKE_BINARY_DIR}/conan.cmake")
|
||||
file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/release/0.18/conan.cmake" "${CMAKE_BINARY_DIR}/conan.cmake")
|
||||
endif()
|
||||
include(${CMAKE_BINARY_DIR}/conan.cmake)
|
||||
|
||||
conan_check(VERSION 1.24.0 REQUIRED)
|
||||
conan_check(VERSION 1.45.0 REQUIRED)
|
||||
|
||||
# Manually add iconv to fix a dep conflict between qt and sdl2
|
||||
# We don't need to add it through find_package or anything since the other two can find it just fine
|
||||
@@ -507,13 +505,13 @@ set(FFmpeg_COMPONENTS
|
||||
avutil
|
||||
swscale)
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if (UNIX AND NOT APPLE)
|
||||
Include(FindPkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBVA libva)
|
||||
endif()
|
||||
if (NOT YUZU_USE_BUNDLED_FFMPEG)
|
||||
# Use system installed FFmpeg
|
||||
find_package(FFmpeg QUIET COMPONENTS ${FFmpeg_COMPONENTS})
|
||||
find_package(FFmpeg 4.3 QUIET COMPONENTS ${FFmpeg_COMPONENTS})
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
# Overwrite aggregate defines from FFmpeg module to avoid over-linking libraries.
|
||||
@@ -526,222 +524,11 @@ if (NOT YUZU_USE_BUNDLED_FFMPEG)
|
||||
set(FFmpeg_INCLUDE_DIR ${FFmpeg_INCLUDE_DIR} ${FFmpeg_INCLUDE_${COMPONENT}} CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
endforeach()
|
||||
else()
|
||||
message(WARNING "FFmpeg not found, falling back to externals")
|
||||
message(WARNING "FFmpeg not found or too old, falling back to externals")
|
||||
set(YUZU_USE_BUNDLED_FFMPEG ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (YUZU_USE_BUNDLED_FFMPEG)
|
||||
if (NOT WIN32)
|
||||
# TODO(lat9nq): Move this to externals/ffmpeg/CMakeLists.txt (and move externals/ffmpeg to
|
||||
# externals/ffmpeg/ffmpeg)
|
||||
|
||||
# Build FFmpeg from externals
|
||||
message(STATUS "Using FFmpeg from externals")
|
||||
|
||||
# FFmpeg has source that requires one of nasm or yasm to assemble it.
|
||||
# REQUIRED throws an error if not found here during configuration rather than during compilation.
|
||||
find_program(ASSEMBLER NAMES nasm yasm)
|
||||
if ("${ASSEMBLER}" STREQUAL "ASSEMBLER-NOTFOUND")
|
||||
message(FATAL_ERROR "One of either `nasm` or `yasm` not found but is required.")
|
||||
endif()
|
||||
|
||||
find_program(AUTOCONF autoconf)
|
||||
if ("${AUTOCONF}" STREQUAL "AUTOCONF-NOTFOUND")
|
||||
message(FATAL_ERROR "Required program `autoconf` not found.")
|
||||
endif()
|
||||
|
||||
set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg)
|
||||
set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg)
|
||||
set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile)
|
||||
make_directory(${FFmpeg_BUILD_DIR})
|
||||
|
||||
# Read version string from external
|
||||
file(READ ${FFmpeg_PREFIX}/RELEASE FFmpeg_VERSION)
|
||||
set(FFmpeg_FOUND NO)
|
||||
if (NOT FFmpeg_VERSION STREQUAL "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_LIBRARIES CACHE)
|
||||
foreach(COMPONENT ${FFmpeg_COMPONENTS})
|
||||
set(FFmpeg_${COMPONENT}_PREFIX "${FFmpeg_BUILD_DIR}/lib${COMPONENT}")
|
||||
set(FFmpeg_${COMPONENT}_LIB_NAME "lib${COMPONENT}.a")
|
||||
set(FFmpeg_${COMPONENT}_LIBRARY "${FFmpeg_${COMPONENT}_PREFIX}/${FFmpeg_${COMPONENT}_LIB_NAME}")
|
||||
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARIES}
|
||||
${FFmpeg_${COMPONENT}_LIBRARY}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
endforeach()
|
||||
|
||||
Include(FindPkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBVA libva)
|
||||
pkg_check_modules(CUDA cuda)
|
||||
pkg_check_modules(FFNVCODEC ffnvcodec)
|
||||
pkg_check_modules(VDPAU vdpau)
|
||||
|
||||
set(FFmpeg_HWACCEL_LIBRARIES)
|
||||
set(FFmpeg_HWACCEL_FLAGS)
|
||||
set(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
||||
set(FFmpeg_HWACCEL_LDFLAGS)
|
||||
|
||||
if(LIBVA_FOUND)
|
||||
pkg_check_modules(LIBDRM libdrm REQUIRED)
|
||||
find_package(X11 REQUIRED)
|
||||
pkg_check_modules(LIBVA-DRM libva-drm REQUIRED)
|
||||
pkg_check_modules(LIBVA-X11 libva-x11 REQUIRED)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES
|
||||
${LIBDRM_LIBRARIES}
|
||||
${X11_LIBRARIES}
|
||||
${LIBVA-DRM_LIBRARIES}
|
||||
${LIBVA-X11_LIBRARIES}
|
||||
${LIBVA_LIBRARIES})
|
||||
set(FFmpeg_HWACCEL_FLAGS
|
||||
--enable-hwaccel=h264_vaapi
|
||||
--enable-hwaccel=vp9_vaapi
|
||||
--enable-libdrm)
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS
|
||||
${LIBDRM_INCLUDE_DIRS}
|
||||
${X11_INCLUDE_DIRS}
|
||||
${LIBVA-DRM_INCLUDE_DIRS}
|
||||
${LIBVA-X11_INCLUDE_DIRS}
|
||||
${LIBVA_INCLUDE_DIRS}
|
||||
)
|
||||
message(STATUS "VA-API found")
|
||||
else()
|
||||
set(FFmpeg_HWACCEL_FLAGS --disable-vaapi)
|
||||
endif()
|
||||
|
||||
if (FFNVCODEC_FOUND AND CUDA_FOUND)
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS
|
||||
--enable-cuvid
|
||||
--enable-ffnvcodec
|
||||
--enable-nvdec
|
||||
--enable-hwaccel=h264_nvdec
|
||||
--enable-hwaccel=vp9_nvdec
|
||||
--extra-cflags=-I${CUDA_INCLUDE_DIRS}
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES
|
||||
${FFNVCODEC_LIBRARIES}
|
||||
${CUDA_LIBRARIES}
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS
|
||||
${FFNVCODEC_INCLUDE_DIRS}
|
||||
${CUDA_INCLUDE_DIRS}
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS
|
||||
${FFNVCODEC_LDFLAGS}
|
||||
${CUDA_LDFLAGS}
|
||||
)
|
||||
message(STATUS "ffnvcodec libraries version ${FFNVCODEC_VERSION} found")
|
||||
endif()
|
||||
|
||||
if (VDPAU_FOUND)
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS
|
||||
--enable-vdpau
|
||||
--enable-hwaccel=h264_vdpau
|
||||
--enable-hwaccel=vp9_vdpau
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${VDPAU_LIBRARIES})
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${VDPAU_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${VDPAU_LDFLAGS})
|
||||
message(STATUS "vdpau libraries version ${VDPAU_VERSION} found")
|
||||
else()
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vdpau)
|
||||
endif()
|
||||
|
||||
# `configure` parameters builds only exactly what yuzu needs from FFmpeg
|
||||
# `--disable-vdpau` is needed to avoid linking issues
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_MAKEFILE}
|
||||
COMMAND
|
||||
/bin/bash ${FFmpeg_PREFIX}/configure
|
||||
--disable-avdevice
|
||||
--disable-avfilter
|
||||
--disable-avformat
|
||||
--disable-doc
|
||||
--disable-everything
|
||||
--disable-ffmpeg
|
||||
--disable-ffprobe
|
||||
--disable-network
|
||||
--disable-postproc
|
||||
--disable-swresample
|
||||
--enable-decoder=h264
|
||||
--enable-decoder=vp9
|
||||
--cc="${CMAKE_C_COMPILER}"
|
||||
--cxx="${CMAKE_CXX_COMPILER}"
|
||||
${FFmpeg_HWACCEL_FLAGS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
unset(FFmpeg_HWACCEL_FLAGS)
|
||||
|
||||
# Workaround for Ubuntu 18.04's older version of make not being able to call make as a child
|
||||
# with context of the jobserver. Also helps ninja users.
|
||||
execute_process(
|
||||
COMMAND
|
||||
nproc
|
||||
OUTPUT_VARIABLE
|
||||
SYSTEM_THREADS)
|
||||
|
||||
set(FFmpeg_BUILD_LIBRARIES ${FFmpeg_LIBRARIES})
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_BUILD_LIBRARIES}
|
||||
COMMAND
|
||||
make -j${SYSTEM_THREADS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
|
||||
set(FFmpeg_INCLUDE_DIR
|
||||
"${FFmpeg_PREFIX};${FFmpeg_BUILD_DIR};${FFmpeg_HWACCEL_INCLUDE_DIRS}"
|
||||
CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
|
||||
set(FFmpeg_LDFLAGS
|
||||
"${FFmpeg_HWACCEL_LDFLAGS}"
|
||||
CACHE STRING "FFmpeg linker flags" FORCE)
|
||||
|
||||
# ALL makes this custom target build every time
|
||||
# but it won't actually build if the DEPENDS parameter is up to date
|
||||
add_custom_target(ffmpeg-configure ALL DEPENDS ${FFmpeg_MAKEFILE})
|
||||
add_custom_target(ffmpeg-build ALL DEPENDS ${FFmpeg_BUILD_LIBRARIES} ffmpeg-configure)
|
||||
link_libraries(${FFmpeg_LIBVA_LIBRARIES})
|
||||
set(FFmpeg_LIBRARIES ${FFmpeg_BUILD_LIBRARIES} ${FFmpeg_HWACCEL_LIBRARIES}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
unset(FFmpeg_BUILD_LIBRARIES)
|
||||
unset(FFmpeg_HWACCEL_FLAGS)
|
||||
unset(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
||||
unset(FFmpeg_HWACCEL_LDFLAGS)
|
||||
unset(FFmpeg_HWACCEL_LIBRARIES)
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
message(STATUS "Found FFmpeg version ${FFmpeg_VERSION}")
|
||||
else()
|
||||
message(FATAL_ERROR "FFmpeg not found")
|
||||
endif()
|
||||
else() # WIN32
|
||||
# Use yuzu FFmpeg binaries
|
||||
set(FFmpeg_EXT_NAME "ffmpeg-4.4")
|
||||
set(FFmpeg_PATH "${CMAKE_BINARY_DIR}/externals/${FFmpeg_EXT_NAME}")
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_PATH}/include" CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
set(FFmpeg_LIBRARY_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg library directory" FORCE)
|
||||
set(FFmpeg_LDFLAGS "" CACHE STRING "FFmpeg linker flags" FORCE)
|
||||
set(FFmpeg_DLL_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg dll's" FORCE)
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARY_DIR}/swscale.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avcodec.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avutil.lib
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_COMPONENTS)
|
||||
|
||||
# Prefer the -pthread flag on Linux.
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
@@ -857,14 +644,18 @@ endif()
|
||||
# =========================
|
||||
|
||||
# Install freedesktop.org metadata files, following those specifications:
|
||||
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
|
||||
# http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
|
||||
# http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
|
||||
# https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
|
||||
# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
|
||||
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
|
||||
# https://www.freedesktop.org/software/appstream/docs/
|
||||
if(ENABLE_QT AND UNIX AND NOT APPLE)
|
||||
install(FILES "${PROJECT_SOURCE_DIR}/dist/yuzu.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications")
|
||||
install(FILES "${PROJECT_SOURCE_DIR}/dist/yuzu.svg"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps")
|
||||
install(FILES "${PROJECT_SOURCE_DIR}/dist/yuzu.xml"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/mime/packages")
|
||||
install(FILES "dist/org.yuzu_emu.yuzu.desktop"
|
||||
DESTINATION "share/applications")
|
||||
install(FILES "dist/yuzu.svg"
|
||||
DESTINATION "share/icons/hicolor/scalable/apps"
|
||||
RENAME "org.yuzu_emu.yuzu.svg")
|
||||
install(FILES "dist/org.yuzu_emu.yuzu.xml"
|
||||
DESTINATION "share/mime/packages")
|
||||
install(FILES "dist/org.yuzu_emu.yuzu.metainfo.xml"
|
||||
DESTINATION "share/metainfo")
|
||||
endif()
|
||||
@@ -11,9 +11,15 @@ find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
|
||||
|
||||
# generate git/build information
|
||||
include(GetGitRevisionDescription)
|
||||
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||
git_describe(GIT_DESC --always --long --dirty)
|
||||
git_branch_name(GIT_BRANCH)
|
||||
if(NOT GIT_REF_SPEC)
|
||||
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||
endif()
|
||||
if(NOT GIT_DESC)
|
||||
git_describe(GIT_DESC --always --long --dirty)
|
||||
endif()
|
||||
if (NOT GIT_BRANCH)
|
||||
git_branch_name(GIT_BRANCH)
|
||||
endif()
|
||||
get_timestamp(BUILD_DATE)
|
||||
|
||||
# Generate cpp with Git revision from template
|
||||
|
||||
@@ -17,7 +17,7 @@ It is written in C++ with portability in mind, and we actively maintain builds f
|
||||
alt="Azure Mainline CI Build Status">
|
||||
</a>
|
||||
<a href="https://discord.com/invite/u77vRWY">
|
||||
<img src="https://img.shields.io/discord/398318088170242053?color=%237289DA&label=yuzu&logo=discord&logoColor=white"
|
||||
<img src="https://img.shields.io/discord/398318088170242053?color=5865F2&label=yuzu&logo=discord&logoColor=white"
|
||||
alt="Discord">
|
||||
</a>
|
||||
</p>
|
||||
@@ -77,6 +77,6 @@ If you wish to support us a different way, please join our [Discord](https://dis
|
||||
|
||||
## License
|
||||
|
||||
yuzu is licensed under the GPLv2 (or any later version). Refer to the [license.txt](https://github.com/yuzu-emu/yuzu/blob/master/license.txt) file.
|
||||
yuzu is licensed under the GPLv3 (or any later version). Refer to the [license.txt](https://github.com/yuzu-emu/yuzu/blob/master/license.txt) file.
|
||||
|
||||
The [Skyline-Emulator Team](https://github.com/skyline-emu/skyline) is exempt from GPLv2 for the contributions from all these contributors [FernandoS27](https://github.com/FernandoS27), [lioncash](https://github.com/lioncash), [bunnei](https://github.com/bunnei), [ReinUsesLisp](https://github.com/ReinUsesLisp), [Morph1984](https://github.com/Morph1984), [ogniK5377](https://github.com/ogniK5377), [german77](https://github.com/german77), [ameerj](https://github.com/ameerj), [Kelebek1](https://github.com/Kelebek1) and [lat9nq](https://github.com/lat9nq). They may only use the code from these contributors under Mozilla Public License, version 2.0.
|
||||
The [Skyline-Emulator Team](https://github.com/skyline-emu/skyline) may choose to use the code from these contributors under the GPL-3.0-or-later OR MPL-2.0: [FernandoS27](https://github.com/FernandoS27), [lioncash](https://github.com/lioncash), [bunnei](https://github.com/bunnei), [ReinUsesLisp](https://github.com/ReinUsesLisp), [Morph1984](https://github.com/Morph1984), [ogniK5377](https://github.com/ogniK5377), [german77](https://github.com/german77), [ameerj](https://github.com/ameerj), [Kelebek1](https://github.com/Kelebek1) and [lat9nq](https://github.com/lat9nq)
|
||||
Vendored
+2199
-1587
File diff suppressed because it is too large.
Load diff
Vendored
+1691
-1122
File diff suppressed because it is too large.
Load diff
Vendored
+6380
File diff suppressed because it is too large.
Load diff
Vendored
+1659
-1082
File diff suppressed because it is too large.
Load diff
Vendored
+6385
File diff suppressed because it is too large.
Load diff
Vendored
+2229
-1624
File diff suppressed because it is too large.
Load diff
Vendored
+6235
File diff suppressed because it is too large.
Load diff
Vendored
+1840
-1259
File diff suppressed because it is too large.
Load diff
Vendored
+6359
File diff suppressed because it is too large.
Load diff
Vendored
+1720
-1143
File diff suppressed because it is too large.
Load diff
Vendored
+2071
-1472
File diff suppressed because it is too large.
Load diff
Vendored
+1825
-1221
File diff suppressed because it is too large.
Load diff
Vendored
+1997
-1379
File diff suppressed because it is too large.
Load diff
Vendored
+1715
-1139
File diff suppressed because it is too large.
Load diff
Vendored
+1820
-1235
File diff suppressed because it is too large.
Load diff
Vendored
+1815
-1212
File diff suppressed because it is too large.
Load diff
Vendored
+1860
-1250
File diff suppressed because it is too large.
Load diff
Vendored
+2133
-1527
File diff suppressed because it is too large.
Load diff
Vendored
+1709
-1140
File diff suppressed because it is too large.
Load diff
Vendored
+1987
-1392
File diff suppressed because it is too large.
Load diff
Vendored
+6371
File diff suppressed because it is too large.
Load diff
Vendored
+6369
File diff suppressed because it is too large.
Load diff
Vendored
+1659
-1074
File diff suppressed because it is too large.
Load diff
Vendored
+1861
-1266
File diff suppressed because it is too large.
Load diff
+3
-3
@@ -4,9 +4,9 @@ Type=Application
|
||||
Name=yuzu
|
||||
GenericName=Switch Emulator
|
||||
Comment=Nintendo Switch video game console emulator
|
||||
Icon=yuzu
|
||||
Icon=org.yuzu_emu.yuzu
|
||||
TryExec=yuzu
|
||||
Exec=yuzu %f
|
||||
Categories=Game;Emulator;Qt;
|
||||
MimeType=application/x-nx-nro;application/x-nx-nso;
|
||||
Keywords=Switch;Nintendo;
|
||||
MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci;
|
||||
Keywords=Nintendo;Switch;
|
||||
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>org.yuzu_emu.yuzu</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>yuzu</name>
|
||||
<summary>Nintendo Switch emulator</summary>
|
||||
<description>
|
||||
<p>yuzu is the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra.</p>
|
||||
<p>The emulator is capable of running most commercial games at full speed, provided you meet the necessary hardware requirements.</p>
|
||||
<p>For a full list of games yuzu support, please visit our Compatibility page.</p>
|
||||
<p>Check out our website for the latest news on exciting features, monthly progress reports, and more!</p>
|
||||
</description>
|
||||
<categories>
|
||||
<category>Game</category>
|
||||
<category>Emulator</category>
|
||||
</categories>
|
||||
<keywords>
|
||||
<keyword>switch</keyword>
|
||||
<keyword>emulator</keyword>
|
||||
</keywords>
|
||||
<url type="homepage">https://yuzu-emu.org/</url>
|
||||
<url type="bugtracker">https://github.com/yuzu-emu/yuzu/issues</url>
|
||||
<url type="faq">https://yuzu-emu.org/wiki/faq/</url>
|
||||
<url type="help">https://yuzu-emu.org/wiki/home/</url>
|
||||
<url type="donation">https://yuzu-emu.org/donate/</url>
|
||||
<url type="translate">https://www.transifex.com/projects/p/yuzu</url>
|
||||
<url type="contact">https://community.citra-emu.org/</url>
|
||||
<url type="vcs-browser">https://github.com/yuzu-emu/yuzu</url>
|
||||
<url type="contribute">https://yuzu-emu.org/wiki/contributing/</url>
|
||||
<launchable type="desktop-id">org.yuzu_emu.yuzu.desktop</launchable>
|
||||
<provides>
|
||||
<binary>yuzu</binary>
|
||||
<binary>yuzu-cmd</binary>
|
||||
</provides>
|
||||
<supports>
|
||||
<control>pointing</control>
|
||||
<control>keyboard</control>
|
||||
<control>gamepad</control>
|
||||
</supports>
|
||||
<requires>
|
||||
<memory>8192</memory>
|
||||
</requires>
|
||||
<recommends>
|
||||
<memory>16384</memory>
|
||||
</recommends>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<developer_name>yuzu Emulator Team</developer_name>
|
||||
<content_rating type="oars-1.0"/>
|
||||
<screenshots>
|
||||
<screenshot type="default">https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/001-Super%20Mario%20Odyssey%20.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/004-The%20Legend%20of%20Zelda%20Skyward%20Sword%20HD.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/007-Pokemon%20Sword.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/010-Hyrule%20Warriors%20Age%20of%20Calamity.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/039-Pok%C3%A9mon%20Mystery%20Dungeon%20Rescue%20Team%20DX.png.png.png</screenshot>
|
||||
</screenshots>
|
||||
</component>
|
||||
+18
-3
@@ -3,7 +3,7 @@
|
||||
<mime-type type="application/x-nx-nro">
|
||||
<comment>Nintendo Switch homebrew executable</comment>
|
||||
<acronym>NRO</acronym>
|
||||
<icon name="yuzu"/>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.nro"/>
|
||||
<magic><match value="NRO" type="string" offset="16"/></magic>
|
||||
</mime-type>
|
||||
@@ -11,8 +11,23 @@
|
||||
<mime-type type="application/x-nx-nso">
|
||||
<comment>Nintendo Switch homebrew executable</comment>
|
||||
<acronym>NSO</acronym>
|
||||
<icon name="yuzu"/>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.nso"/>
|
||||
<magic><match value="NSO" type="string" offset="0"/></magic>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
|
||||
<mime-type type="application/x-nx-nsp">
|
||||
<comment>Nintendo Switch Package</comment>
|
||||
<acronym>NSP</acronym>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.nsp"/>
|
||||
<magic><match value="PFS" type="string" offset="0"/></magic>
|
||||
</mime-type>
|
||||
|
||||
<mime-type type="application/x-nx-xci">
|
||||
<comment>Nintendo Switch Card Image</comment>
|
||||
<acronym>XCI</acronym>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.xci"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 6.6 KiB |
Vendored
+16
-17
@@ -13,10 +13,6 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
||||
target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES)
|
||||
endif()
|
||||
|
||||
# Catch
|
||||
add_library(catch-single-include INTERFACE)
|
||||
target_include_directories(catch-single-include INTERFACE catch/single_include)
|
||||
|
||||
# Dynarmic
|
||||
if (ARCHITECTURE_x86_64)
|
||||
set(DYNARMIC_TESTS OFF)
|
||||
@@ -44,10 +40,6 @@ target_include_directories(mbedtls PUBLIC ./mbedtls/include)
|
||||
add_library(microprofile INTERFACE)
|
||||
target_include_directories(microprofile INTERFACE ./microprofile)
|
||||
|
||||
# Unicorn
|
||||
add_library(unicorn-headers INTERFACE)
|
||||
target_include_directories(unicorn-headers INTERFACE ./unicorn/include)
|
||||
|
||||
# libusb
|
||||
if (NOT LIBUSB_FOUND OR YUZU_USE_BUNDLED_LIBUSB)
|
||||
add_subdirectory(libusb)
|
||||
@@ -56,11 +48,12 @@ endif()
|
||||
# SDL2
|
||||
if (YUZU_USE_EXTERNAL_SDL2)
|
||||
if (NOT WIN32)
|
||||
# Yuzu itself needs: Events Joystick Haptic Sensor Timers Audio
|
||||
# Yuzu itself needs: Atomic Audio Events Joystick Haptic Sensor Threads Timers
|
||||
# Since 2.0.18 Atomic+Threads required for HIDAPI/libusb (see https://github.com/libsdl-org/SDL/issues/5095)
|
||||
# Yuzu-cmd also needs: Video (depends on Loadso/Dlopen)
|
||||
set(SDL_UNUSED_SUBSYSTEMS
|
||||
Atomic Render Power Threads
|
||||
File CPUinfo Filesystem Locale)
|
||||
CPUinfo File Filesystem
|
||||
Locale Power Render)
|
||||
foreach(_SUB ${SDL_UNUSED_SUBSYSTEMS})
|
||||
string(TOUPPER ${_SUB} _OPT)
|
||||
option(SDL_${_OPT} "" OFF)
|
||||
@@ -75,9 +68,6 @@ if (YUZU_USE_EXTERNAL_SDL2)
|
||||
add_library(SDL2 ALIAS SDL2-static)
|
||||
endif()
|
||||
|
||||
# SoundTouch
|
||||
add_subdirectory(soundtouch)
|
||||
|
||||
# Cubeb
|
||||
if(ENABLE_CUBEB)
|
||||
set(BUILD_TESTS OFF CACHE BOOL "")
|
||||
@@ -120,8 +110,17 @@ if (ENABLE_WEB_SERVICE)
|
||||
endif()
|
||||
|
||||
# Opus
|
||||
find_package(opus 1.3)
|
||||
if (NOT opus_FOUND)
|
||||
message(STATUS "opus 1.3 or newer not found, falling back to externals")
|
||||
if (YUZU_USE_BUNDLED_OPUS)
|
||||
add_subdirectory(opus EXCLUDE_FROM_ALL)
|
||||
else()
|
||||
find_package(opus 1.3 REQUIRED)
|
||||
endif()
|
||||
|
||||
# FFMpeg
|
||||
if (YUZU_USE_BUNDLED_FFMPEG)
|
||||
add_subdirectory(ffmpeg)
|
||||
set(FFmpeg_PATH "${FFmpeg_PATH}" PARENT_SCOPE)
|
||||
set(FFmpeg_LDFLAGS "${FFmpeg_LDFLAGS}" PARENT_SCOPE)
|
||||
set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE)
|
||||
endif()
|
||||
+2656
File diff suppressed because it is too large.
Load diff
+1199
File diff suppressed because it is too large.
Load diff
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2021 Advanced Micro Devices, 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, 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.
|
||||
Vendored
+1
-1
Submodule externals/SDL updated: 25f9ed87ff...e2ade2bfc4.
Vendored
+1
-1
Submodule externals/Vulkan-Headers updated: 07c4a37bcf...33d4dd987f.
Vendored
+1
-1
Submodule externals/cubeb updated: 1d66483ad2...75d9d125ee.
Vendored
+1
-1
Submodule externals/dynarmic updated: cce7e4ee5d...57af72a567.
Vendored
-1
Submodule externals/ffmpeg deleted from 79e8d17024.
Vendored
+219
@@ -0,0 +1,219 @@
|
||||
if (NOT WIN32)
|
||||
# Build FFmpeg from externals
|
||||
message(STATUS "Using FFmpeg from externals")
|
||||
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)")
|
||||
# FFmpeg has source that requires one of nasm or yasm to assemble it.
|
||||
# REQUIRED throws an error if not found here during configuration rather than during compilation.
|
||||
find_program(ASSEMBLER NAMES nasm yasm)
|
||||
if ("${ASSEMBLER}" STREQUAL "ASSEMBLER-NOTFOUND")
|
||||
message(FATAL_ERROR "One of either `nasm` or `yasm` not found but is required.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_program(AUTOCONF autoconf)
|
||||
if ("${AUTOCONF}" STREQUAL "AUTOCONF-NOTFOUND")
|
||||
message(FATAL_ERROR "Required program `autoconf` not found.")
|
||||
endif()
|
||||
|
||||
set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg/ffmpeg)
|
||||
set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg-build)
|
||||
set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile)
|
||||
make_directory(${FFmpeg_BUILD_DIR})
|
||||
|
||||
# Read version string from external
|
||||
file(READ ${FFmpeg_PREFIX}/RELEASE FFmpeg_VERSION)
|
||||
set(FFmpeg_FOUND NO)
|
||||
if (NOT FFmpeg_VERSION STREQUAL "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_LIBRARIES CACHE)
|
||||
foreach(COMPONENT ${FFmpeg_COMPONENTS})
|
||||
set(FFmpeg_${COMPONENT}_PREFIX "${FFmpeg_BUILD_DIR}/lib${COMPONENT}")
|
||||
set(FFmpeg_${COMPONENT}_LIB_NAME "lib${COMPONENT}.a")
|
||||
set(FFmpeg_${COMPONENT}_LIBRARY "${FFmpeg_${COMPONENT}_PREFIX}/${FFmpeg_${COMPONENT}_LIB_NAME}")
|
||||
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARIES}
|
||||
${FFmpeg_${COMPONENT}_LIBRARY}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
endforeach()
|
||||
|
||||
Include(FindPkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBVA libva)
|
||||
pkg_check_modules(CUDA cuda)
|
||||
pkg_check_modules(FFNVCODEC ffnvcodec)
|
||||
pkg_check_modules(VDPAU vdpau)
|
||||
|
||||
set(FFmpeg_HWACCEL_LIBRARIES)
|
||||
set(FFmpeg_HWACCEL_FLAGS)
|
||||
set(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
||||
set(FFmpeg_HWACCEL_LDFLAGS)
|
||||
|
||||
if(LIBVA_FOUND)
|
||||
pkg_check_modules(LIBDRM libdrm REQUIRED)
|
||||
find_package(X11 REQUIRED)
|
||||
pkg_check_modules(LIBVA-DRM libva-drm REQUIRED)
|
||||
pkg_check_modules(LIBVA-X11 libva-x11 REQUIRED)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES
|
||||
${LIBDRM_LIBRARIES}
|
||||
${X11_LIBRARIES}
|
||||
${LIBVA-DRM_LIBRARIES}
|
||||
${LIBVA-X11_LIBRARIES}
|
||||
${LIBVA_LIBRARIES})
|
||||
set(FFmpeg_HWACCEL_FLAGS
|
||||
--enable-hwaccel=h264_vaapi
|
||||
--enable-hwaccel=vp8_vaapi
|
||||
--enable-hwaccel=vp9_vaapi
|
||||
--enable-libdrm)
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS
|
||||
${LIBDRM_INCLUDE_DIRS}
|
||||
${X11_INCLUDE_DIRS}
|
||||
${LIBVA-DRM_INCLUDE_DIRS}
|
||||
${LIBVA-X11_INCLUDE_DIRS}
|
||||
${LIBVA_INCLUDE_DIRS}
|
||||
)
|
||||
message(STATUS "VA-API found")
|
||||
else()
|
||||
set(FFmpeg_HWACCEL_FLAGS --disable-vaapi)
|
||||
endif()
|
||||
|
||||
if (FFNVCODEC_FOUND)
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS
|
||||
--enable-cuvid
|
||||
--enable-ffnvcodec
|
||||
--enable-nvdec
|
||||
--enable-hwaccel=h264_nvdec
|
||||
--enable-hwaccel=vp8_nvdec
|
||||
--enable-hwaccel=vp9_nvdec
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${FFNVCODEC_LIBRARIES})
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${FFNVCODEC_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${FFNVCODEC_LDFLAGS})
|
||||
message(STATUS "ffnvcodec libraries version ${FFNVCODEC_VERSION} found")
|
||||
# ffnvenc could load CUDA libraries at the runtime using dlopen/dlsym or LoadLibrary/GetProcAddress
|
||||
# here we handle the hard-linking senario where CUDA is linked during compilation
|
||||
if (CUDA_FOUND)
|
||||
# This line causes build error if CUDA_INCLUDE_DIRS is anything but a single non-empty value
|
||||
#list(APPEND FFmpeg_HWACCEL_FLAGS --extra-cflags=-I${CUDA_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${CUDA_LIBRARIES})
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${CUDA_LDFLAGS})
|
||||
message(STATUS "CUDA libraries found, hard-linking will be performed")
|
||||
endif(CUDA_FOUND)
|
||||
endif()
|
||||
|
||||
if (VDPAU_FOUND)
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS
|
||||
--enable-vdpau
|
||||
--enable-hwaccel=h264_vdpau
|
||||
--enable-hwaccel=vp9_vdpau
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${VDPAU_LIBRARIES})
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${VDPAU_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${VDPAU_LDFLAGS})
|
||||
message(STATUS "vdpau libraries version ${VDPAU_VERSION} found")
|
||||
else()
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vdpau)
|
||||
endif()
|
||||
|
||||
# `configure` parameters builds only exactly what yuzu needs from FFmpeg
|
||||
# `--disable-vdpau` is needed to avoid linking issues
|
||||
set(FFmpeg_CC ${CMAKE_C_COMPILER_LAUNCHER} ${CMAKE_C_COMPILER})
|
||||
set(FFmpeg_CXX ${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER})
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_MAKEFILE}
|
||||
COMMAND
|
||||
/bin/bash ${FFmpeg_PREFIX}/configure
|
||||
--disable-avdevice
|
||||
--disable-avfilter
|
||||
--disable-avformat
|
||||
--disable-doc
|
||||
--disable-everything
|
||||
--disable-ffmpeg
|
||||
--disable-ffprobe
|
||||
--disable-network
|
||||
--disable-postproc
|
||||
--disable-swresample
|
||||
--enable-decoder=h264
|
||||
--enable-decoder=vp8
|
||||
--enable-decoder=vp9
|
||||
--cc="${FFmpeg_CC}"
|
||||
--cxx="${FFmpeg_CXX}"
|
||||
${FFmpeg_HWACCEL_FLAGS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
unset(FFmpeg_CC)
|
||||
unset(FFmpeg_CXX)
|
||||
unset(FFmpeg_HWACCEL_FLAGS)
|
||||
|
||||
# Workaround for Ubuntu 18.04's older version of make not being able to call make as a child
|
||||
# with context of the jobserver. Also helps ninja users.
|
||||
execute_process(
|
||||
COMMAND
|
||||
nproc
|
||||
OUTPUT_VARIABLE
|
||||
SYSTEM_THREADS)
|
||||
|
||||
set(FFmpeg_BUILD_LIBRARIES ${FFmpeg_LIBRARIES})
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_BUILD_LIBRARIES}
|
||||
COMMAND
|
||||
make -j${SYSTEM_THREADS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
|
||||
set(FFmpeg_INCLUDE_DIR
|
||||
"${FFmpeg_PREFIX};${FFmpeg_BUILD_DIR};${FFmpeg_HWACCEL_INCLUDE_DIRS}"
|
||||
CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
|
||||
set(FFmpeg_LDFLAGS
|
||||
"${FFmpeg_HWACCEL_LDFLAGS}"
|
||||
CACHE STRING "FFmpeg linker flags" FORCE)
|
||||
|
||||
# ALL makes this custom target build every time
|
||||
# but it won't actually build if the DEPENDS parameter is up to date
|
||||
add_custom_target(ffmpeg-configure ALL DEPENDS ${FFmpeg_MAKEFILE})
|
||||
add_custom_target(ffmpeg-build ALL DEPENDS ${FFmpeg_BUILD_LIBRARIES} ffmpeg-configure)
|
||||
link_libraries(${FFmpeg_LIBVA_LIBRARIES})
|
||||
set(FFmpeg_LIBRARIES ${FFmpeg_BUILD_LIBRARIES} ${FFmpeg_HWACCEL_LIBRARIES}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
unset(FFmpeg_BUILD_LIBRARIES)
|
||||
unset(FFmpeg_HWACCEL_FLAGS)
|
||||
unset(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
||||
unset(FFmpeg_HWACCEL_LDFLAGS)
|
||||
unset(FFmpeg_HWACCEL_LIBRARIES)
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
message(STATUS "Found FFmpeg version ${FFmpeg_VERSION}")
|
||||
else()
|
||||
message(FATAL_ERROR "FFmpeg not found")
|
||||
endif()
|
||||
else(WIN32)
|
||||
# Use yuzu FFmpeg binaries
|
||||
set(FFmpeg_EXT_NAME "ffmpeg-4.4")
|
||||
set(FFmpeg_PATH "${CMAKE_BINARY_DIR}/externals/${FFmpeg_EXT_NAME}")
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_PATH}/include" CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
set(FFmpeg_LIBRARY_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg library directory" FORCE)
|
||||
set(FFmpeg_LDFLAGS "" CACHE STRING "FFmpeg linker flags" FORCE)
|
||||
set(FFmpeg_DLL_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg dll's" FORCE)
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARY_DIR}/swscale.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avcodec.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avutil.lib
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
# exported variables
|
||||
set(FFmpeg_PATH "${FFmpeg_PATH}" PARENT_SCOPE)
|
||||
set(FFmpeg_LDFLAGS "${FFmpeg_LDFLAGS}" PARENT_SCOPE)
|
||||
set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_COMPONENTS)
|
||||
+1
Submodule externals/ffmpeg/ffmpeg added at dc91b913b6.
-18
@@ -1,18 +0,0 @@
|
||||
# Exports:
|
||||
# LIBUNICORN_FOUND
|
||||
# LIBUNICORN_INCLUDE_DIR
|
||||
# LIBUNICORN_LIBRARY
|
||||
|
||||
find_path(LIBUNICORN_INCLUDE_DIR
|
||||
unicorn/unicorn.h
|
||||
HINTS $ENV{UNICORNDIR}
|
||||
PATH_SUFFIXES include)
|
||||
|
||||
find_library(LIBUNICORN_LIBRARY
|
||||
NAMES unicorn
|
||||
HINTS $ENV{UNICORNDIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(unicorn DEFAULT_MSG
|
||||
LIBUNICORN_LIBRARY LIBUNICORN_INCLUDE_DIR)
|
||||
mark_as_advanced(LIBUNICORN_INCLUDE_DIR LIBUNICORN_LIBRARY)
|
||||
Vendored
+1
-1
Submodule externals/libressl updated: 8289d0d07d...8929f818fd.
Vendored
+1
-1
Submodule externals/sirit updated: a39596358a...aa292d5665.
Vendored
-1
Submodule externals/soundtouch deleted from 060181eaf2.
+14
-7
@@ -24,6 +24,7 @@ if (MSVC)
|
||||
# /W3 - Level 3 warnings
|
||||
# /MP - Multi-threaded compilation
|
||||
# /Zi - Output debugging information
|
||||
# /Zm - Specifies the precompiled header memory allocation limit
|
||||
# /Zo - Enhanced debug info for optimized builds
|
||||
# /permissive- - Enables stricter C++ standards conformance checks
|
||||
# /EHsc - C++-only exception handling semantics
|
||||
@@ -32,9 +33,11 @@ if (MSVC)
|
||||
# /Zc:externConstexpr - Allow extern constexpr variables to have external linkage, like the standard mandates
|
||||
# /Zc:inline - Let codegen omit inline functions in object files
|
||||
# /Zc:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null
|
||||
# /GT - Supports fiber safety for data allocated using static thread-local storage
|
||||
add_compile_options(
|
||||
/MP
|
||||
/Zi
|
||||
/Zm200
|
||||
/Zo
|
||||
/permissive-
|
||||
/EHsc
|
||||
@@ -44,6 +47,7 @@ if (MSVC)
|
||||
/Zc:externConstexpr
|
||||
/Zc:inline
|
||||
/Zc:throwingNew
|
||||
/GT
|
||||
|
||||
# External headers diagnostics
|
||||
/experimental:external # Enables the external headers options. This option isn't required in Visual Studio 2019 version 16.10 and later
|
||||
@@ -61,14 +65,20 @@ if (MSVC)
|
||||
/we4305 # 'context': truncation from 'type1' to 'type2'
|
||||
/we4388 # 'expression': signed/unsigned mismatch
|
||||
/we4389 # 'operator': signed/unsigned mismatch
|
||||
/we4505 # 'function': unreferenced local function has been removed
|
||||
/we4547 # 'operator': operator before comma has no effect; expected operator with side-effect
|
||||
/we4549 # 'operator1': operator before comma has no effect; did you intend 'operator2'?
|
||||
/we4555 # Expression has no effect; expected expression with side-effect
|
||||
/we4715 # 'function': not all control paths return a value
|
||||
/we4834 # Discarding return value of function with 'nodiscard' attribute
|
||||
/we5038 # data member 'member1' will be initialized after data member 'member2'
|
||||
/we5245 # 'function': unreferenced function with internal linkage has been removed
|
||||
)
|
||||
|
||||
if (ARCHITECTURE_x86_64)
|
||||
add_compile_options(/QIntel-jcc-erratum)
|
||||
endif()
|
||||
|
||||
# /GS- - No stack buffer overflow checks
|
||||
add_compile_options("$<$<CONFIG:Release>:/GS->")
|
||||
|
||||
@@ -95,12 +105,6 @@ else()
|
||||
-Wno-unused-parameter
|
||||
)
|
||||
|
||||
# TODO: Remove when we update to a GCC compiler that enables this
|
||||
# by default (i.e. GCC 10 or newer).
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU)
|
||||
add_compile_options(-fconcepts)
|
||||
endif()
|
||||
|
||||
if (ARCHITECTURE_x86_64)
|
||||
add_compile_options("-mcx16")
|
||||
endif()
|
||||
@@ -143,7 +147,10 @@ add_subdirectory(audio_core)
|
||||
add_subdirectory(video_core)
|
||||
add_subdirectory(input_common)
|
||||
add_subdirectory(shader_recompiler)
|
||||
add_subdirectory(tests)
|
||||
|
||||
if (YUZU_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
if (ENABLE_SDL2)
|
||||
add_subdirectory(yuzu_cmd)
|
||||
|
||||
@@ -36,8 +36,6 @@ add_library(audio_core STATIC
|
||||
splitter_context.h
|
||||
stream.cpp
|
||||
stream.h
|
||||
time_stretch.cpp
|
||||
time_stretch.h
|
||||
voice_context.cpp
|
||||
voice_context.h
|
||||
|
||||
@@ -63,7 +61,6 @@ if (NOT MSVC)
|
||||
endif()
|
||||
|
||||
target_link_libraries(audio_core PUBLIC common core)
|
||||
target_link_libraries(audio_core PRIVATE SoundTouch)
|
||||
|
||||
if(ENABLE_CUBEB)
|
||||
target_link_libraries(audio_core PRIVATE cubeb)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#define _USE_MATH_DEFINES
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#define _USE_MATH_DEFINES
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "audio_core/audio_out.h"
|
||||
#include "audio_core/sink.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <limits>
|
||||
#include <vector>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <cstring>
|
||||
#include "audio_core/behavior_info.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
@@ -130,17 +129,17 @@ s32 ToS32(float sample) {
|
||||
return static_cast<s32>(rescaled_sample);
|
||||
}
|
||||
|
||||
constexpr std::array<std::size_t, 20> REVERB_TAP_INDEX_1CH{0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
constexpr std::array<u8, 20> REVERB_TAP_INDEX_1CH{0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
constexpr std::array<std::size_t, 20> REVERB_TAP_INDEX_2CH{0, 0, 0, 1, 1, 1, 1, 0, 0, 0,
|
||||
1, 1, 1, 0, 0, 0, 0, 1, 1, 1};
|
||||
constexpr std::array<u8, 20> REVERB_TAP_INDEX_2CH{0, 0, 0, 1, 1, 1, 1, 0, 0, 0,
|
||||
1, 1, 1, 0, 0, 0, 0, 1, 1, 1};
|
||||
|
||||
constexpr std::array<std::size_t, 20> REVERB_TAP_INDEX_4CH{0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
|
||||
1, 1, 1, 0, 0, 0, 0, 3, 3, 3};
|
||||
constexpr std::array<u8, 20> REVERB_TAP_INDEX_4CH{0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
|
||||
1, 1, 1, 0, 0, 0, 0, 3, 3, 3};
|
||||
|
||||
constexpr std::array<std::size_t, 20> REVERB_TAP_INDEX_6CH{4, 0, 0, 1, 1, 1, 1, 2, 2, 2,
|
||||
1, 1, 1, 0, 0, 0, 0, 3, 3, 3};
|
||||
constexpr std::array<u8, 20> REVERB_TAP_INDEX_6CH{4, 0, 0, 1, 1, 1, 1, 2, 2, 2,
|
||||
1, 1, 1, 0, 0, 0, 0, 3, 3, 3};
|
||||
|
||||
template <std::size_t CHANNEL_COUNT>
|
||||
void ApplyReverbGeneric(
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -15,7 +14,9 @@ constexpr ResultCode ERR_INVALID_PARAMETERS{ErrorModule::Audio, 41};
|
||||
constexpr ResultCode ERR_SPLITTER_SORT_FAILED{ErrorModule::Audio, 43};
|
||||
} // namespace Audren
|
||||
|
||||
constexpr u32_le CURRENT_PROCESS_REVISION = Common::MakeMagic('R', 'E', 'V', '9');
|
||||
constexpr u8 BASE_REVISION = '0';
|
||||
constexpr u32_le CURRENT_PROCESS_REVISION =
|
||||
Common::MakeMagic('R', 'E', 'V', static_cast<u8>(BASE_REVISION + 0xA));
|
||||
constexpr std::size_t MAX_MIX_BUFFERS = 24;
|
||||
constexpr std::size_t MAX_BIQUAD_FILTERS = 2;
|
||||
constexpr std::size_t MAX_CHANNEL_COUNT = 6;
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
#include <atomic>
|
||||
#include <cstring>
|
||||
#include "audio_core/cubeb_sink.h"
|
||||
#include "audio_core/stream.h"
|
||||
#include "audio_core/time_stretch.h"
|
||||
#include "common/assert.h"
|
||||
#include "common/logging/log.h"
|
||||
#include "common/ring_buffer.h"
|
||||
@@ -23,8 +21,7 @@ class CubebSinkStream final : public SinkStream {
|
||||
public:
|
||||
CubebSinkStream(cubeb* ctx_, u32 sample_rate, u32 num_channels_, cubeb_devid output_device,
|
||||
const std::string& name)
|
||||
: ctx{ctx_}, num_channels{std::min(num_channels_, 6u)}, time_stretch{sample_rate,
|
||||
num_channels} {
|
||||
: ctx{ctx_}, num_channels{std::min(num_channels_, 6u)} {
|
||||
|
||||
cubeb_stream_params params{};
|
||||
params.rate = sample_rate;
|
||||
@@ -131,7 +128,6 @@ private:
|
||||
Common::RingBuffer<s16, 0x10000> queue;
|
||||
std::array<s16, 2> last_frame{};
|
||||
std::atomic<bool> should_flush{};
|
||||
TimeStretcher time_stretch;
|
||||
|
||||
static long DataCallback(cubeb_stream* stream, void* user_data, const void* input_buffer,
|
||||
void* output_buffer, long num_frames);
|
||||
@@ -205,25 +201,7 @@ long CubebSinkStream::DataCallback([[maybe_unused]] cubeb_stream* stream, void*
|
||||
|
||||
const std::size_t num_channels = impl->GetNumChannels();
|
||||
const std::size_t samples_to_write = num_channels * num_frames;
|
||||
std::size_t samples_written;
|
||||
|
||||
/*
|
||||
if (Settings::values.enable_audio_stretching.GetValue()) {
|
||||
const std::vector<s16> in{impl->queue.Pop()};
|
||||
const std::size_t num_in{in.size() / num_channels};
|
||||
s16* const out{reinterpret_cast<s16*>(buffer)};
|
||||
const std::size_t out_frames =
|
||||
impl->time_stretch.Process(in.data(), num_in, out, num_frames);
|
||||
samples_written = out_frames * num_channels;
|
||||
|
||||
if (impl->should_flush) {
|
||||
impl->time_stretch.Flush();
|
||||
impl->should_flush = false;
|
||||
}
|
||||
} else {
|
||||
samples_written = impl->queue.Pop(buffer, samples_to_write);
|
||||
}*/
|
||||
samples_written = impl->queue.Pop(buffer, samples_to_write);
|
||||
const std::size_t samples_written = impl->queue.Pop(buffer, samples_to_write);
|
||||
|
||||
if (samples_written >= num_channels) {
|
||||
std::memcpy(&impl->last_frame[0], buffer + (samples_written - num_channels) * sizeof(s16),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <cstring>
|
||||
#include "audio_core/delay_line.h"
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common/common_types.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
#include "audio_core/effect_context.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "audio_core/behavior_info.h"
|
||||
#include "audio_core/effect_context.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "audio_core/memory_pool.h"
|
||||
#include "common/logging/log.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
#include <atomic>
|
||||
#include <cstring>
|
||||
#include "audio_core/sdl2_sink.h"
|
||||
#include "audio_core/stream.h"
|
||||
#include "audio_core/time_stretch.h"
|
||||
#include "common/assert.h"
|
||||
#include "common/logging/log.h"
|
||||
//#include "common/settings.h"
|
||||
@@ -27,7 +25,7 @@ namespace AudioCore {
|
||||
class SDLSinkStream final : public SinkStream {
|
||||
public:
|
||||
SDLSinkStream(u32 sample_rate, u32 num_channels_, const std::string& output_device)
|
||||
: num_channels{std::min(num_channels_, 6u)}, time_stretch{sample_rate, num_channels} {
|
||||
: num_channels{std::min(num_channels_, 6u)} {
|
||||
|
||||
SDL_AudioSpec spec;
|
||||
spec.freq = sample_rate;
|
||||
@@ -116,7 +114,6 @@ private:
|
||||
SDL_AudioDeviceID dev = 0;
|
||||
u32 num_channels{};
|
||||
std::atomic<bool> should_flush{};
|
||||
TimeStretcher time_stretch;
|
||||
};
|
||||
|
||||
SDLSink::SDLSink(std::string_view target_device_name) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "audio_core/sink_context.h"
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "audio_core/behavior_info.h"
|
||||
#include "audio_core/splitter_context.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
@@ -79,14 +78,24 @@ static void VolumeAdjustSamples(std::vector<s16>& samples, float game_volume) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Implementation of a volume slider with a dynamic range of 60 dB
|
||||
const float volume_scale_factor = volume == 0 ? 0 : std::exp(6.90775f * volume) * 0.001f;
|
||||
// Perceived volume is not the same as the volume level
|
||||
const float volume_scale_factor = (0.85f * ((volume * volume) - volume)) + volume;
|
||||
for (auto& sample : samples) {
|
||||
sample = static_cast<s16>(sample * volume_scale_factor);
|
||||
}
|
||||
}
|
||||
|
||||
void Stream::PlayNextBuffer(std::chrono::nanoseconds ns_late) {
|
||||
#ifndef _WIN32
|
||||
auto now = std::chrono::steady_clock::now();
|
||||
auto duration = now.time_since_epoch();
|
||||
auto nanoseconds = std::chrono::duration_cast<std::chrono::nanoseconds>(duration);
|
||||
|
||||
if (nanoseconds > expected_cb_time) {
|
||||
ns_late = nanoseconds - expected_cb_time;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!IsPlaying()) {
|
||||
// Ensure we are in playing state before playing the next buffer
|
||||
sink_stream.Flush();
|
||||
@@ -121,6 +130,9 @@ void Stream::PlayNextBuffer(std::chrono::nanoseconds ns_late) {
|
||||
ns_late = {};
|
||||
}
|
||||
|
||||
#ifndef _WIN32
|
||||
expected_cb_time = nanoseconds + (buffer_release_ns - ns_late);
|
||||
#endif
|
||||
core_timing.ScheduleEvent(buffer_release_ns - ns_late, release_event, {});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -124,6 +123,9 @@ private:
|
||||
SinkStream& sink_stream; ///< Output sink for the stream
|
||||
Core::Timing::CoreTiming& core_timing; ///< Core timing instance.
|
||||
std::string name; ///< Name of the stream, must be unique
|
||||
#ifndef _WIN32
|
||||
std::chrono::nanoseconds expected_cb_time = {}; ///< Estimated time of next callback
|
||||
#endif
|
||||
};
|
||||
|
||||
using StreamPtr = std::shared_ptr<Stream>;
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <cstddef>
|
||||
#include "audio_core/time_stretch.h"
|
||||
#include "common/logging/log.h"
|
||||
|
||||
namespace AudioCore {
|
||||
|
||||
TimeStretcher::TimeStretcher(u32 sample_rate, u32 channel_count) : m_sample_rate{sample_rate} {
|
||||
m_sound_touch.setChannels(channel_count);
|
||||
m_sound_touch.setSampleRate(sample_rate);
|
||||
m_sound_touch.setPitch(1.0);
|
||||
m_sound_touch.setTempo(1.0);
|
||||
}
|
||||
|
||||
void TimeStretcher::Clear() {
|
||||
m_sound_touch.clear();
|
||||
}
|
||||
|
||||
void TimeStretcher::Flush() {
|
||||
m_sound_touch.flush();
|
||||
}
|
||||
|
||||
std::size_t TimeStretcher::Process(const s16* in, std::size_t num_in, s16* out,
|
||||
std::size_t num_out) {
|
||||
const double time_delta = static_cast<double>(num_out) / m_sample_rate; // seconds
|
||||
|
||||
// We were given actual_samples number of samples, and num_samples were requested from us.
|
||||
double current_ratio = static_cast<double>(num_in) / static_cast<double>(num_out);
|
||||
|
||||
const double max_latency = 0.25; // seconds
|
||||
const double max_backlog = m_sample_rate * max_latency;
|
||||
const double backlog_fullness = m_sound_touch.numSamples() / max_backlog;
|
||||
if (backlog_fullness > 4.0) {
|
||||
// Too many samples in backlog: Don't push anymore on
|
||||
num_in = 0;
|
||||
}
|
||||
|
||||
// We ideally want the backlog to be about 50% full.
|
||||
// This gives some headroom both ways to prevent underflow and overflow.
|
||||
// We tweak current_ratio to encourage this.
|
||||
constexpr double tweak_time_scale = 0.05; // seconds
|
||||
const double tweak_correction = (backlog_fullness - 0.5) * (time_delta / tweak_time_scale);
|
||||
current_ratio *= std::pow(1.0 + 2.0 * tweak_correction, tweak_correction < 0 ? 3.0 : 1.0);
|
||||
|
||||
// This low-pass filter smoothes out variance in the calculated stretch ratio.
|
||||
// The time-scale determines how responsive this filter is.
|
||||
constexpr double lpf_time_scale = 0.712; // seconds
|
||||
const double lpf_gain = 1.0 - std::exp(-time_delta / lpf_time_scale);
|
||||
m_stretch_ratio += lpf_gain * (current_ratio - m_stretch_ratio);
|
||||
|
||||
// Place a lower limit of 5% speed. When a game boots up, there will be
|
||||
// many silence samples. These do not need to be timestretched.
|
||||
m_stretch_ratio = std::max(m_stretch_ratio, 0.05);
|
||||
m_sound_touch.setTempo(m_stretch_ratio);
|
||||
|
||||
LOG_TRACE(Audio, "{:5}/{:5} ratio:{:0.6f} backlog:{:0.6f}", num_in, num_out, m_stretch_ratio,
|
||||
backlog_fullness);
|
||||
|
||||
m_sound_touch.putSamples(in, static_cast<u32>(num_in));
|
||||
return m_sound_touch.receiveSamples(out, static_cast<u32>(num_out));
|
||||
}
|
||||
|
||||
} // namespace AudioCore
|
||||
@@ -1,34 +0,0 @@
|
||||
// Copyright 2018 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <cstddef>
|
||||
#include <SoundTouch.h>
|
||||
#include "common/common_types.h"
|
||||
|
||||
namespace AudioCore {
|
||||
|
||||
class TimeStretcher {
|
||||
public:
|
||||
TimeStretcher(u32 sample_rate, u32 channel_count);
|
||||
|
||||
/// @param in Input sample buffer
|
||||
/// @param num_in Number of input frames in `in`
|
||||
/// @param out Output sample buffer
|
||||
/// @param num_out Desired number of output frames in `out`
|
||||
/// @returns Actual number of frames written to `out`
|
||||
std::size_t Process(const s16* in, std::size_t num_in, s16* out, std::size_t num_out);
|
||||
|
||||
void Clear();
|
||||
|
||||
void Flush();
|
||||
|
||||
private:
|
||||
u32 m_sample_rate;
|
||||
soundtouch::SoundTouch m_sound_touch;
|
||||
double m_stretch_ratio = 1.0;
|
||||
};
|
||||
|
||||
} // namespace AudioCore
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2020 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -22,6 +22,11 @@ add_custom_command(OUTPUT scm_rev.cpp
|
||||
-DTITLE_BAR_FORMAT_RUNNING=${TITLE_BAR_FORMAT_RUNNING}
|
||||
-DBUILD_TAG=${BUILD_TAG}
|
||||
-DBUILD_ID=${DISPLAY_VERSION}
|
||||
-DGIT_REF_SPEC=${GIT_REF_SPEC}
|
||||
-DGIT_REV=${GIT_REV}
|
||||
-DGIT_DESC=${GIT_DESC}
|
||||
-DGIT_BRANCH=${GIT_BRANCH}
|
||||
-DBUILD_FULLNAME=${BUILD_FULLNAME}
|
||||
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
|
||||
-P ${CMAKE_SOURCE_DIR}/CMakeModules/GenerateSCMRev.cmake
|
||||
DEPENDS
|
||||
@@ -55,6 +60,7 @@ add_library(common STATIC
|
||||
dynamic_library.h
|
||||
error.cpp
|
||||
error.h
|
||||
expected.h
|
||||
fiber.cpp
|
||||
fiber.h
|
||||
fs/file.cpp
|
||||
@@ -72,12 +78,14 @@ add_library(common STATIC
|
||||
hex_util.h
|
||||
host_memory.cpp
|
||||
host_memory.h
|
||||
input.h
|
||||
intrusive_red_black_tree.h
|
||||
literals.h
|
||||
logging/backend.cpp
|
||||
logging/backend.h
|
||||
logging/filter.cpp
|
||||
logging/filter.h
|
||||
logging/formatter.h
|
||||
logging/log.h
|
||||
logging/log_entry.h
|
||||
logging/text_formatter.cpp
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// Copyright 2019 yuzu emulator team
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
Loaded 100 of 1593 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user