diff options
Diffstat (limited to 'media-libs/mesa/mesa-9999.ebuild')
-rw-r--r-- | media-libs/mesa/mesa-9999.ebuild | 367 |
1 files changed, 139 insertions, 228 deletions
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index d200a650255d..35aa38434e1b 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -26,46 +26,27 @@ RESTRICT=" !test? ( test ) " -RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} crocus freedreno i915 i965 intel iris lima nouveau panfrost v3d vc4 virgl vivante vmware" +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware" for card in ${VIDEO_CARDS}; do IUSE_VIDEO_CARDS+=" video_cards_${card}" done IUSE="${IUSE_VIDEO_CARDS} - +classic cpu_flags_x86_sse2 d3d9 debug +gallium gles1 +gles2 +llvm + cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm lm-sensors opencl osmesa selinux test unwind vaapi valgrind vdpau vulkan vulkan-overlay wayland +X xa xvmc zink +zstd" REQUIRED_USE=" - d3d9? ( gallium || ( video_cards_iris video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) ) - osmesa? ( gallium ) + d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) ) vulkan? ( video_cards_radeonsi? ( llvm ) ) vulkan-overlay? ( vulkan ) - video_cards_crocus? ( gallium ) - video_cards_freedreno? ( gallium ) - video_cards_intel? ( classic ) - video_cards_i915? ( || ( classic gallium ) ) - video_cards_i965? ( classic ) - video_cards_iris? ( gallium ) - video_cards_lima? ( gallium ) - video_cards_nouveau? ( || ( classic gallium ) ) - video_cards_panfrost? ( gallium ) - video_cards_radeon? ( || ( classic gallium ) - gallium? ( x86? ( llvm ) amd64? ( llvm ) ) ) - video_cards_r100? ( classic ) - video_cards_r200? ( classic ) - video_cards_r300? ( gallium x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r600? ( gallium ) - video_cards_radeonsi? ( gallium llvm ) - video_cards_v3d? ( gallium ) - video_cards_vc4? ( gallium ) - video_cards_virgl? ( gallium ) - video_cards_vivante? ( gallium ) - video_cards_vmware? ( gallium ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_radeonsi? ( llvm ) xa? ( X ) xvmc? ( X ) - zink? ( gallium vulkan ) + zink? ( vulkan ) " LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.109" @@ -73,40 +54,34 @@ RDEPEND=" >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}] >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] - gallium? ( - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + video_cards_radeonsi? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3[${MULTILIB_USEDEP}] - dev-libs/libclc - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - vaapi? ( - >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] ) - xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3[${MULTILIB_USEDEP}] + dev-libs/libclc + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + vaapi? ( + >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] ) + vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] ) + xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] ) selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) wayland? ( >=dev-libs/wayland-1.18.0:=[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - video_cards_intel? ( - !video_cards_i965? ( ${LIBDRM_DEPSTRING}[video_cards_intel] ) - ) - video_cards_i915? ( ${LIBDRM_DEPSTRING}[video_cards_intel] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] vulkan-overlay? ( dev-util/glslang:0=[${MULTILIB_USEDEP}] ) X? ( >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}] @@ -149,53 +124,51 @@ LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]} CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang} CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]} RDEPEND="${RDEPEND} - gallium? ( - llvm? ( - opencl? ( - video_cards_r600? ( + llvm? ( + opencl? ( + video_cards_r600? ( + ${CLANG_DEPSTR_AMDGPU} + ) + !video_cards_r600? ( + video_cards_radeonsi? ( ${CLANG_DEPSTR_AMDGPU} ) - !video_cards_r600? ( - video_cards_radeonsi? ( + ) + !video_cards_r600? ( + !video_cards_radeonsi? ( + video_cards_radeon? ( ${CLANG_DEPSTR_AMDGPU} ) ) - !video_cards_r600? ( + ) + !video_cards_r600? ( + !video_cards_radeon? ( !video_cards_radeonsi? ( - video_cards_radeon? ( - ${CLANG_DEPSTR_AMDGPU} - ) - ) - ) - !video_cards_r600? ( - !video_cards_radeon? ( - !video_cards_radeonsi? ( - ${CLANG_DEPSTR} - ) + ${CLANG_DEPSTR} ) ) ) - !opencl? ( - video_cards_r600? ( + ) + !opencl? ( + video_cards_r600? ( + ${LLVM_DEPSTR_AMDGPU} + ) + !video_cards_r600? ( + video_cards_radeonsi? ( ${LLVM_DEPSTR_AMDGPU} ) - !video_cards_r600? ( - video_cards_radeonsi? ( + ) + !video_cards_r600? ( + !video_cards_radeonsi? ( + video_cards_radeon? ( ${LLVM_DEPSTR_AMDGPU} ) ) - !video_cards_r600? ( + ) + !video_cards_r600? ( + !video_cards_radeon? ( !video_cards_radeonsi? ( - video_cards_radeon? ( - ${LLVM_DEPSTR_AMDGPU} - ) - ) - ) - !video_cards_r600? ( - !video_cards_radeon? ( - !video_cards_radeonsi? ( - ${LLVM_DEPSTR} - ) + ${LLVM_DEPSTR} ) ) ) @@ -221,7 +194,7 @@ BDEPEND=" sys-devel/flex virtual/pkgconfig $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - wayland? ( dev-util/wayland-scanner[${MULTILIB_USEDEP}] ) + wayland? ( dev-util/wayland-scanner ) " S="${WORKDIR}/${MY_P}" @@ -253,11 +226,10 @@ llvm_check_deps() { pkg_pretend() { if use vulkan; then if ! use video_cards_freedreno && - ! use video_cards_i965 && - ! use video_cards_iris && + ! use video_cards_intel && ! use video_cards_radeonsi && ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain freedreno, i965, iris, radeonsi, or v3d" + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain freedreno, intel, radeonsi, or v3d" fi fi @@ -300,17 +272,6 @@ pkg_pretend() { fi fi - if ! use gallium; then - use lm-sensors && ewarn "Ignoring USE=lm-sensors since USE does not contain gallium" - use llvm && ewarn "Ignoring USE=llvm since USE does not contain gallium" - use opencl && ewarn "Ignoring USE=opencl since USE does not contain gallium" - use vaapi && ewarn "Ignoring USE=vaapi since USE does not contain gallium" - use vdpau && ewarn "Ignoring USE=vdpau since USE does not contain gallium" - use unwind && ewarn "Ignoring USE=unwind since USE does not contain gallium" - use xa && ewarn "Ignoring USE=xa since USE does not contain gallium" - use xvmc && ewarn "Ignoring USE=xvmc since USE does not contain gallium" - fi - if ! use llvm; then use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" fi @@ -331,8 +292,7 @@ pkg_setup() { ewarn "detected! This can cause problems. For details, see bug 459306." fi - if use video_cards_i965 || - use video_cards_iris || + if use video_cards_intel || use video_cards_radeonsi; then if kernel_is -ge 5 11 3; then CONFIG_CHECK="~KCMP" @@ -346,7 +306,7 @@ pkg_setup() { linux-info_pkg_setup fi - if use gallium && use llvm; then + if use llvm; then llvm_pkg_setup fi python-any-r1_pkg_setup @@ -355,135 +315,93 @@ pkg_setup() { multilib_src_configure() { local emesonargs=() - if use classic; then - # Intel code - dri_driver_enable video_cards_i915 i915 - dri_driver_enable video_cards_i965 i965 - if ! use video_cards_i915 && \ - ! use video_cards_i965; then - dri_driver_enable video_cards_intel i915 i965 - fi - - # Nouveau code - dri_driver_enable video_cards_nouveau nouveau - - # ATI code - dri_driver_enable video_cards_r100 r100 - dri_driver_enable video_cards_r200 r200 - if ! use video_cards_r100 && \ - ! use video_cards_r200; then - dri_driver_enable video_cards_radeon r100 r200 - fi - fi - local platforms use X && platforms+="x11" use wayland && platforms+=",wayland" emesonargs+=(-Dplatforms=${platforms#,}) - if use gallium; then - emesonargs+=( - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_feature unwind libunwind) - ) - - if use video_cards_iris || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; 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_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - 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_r600 || - use video_cards_nouveau; then - emesonargs+=($(meson_feature xvmc gallium-xvmc)) - else - emesonargs+=(-Dgallium-xvmc=disabled) - fi + if use video_cards_intel || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + 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 + if use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; 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 - gallium_enable -- swrast - gallium_enable video_cards_lima lima - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable video_cards_nouveau nouveau - gallium_enable zink zink - - # Only one i915 driver (classic vs gallium). Default to classic. - if ! use classic; then - gallium_enable video_cards_i915 i915 - if ! use video_cards_i915 && \ - ! use video_cards_i965; then - gallium_enable video_cards_intel i915 - fi - fi + if use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi - gallium_enable video_cards_crocus crocus - gallium_enable video_cards_iris iris + if use video_cards_freedreno || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi - 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 video_cards_r600 || + use video_cards_nouveau; then + emesonargs+=($(meson_feature xvmc gallium-xvmc)) + else + emesonargs+=(-Dgallium-xvmc=disabled) + fi - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_virgl virgl + 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 - # opencl stuff - emesonargs+=( - -Dgallium-opencl="$(usex opencl icd disabled)" - ) + gallium_enable -- swrast + 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 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 + # opencl stuff + emesonargs+=( + -Dgallium-opencl="$(usex opencl icd disabled)" + ) + if use vulkan; then vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_i965 intel - vulkan_enable video_cards_iris intel + vulkan_enable video_cards_intel intel vulkan_enable video_cards_radeonsi amd vulkan_enable video_cards_v3d broadcom fi @@ -508,14 +426,14 @@ multilib_src_configure() { -Dglvnd=true $(meson_feature gles1) $(meson_feature gles2) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) $(meson_use osmesa) $(meson_use selinux) + $(meson_feature unwind libunwind) $(meson_feature zstd) - $(meson_use video_cards_crocus prefer-crocus) - $(meson_use video_cards_iris prefer-iris) $(meson_use cpu_flags_x86_sse2 sse2) -Dvalgrind=$(usex valgrind auto disabled) - -Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}") -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") --buildtype $(usex debug debug plain) @@ -530,13 +448,6 @@ multilib_src_test() { # $1 - VIDEO_CARDS flag (check skipped for "--") # other args - names of DRI drivers to enable -dri_driver_enable() { - if [[ $1 == -- ]] || use $1; then - shift - DRI_DRIVERS+=("$@") - fi -} - gallium_enable() { if [[ $1 == -- ]] || use $1; then shift |