Annotation of pkgsrc/graphics/MesaLib/options.mk, Revision 1.57
1.56 maya 1: # $NetBSD: options.mk,v 1.55 2017/03/22 20:22:31 markd 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.44 tnn 17: ${OPSYS} == "SunOS" || ${OPSYS} == "NetBSD" || \
18: ${OPSYS} == "Darwin"
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.44 tnn 118: # theoretically cross platform PCI drivers, but don't build on ARM
119: .if ${OPSYS} != "Darwin" && empty(MACHINE_PLATFORM:MNetBSD-*-*arm*)
1.38 bouyer 120:
121: # AMD Radeon r600
122: PLIST.r600= yes
123: GALLIUM_DRIVERS+= r600
124:
1.28 tnn 125: # nVidia
126: PLIST.nouveau= yes
127: GALLIUM_DRIVERS+= nouveau
128:
129: # classic DRI radeon
130: PLIST.radeon_dri= yes
131: DRI_DRIVERS+= radeon
132:
133: # classic DRI r200
134: PLIST.r200_dri= yes
135: DRI_DRIVERS+= r200
136:
137: # classic DRI nouveau
138: PLIST.nouveau_dri= yes
139: DRI_DRIVERS+= nouveau
1.38 bouyer 140: .endif
1.28 tnn 141:
1.44 tnn 142: .if ${OPSYS} == "Darwin"
143: CONFIGURE_ARGS+= --with-egl-platforms=x11
1.45 tnn 144: #.elif ${OPSYS} == "Linux"
145: #.include "../../wip/wayland/buildlink3.mk"
146: #CONFIGURE_ARGS+= --with-egl-platforms=x11,drm,wayland
147: #PLIST.wayland= yes
1.44 tnn 148: .else
1.28 tnn 149: CONFIGURE_ARGS+= --with-egl-platforms=x11,drm
1.44 tnn 150: .endif
151:
1.28 tnn 152: CONFIGURE_ARGS+= --with-gallium-drivers=${GALLIUM_DRIVERS:ts,}
153: CONFIGURE_ARGS+= --with-dri-drivers=${DRI_DRIVERS:ts,}
154:
155: .if !empty(PKG_OPTIONS:Mllvm)
1.51 maya 156: # VA-API and VDPAU
157: .include "../../multimedia/libva/available.mk"
158: .if ${VAAPI_AVAILABLE} == "yes"
159: PLIST.vaapi= yes
160: .include "../../multimedia/libva/buildlink3.mk"
161: .endif
162: .include "../../multimedia/libvdpau/available.mk"
163: .if ${VDPAU_AVAILABLE} == "yes"
164: PLIST.vdpau= yes
165: .include "../../multimedia/libvdpau/buildlink3.mk"
166: .endif
167:
1.42 tnn 168: # XA is useful for accelerating xf86-video-vmware
169: CONFIGURE_ARGS+= --enable-xa
170: PLIST.xatracker= yes
1.28 tnn 171: # AMD Radeon r300
172: PLIST.r300= yes
173: GALLIUM_DRIVERS+= r300
174: # AMD Canary Islands GPUs
175: PLIST.radeonsi= yes
176: GALLIUM_DRIVERS+= radeonsi
177: CONFIGURE_ARGS+= --enable-gallium-llvm
178: CONFIGURE_ARGS+= --enable-r600-llvm-compiler
1.33 tnn 179: .include "../../devel/libelf/buildlink3.mk"
1.37 tnn 180: CPPFLAGS+= -I${BUILDLINK_PREFIX.libelf}/include/libelf
1.55 markd 181: BUILDLINK_API_DEPENDS.libLLVM+= libLLVM>=4.0
1.28 tnn 182: .include "../../lang/libLLVM/buildlink3.mk"
183: CONFIGURE_ENV+= ac_cv_path_ac_pt_LLVM_CONFIG=${LLVM_CONFIG_PATH}
184: .else # !llvm
1.42 tnn 185: CONFIGURE_ARGS+= --disable-xa
1.28 tnn 186: CONFIGURE_ARGS+= --disable-gallium-llvm
187: CONFIGURE_ARGS+= --disable-r600-llvm-compiler
188: .endif # llvm
189: .else # !dri
190: CONFIGURE_ARGS+= --with-gallium-drivers=
191: CONFIGURE_ARGS+= --with-dri-drivers=
192: CONFIGURE_ARGS+= --disable-dri
193: CONFIGURE_ARGS+= --disable-dri3
1.34 tnn 194: CONFIGURE_ARGS+= --disable-egl
1.42 tnn 195: CONFIGURE_ARGS+= --disable-gbm
196: CONFIGURE_ARGS+= --disable-gles1
197: CONFIGURE_ARGS+= --disable-gles2
1.28 tnn 198: CONFIGURE_ARGS+= --enable-xlib-glx
1.36 tnn 199: .if !empty(PKG_OPTIONS:Mllvm)
200: PKG_FAIL_REASON+= "The llvm PKG_OPTION must also be disabled when dri is disabled"
201: .endif
1.1 bjs 202: .endif
CVSweb <webmaster@jp.NetBSD.org>