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