s390 doesn't have working llvm, so llvmpipe isn't an option. softpipe might be more featureful but classic swrast is faster. s390x has working llvm so we can build llvmpipe there.
ppc doesn't have working llvm either (so give it classic swrast too), but at least it has a PCI bus you could maybe plug things into. Build gallium nouveau and r300 there, they might not work very well but at least PowerPC Macs had cards of that vintage. For ppc64 and ppc64le, build the gallium drivers corresponding to PCIE cards, and llvmpipe. For all of the above, don't build Vulkan drivers yet. radv should in principle Just Work on ppc64le, but that's true of aarch64 too, and we're not building radv by default there yet either. Signed-off-by: Adam Jackson <a...@redhat.com> --- meson.build | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 97693b91ecf..71a19110d17 100644 --- a/meson.build +++ b/meson.build @@ -96,10 +96,11 @@ system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 'linux'].cont _drivers = get_option('dri-drivers') if _drivers.contains('auto') if system_has_kms_drm - # TODO: PPC, Sparc if ['x86', 'x86_64'].contains(host_machine.cpu_family()) _drivers = ['i915', 'i965', 'r100', 'r200', 'nouveau'] - elif ['arm', 'aarch64'].contains(host_machine.cpu_family()) + elif ['s390', 'ppc'].contains(host_machine.cpu_family()) + _drivers = ['swrast'] + elif ['arm', 'aarch64', 's390x', 'ppc64', 'ppc64le'].contains(host_machine.cpu_family()) _drivers = [] else error('Unknown architecture @0@. Please pass -Ddri-drivers to set driver options. Patches gladly accepted to fix this.'.format( @@ -126,7 +127,6 @@ with_dri = _drivers.length() != 0 and _drivers != [''] _drivers = get_option('gallium-drivers') if _drivers.contains('auto') if system_has_kms_drm - # TODO: PPC, Sparc if ['x86', 'x86_64'].contains(host_machine.cpu_family()) _drivers = [ 'r300', 'r600', 'radeonsi', 'nouveau', 'virgl', 'svga', 'swrast' @@ -136,6 +136,20 @@ if _drivers.contains('auto') 'pl111', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'imx', 'nouveau', 'tegra', 'virgl', 'swrast', ] + elif ['ppc'].contains(host_machine.cpu_family()) + _drivers = [ + 'nouveau', 'r300', + ] + elif ['ppc64', 'ppc64le'].contains(host_machine.cpu_family()) + _drivers = [ + 'r600', 'radeonsi', 'nouveau', 'swrast' + ] + elif ['s390'].contains(host_machine.cpu_family()) + _drivers = [] + elif ['s390x'].contains(host_machine.cpu_family()) + _drivers = [ + 'swrast' + ] else error('Unknown architecture @0@. Please pass -Dgallium-drivers to set driver options. Patches gladly accepted to fix this.'.format( host_machine.cpu_family())) @@ -179,7 +193,7 @@ if _vulkan_drivers.contains('auto') if system_has_kms_drm if host_machine.cpu_family().startswith('x86') _vulkan_drivers = ['amd', 'intel'] - elif ['arm', 'aarch64'].contains(host_machine.cpu_family()) + elif ['arm', 'aarch64', 'ppc', 'ppc64', 'ppc64le', 's390', 's390x'].contains(host_machine.cpu_family()) _vulkan_drivers = [] else error('Unknown architecture @0@. Please pass -Dvulkan-drivers to set driver options. Patches gladly accepted to fix this.'.format( -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev