summaryrefslogtreecommitdiffstats
path: root/graphics-libs/mesa/CONFIGURE
blob: 862bf804878cba6e7632eca985cb41851992d6b6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
persistent_remove MESALIB_OPTS
persistent_remove MESALIB_VULKAN
persistent_remove MESALIB_BUILD
persistent_remove MESALIB_GALLIUM
persistent_remove MESALIB_DRIVERS

. $GRIMOIRE/config_query_multi.function &&
. $GRIMOIRE/MESON_CONFIGURE &&

config_query_multi MESA_GLX "glx build types, recommend dri" dri xlib gallium-xlib &&
config_query_multi MESA_EGL "window systems to support,recommend x11+drm" x11 drm surfaceless wayland &&
config_query_multi MESA_OSMESA "Build OSmesa - not usually needed, except by swrast " none classic gallium


config_query_multi MESA_DRM "which libdrm hardware" AMD INTEL NOUVEAU RADEON &&
# only suggest drivers for specified hardware
local AVAILABLE_DRIVERS="swrast"
local AVAILABLE_GALLIUM="svga swrast virgl"
local AVAILABLE_VULKAN=""
if list_find "$MESA_DRM" AMD;then
  AVAILABLE_VULKAN+=" amd"
fi &&
if list_find "$MESA_DRM" RADEON;then
  AVAILABLE_DRIVERS+=" r100 r200"
  AVAILABLE_GALLIUM+=" r300 r600 radeonsi"
fi &&
if list_find "$MESA_DRM" INTEL;then
  AVAILABLE_DRIVERS+=" i915 i965"
  AVAILABLE_GALLIUM+=" i915"
  AVAILABLE_VULKAN+=" intel"
fi &&
if list_find "$MESA_DRM" NOUVEAU;then
  AVAILABLE_DRIVERS+=" nouveau"
  AVAILABLE_GALLIUM+=" nouveau"
fi &&


if list_find "$MESA_GLX" dri;then
  config_query_multi MESA_DRI \
                   "Which drivers would you like to build?" \
                   all $AVAILABLE_DRIVERS &&

  if list_find "$MESA_DRI" all; then
    MESA_DRI="$AVAILABLE_DRIVERS"
  fi
fi &&
# Gallium support

config_query_multi MESA_GALLIUM \
        "which gallium (accellerated) drivers" \
        none all $AVAILABLE_GALLIUM &&
if list_find "$MESA_GALLIUM" all;then
  MESA_GALLIUM="$AVAILABLE_GALLIUM"
fi &&
if list_find "$MESA_GALLIUM" swrast;then
  list_remove MESA_DRI swrast
fi &&

if list_find "$MESA_OSMESA" classic;then
# force this option
  list_add MESA_DRI swrast
  list_remove MESA_DRI none
  list_remove MESA_GALLIUM swrast
fi &&

if list_find "$MESA_OSMESA" gallium;then
# force this option
  list_add MESA_GALLIUM swrast
  list_remove MESA_GALLIUM none
  list_remove MESA_DRI swrast
fi &&

# Vulkan support
config_query_multi MESA_VULKAN \
     "which Vulkan drivers to build" \
     none all $AVAILABLE_VULKAN &&
if list_find "$MESA_VULKAN" all; then
   MESA_VULKAN="$AVAILABLE_VULKAN"
fi &&
config_query_option MESA_GLES1 "support GLES1 - embedded systems" n gles1=true gles1=false &&
config_query_option MESA_GLES2 "support GLES2/3 - embedded systems" n gles2=true gles2=false &&
config_query_multi MESA_TOOLS  "which tools to build" \
	etnaviv \
	freedreno \
	glsl \
	intel \
	nir \
	nouveau \
	xvmc &&
config_query_multi MESA_ARCH   "which arch" avx avx2 knl skx &&
config_query_multi MESA_OMX    "OMax support" auto disabled tizonia bellagio