summaryrefslogtreecommitdiff
path: root/media-libs/mesa
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-06 00:07:58 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-06 00:07:58 +0100
commit44cec61076bf2bbb3cea1fc89943dd6818a5acc5 (patch)
tree68f1cddcf97a0d746c1e9c186171b7bd603efccf /media-libs/mesa
parent9d1e33edaf09cde926d589461f40e378d4124be9 (diff)
gentoo auto-resync : 06:06:2024 - 00:07:57
Diffstat (limited to 'media-libs/mesa')
-rw-r--r--media-libs/mesa/Manifest14
-rw-r--r--media-libs/mesa/mesa-24.0.7.ebuild8
-rw-r--r--media-libs/mesa/mesa-24.0.8-r1.ebuild8
-rw-r--r--media-libs/mesa/mesa-24.0.8.ebuild8
-rw-r--r--media-libs/mesa/mesa-24.1.0-r1.ebuild76
-rw-r--r--media-libs/mesa/mesa-24.1.0.ebuild8
-rw-r--r--media-libs/mesa/mesa-24.1.1.ebuild493
-rw-r--r--media-libs/mesa/mesa-9999.ebuild81
8 files changed, 624 insertions, 72 deletions
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 03e5be4a8049..f70266110f03 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -2,15 +2,17 @@ AUX 24.0.4-dzn-Include-vulkan_core.h-instead-of-vulkan.h-in-the.patch 1088 BLAKE
DIST mesa-24.0.7.tar.xz 20144724 BLAKE2B d9438e533b471445b2403e01e1fd593d83c0013b0991585f718122f1cadc6ac6bb1fb913f0fb257354ae21ddd9fe1f970ad9ac46f05d756c223ed56a11b9c9ce SHA512 77b0fae80ab0a07e2e528c113eadef0e3004b8df3e6e98fffe6fc2d8ac39f5ce7fa38ebe5c2ae32bfbac993dd7cbe288ace18ebb03cf2fb445fe7114f74dd45c
DIST mesa-24.0.8.tar.xz 20170168 BLAKE2B 1919e99e6ccbd51c8e74e55985ea9a3f47bf49c7e4260a195a609ce175eeded9fc5a56970ae35d21bc650e4bb802df484d2088b29ef3861d13942bd495891a9a SHA512 1e1be9b50c2a404a96960db87d2ba4cd1c602445f9ab8acfb6a8a023410063620c2ef891fe516afec3d830756e0b0f4309ef50c6caeefa44e164b414c4708b10
DIST mesa-24.1.0.tar.xz 28994008 BLAKE2B 1558d20d426162bfe8cccf96107ddbf1373c8322f87f48daec73e23b283e00f95d6efd073cad9b92065928af4b9b4a339ff2d204412070eca903f77ca366e619 SHA512 4b7ed1940fc812ef4efb55978d3ffe3d0e2ae53d5b57a3baca10a52db2ba5852c5ee7e75c3739bd8d384c80bf1cba970a384250050f01f03bba98f255e12cec5
+DIST mesa-24.1.1.tar.xz 29019256 BLAKE2B 152ce5f4847a321689bf4aa88529963278f7dd24097c4c3de2b3a9164d06cd23d7cccd96bd31fea88311ded576c834a73e2d669e6d290404283f33f92b9bf262 SHA512 a23fc2fe479f21027095a7791042148586b23da848474209ca4fecfe5c4d499e66fff0ebfa06d07ed9f16b5d6a2ef755b362cb6079141aff5fdc47cc571e3b1d
DIST paste-1.0.14.tar.gz 18429 BLAKE2B 88f533fd336bbbe24872b100777703832ff46b52970b94981fea202726de35ac0d3466f96370fa89c966b33e0f13c75cbf7f5f88bba290dc490a63c9e08a0b16 SHA512 0ec40c228afe645cb027a99c8bd8f7c65158aab48655018a45736727906b05f7354df114405f2eae88c4eba73dec62e8228f8be9834afa0f22b5f31c18006d34
DIST proc-macro2-1.0.70.tar.gz 46747 BLAKE2B 808e3a30c89fd979663899124853d386cc53862621f4d872bba87fe91baccddbc6612bd658b4c18b44f8420fcb10700b2906cde9c9512a616ab800ebbfb0867d SHA512 cd5c41ef6a410e310e90828a33fee42c1e2bf30dfc2b0a0cf429fcc60fa1262393c977b2cab5f8a50a35fd1394fd6cc7e7a482581f88dcde20d9ad030c7414a5
DIST quote-1.0.33.tar.gz 32169 BLAKE2B 2438915aebe30b79929ddc6ed8bad5282537b081c763a3d6b2b9483b63e7b5e99b9bba6f1f7deb725031b23384410b60c7cc4aef0b00bb1d94541cde54408ee3 SHA512 3c000577d0e9f82bc379570a4fa63283d73cfc6dee0475475ba201994491dece0110cdefc26fcf9a3b9d0bf50a3649ca5b68c8a0f6f2e620946b624ff8b8f38b
DIST syn-2.0.39.tar.gz 286899 BLAKE2B 8bf5e89cb961195b48896294dc876d4e5e81fe7ac1df5330b972e6fdcfa2cf89fd1467f315081f84c1f447d402850e0ab4c7dc2bd20271c5e2bc9a2e3008f70b SHA512 2ee6bb196bef427a9b9aada38fb3a3a11e893c4e9e8808063f544f5c05cda58d554dfea24488dd60b4c299457852b52bf17e5de8595333ff4f2358441964c672
DIST unicode-ident-1.0.12.tar.gz 50118 BLAKE2B 04e2651e14251d68f4e7e70e1e7a6d5eded21aa4f684c6162a91608189f6dcabaca4aa22204c40e08c82d76773c679ff965f21836264885a3b4cb62d7aa762db SHA512 0d0228bfd8eb6a94d8ae4a003511dd5ad52a58b08d98a8f0a8c5e3dc8b3e6b987ea5009255dc1e9c411f91aec16edc4aaff26ed7a9c48430272f970cd2a9510d
-EBUILD mesa-24.0.7.ebuild 11623 BLAKE2B c4a62576ed60ec76eb4c8e8ec9088caf83e2e122dd858c0dce64aca4d00b099b02d6106da02420889e9852843451a65aea8d66542dcf933cf46d33ac5cc3a2ea SHA512 5b41a2eee65e406369d358a16a2356bb4a6d56cccc57aec2aec3046dbc5e51946cd3d26686715f0c4fec7752294a5fa1d380e7aecf3500939ab36ce3257d9623
-EBUILD mesa-24.0.8-r1.ebuild 11797 BLAKE2B b71065c8f66ae5e8f838029022f958d077429cad7238183082856009096c58796949faee327cae6d4b4bd797ff4485a100d980193b0667f66e6f7208cd9625cd SHA512 df8e99dfb89387e2ddac792f8c57fc1ef1498207617b8a88268a1fb2dc2ff6e2b7113d0e9fa68783d4e5d56eb549fd0e69a1fd9e3f976e5fb5994d9fee97cc29
-EBUILD mesa-24.0.8.ebuild 11630 BLAKE2B 4c0b8bee298f59954db6759e92464530c0fd7684425ebbbd4985e0d7f87e004f1c0990ec5468266ee9773833fc00f6287ef162d9abaca1ebeb553fe0d26bc19f SHA512 0854e76a64cc3bb2bcd873805a1c92a46bb82cbba2a107cfd43af676da0eab5b755646155164182dedd8a3dc26a6b73a11e8c366ba8067e142b49ac6d48ec4f4
-EBUILD mesa-24.1.0-r1.ebuild 13686 BLAKE2B d3ee390ca6773f5a99a683b703c524df54922743849e3690655c9cd0938e1678c0909aa368dacd2fcdeb4a82f2bf1be145402ea2c0678793c6a52163307930d1 SHA512 a0f7d546432438340d3f7d74ffd3d168addcdf81ba7c68315e9960d6922fd11fcf75ea1190ef8341035429b54158481c8b16df5085625d3cf6cdf13a6712ab14
-EBUILD mesa-24.1.0.ebuild 13477 BLAKE2B 8ba955abf455044183db4601302c7473228c47b79318b837bfdf51aec8671f901744cc9bef54782bccee230d72a2a4c4e94c53279e8991292a9875fba98af444 SHA512 ecfd3177d7edd5d1ae5c56f7d19c7ceb2e42aa0d88df67a90db14609c7959f54c37244dab369c8c35d1e5e72e846957229f92250591fbd3e6c033005018506ee
-EBUILD mesa-9999.ebuild 13686 BLAKE2B d3ee390ca6773f5a99a683b703c524df54922743849e3690655c9cd0938e1678c0909aa368dacd2fcdeb4a82f2bf1be145402ea2c0678793c6a52163307930d1 SHA512 a0f7d546432438340d3f7d74ffd3d168addcdf81ba7c68315e9960d6922fd11fcf75ea1190ef8341035429b54158481c8b16df5085625d3cf6cdf13a6712ab14
+EBUILD mesa-24.0.7.ebuild 11737 BLAKE2B c63e9edb6075b0af71fbcbc60eb6917468cad89ab245b8b0ef66dde87b85851966b98fd1b9730ce8e7f0e0423de7a44ee08807f2aa3842d44d4e2119b786d910 SHA512 dc68bed1f727ad15d1ab0a211b2fd377e554d2a11b3a7739f3ae7b2c2789a1981c46323464aeac5321bb65f5aa77d7639e0723f5f1374f8c8d4f6c1b92d04e60
+EBUILD mesa-24.0.8-r1.ebuild 11911 BLAKE2B ccbb733ee83f0f7869eaf08cfd48041adc3a49a27dd16169e7cf358f75fafb7088d3318313c279979df2e46d704f919cc4cb74ebe73cabdd88eeeba30023cea8 SHA512 fdcf5d16e88691846e38eb688889abdb559dba5e2c4545d5e4957ad66c1fd5836f37300940f74968cadb3f988a56642960c65dda268558b561901ebd66e39b6d
+EBUILD mesa-24.0.8.ebuild 11744 BLAKE2B fd8bd36715e2445ea0293040a7ee58aa0750506a775caaed4784c1ada06af600c50327631a6354403c056409cc677a5f07542f9b7c8674645e5a7e3a532efc58 SHA512 aca57c57340534506fc49ac0313d97017e53891d35bd4460908164056cdf441e7be3fbbfdbb5e9a216dde36b14d4728aa2b591593910ec5ad12d5f4f8269bcc5
+EBUILD mesa-24.1.0-r1.ebuild 14471 BLAKE2B f3bd8b5deb02aceacc0769de3e027fe56ad44cd7b8e0d88760b676d71ceae2c95e8773a284df54338204fb204d198f6ec648b0eabf30516d017ece9b385ecd33 SHA512 8a9dcd0566799621d95c9b1063096cc67a65c9e896ab4e3bb6d59711c4c39b633cfc692bc4f2702e474bd9633a3e446451b462bba164f235cc9d7b64a27065ca
+EBUILD mesa-24.1.0.ebuild 13591 BLAKE2B 25e06dfe37d5cad418b2caaadc7f3f22cb1842bd65d712d8e65bb348d26e51ed454755ae8dab6f6aeb803d0bb3df31113766eb0e60abb7493f339efee7cb4746 SHA512 b3d46efea43238b22eff219ef54af8a803e86b52e75e9cf9ccadc3e63fed3aa203721fa5aeeb2e7bcfdd4860baf66f41a0b1e672f5423c7f4e4b04620822bd9e
+EBUILD mesa-24.1.1.ebuild 14310 BLAKE2B 21c697eb3bcd4dddeec9877fcee16f819ca89f9eacbfbe6c7ca4868da32925a103f3051a87219d8e93440c669a435be388ed4206aead86e46119117fcd2e155f SHA512 1f12d36112aa3ddbf8e26e00899f662f40301c7bf60e86cec53f74e1f0c199c6d33f1f095691d0d20ef9de52411a84dcd90f7f8e45056950eea5f8730306f0c2
+EBUILD mesa-9999.ebuild 14310 BLAKE2B 21c697eb3bcd4dddeec9877fcee16f819ca89f9eacbfbe6c7ca4868da32925a103f3051a87219d8e93440c669a435be388ed4206aead86e46119117fcd2e155f SHA512 1f12d36112aa3ddbf8e26e00899f662f40301c7bf60e86cec53f74e1f0c199c6d33f1f095691d0d20ef9de52411a84dcd90f7f8e45056950eea5f8730306f0c2
MISC metadata.xml 1435 BLAKE2B 53690878512b86ce0b8dce38b083684c85ad5c1a655d5a69cb3265e156869845263eb16f271691b66c9f0cd76e97b56908acf7a1792d6abac0ec99447826cbb5 SHA512 842106e5d6eb60ff33c8cae7f0d52983c4f7e104152718b50fc790cbcb2506551a6fc7841fe8e3c7963850c238f77505b0e49b10a3a936baf459e1acaf73e07f
diff --git a/media-libs/mesa/mesa-24.0.7.ebuild b/media-libs/mesa/mesa-24.0.7.ebuild
index 6728b6089ac8..079bc478b34e 100644
--- a/media-libs/mesa/mesa-24.0.7.ebuild
+++ b/media-libs/mesa/mesa-24.0.7.ebuild
@@ -137,7 +137,10 @@ BDEPEND="
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ ")
vulkan? (
dev-util/glslang
llvm? (
@@ -212,7 +215,8 @@ pkg_pretend() {
}
python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
if use llvm && use vulkan && use video_cards_intel && use amd64; then
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
fi
diff --git a/media-libs/mesa/mesa-24.0.8-r1.ebuild b/media-libs/mesa/mesa-24.0.8-r1.ebuild
index b676b84c8534..41c743d15fe6 100644
--- a/media-libs/mesa/mesa-24.0.8-r1.ebuild
+++ b/media-libs/mesa/mesa-24.0.8-r1.ebuild
@@ -137,7 +137,10 @@ BDEPEND="
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ ")
vulkan? (
dev-util/glslang
llvm? (
@@ -212,7 +215,8 @@ pkg_pretend() {
}
python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
if use llvm && use vulkan && use video_cards_intel && use amd64; then
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
fi
diff --git a/media-libs/mesa/mesa-24.0.8.ebuild b/media-libs/mesa/mesa-24.0.8.ebuild
index 53d40957a9fc..53ea99b9ba47 100644
--- a/media-libs/mesa/mesa-24.0.8.ebuild
+++ b/media-libs/mesa/mesa-24.0.8.ebuild
@@ -137,7 +137,10 @@ BDEPEND="
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ ")
vulkan? (
dev-util/glslang
llvm? (
@@ -212,7 +215,8 @@ pkg_pretend() {
}
python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
if use llvm && use vulkan && use video_cards_intel && use amd64; then
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
fi
diff --git a/media-libs/mesa/mesa-24.1.0-r1.ebuild b/media-libs/mesa/mesa-24.1.0-r1.ebuild
index 9979d5a20b5d..3e505dc7f31e 100644
--- a/media-libs/mesa/mesa-24.1.0-r1.ebuild
+++ b/media-libs/mesa/mesa-24.1.0-r1.ebuild
@@ -46,7 +46,7 @@ LICENSE="MIT SGI-B-2.0"
SLOT="0"
RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware"
+VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink"
for card in ${VIDEO_CARDS}; do
IUSE_VIDEO_CARDS+=" video_cards_${card}"
done
@@ -55,17 +55,20 @@ IUSE="${IUSE_VIDEO_CARDS}
cpu_flags_x86_sse2 d3d9 debug +llvm
lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
+ vulkan-overlay wayland +X xa +zstd"
RESTRICT="!test? ( test )"
REQUIRED_USE="
d3d9? (
|| (
+ video_cards_freedreno
video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
video_cards_r300
video_cards_r600
video_cards_radeonsi
- video_cards_nouveau
video_cards_vmware
+ video_cards_zink
)
)
llvm? ( ${LLVM_REQUIRED_USE} )
@@ -73,10 +76,10 @@ REQUIRED_USE="
video_cards_lavapipe? ( llvm vulkan )
video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
video_cards_nvk? ( vulkan video_cards_nouveau )
vdpau? ( X )
xa? ( X )
- zink? ( opengl vulkan )
"
LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
@@ -112,6 +115,7 @@ RDEPEND="
)
vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
@@ -124,7 +128,6 @@ RDEPEND="
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
)
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
for card in ${RADEON_CARDS}; do
@@ -157,7 +160,10 @@ BDEPEND="
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ ")
video_cards_intel? (
~dev-util/intel_clc-${PV}
dev-libs/libclc[spirv(-)]
@@ -192,37 +198,44 @@ pkg_pretend() {
if ! use video_cards_d3d12 &&
! use video_cards_freedreno &&
! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
! use video_cards_radeonsi &&
! use video_cards_v3d &&
- ! use video_cards_nvk; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, v3d, or nvk"
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
fi
fi
+ # VA
if use vaapi; then
if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
! use video_cards_r600 &&
! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
fi
fi
if use vdpau; then
if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
+ ! use video_cards_nouveau &&
! use video_cards_r600 &&
! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
fi
fi
if use xa; then
if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
! use video_cards_nouveau &&
! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
fi
fi
@@ -236,7 +249,8 @@ pkg_pretend() {
}
python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
if use llvm && use vulkan && use video_cards_intel && use amd64; then
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
fi
@@ -298,21 +312,25 @@ multilib_src_configure() {
use wayland && platforms+=",wayland"
emesonargs+=(-Dplatforms=${platforms#,})
- if use video_cards_intel ||
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
use video_cards_r300 ||
use video_cards_r600 ||
use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
+ use video_cards_vmware || # swrast
+ use video_cards_zink; then
emesonargs+=($(meson_use d3d9 gallium-nine))
else
emesonargs+=(-Dgallium-nine=false)
fi
if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
use video_cards_r600 ||
use video_cards_radeonsi ||
- use video_cards_nouveau; then
+ use video_cards_virgl; then
emesonargs+=($(meson_feature vaapi gallium-va))
use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
else
@@ -324,16 +342,17 @@ multilib_src_configure() {
fi
if use video_cards_d3d12 ||
- use video_cards_r300 ||
+ use video_cards_nouveau ||
use video_cards_r600 ||
use video_cards_radeonsi ||
- use video_cards_nouveau; then
+ use video_cards_virgl; then
emesonargs+=($(meson_feature vdpau gallium-vdpau))
else
emesonargs+=(-Dgallium-vdpau=disabled)
fi
if use video_cards_freedreno ||
+ use video_cards_intel ||
use video_cards_nouveau ||
use video_cards_vmware; then
emesonargs+=($(meson_feature xa gallium-xa))
@@ -351,10 +370,10 @@ multilib_src_configure() {
fi
gallium_enable -- swrast
+ gallium_enable video_cards_d3d12 d3d12
gallium_enable video_cards_freedreno freedreno
gallium_enable video_cards_intel crocus i915 iris
gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
gallium_enable video_cards_nouveau nouveau
gallium_enable video_cards_panfrost panfrost
gallium_enable video_cards_v3d v3d
@@ -362,13 +381,13 @@ multilib_src_configure() {
gallium_enable video_cards_virgl virgl
gallium_enable video_cards_vivante etnaviv
gallium_enable video_cards_vmware svga
- gallium_enable zink zink
+ gallium_enable video_cards_zink zink
gallium_enable video_cards_r300 r300
gallium_enable video_cards_r600 r600
gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 && \
- ! use video_cards_r600; then
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
gallium_enable video_cards_radeon r300 r600
fi
@@ -382,12 +401,15 @@ multilib_src_configure() {
fi
if use vulkan; then
- vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_d3d12 microsoft-experimental
vulkan_enable video_cards_freedreno freedreno
vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
vulkan_enable video_cards_radeonsi amd
vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
if use video_cards_nvk; then
vulkan_enable video_cards_nvk nouveau
if ! multilib_is_native_abi; then
diff --git a/media-libs/mesa/mesa-24.1.0.ebuild b/media-libs/mesa/mesa-24.1.0.ebuild
index f9c4e1acfcbb..74f5ca28a2f6 100644
--- a/media-libs/mesa/mesa-24.1.0.ebuild
+++ b/media-libs/mesa/mesa-24.1.0.ebuild
@@ -157,7 +157,10 @@ BDEPEND="
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ ")
video_cards_intel? (
~dev-util/intel_clc-${PV}
dev-libs/libclc[spirv(-)]
@@ -236,7 +239,8 @@ pkg_pretend() {
}
python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
if use llvm && use vulkan && use video_cards_intel && use amd64; then
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
fi
diff --git a/media-libs/mesa/mesa-24.1.1.ebuild b/media-libs/mesa/mesa-24.1.1.ebuild
new file mode 100644
index 000000000000..c184d9ab1e76
--- /dev/null
+++ b/media-libs/mesa/mesa-24.1.1.ebuild
@@ -0,0 +1,493 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain toolchain-funcs
+
+MY_P="${P/_/-}"
+
+SYN_PV=2.0.39
+PROC_MACRO2_PV=1.0.70
+QUOTE_PV=1.0.33
+UNICODE_IDENT_PV=1.0.12
+PASTE_PV=1.0.14
+
+NAK_URI="
+ https://github.com/dtolnay/syn/archive/refs/tags/${SYN_PV}.tar.gz -> syn-${SYN_PV}.tar.gz
+ https://github.com/dtolnay/proc-macro2/archive/refs/tags/${PROC_MACRO2_PV}.tar.gz -> proc-macro2-${PROC_MACRO2_PV}.tar.gz
+ https://github.com/dtolnay/quote/archive/refs/tags/${QUOTE_PV}.tar.gz -> quote-${QUOTE_PV}.tar.gz
+ https://github.com/dtolnay/unicode-ident/archive/refs/tags/${UNICODE_IDENT_PV}.tar.gz -> unicode-ident-${UNICODE_IDENT_PV}.tar.gz
+ https://github.com/dtolnay/paste/archive/refs/tags/${PASTE_PV}.tar.gz -> paste-${PASTE_PV}.tar.gz
+"
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ SRC_URI="${NAK_URI}"
+ inherit git-r3
+else
+ SRC_URI="
+ https://archive.mesa3d.org/${MY_P}.tar.xz
+ ${NAK_URI}
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ vulkan-overlay? ( vulkan )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ )
+ ")
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3
+ dev-libs/libclc[spirv(-)]
+ >=dev-util/spirv-tools-1.3.231.0
+ virtual/libelf:0=
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.34 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ >=virtual/rust-1.62.0
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ >=virtual/rust-1.74.1
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+QA_WX_LOAD="
+x86? (
+ usr/lib/libglapi.so.0.0.0
+ usr/lib/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+ [[ ${PV} == 9999 ]] && git-r3_src_unpack
+ unpack ${A}
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
+ fi
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+
+ if use video_cards_nvk; then
+ # NVK Subproject Handling
+ pushd "${S}" >/dev/null || die
+ for subpkg in proc-macro2-${PROC_MACRO2_PV} syn-${SYN_PV} quote-${QUOTE_PV} unicode-ident-${UNICODE_IDENT_PV} paste-${PASTE_PV}; do
+ # copy subprojects folder
+ cp -r ../${subpkg} subprojects || die
+ # copy meson.build
+ cp subprojects/packagefiles/${subpkg%-*}/meson.build subprojects/${subpkg} || die
+ # ovewrite subpkg version when needed
+ sed -i -e "s/directory = \S\+/directory = ${subpkg}/" subprojects/${subpkg%-*}.wrap || die
+ done
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # swrast
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_lima ||
+ use video_cards_panfrost ||
+ use video_cards_v3d ||
+ use video_cards_vc4 ||
+ use video_cards_vivante; then
+ gallium_enable -- kmsro
+ fi
+
+ gallium_enable -- swrast
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ if use llvm && use opencl; then
+ PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+ # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+ emesonargs+=(
+ $(meson_native_true gallium-rusticl)
+ -Drust_std=2021
+ )
+ fi
+
+ if use vulkan; then
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ local vulkan_layers
+ use vulkan && vulkan_layers+="device-select"
+ use vulkan-overlay && vulkan_layers+=",overlay"
+ emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
+
+ if use opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 9979d5a20b5d..c184d9ab1e76 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -46,7 +46,7 @@ LICENSE="MIT SGI-B-2.0"
SLOT="0"
RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware"
+VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink"
for card in ${VIDEO_CARDS}; do
IUSE_VIDEO_CARDS+=" video_cards_${card}"
done
@@ -55,17 +55,20 @@ IUSE="${IUSE_VIDEO_CARDS}
cpu_flags_x86_sse2 d3d9 debug +llvm
lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
+ vulkan-overlay wayland +X xa +zstd"
RESTRICT="!test? ( test )"
REQUIRED_USE="
d3d9? (
|| (
+ video_cards_freedreno
video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
video_cards_r300
video_cards_r600
video_cards_radeonsi
- video_cards_nouveau
video_cards_vmware
+ video_cards_zink
)
)
llvm? ( ${LLVM_REQUIRED_USE} )
@@ -73,10 +76,10 @@ REQUIRED_USE="
video_cards_lavapipe? ( llvm vulkan )
video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
video_cards_nvk? ( vulkan video_cards_nouveau )
vdpau? ( X )
xa? ( X )
- zink? ( opengl vulkan )
"
LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
@@ -112,6 +115,7 @@ RDEPEND="
)
vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
@@ -124,7 +128,6 @@ RDEPEND="
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
)
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
for card in ${RADEON_CARDS}; do
@@ -145,19 +148,20 @@ DEPEND="${RDEPEND}
x11-base/xorg-proto
)
"
-# meson-1.4.0 contains a regression, so it fails to compile nouveau/NVK
-# see https://gitlab.freedesktop.org/mesa/mesa/-/issues/10855
BDEPEND="
${PYTHON_DEPS}
opencl? (
>=virtual/rust-1.62.0
>=dev-util/bindgen-0.58.0
- >=dev-build/meson-1.3.1
)
+ >=dev-build/meson-1.4.1
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ ")
video_cards_intel? (
~dev-util/intel_clc-${PV}
dev-libs/libclc[spirv(-)]
@@ -169,7 +173,6 @@ BDEPEND="
>=dev-util/bindgen-0.68.1
>=dev-util/cbindgen-0.26.0
>=virtual/rust-1.74.1
- <dev-build/meson-1.4.0
)
)
wayland? ( dev-util/wayland-scanner )
@@ -192,37 +195,44 @@ pkg_pretend() {
if ! use video_cards_d3d12 &&
! use video_cards_freedreno &&
! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
! use video_cards_radeonsi &&
! use video_cards_v3d &&
- ! use video_cards_nvk; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, v3d, or nvk"
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
fi
fi
+ # VA
if use vaapi; then
if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
! use video_cards_r600 &&
! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
fi
fi
if use vdpau; then
if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
+ ! use video_cards_nouveau &&
! use video_cards_r600 &&
! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
fi
fi
if use xa; then
if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
! use video_cards_nouveau &&
! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
fi
fi
@@ -236,7 +246,8 @@ pkg_pretend() {
}
python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1
if use llvm && use vulkan && use video_cards_intel && use amd64; then
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
fi
@@ -298,21 +309,25 @@ multilib_src_configure() {
use wayland && platforms+=",wayland"
emesonargs+=(-Dplatforms=${platforms#,})
- if use video_cards_intel ||
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
use video_cards_r300 ||
use video_cards_r600 ||
use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
+ use video_cards_vmware || # swrast
+ use video_cards_zink; then
emesonargs+=($(meson_use d3d9 gallium-nine))
else
emesonargs+=(-Dgallium-nine=false)
fi
if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
use video_cards_r600 ||
use video_cards_radeonsi ||
- use video_cards_nouveau; then
+ use video_cards_virgl; then
emesonargs+=($(meson_feature vaapi gallium-va))
use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
else
@@ -324,16 +339,17 @@ multilib_src_configure() {
fi
if use video_cards_d3d12 ||
- use video_cards_r300 ||
+ use video_cards_nouveau ||
use video_cards_r600 ||
use video_cards_radeonsi ||
- use video_cards_nouveau; then
+ use video_cards_virgl; then
emesonargs+=($(meson_feature vdpau gallium-vdpau))
else
emesonargs+=(-Dgallium-vdpau=disabled)
fi
if use video_cards_freedreno ||
+ use video_cards_intel ||
use video_cards_nouveau ||
use video_cards_vmware; then
emesonargs+=($(meson_feature xa gallium-xa))
@@ -351,10 +367,10 @@ multilib_src_configure() {
fi
gallium_enable -- swrast
+ gallium_enable video_cards_d3d12 d3d12
gallium_enable video_cards_freedreno freedreno
gallium_enable video_cards_intel crocus i915 iris
gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
gallium_enable video_cards_nouveau nouveau
gallium_enable video_cards_panfrost panfrost
gallium_enable video_cards_v3d v3d
@@ -362,13 +378,13 @@ multilib_src_configure() {
gallium_enable video_cards_virgl virgl
gallium_enable video_cards_vivante etnaviv
gallium_enable video_cards_vmware svga
- gallium_enable zink zink
+ gallium_enable video_cards_zink zink
gallium_enable video_cards_r300 r300
gallium_enable video_cards_r600 r600
gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 && \
- ! use video_cards_r600; then
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
gallium_enable video_cards_radeon r300 r600
fi
@@ -382,12 +398,15 @@ multilib_src_configure() {
fi
if use vulkan; then
- vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_d3d12 microsoft-experimental
vulkan_enable video_cards_freedreno freedreno
vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
vulkan_enable video_cards_radeonsi amd
vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
if use video_cards_nvk; then
vulkan_enable video_cards_nvk nouveau
if ! multilib_is_native_abi; then