First 5 patches fix a bug where $driver=auto could end up being turned on even though a dependency (`with_atomic`) is missing.
Next 4 are turning auto=false into auto=true, which I guess might not be what we want. I'm happy to change or drop them if people want, the rebase would be quite easy.
Then a couple aesthetic patches because I find the code easier to read like this; again, I can drop if people disagree.
The diffstat until then is mostly adding code, but that's about to change: meson.build | 126 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 51 deletions(-)
After that, I'm introducing a loop to handle all the copy/pasted code for all the driver options, and then adding them to the list one by one to make it easier to review and/or bisect if I mess it up. meson.build | 140 ++++++++++++++---------------------------------------------- 1 file changed, 31 insertions(+), 109 deletions(-)
---
Eric Engestrom (23): meson: don't enable libdrm_intel without atomic support meson: don't enable libdrm_radeon without atomic support meson: don't enable libdrm_amdgpu without atomic support meson: don't enable libdrm_nouveau without atomic support meson: don't enable libdrm_freedreno without atomic support meson: fix omap=auto detection (was always false) meson: fix exynos=auto detection (was always false) meson: fix tegra=auto detection (was always false) meson: fix entaviv=auto detection (was always false) meson: split vc4=auto logic to make it easier to read meson: split libkms=auto logic to make it easier to read meson: introduce simpler way to handle driver options meson: use simple option handling for intel meson: use simple option handling for radeon meson: use simple option handling for amdgpu meson: use simple option handling for nouveau meson: use simple option handling for vmwgfx meson: use simple option handling for omap meson: use simple option handling for exynos meson: use simple option handling for freedreno meson: use simple option handling for tegra meson: use simple option handling for vc4 meson: use simple option handling for etnaviv
meson.build | 120 +++++++++++++++++------------------------------------------- 1 file changed, 33 insertions(+), 87 deletions(-)
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index 72cdd14a3ba834abde4d..4bc088bacdd8120c1508 100644 --- a/meson.build +++ b/meson.build @@ -93,11 +93,13 @@ endif
with_amdgpu = false _amdgpu = get_option('amdgpu') -if _amdgpu != 'false' - if _amdgpu == 'true' and not with_atomics - error('libdrm_amdgpu requires atomics.') - endif - with_amdgpu = true +if _amdgpu == 'auto' + with_amdgpu = with_atomics +else + with_amdgpu = _amdgpu == 'true' +endif +if with_amdgpu and not with_atomics + error('libdrm_amdgpu requires atomics.') endif
with_nouveau = false
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build index 961ee59cff6dc3c2cbb9..e762dcc44bff5deac4d1 100644 --- a/meson.build +++ b/meson.build @@ -71,12 +71,13 @@ config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
with_intel = false _intel = get_option('intel') -if _intel != 'false' - if _intel == 'true' and not with_atomics - error('libdrm_intel requires atomics.') - else - with_intel = _intel == 'true' or host_machine.cpu_family().startswith('x86') - endif +if _intel == 'auto' + with_intel = with_atomics and host_machine.cpu_family().startswith('x86') +else + with_intel = _intel == 'true' +endif +if with_intel and not with_atomics + error('libdrm_intel requires atomics.') endif
with_radeon = false
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index e762dcc44bff5deac4d1..72cdd14a3ba834abde4d 100644 --- a/meson.build +++ b/meson.build @@ -82,11 +82,13 @@ endif
with_radeon = false _radeon = get_option('radeon') -if _radeon != 'false' - if _radeon == 'true' and not with_atomics - error('libdrm_radeon requires atomics.') - endif - with_radeon = true +if _radeon == 'auto' + with_radeon = with_atomics +else + with_radeon = _radeon == 'true' +endif +if with_radeon and not with_atomics + error('libdrm_radeon requires atomics.') endif
with_amdgpu = false
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index 72cdd14a3ba834abde4d..4bc088bacdd8120c1508 100644 --- a/meson.build +++ b/meson.build @@ -93,11 +93,13 @@ endif
with_amdgpu = false _amdgpu = get_option('amdgpu') -if _amdgpu != 'false' - if _amdgpu == 'true' and not with_atomics - error('libdrm_amdgpu requires atomics.') - endif - with_amdgpu = true +if _amdgpu == 'auto' + with_amdgpu = with_atomics +else + with_amdgpu = _amdgpu == 'true' +endif +if with_amdgpu and not with_atomics + error('libdrm_amdgpu requires atomics.') endif
with_nouveau = false
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index 4bc088bacdd8120c1508..edcc7e8ddc39b1760868 100644 --- a/meson.build +++ b/meson.build @@ -104,11 +104,13 @@ endif
with_nouveau = false _nouveau = get_option('nouveau') -if _nouveau != 'false' - if _nouveau == 'true' and not with_atomics - error('libdrm_nouveau requires atomics.') - endif - with_nouveau = true +if _nouveau == 'auto' + with_nouveau = with_atomics +else + with_nouveau = _nouveau == 'true' +endif +if with_nouveau and not with_atomics + error('libdrm_nouveau requires atomics.') endif
with_vmwgfx = false
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build index edcc7e8ddc39b1760868..55ad207b6de349863be3 100644 --- a/meson.build +++ b/meson.build @@ -130,12 +130,13 @@ endif
with_freedreno = false _freedreno = get_option('freedreno') -if _freedreno != 'false' - if _freedreno == 'true' and not with_atomics - error('libdrm_freedreno requires atomics.') - else - with_freedreno = _freedreno == 'true' or ['arm', 'aarch64'].contains(host_machine.cpu_family()) - endif +if _freedreno == 'auto' + with_freedreno = with_atomics and ['arm', 'aarch64'].contains(host_machine.cpu_family()) +else + with_freedreno = _freedreno == 'true' +endif +if with_freedreno and not with_atomics + error('libdrm_freedreno requires atomics.') endif
with_tegra = false
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index 55ad207b6de349863be3..51f2a214e1d9715a053d 100644 --- a/meson.build +++ b/meson.build @@ -121,11 +121,13 @@ endif
with_omap = false _omap = get_option('omap') -if _omap == 'true' - if not with_atomics - error('libdrm_omap requires atomics.') - endif - with_omap = true +if _omap == 'auto' + with_omap = with_atomics +else + with_omap = _omap == 'true' +endif +if with_omap and not with_atomics + error('libdrm_omap requires atomics.') endif
with_freedreno = false
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build index 51f2a214e1d9715a053d..76eefaeca20ad80ba1ef 100644 --- a/meson.build +++ b/meson.build @@ -130,6 +130,14 @@ if with_omap and not with_atomics error('libdrm_omap requires atomics.') endif
+with_exynos = false +_exynos = get_option('exynos') +if _exynos == 'auto' + with_exynos = true +else + with_exynos = _exynos == 'true' +endif + with_freedreno = false _freedreno = get_option('freedreno') if _freedreno == 'auto' @@ -159,8 +167,6 @@ if _etnaviv == 'true' with_etnaviv = true endif
-with_exynos = get_option('exynos') == 'true' - with_vc4 = false _vc4 = get_option('vc4') if _vc4 != 'false'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index 76eefaeca20ad80ba1ef..a5b71c5e8fb55600458e 100644 --- a/meson.build +++ b/meson.build @@ -151,11 +151,13 @@ endif
with_tegra = false _tegra = get_option('tegra') -if _tegra == 'true' - if not with_atomics - error('libdrm_tegra requires atomics.') - endif - with_tegra = true +if _tegra == 'auto' + with_tegra = with_atomics +else + with_tegra = _tegra == 'true' +endif +if with_tegra and not with_atomics + error('libdrm_tegra requires atomics.') endif
with_etnaviv = false
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build index a5b71c5e8fb55600458e..0c26e11dc4bb64325f3c 100644 --- a/meson.build +++ b/meson.build @@ -160,19 +160,20 @@ if with_tegra and not with_atomics error('libdrm_tegra requires atomics.') endif
-with_etnaviv = false -_etnaviv = get_option('etnaviv') -if _etnaviv == 'true' - if not with_atomics - error('libdrm_etnaviv requires atomics.') - endif - with_etnaviv = true -endif - with_vc4 = false _vc4 = get_option('vc4') if _vc4 != 'false' with_vc4 = _vc4 == 'true' or ['arm', 'aarch64'].contains(host_machine.cpu_family()) + +with_etnaviv = false +_etnaviv = get_option('etnaviv') +if _etnaviv == 'auto' + with_etnaviv = with_atomics +else + with_etnaviv = _etnaviv == 'true' +endif +if with_etnaviv and not with_atomics + error('libdrm_etnaviv requires atomics.') endif
# XXX: Aparently only freebsd and dragonfly bsd actually need this (and
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build index 0c26e11dc4bb64325f3c..c84e8cdde19d56912ac3 100644 --- a/meson.build +++ b/meson.build @@ -162,8 +162,11 @@ endif
with_vc4 = false _vc4 = get_option('vc4') -if _vc4 != 'false' - with_vc4 = _vc4 == 'true' or ['arm', 'aarch64'].contains(host_machine.cpu_family()) +if _vc4 == 'auto' + with_vc4 = ['arm', 'aarch64'].contains(host_machine.cpu_family()) +else + with_vc4 = _vc4 == 'true' +endif
with_etnaviv = false _etnaviv = get_option('etnaviv')
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build index c84e8cdde19d56912ac3..748a413862dcbe7252c3 100644 --- a/meson.build +++ b/meson.build @@ -183,8 +183,10 @@ endif # gnu/kfreebsd), not openbsd and netbsd with_libkms = false _libkms = get_option('libkms') -if _libkms != 'false' - with_libkms = _libkms == 'true' or ['linux', 'freebsd', 'dragonfly'].contains(host_machine.system()) +if _libkms == 'auto' + with_libkms = ['linux', 'freebsd', 'dragonfly'].contains(host_machine.system()) +else + with_libkms = _libkms == 'true' endif
# Among others FreeBSD does not have a separate dl library.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/meson.build b/meson.build index 748a413862dcbe7252c3..c8b17c6cb988ed8f9330 100644 --- a/meson.build +++ b/meson.build @@ -69,6 +69,27 @@ endif config.set10('HAVE_LIBDRM_ATOMIC_PRIMITIVES', intel_atomics) config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
+foreach d : [ +] + driver = d[0] + require_atomics = d[1] + default = d[2] + _option = get_option(driver) + + if _option == 'auto' + if with_atomics or not require_atomics + set_variable('with_' + driver, default) + else + set_variable('with_' + driver, false) + endif + else + if _option == 'true' and require_atomics and not with_atomics + error('libdrm_' + driver + ' requires atomics.') + endif + set_variable('with_' + driver, _option == 'true') + endif +endforeach + with_intel = false _intel = get_option('intel') if _intel == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index c8b17c6cb988ed8f9330..5f88c7d5fe55249798a2 100644 --- a/meson.build +++ b/meson.build @@ -70,6 +70,7 @@ config.set10('HAVE_LIBDRM_ATOMIC_PRIMITIVES', intel_atomics) config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
foreach d : [ + ['intel', true, host_machine.cpu_family().startswith('x86')], ] driver = d[0] require_atomics = d[1] @@ -90,17 +91,6 @@ foreach d : [ endif endforeach
-with_intel = false -_intel = get_option('intel') -if _intel == 'auto' - with_intel = with_atomics and host_machine.cpu_family().startswith('x86') -else - with_intel = _intel == 'true' -endif -if with_intel and not with_atomics - error('libdrm_intel requires atomics.') -endif - with_radeon = false _radeon = get_option('radeon') if _radeon == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 5f88c7d5fe55249798a2..fc38685b59045988b149 100644 --- a/meson.build +++ b/meson.build @@ -71,6 +71,7 @@ config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
foreach d : [ ['intel', true, host_machine.cpu_family().startswith('x86')], + ['radeon', true, true], ] driver = d[0] require_atomics = d[1] @@ -91,17 +92,6 @@ foreach d : [ endif endforeach
-with_radeon = false -_radeon = get_option('radeon') -if _radeon == 'auto' - with_radeon = with_atomics -else - with_radeon = _radeon == 'true' -endif -if with_radeon and not with_atomics - error('libdrm_radeon requires atomics.') -endif - with_amdgpu = false _amdgpu = get_option('amdgpu') if _amdgpu == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index fc38685b59045988b149..08685debfc28894424cf 100644 --- a/meson.build +++ b/meson.build @@ -72,6 +72,7 @@ config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics) foreach d : [ ['intel', true, host_machine.cpu_family().startswith('x86')], ['radeon', true, true], + ['amdgpu', true, true], ] driver = d[0] require_atomics = d[1] @@ -92,17 +93,6 @@ foreach d : [ endif endforeach
-with_amdgpu = false -_amdgpu = get_option('amdgpu') -if _amdgpu == 'auto' - with_amdgpu = with_atomics -else - with_amdgpu = _amdgpu == 'true' -endif -if with_amdgpu and not with_atomics - error('libdrm_amdgpu requires atomics.') -endif - with_nouveau = false _nouveau = get_option('nouveau') if _nouveau == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 08685debfc28894424cf..f07aa0010f150be70f46 100644 --- a/meson.build +++ b/meson.build @@ -73,6 +73,7 @@ foreach d : [ ['intel', true, host_machine.cpu_family().startswith('x86')], ['radeon', true, true], ['amdgpu', true, true], + ['nouveau', true, true], ] driver = d[0] require_atomics = d[1] @@ -93,17 +94,6 @@ foreach d : [ endif endforeach
-with_nouveau = false -_nouveau = get_option('nouveau') -if _nouveau == 'auto' - with_nouveau = with_atomics -else - with_nouveau = _nouveau == 'true' -endif -if with_nouveau and not with_atomics - error('libdrm_nouveau requires atomics.') -endif - with_vmwgfx = false _vmwgfx = get_option('vmwgfx') if _vmwgfx != 'false'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/meson.build b/meson.build index f07aa0010f150be70f46..5c4b223f5a36255f492f 100644 --- a/meson.build +++ b/meson.build @@ -74,6 +74,7 @@ foreach d : [ ['radeon', true, true], ['amdgpu', true, true], ['nouveau', true, true], + ['vmwgfx', false, true], ] driver = d[0] require_atomics = d[1] @@ -94,12 +95,6 @@ foreach d : [ endif endforeach
-with_vmwgfx = false -_vmwgfx = get_option('vmwgfx') -if _vmwgfx != 'false' - with_vmwgfx = true -endif - with_omap = false _omap = get_option('omap') if _omap == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 5c4b223f5a36255f492f..16f205f01a61ab2241f1 100644 --- a/meson.build +++ b/meson.build @@ -75,6 +75,7 @@ foreach d : [ ['amdgpu', true, true], ['nouveau', true, true], ['vmwgfx', false, true], + ['omap', true, true], ] driver = d[0] require_atomics = d[1] @@ -95,17 +96,6 @@ foreach d : [ endif endforeach
-with_omap = false -_omap = get_option('omap') -if _omap == 'auto' - with_omap = with_atomics -else - with_omap = _omap == 'true' -endif -if with_omap and not with_atomics - error('libdrm_omap requires atomics.') -endif - with_exynos = false _exynos = get_option('exynos') if _exynos == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/meson.build b/meson.build index 16f205f01a61ab2241f1..46099e5913547af7eed9 100644 --- a/meson.build +++ b/meson.build @@ -76,6 +76,7 @@ foreach d : [ ['nouveau', true, true], ['vmwgfx', false, true], ['omap', true, true], + ['exynos', false, true], ] driver = d[0] require_atomics = d[1] @@ -96,14 +97,6 @@ foreach d : [ endif endforeach
-with_exynos = false -_exynos = get_option('exynos') -if _exynos == 'auto' - with_exynos = true -else - with_exynos = _exynos == 'true' -endif - with_freedreno = false _freedreno = get_option('freedreno') if _freedreno == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 46099e5913547af7eed9..761ba442ad4d26259ae5 100644 --- a/meson.build +++ b/meson.build @@ -77,6 +77,7 @@ foreach d : [ ['vmwgfx', false, true], ['omap', true, true], ['exynos', false, true], + ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ] driver = d[0] require_atomics = d[1] @@ -97,17 +98,6 @@ foreach d : [ endif endforeach
-with_freedreno = false -_freedreno = get_option('freedreno') -if _freedreno == 'auto' - with_freedreno = with_atomics and ['arm', 'aarch64'].contains(host_machine.cpu_family()) -else - with_freedreno = _freedreno == 'true' -endif -if with_freedreno and not with_atomics - error('libdrm_freedreno requires atomics.') -endif - with_tegra = false _tegra = get_option('tegra') if _tegra == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 761ba442ad4d26259ae5..5410b03015747e3eb7cf 100644 --- a/meson.build +++ b/meson.build @@ -78,6 +78,7 @@ foreach d : [ ['omap', true, true], ['exynos', false, true], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], + ['tegra', true, true], ] driver = d[0] require_atomics = d[1] @@ -98,17 +99,6 @@ foreach d : [ endif endforeach
-with_tegra = false -_tegra = get_option('tegra') -if _tegra == 'auto' - with_tegra = with_atomics -else - with_tegra = _tegra == 'true' -endif -if with_tegra and not with_atomics - error('libdrm_tegra requires atomics.') -endif - with_vc4 = false _vc4 = get_option('vc4') if _vc4 == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/meson.build b/meson.build index 5410b03015747e3eb7cf..e3df4cd8e8dc475ba373 100644 --- a/meson.build +++ b/meson.build @@ -79,6 +79,7 @@ foreach d : [ ['exynos', false, true], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, true], + ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ] driver = d[0] require_atomics = d[1] @@ -99,14 +100,6 @@ foreach d : [ endif endforeach
-with_vc4 = false -_vc4 = get_option('vc4') -if _vc4 == 'auto' - with_vc4 = ['arm', 'aarch64'].contains(host_machine.cpu_family()) -else - with_vc4 = _vc4 == 'true' -endif - with_etnaviv = false _etnaviv = get_option('etnaviv') if _etnaviv == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index e3df4cd8e8dc475ba373..1dc9a1dd0d310d369f1a 100644 --- a/meson.build +++ b/meson.build @@ -80,6 +80,7 @@ foreach d : [ ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, true], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())], + ['etnaviv', true, true], ] driver = d[0] require_atomics = d[1] @@ -100,17 +101,6 @@ foreach d : [ endif endforeach
-with_etnaviv = false -_etnaviv = get_option('etnaviv') -if _etnaviv == 'auto' - with_etnaviv = with_atomics -else - with_etnaviv = _etnaviv == 'true' -endif -if with_etnaviv and not with_atomics - error('libdrm_etnaviv requires atomics.') -endif - # XXX: Aparently only freebsd and dragonfly bsd actually need this (and # gnu/kfreebsd), not openbsd and netbsd with_libkms = false
On Tuesday, 2018-03-20 17:46:36 +0000, Eric Engestrom wrote:
First 5 patches fix a bug where $driver=auto could end up being turned on even though a dependency (`with_atomic`) is missing.
Next 4 are turning auto=false into auto=true, which I guess might not be what we want. I'm happy to change or drop them if people want, the rebase would be quite easy.
Yeah, thinking about it a bit more, the new code makes it much easier to change the default value if that's something we want, so for now I'll move these at the end (ie. make them turn `true` into `false` in the last column of their respective line), and send this as a v2 tomorrow, with any other comment I would've received in the mean time addressed, that way they'll be trivial to drop without affecting the code.
Then a couple aesthetic patches because I find the code easier to read like this; again, I can drop if people disagree.
The diffstat until then is mostly adding code, but that's about to change: meson.build | 126 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 51 deletions(-)
After that, I'm introducing a loop to handle all the copy/pasted code for all the driver options, and then adding them to the list one by one to make it easier to review and/or bisect if I mess it up. meson.build | 140 ++++++++++++++---------------------------------------------- 1 file changed, 31 insertions(+), 109 deletions(-)
Eric Engestrom (23): meson: don't enable libdrm_intel without atomic support meson: don't enable libdrm_radeon without atomic support meson: don't enable libdrm_amdgpu without atomic support meson: don't enable libdrm_nouveau without atomic support meson: don't enable libdrm_freedreno without atomic support meson: fix omap=auto detection (was always false) meson: fix exynos=auto detection (was always false) meson: fix tegra=auto detection (was always false) meson: fix entaviv=auto detection (was always false) meson: split vc4=auto logic to make it easier to read meson: split libkms=auto logic to make it easier to read meson: introduce simpler way to handle driver options meson: use simple option handling for intel meson: use simple option handling for radeon meson: use simple option handling for amdgpu meson: use simple option handling for nouveau meson: use simple option handling for vmwgfx meson: use simple option handling for omap meson: use simple option handling for exynos meson: use simple option handling for freedreno meson: use simple option handling for tegra meson: use simple option handling for vc4 meson: use simple option handling for etnaviv
meson.build | 120 +++++++++++++++++------------------------------------------- 1 file changed, 33 insertions(+), 87 deletions(-)
-- Cheers, Eric
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build index 961ee59cff6dc3c2cbb9..e762dcc44bff5deac4d1 100644 --- a/meson.build +++ b/meson.build @@ -71,12 +71,13 @@ config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
with_intel = false _intel = get_option('intel') -if _intel != 'false' - if _intel == 'true' and not with_atomics - error('libdrm_intel requires atomics.') - else - with_intel = _intel == 'true' or host_machine.cpu_family().startswith('x86') - endif +if _intel == 'auto' + with_intel = with_atomics and host_machine.cpu_family().startswith('x86') +else + with_intel = _intel == 'true' +endif +if with_intel and not with_atomics + error('libdrm_intel requires atomics.') endif
with_radeon = false
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index e762dcc44bff5deac4d1..72cdd14a3ba834abde4d 100644 --- a/meson.build +++ b/meson.build @@ -82,11 +82,13 @@ endif
with_radeon = false _radeon = get_option('radeon') -if _radeon != 'false' - if _radeon == 'true' and not with_atomics - error('libdrm_radeon requires atomics.') - endif - with_radeon = true +if _radeon == 'auto' + with_radeon = with_atomics +else + with_radeon = _radeon == 'true' +endif +if with_radeon and not with_atomics + error('libdrm_radeon requires atomics.') endif
with_amdgpu = false
Quoting Eric Engestrom (2018-04-04 08:37:57)
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com
meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index e762dcc44bff5deac4d1..72cdd14a3ba834abde4d 100644 --- a/meson.build +++ b/meson.build @@ -82,11 +82,13 @@ endif
with_radeon = false _radeon = get_option('radeon') -if _radeon != 'false'
- if _radeon == 'true' and not with_atomics
- error('libdrm_radeon requires atomics.')
- endif
- with_radeon = true
What about just change this to `with_radeon = with_atomics`? We've already verified that if radeon == true that atomics are present.
+if _radeon == 'auto'
- with_radeon = with_atomics
+else
- with_radeon = _radeon == 'true'
+endif +if with_radeon and not with_atomics
- error('libdrm_radeon requires atomics.')
endif
with_amdgpu = false
Cheers, Eric
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build index 4bc088bacdd8120c1508..edcc7e8ddc39b1760868 100644 --- a/meson.build +++ b/meson.build @@ -104,11 +104,13 @@ endif
with_nouveau = false _nouveau = get_option('nouveau') -if _nouveau != 'false' - if _nouveau == 'true' and not with_atomics - error('libdrm_nouveau requires atomics.') - endif - with_nouveau = true +if _nouveau == 'auto' + with_nouveau = with_atomics +else + with_nouveau = _nouveau == 'true' +endif +if with_nouveau and not with_atomics + error('libdrm_nouveau requires atomics.') endif
with_vmwgfx = false
In the 'auto' case, the `with_atomic` check was bypassed.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build index edcc7e8ddc39b1760868..55ad207b6de349863be3 100644 --- a/meson.build +++ b/meson.build @@ -130,12 +130,13 @@ endif
with_freedreno = false _freedreno = get_option('freedreno') -if _freedreno != 'false' - if _freedreno == 'true' and not with_atomics - error('libdrm_freedreno requires atomics.') - else - with_freedreno = _freedreno == 'true' or ['arm', 'aarch64'].contains(host_machine.cpu_family()) - endif +if _freedreno == 'auto' + with_freedreno = with_atomics and ['arm', 'aarch64'].contains(host_machine.cpu_family()) +else + with_freedreno = _freedreno == 'true' +endif +if with_freedreno and not with_atomics + error('libdrm_freedreno requires atomics.') endif
with_tegra = false
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build index 55ad207b6de349863be3..ba8072a19515f8d7aaa4 100644 --- a/meson.build +++ b/meson.build @@ -161,8 +161,10 @@ with_exynos = get_option('exynos') == 'true'
with_vc4 = false _vc4 = get_option('vc4') -if _vc4 != 'false' - with_vc4 = _vc4 == 'true' or ['arm', 'aarch64'].contains(host_machine.cpu_family()) +if _vc4 == 'auto' + with_vc4 = ['arm', 'aarch64'].contains(host_machine.cpu_family()) +else + with_vc4 = _vc4 == 'true' endif
# XXX: Aparently only freebsd and dragonfly bsd actually need this (and
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build index ba8072a19515f8d7aaa4..5b6710ee8dc16b02dbed 100644 --- a/meson.build +++ b/meson.build @@ -171,8 +171,10 @@ endif # gnu/kfreebsd), not openbsd and netbsd with_libkms = false _libkms = get_option('libkms') -if _libkms != 'false' - with_libkms = _libkms == 'true' or ['linux', 'freebsd', 'dragonfly'].contains(host_machine.system()) +if _libkms == 'auto' + with_libkms = ['linux', 'freebsd', 'dragonfly'].contains(host_machine.system()) +else + with_libkms = _libkms == 'true' endif
# Among others FreeBSD does not have a separate dl library.
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/meson.build b/meson.build index 5b6710ee8dc16b02dbed..8efa99b54e6a108b8255 100644 --- a/meson.build +++ b/meson.build @@ -69,6 +69,27 @@ endif config.set10('HAVE_LIBDRM_ATOMIC_PRIMITIVES', intel_atomics) config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
+foreach d : [ +] + driver = d[0] + require_atomics = d[1] + default = d[2] + _option = get_option(driver) + + if _option == 'auto' + if with_atomics or not require_atomics + set_variable('with_' + driver, default) + else + set_variable('with_' + driver, false) + endif + else + if _option == 'true' and require_atomics and not with_atomics + error('libdrm_' + driver + ' requires atomics.') + endif + set_variable('with_' + driver, _option == 'true') + endif +endforeach + with_intel = false _intel = get_option('intel') if _intel == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 8efa99b54e6a108b8255..12cf96157b2789df3a55 100644 --- a/meson.build +++ b/meson.build @@ -70,6 +70,7 @@ config.set10('HAVE_LIBDRM_ATOMIC_PRIMITIVES', intel_atomics) config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
foreach d : [ + ['intel', true, host_machine.cpu_family().startswith('x86')], ] driver = d[0] require_atomics = d[1] @@ -90,17 +91,6 @@ foreach d : [ endif endforeach
-with_intel = false -_intel = get_option('intel') -if _intel == 'auto' - with_intel = with_atomics and host_machine.cpu_family().startswith('x86') -else - with_intel = _intel == 'true' -endif -if with_intel and not with_atomics - error('libdrm_intel requires atomics.') -endif - with_radeon = false _radeon = get_option('radeon') if _radeon == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 12cf96157b2789df3a55..035ac8cf2f1130d0b799 100644 --- a/meson.build +++ b/meson.build @@ -71,6 +71,7 @@ config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics)
foreach d : [ ['intel', true, host_machine.cpu_family().startswith('x86')], + ['radeon', true, true], ] driver = d[0] require_atomics = d[1] @@ -91,17 +92,6 @@ foreach d : [ endif endforeach
-with_radeon = false -_radeon = get_option('radeon') -if _radeon == 'auto' - with_radeon = with_atomics -else - with_radeon = _radeon == 'true' -endif -if with_radeon and not with_atomics - error('libdrm_radeon requires atomics.') -endif - with_amdgpu = false _amdgpu = get_option('amdgpu') if _amdgpu == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index 035ac8cf2f1130d0b799..da52f5c078c3d2f47397 100644 --- a/meson.build +++ b/meson.build @@ -72,6 +72,7 @@ config.set10('HAVE_LIB_ATOMIC_OPS', lib_atomics) foreach d : [ ['intel', true, host_machine.cpu_family().startswith('x86')], ['radeon', true, true], + ['amdgpu', true, true], ] driver = d[0] require_atomics = d[1] @@ -92,17 +93,6 @@ foreach d : [ endif endforeach
-with_amdgpu = false -_amdgpu = get_option('amdgpu') -if _amdgpu == 'auto' - with_amdgpu = with_atomics -else - with_amdgpu = _amdgpu == 'true' -endif -if with_amdgpu and not with_atomics - error('libdrm_amdgpu requires atomics.') -endif - with_nouveau = false _nouveau = get_option('nouveau') if _nouveau == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index da52f5c078c3d2f47397..e871c77c9860a84eed8f 100644 --- a/meson.build +++ b/meson.build @@ -73,6 +73,7 @@ foreach d : [ ['intel', true, host_machine.cpu_family().startswith('x86')], ['radeon', true, true], ['amdgpu', true, true], + ['nouveau', true, true], ] driver = d[0] require_atomics = d[1] @@ -93,17 +94,6 @@ foreach d : [ endif endforeach
-with_nouveau = false -_nouveau = get_option('nouveau') -if _nouveau == 'auto' - with_nouveau = with_atomics -else - with_nouveau = _nouveau == 'true' -endif -if with_nouveau and not with_atomics - error('libdrm_nouveau requires atomics.') -endif - with_vmwgfx = false _vmwgfx = get_option('vmwgfx') if _vmwgfx != 'false'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/meson.build b/meson.build index e871c77c9860a84eed8f..6786a44e3df1a2e00540 100644 --- a/meson.build +++ b/meson.build @@ -74,6 +74,7 @@ foreach d : [ ['radeon', true, true], ['amdgpu', true, true], ['nouveau', true, true], + ['vmwgfx', false, true], ] driver = d[0] require_atomics = d[1] @@ -94,12 +95,6 @@ foreach d : [ endif endforeach
-with_vmwgfx = false -_vmwgfx = get_option('vmwgfx') -if _vmwgfx != 'false' - with_vmwgfx = true -endif - with_omap = false _omap = get_option('omap') if _omap == 'true'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/meson.build b/meson.build index 6786a44e3df1a2e00540..29f91ee9f6eb96b05f0d 100644 --- a/meson.build +++ b/meson.build @@ -75,6 +75,7 @@ foreach d : [ ['amdgpu', true, true], ['nouveau', true, true], ['vmwgfx', false, true], + ['omap', true, false], ] driver = d[0] require_atomics = d[1] @@ -95,13 +96,12 @@ foreach d : [ endif endforeach
-with_omap = false -_omap = get_option('omap') -if _omap == 'true' - if not with_atomics - error('libdrm_omap requires atomics.') - endif - with_omap = true +with_exynos = false +_exynos = get_option('exynos') +if _exynos == 'auto' + with_exynos = true +else + with_exynos = _exynos == 'true' endif
with_freedreno = false
Hi,
On Wed, Apr 04, 2018 at 04:38:09PM +0100, Eric Engestrom wrote:
[...]
-with_omap = false -_omap = get_option('omap') -if _omap == 'true'
- if not with_atomics
- error('libdrm_omap requires atomics.')
- endif
- with_omap = true
+with_exynos = false +_exynos = get_option('exynos') +if _exynos == 'auto'
- with_exynos = true
+else
- with_exynos = _exynos == 'true'
endif
Looks like some patch rebasing went wrong with this one (it simplifies omap, but also adds some exynos stuff)?
-- Sebastian
On Wednesday, 2018-04-04 19:55:18 +0200, Sebastian Reichel wrote:
Hi,
On Wed, Apr 04, 2018 at 04:38:09PM +0100, Eric Engestrom wrote:
[...]
-with_omap = false -_omap = get_option('omap') -if _omap == 'true'
- if not with_atomics
- error('libdrm_omap requires atomics.')
- endif
- with_omap = true
+with_exynos = false +_exynos = get_option('exynos') +if _exynos == 'auto'
- with_exynos = true
+else
- with_exynos = _exynos == 'true'
endif
Looks like some patch rebasing went wrong with this one (it simplifies omap, but also adds some exynos stuff)?
Indeed, that's a complete rebase fail... Thanks for not letting me push this unaware :)
I'll send a v3 of 8-19 next week, after landing the first bits (1-7). I think I'll defer 20-23 to after everything else has landed.
-- Sebastian
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/meson.build b/meson.build index 29f91ee9f6eb96b05f0d..f0804fc5a0a1d907313f 100644 --- a/meson.build +++ b/meson.build @@ -76,6 +76,7 @@ foreach d : [ ['nouveau', true, true], ['vmwgfx', false, true], ['omap', true, false], + ['exynos', false, false], ] driver = d[0] require_atomics = d[1] @@ -96,14 +97,6 @@ foreach d : [ endif endforeach
-with_exynos = false -_exynos = get_option('exynos') -if _exynos == 'auto' - with_exynos = true -else - with_exynos = _exynos == 'true' -endif - with_freedreno = false _freedreno = get_option('freedreno') if _freedreno == 'auto'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/meson.build b/meson.build index f0804fc5a0a1d907313f..72e5836e78bd239584b3 100644 --- a/meson.build +++ b/meson.build @@ -77,6 +77,7 @@ foreach d : [ ['vmwgfx', false, true], ['omap', true, false], ['exynos', false, false], + ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ] driver = d[0] require_atomics = d[1] @@ -97,17 +98,6 @@ foreach d : [ endif endforeach
-with_freedreno = false -_freedreno = get_option('freedreno') -if _freedreno == 'auto' - with_freedreno = with_atomics and ['arm', 'aarch64'].contains(host_machine.cpu_family()) -else - with_freedreno = _freedreno == 'true' -endif -if with_freedreno and not with_atomics - error('libdrm_freedreno requires atomics.') -endif - with_tegra = false _tegra = get_option('tegra') if _tegra == 'true'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/meson.build b/meson.build index 72e5836e78bd239584b3..a469bdbff1743f796bdf 100644 --- a/meson.build +++ b/meson.build @@ -78,6 +78,7 @@ foreach d : [ ['omap', true, false], ['exynos', false, false], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], + ['tegra', true, false], ] driver = d[0] require_atomics = d[1] @@ -98,15 +99,6 @@ foreach d : [ endif endforeach
-with_tegra = false -_tegra = get_option('tegra') -if _tegra == 'true' - if not with_atomics - error('libdrm_tegra requires atomics.') - endif - with_tegra = true -endif - with_etnaviv = false _etnaviv = get_option('etnaviv') if _etnaviv == 'true'
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/meson.build b/meson.build index a469bdbff1743f796bdf..f3747736f5bed7c01143 100644 --- a/meson.build +++ b/meson.build @@ -79,6 +79,7 @@ foreach d : [ ['exynos', false, false], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, false], + ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ] driver = d[0] require_atomics = d[1] @@ -110,14 +111,6 @@ endif
with_exynos = get_option('exynos') == 'true'
-with_vc4 = false -_vc4 = get_option('vc4') -if _vc4 == 'auto' - with_vc4 = ['arm', 'aarch64'].contains(host_machine.cpu_family()) -else - with_vc4 = _vc4 == 'true' -endif - # XXX: Aparently only freebsd and dragonfly bsd actually need this (and # gnu/kfreebsd), not openbsd and netbsd with_libkms = false
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/meson.build b/meson.build index f3747736f5bed7c01143..f659c02bc82660d038cc 100644 --- a/meson.build +++ b/meson.build @@ -80,6 +80,7 @@ foreach d : [ ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, false], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())], + ['etnaviv', true, false], ] driver = d[0] require_atomics = d[1] @@ -100,15 +101,6 @@ foreach d : [ endif endforeach
-with_etnaviv = false -_etnaviv = get_option('etnaviv') -if _etnaviv == 'true' - if not with_atomics - error('libdrm_etnaviv requires atomics.') - endif - with_etnaviv = true -endif - with_exynos = get_option('exynos') == 'true'
# XXX: Aparently only freebsd and dragonfly bsd actually need this (and
You can ignore my comments on the first couple of patches if you like, I think the result is much nicer anyway.
1-19 are: Reviewed-by: Dylan Baker dylan@pnwbakers.com
Quoting Eric Engestrom (2018-04-04 08:38:14)
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com
meson.build | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/meson.build b/meson.build index f3747736f5bed7c01143..f659c02bc82660d038cc 100644 --- a/meson.build +++ b/meson.build @@ -80,6 +80,7 @@ foreach d : [ ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, false], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())],
- ['etnaviv', true, false],
] driver = d[0] require_atomics = d[1] @@ -100,15 +101,6 @@ foreach d : [ endif endforeach
-with_etnaviv = false -_etnaviv = get_option('etnaviv') -if _etnaviv == 'true'
- if not with_atomics
- error('libdrm_etnaviv requires atomics.')
- endif
- with_etnaviv = true
-endif
with_exynos = get_option('exynos') == 'true'
# XXX: Aparently only freebsd and dragonfly bsd actually need this (and
Cheers, Eric
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index f659c02bc82660d038cc..24688535a329ac530c10 100644 --- a/meson.build +++ b/meson.build @@ -75,7 +75,7 @@ foreach d : [ ['amdgpu', true, true], ['nouveau', true, true], ['vmwgfx', false, true], - ['omap', true, false], + ['omap', true, true], ['exynos', false, false], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, false],
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index 24688535a329ac530c10..7b26977a9e84290fdd37 100644 --- a/meson.build +++ b/meson.build @@ -76,7 +76,7 @@ foreach d : [ ['nouveau', true, true], ['vmwgfx', false, true], ['omap', true, true], - ['exynos', false, false], + ['exynos', false, true], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, false], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())],
For exynos and omap, are they in active use anymore? I'm pretty sure that development of omap (the hardware) stopped, and others have told me exynos has stopped too. I also don't think there's any open source consumer, since there is no mesa driver for either of these.
Dylan
Quoting Eric Engestrom (2018-04-04 08:38:16)
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index 24688535a329ac530c10..7b26977a9e84290fdd37 100644 --- a/meson.build +++ b/meson.build @@ -76,7 +76,7 @@ foreach d : [ ['nouveau', true, true], ['vmwgfx', false, true], ['omap', true, true],
- ['exynos', false, false],
- ['exynos', false, true], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, false], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())],
-- Cheers, Eric
On Wednesday, 2018-04-04 14:10:33 -0700, Dylan Baker wrote:
For exynos and omap, are they in active use anymore? I'm pretty sure that development of omap (the hardware) stopped, and others have told me exynos has stopped too. I also don't think there's any open source consumer, since there is no mesa driver for either of these.
Happy to drop these enablement patches; I just like to have everything possible built by default, but if these are dead I'm fine with leaving them disabled by default.
Dylan
Quoting Eric Engestrom (2018-04-04 08:38:16)
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index 24688535a329ac530c10..7b26977a9e84290fdd37 100644 --- a/meson.build +++ b/meson.build @@ -76,7 +76,7 @@ foreach d : [ ['nouveau', true, true], ['vmwgfx', false, true], ['omap', true, true],
- ['exynos', false, false],
- ['exynos', false, true], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, false], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())],
-- Cheers, Eric
Quoting Eric Engestrom (2018-04-05 02:48:50)
On Wednesday, 2018-04-04 14:10:33 -0700, Dylan Baker wrote:
For exynos and omap, are they in active use anymore? I'm pretty sure that development of omap (the hardware) stopped, and others have told me exynos has stopped too. I also don't think there's any open source consumer, since there is no mesa driver for either of these.
Happy to drop these enablement patches; I just like to have everything possible built by default, but if these are dead I'm fine with leaving them disabled by default.
Yeah, I just don't know what the right thing is, it just seems like a bad idea to enable something by default that never really got anywhere.
Dylan
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index 7b26977a9e84290fdd37..e816740cb240922bf98a 100644 --- a/meson.build +++ b/meson.build @@ -78,7 +78,7 @@ foreach d : [ ['omap', true, true], ['exynos', false, true], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], - ['tegra', true, false], + ['tegra', true, true], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['etnaviv', true, false], ]
Please CC Thierry or someone else from nvidia about this, Also I think this should be ['arm', 'aarch64'], like vc4 and freedreno.
Quoting Eric Engestrom (2018-04-04 08:38:17)
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index 7b26977a9e84290fdd37..e816740cb240922bf98a 100644 --- a/meson.build +++ b/meson.build @@ -78,7 +78,7 @@ foreach d : [ ['omap', true, true], ['exynos', false, true], ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())],
- ['tegra', true, false],
- ['tegra', true, true], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['etnaviv', true, false],
]
Cheers, Eric
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index e816740cb240922bf98a..a725f05d342bbec4df18 100644 --- a/meson.build +++ b/meson.build @@ -80,7 +80,7 @@ foreach d : [ ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, true], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())], - ['etnaviv', true, false], + ['etnaviv', true, true], ] driver = d[0] require_atomics = d[1]
Please CC the etnaviv maintainers on this as well.
I think this should be ['arm', 'aarch64']... like vc4 and fredreno
Quoting Eric Engestrom (2018-04-04 08:38:18)
Signed-off-by: Eric Engestrom eric.engestrom@imgtec.com
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build index e816740cb240922bf98a..a725f05d342bbec4df18 100644 --- a/meson.build +++ b/meson.build @@ -80,7 +80,7 @@ foreach d : [ ['freedreno', true, ['arm', 'aarch64'].contains(host_machine.cpu_family())], ['tegra', true, true], ['vc4', false, ['arm', 'aarch64'].contains(host_machine.cpu_family())],
- ['etnaviv', true, false],
- ['etnaviv', true, true],
] driver = d[0] require_atomics = d[1] -- Cheers, Eric
dri-devel@lists.freedesktop.org