mesa: Retire classic OSMesa.

The classic OSMesa renders directly into user memory using
src/mesa/swrast, while gallium OSMesa renders using softpipe or llvmpipe
and copies out at glFlush() time.  This would make gallium look like a
worse choice for OSMesa, except that swrast is:

1) Painfully slow to render compared to llvmpipe
2) Incorrect at derivatives
3) Limited to GL 2.1 instead of GL 4.6

In my survey of OSMesa users, debian was the remaining holdout with
classic OSMesa in use on hurd and some rare non-LLVM-supported
architectures (sh4, alpha, etc.).  As of today, they've switched to
softpipe-based gallium OSMesa for them.

To prevent people from running the wrong OSMesa (to the extent that
running OSMesa can ever be the right thing), delete the classic
version.

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>

Closes: #320
Closes: #877
Closes: #2297
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1243>
This commit is contained in:
Eric Anholt
2019-07-03 11:10:32 -07:00
committed by Marge Bot
parent 6ffc5611c8
commit ee80237218
12 changed files with 19 additions and 1415 deletions

View File

@@ -517,8 +517,8 @@ if with_any_vk and (with_platform_x11 and not with_dri3)
error('Vulkan drivers require dri3 for X11 support')
endif
if with_dri
if with_glx == 'disabled' and not with_egl and not with_gbm and with_osmesa != 'classic'
error('building dri drivers require at least one windowing system or classic osmesa')
if with_glx == 'disabled' and not with_egl and not with_gbm
error('building dri drivers require at least one windowing system')
endif
endif
@@ -1737,8 +1737,8 @@ else
dep_unwind = null_dep
endif
if with_osmesa != 'none'
if with_osmesa == 'gallium' and not with_gallium_softpipe
if with_osmesa
if not with_gallium_softpipe
error('OSMesa gallium requires gallium softpipe or llvmpipe.')
endif
if host_machine.system() == 'windows'
@@ -1976,13 +1976,9 @@ lines = ['',
with_gles2 ? 'yes' : 'no'),
]
if with_osmesa != 'none'
if with_osmesa
lines += ''
suffix = ''
if with_osmesa == 'gallium'
suffix = '(Gallium)'
endif
lines += 'OSMesa: lib' + osmesa_lib_name + suffix
lines += 'OSMesa: lib' + osmesa_lib_name
else
lines += 'OSMesa: no'
endif