Annotation of pkgsrc/graphics/MesaLib/options.mk, Revision 1.61
1.61 ! maya 1: # $NetBSD: options.mk,v 1.60 2018/06/01 14:54:43 maya Exp $
1.1 bjs 2:
1.28 tnn 3: PKG_OPTIONS_VAR= PKG_OPTIONS.MesaLib
4: PKG_SUPPORTED_OPTIONS= llvm dri
5: PKG_SUGGESTED_OPTIONS=
1.1 bjs 6:
1.36 tnn 7: # The LLVM option enables JIT accelerated software rendering and
8: # is also required to support the latest RADEON GPUs, so enable it
9: # by default on platforms where such GPUs might be encountered.
1.53 jperkin 10: .if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && \
1.61 ! maya 11: ${OPSYS} != "SunOS" && ${OPSYS} != "Darwin" && \
! 12: (${OPSYS} == "NetBSD" && ${X11_TYPE} == "modular")
1.36 tnn 13: PKG_SUGGESTED_OPTIONS+= llvm
1.22 sbd 14: .endif
1.1 bjs 15:
1.44 tnn 16: .if ${OPSYS} == "FreeBSD" || ${OPSYS} == "OpenBSD" || \
1.28 tnn 17: ${OPSYS} == "DragonFly" || ${OPSYS} == "Linux" || \
1.59 maya 18: ${OPSYS} == "SunOS" || ${OPSYS} == "Darwin" || \
1.61 ! maya 19: (${OPSYS} == "NetBSD" && ${X11_TYPE} == "modular")
1.15 hasso 20: PKG_SUGGESTED_OPTIONS+= dri
21: .endif
22:
1.1 bjs 23: .include "../../mk/bsd.options.mk"
1.28 tnn 24:
25: # gallium
1.48 tnn 26: PLIST_VARS+= freedreno ilo i915 i965 nouveau r300 r600 radeonsi \
27: swrast svga vc4 virgl
1.28 tnn 28: # classic DRI
1.48 tnn 29: PLIST_VARS+= dri swrast_dri i915_dri nouveau_dri i965_dri radeon_dri r200_dri
1.42 tnn 30: # other features
1.50 maya 31: PLIST_VARS+= gbm vaapi vdpau wayland xatracker
1.1 bjs 32:
33: .if !empty(PKG_OPTIONS:Mdri)
1.57 maya 34:
1.34 tnn 35: CONFIGURE_ARGS+= --enable-dri
36: CONFIGURE_ARGS+= --enable-egl
1.44 tnn 37: .if ${OPSYS} != "Darwin"
1.47 jperkin 38: CFLAGS+= -DHAVE_DRI3
39: CONFIGURE_ARGS+= --enable-dri3
1.42 tnn 40: CONFIGURE_ARGS+= --enable-gbm
1.44 tnn 41: PLIST.gbm= yes
42: .endif
1.42 tnn 43: CONFIGURE_ARGS+= --enable-gles1
44: CONFIGURE_ARGS+= --enable-gles2
1.34 tnn 45:
1.36 tnn 46: # Use Thread Local Storage in GLX where it is supported by Mesa and works.
1.35 tnn 47: .if \
1.42 tnn 48: !empty(MACHINE_PLATFORM:MNetBSD-[789].*-i386) || \
49: !empty(MACHINE_PLATFORM:MNetBSD-[789].*-x86_64) || \
1.36 tnn 50: !empty(MACHINE_PLATFORM:MLinux-*-i386) || \
51: !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || \
1.35 tnn 52: !empty(MACHINE_PLATFORM:MFreeBSD-1[0-9].*-x86_64) || \
1.36 tnn 53: !empty(MACHINE_PLATFORM:MDragonFly-*-x86_64)
54: CONFIGURE_ARGS+= --enable-glx-tls
1.34 tnn 55: .else
1.28 tnn 56: CONFIGURE_ARGS+= --disable-glx-tls
1.34 tnn 57: .endif
1.28 tnn 58:
1.42 tnn 59: # DRI on Linux needs either sysfs or udev
1.49 jperkin 60: CONFIGURE_ARGS.Linux+= --enable-sysfs
1.42 tnn 61:
1.13 bjs 62: PLIST.dri= yes
1.31 tnn 63:
1.44 tnn 64: .if ${OPSYS} != "Darwin"
1.36 tnn 65: BUILDLINK_DEPMETHOD.libpciaccess= full
1.28 tnn 66: .include "../../sysutils/libpciaccess/buildlink3.mk"
1.44 tnn 67: .endif
1.28 tnn 68: .include "../../graphics/MesaLib/dri.mk"
69:
70: DRI_DRIVERS= #
1.44 tnn 71: GALLIUM_DRIVERS= #
72:
73: # Software rasterizer
1.28 tnn 74: PLIST.swrast_dri= yes
75: DRI_DRIVERS+= swrast
1.44 tnn 76: .if ${OPSYS} != "Darwin"
1.28 tnn 77: PLIST.swrast= yes
78: GALLIUM_DRIVERS+= swrast
1.44 tnn 79: .endif
1.28 tnn 80:
1.44 tnn 81: # x86 only drivers
82: .if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && ${OPSYS} != "Darwin"
1.28 tnn 83: # svga / VMWare driver
84: PLIST.svga= yes
85: GALLIUM_DRIVERS+= svga
86:
87: # Intel chipsets, x86 only
88: PLIST.i915= yes
89: GALLIUM_DRIVERS+= i915
90: PLIST.i915_dri= yes
91: DRI_DRIVERS+= i915
92:
93: # Experimental Intel driver
94: PLIST.ilo= yes
95: GALLIUM_DRIVERS+= ilo
96:
97: PLIST.i965_dri= yes
98: DRI_DRIVERS+= i965
99: .endif
100:
1.44 tnn 101: # ARM drivers
1.38 bouyer 102: .if !empty(MACHINE_PLATFORM:MNetBSD-*-*arm*)
1.28 tnn 103: # Qualcomm SnapDragon, libdrm_freedreno.pc
1.48 tnn 104: GALLIUM_DRIVERS+= freedreno
105: PLIST.freedreno= yes
1.28 tnn 106:
107: # Broadcom VideoCore 4
1.48 tnn 108: GALLIUM_DRIVERS+= vc4
109: PLIST.vc4= yes
110: .endif
111:
112: # qemu Linux guest driver
113: .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64)
114: # XXX test this
115: #GALLIUM_DRIVERS+= virgl
116: #PLIST.virgl= yes
1.44 tnn 117: .endif
1.28 tnn 118:
1.58 sevan 119: # theoretically cross platform PCI drivers
120: .if ${OPSYS} != "Darwin" && empty(MACHINE_PLATFORM:MNetBSD-*-*arm*) && \
121: empty(MACHINE_PLATFORM:MNetBSD-*-mipsel)
1.38 bouyer 122:
123: # AMD Radeon r600
124: PLIST.r600= yes
125: GALLIUM_DRIVERS+= r600
126:
1.28 tnn 127: # nVidia
128: PLIST.nouveau= yes
129: GALLIUM_DRIVERS+= nouveau
130:
131: # classic DRI radeon
132: PLIST.radeon_dri= yes
133: DRI_DRIVERS+= radeon
134:
135: # classic DRI r200
136: PLIST.r200_dri= yes
137: DRI_DRIVERS+= r200
138:
139: # classic DRI nouveau
140: PLIST.nouveau_dri= yes
141: DRI_DRIVERS+= nouveau
1.38 bouyer 142: .endif
1.28 tnn 143:
1.44 tnn 144: .if ${OPSYS} == "Darwin"
145: CONFIGURE_ARGS+= --with-egl-platforms=x11
1.45 tnn 146: #.elif ${OPSYS} == "Linux"
147: #.include "../../wip/wayland/buildlink3.mk"
148: #CONFIGURE_ARGS+= --with-egl-platforms=x11,drm,wayland
149: #PLIST.wayland= yes
1.44 tnn 150: .else
1.28 tnn 151: CONFIGURE_ARGS+= --with-egl-platforms=x11,drm
1.44 tnn 152: .endif
153:
1.28 tnn 154: CONFIGURE_ARGS+= --with-gallium-drivers=${GALLIUM_DRIVERS:ts,}
155: CONFIGURE_ARGS+= --with-dri-drivers=${DRI_DRIVERS:ts,}
156:
157: .if !empty(PKG_OPTIONS:Mllvm)
1.51 maya 158: # VA-API and VDPAU
159: .include "../../multimedia/libva/available.mk"
160: .if ${VAAPI_AVAILABLE} == "yes"
161: PLIST.vaapi= yes
162: .include "../../multimedia/libva/buildlink3.mk"
163: .endif
164: .include "../../multimedia/libvdpau/available.mk"
165: .if ${VDPAU_AVAILABLE} == "yes"
166: PLIST.vdpau= yes
167: .include "../../multimedia/libvdpau/buildlink3.mk"
168: .endif
169:
1.42 tnn 170: # XA is useful for accelerating xf86-video-vmware
171: CONFIGURE_ARGS+= --enable-xa
172: PLIST.xatracker= yes
1.28 tnn 173: # AMD Radeon r300
174: PLIST.r300= yes
175: GALLIUM_DRIVERS+= r300
176: # AMD Canary Islands GPUs
177: PLIST.radeonsi= yes
178: GALLIUM_DRIVERS+= radeonsi
179: CONFIGURE_ARGS+= --enable-gallium-llvm
180: CONFIGURE_ARGS+= --enable-r600-llvm-compiler
1.33 tnn 181: .include "../../devel/libelf/buildlink3.mk"
1.37 tnn 182: CPPFLAGS+= -I${BUILDLINK_PREFIX.libelf}/include/libelf
1.55 markd 183: BUILDLINK_API_DEPENDS.libLLVM+= libLLVM>=4.0
1.28 tnn 184: .include "../../lang/libLLVM/buildlink3.mk"
185: CONFIGURE_ENV+= ac_cv_path_ac_pt_LLVM_CONFIG=${LLVM_CONFIG_PATH}
186: .else # !llvm
1.42 tnn 187: CONFIGURE_ARGS+= --disable-xa
1.28 tnn 188: CONFIGURE_ARGS+= --disable-gallium-llvm
189: CONFIGURE_ARGS+= --disable-r600-llvm-compiler
190: .endif # llvm
191: .else # !dri
192: CONFIGURE_ARGS+= --with-gallium-drivers=
193: CONFIGURE_ARGS+= --with-dri-drivers=
194: CONFIGURE_ARGS+= --disable-dri
195: CONFIGURE_ARGS+= --disable-dri3
1.34 tnn 196: CONFIGURE_ARGS+= --disable-egl
1.42 tnn 197: CONFIGURE_ARGS+= --disable-gbm
198: CONFIGURE_ARGS+= --disable-gles1
199: CONFIGURE_ARGS+= --disable-gles2
1.28 tnn 200: CONFIGURE_ARGS+= --enable-xlib-glx
1.36 tnn 201: .if !empty(PKG_OPTIONS:Mllvm)
202: PKG_FAIL_REASON+= "The llvm PKG_OPTION must also be disabled when dri is disabled"
203: .endif
1.1 bjs 204: .endif
CVSweb <webmaster@jp.NetBSD.org>