Config.in 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. menuconfig BR2_PACKAGE_MESA3D
  2. bool "mesa3d"
  3. depends on BR2_INSTALL_LIBSTDCPP
  4. depends on !BR2_STATIC_LIBS
  5. depends on BR2_TOOLCHAIN_HAS_SYNC_1
  6. depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
  7. select BR2_PACKAGE_LIBDRM
  8. select BR2_PACKAGE_EXPAT
  9. select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
  10. select BR2_PACKAGE_ZLIB
  11. help
  12. Mesa 3D, an open-source implementation of the OpenGL
  13. specification.
  14. http://mesa3d.org
  15. if BR2_PACKAGE_MESA3D
  16. # Some Gallium driver needs libelf when built with LLVM support
  17. config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
  18. bool
  19. config BR2_PACKAGE_MESA3D_LLVM
  20. bool "llvm support"
  21. depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
  22. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  23. depends on BR2_TOOLCHAIN_HAS_THREADS
  24. depends on BR2_INSTALL_LIBSTDCPP
  25. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future
  26. depends on !BR2_STATIC_LIBS
  27. depends on BR2_USE_WCHAR # std::wstring
  28. select BR2_PACKAGE_LLVM
  29. comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, dynamic library"
  30. depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
  31. depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
  32. !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
  33. || BR2_STATIC_LIBS || !BR2_USE_WCHAR
  34. comment "llvm support needs a toolchain not affected by GCC bug 64735"
  35. depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
  36. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  37. # clang and libclc dependencies are satisfied by
  38. # BR2_PACKAGE_MESA3D_LLVM
  39. config BR2_PACKAGE_MESA3D_OPENCL
  40. bool "OpenCL support"
  41. depends on BR2_PACKAGE_MESA3D_LLVM
  42. depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 || \
  43. BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
  44. select BR2_PACKAGE_LLVM_RTTI
  45. select BR2_PACKAGE_CLANG
  46. select BR2_PACKAGE_LIBCLC
  47. select BR2_PACKAGE_HAS_LIBOPENCL
  48. # inform the .mk file of gallium, dri or vulkan driver selection
  49. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  50. bool
  51. select BR2_PACKAGE_MESA3D_DRIVER
  52. config BR2_PACKAGE_MESA3D_DRI_DRIVER
  53. bool
  54. select BR2_PACKAGE_MESA3D_DRIVER
  55. select BR2_PACKAGE_MESA3D_GBM if \
  56. !BR2_PACKAGE_MESA3D_OPENGL_GLX && \
  57. !BR2_PACKAGE_MESA3D_OPENGL_EGL && \
  58. !BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
  59. select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
  60. (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4)
  61. config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
  62. bool
  63. select BR2_PACKAGE_MESA3D_DRIVER
  64. config BR2_PACKAGE_MESA3D_DRIVER
  65. bool
  66. # Gallium xa state tracker.
  67. # Quote from mesa3d meson.build: "XA state tracker requires at least
  68. # one of the following gallium drivers: nouveau, freedreno, i915, svga.
  69. config BR2_PACKAGE_MESA3D_NEEDS_XA
  70. bool
  71. # Quote from mesa3d meson.build: "kmsro driver requires one or more
  72. # renderonly drivers (vc4, etnaviv, freedreno)".
  73. config BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  74. bool
  75. # OpenGL GLX and Gallium VDPAU both needs X11
  76. config BR2_PACKAGE_MESA3D_NEEDS_X11
  77. bool
  78. depends on BR2_PACKAGE_XORG7
  79. select BR2_PACKAGE_LIBXCB
  80. select BR2_PACKAGE_XLIB_LIBX11
  81. select BR2_PACKAGE_XLIB_LIBXDAMAGE
  82. select BR2_PACKAGE_XLIB_LIBXEXT
  83. select BR2_PACKAGE_XLIB_LIBXFIXES
  84. select BR2_PACKAGE_XLIB_LIBXRANDR
  85. select BR2_PACKAGE_XLIB_LIBXXF86VM
  86. select BR2_PACKAGE_XORGPROTO
  87. comment "Gallium drivers"
  88. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
  89. bool "Gallium Etnaviv driver"
  90. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  91. select BR2_PACKAGE_LIBDRM_ETNAVIV
  92. select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  93. help
  94. Mesa driver for Vivante GPUs.
  95. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
  96. bool "Gallium freedreno driver"
  97. depends on BR2_arm || BR2_aarch64 || BR2_aarch64_be # libdrm-freedreno
  98. # libdrm's freedreno option depends on LIBDRM_HAS_ATOMIC. Propagating
  99. # that dependency here causes a circular dependency that Kconfig
  100. # can't see is just spurious. However, that dependency is about
  101. # the toolchain having sync4 primitives, which is always a given
  102. # for arm/aarch64.
  103. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  104. select BR2_PACKAGE_LIBDRM_FREEDRENO
  105. select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  106. help
  107. Mesa driver for Freedreno GPUs.
  108. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
  109. bool "Gallium i915 driver"
  110. depends on BR2_i386 || BR2_x86_64
  111. depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
  112. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  113. select BR2_PACKAGE_LIBDRM_INTEL
  114. help
  115. Support for i915-based Intel GPUs.
  116. comment "Gallium i915: Only one i915 provider can be built"
  117. depends on BR2_i386 || BR2_x86_64
  118. depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
  119. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
  120. bool "Gallium iris driver"
  121. depends on BR2_i386 || BR2_x86_64
  122. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  123. help
  124. Mesa driver for iris-based Intel GPUs.
  125. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO
  126. bool "Gallium KMSRO driver"
  127. depends on BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  128. help
  129. Support various sorts of KMS displays with the
  130. renderonly layer used to attach a GPU.
  131. comment "Gallium KMSRO needs one or more renderonly drivers"
  132. depends on !BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  133. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
  134. bool "Gallium lima driver"
  135. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  136. select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  137. help
  138. Mesa driver for ARM Mali Utgard GPUs.
  139. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
  140. bool "Gallium nouveau driver"
  141. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  142. select BR2_PACKAGE_LIBDRM_NOUVEAU
  143. select BR2_PACKAGE_MESA3D_NEEDS_XA
  144. select BR2_PACKAGE_LLVM_RTTI if BR2_PACKAGE_MESA3D_LLVM
  145. help
  146. Supports all Nvidia GPUs.
  147. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
  148. bool "Gallium panfrost driver"
  149. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  150. select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  151. help
  152. Mesa driver for ARM Mali Midgard and Bifrost GPUs.
  153. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300
  154. bool "Gallium Radeon R300 driver"
  155. depends on BR2_i386 || BR2_x86_64
  156. # lbdrm's radeon option depends on LIBDRM_HAS_ATOMIC. Propagating
  157. # that dependency here causes a circular dependency that Kconfig
  158. # can't see is just spurious. However, that dependency is about
  159. # the toolchain having sync4 primitives, which is always a given
  160. # for x86.
  161. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  162. select BR2_PACKAGE_LIBDRM_RADEON
  163. help
  164. Driver for ATI/AMD Radeon R300/R400/R500 GPUs.
  165. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
  166. bool "Gallium Radeon R600 driver"
  167. depends on BR2_i386 || BR2_x86_64
  168. depends on !BR2_PACKAGE_MESA3D_LLVM || \
  169. (BR2_PACKAGE_MESA3D_LLVM && (BR2_TOOLCHAIN_USES_UCLIBC || \
  170. BR2_TOOLCHAIN_USES_GLIBC)) # elfutils
  171. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  172. select BR2_PACKAGE_LIBDRM_RADEON
  173. select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM
  174. select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
  175. select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
  176. help
  177. Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
  178. # R600 needs libelf when Mesa3D is built with LLVM support
  179. # musl is not currently compatible with elfutils
  180. comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled"
  181. depends on BR2_PACKAGE_MESA3D_LLVM
  182. depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
  183. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
  184. bool "Gallium Radeon SI driver"
  185. depends on BR2_USE_MMU # libdrm
  186. depends on BR2_i386 || BR2_x86_64
  187. depends on BR2_PACKAGE_MESA3D_LLVM
  188. depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
  189. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  190. select BR2_PACKAGE_LIBDRM_AMDGPU
  191. select BR2_PACKAGE_LIBDRM_RADEON
  192. select BR2_PACKAGE_LLVM_AMDGPU
  193. select BR2_PACKAGE_ELFUTILS
  194. select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
  195. help
  196. Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs.
  197. # Radeon SI needs libelf
  198. # musl is not currently compatible with elfutils
  199. comment "Radeon SI driver needs a uClibc or glibc toolchain"
  200. depends on BR2_USE_MMU
  201. depends on BR2_PACKAGE_MESA3D_LLVM
  202. depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
  203. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
  204. bool "Gallium vmware svga driver"
  205. depends on BR2_i386 || BR2_x86_64
  206. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  207. select BR2_PACKAGE_LIBDRM_VMWGFX
  208. select BR2_PACKAGE_MESA3D_NEEDS_XA
  209. help
  210. This is a virtual GPU driver for VMWare virtual machines.
  211. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
  212. bool "Gallium swrast driver"
  213. depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
  214. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  215. help
  216. This is a software opengl implementation using the Gallium3D
  217. infrastructure.
  218. comment "Gallium swrast: Only one swrast provider can be built"
  219. depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
  220. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA
  221. bool "Gallium tegra driver"
  222. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  223. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
  224. select BR2_PACKAGE_LIBDRM_NOUVEAU
  225. select BR2_PACKAGE_MESA3D_NEEDS_XA
  226. help
  227. Adds support for Nvidia Tegra GPUs, requires nouveau.
  228. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D
  229. bool "Gallium v3d driver"
  230. depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
  231. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  232. select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  233. select BR2_PACKAGE_LIBDRM_VC4
  234. select BR2_PACKAGE_MESA3D_OPENGL_EGL
  235. help
  236. Driver for Broadcom VC6 (rpi4) GPUs (needs kmsro and vc4).
  237. It requires a kernel 4.18+ with DRM V3D support enabled:
  238. - CONFIG_DRM_V3D
  239. - CONFIG_DRM_VC4
  240. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
  241. bool "Gallium vc4 driver"
  242. depends on BR2_arm || BR2_aarch64
  243. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  244. select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
  245. select BR2_PACKAGE_LIBDRM_VC4
  246. select BR2_PACKAGE_MESA3D_OPENGL_EGL
  247. help
  248. Driver for Broadcom VC4 (rpi2/3) GPUs.
  249. It requires a vanilla 4.5+ kernel with drm vc4 (open) support.
  250. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
  251. bool "Gallium virgl driver"
  252. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  253. select BR2_PACKAGE_MESA3D_OPENGL_EGL
  254. help
  255. virgl is the 3D acceleration backend for the virtio-gpu
  256. shipping with qemu.
  257. config BR2_PACKAGE_MESA3D_VDPAU
  258. bool "Gallium VDPAU state tracker"
  259. depends on BR2_PACKAGE_XORG7
  260. depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
  261. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300 \
  262. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 \
  263. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
  264. select BR2_PACKAGE_MESA3D_NEEDS_X11
  265. select BR2_PACKAGE_LIBVDPAU
  266. help
  267. VDPAU state tracker (needs r300, r600, radeonsi or nouveau
  268. gallium drivers).
  269. comment "Gallium VDPAU state tracker needs X.org and gallium drivers r300, r600, radeonsi or nouveau"
  270. depends on !BR2_PACKAGE_XORG7 || \
  271. !(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
  272. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300 \
  273. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 \
  274. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI)
  275. config BR2_PACKAGE_MESA3D_XVMC
  276. bool "Gallium XvMC state tracker"
  277. depends on BR2_i386 || BR2_x86_64
  278. depends on BR2_PACKAGE_XORG7
  279. depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
  280. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
  281. select BR2_PACKAGE_MESA3D_NEEDS_X11
  282. select BR2_PACKAGE_XLIB_LIBXV
  283. select BR2_PACKAGE_XLIB_LIBXVMC
  284. help
  285. XvMC state tracker (needs r600 or nouveau gallium drivers).
  286. comment "Gallium XvMC state tracker needs X.org and gallium drivers r600 or nouveau"
  287. depends on BR2_i386 || BR2_x86_64
  288. depends on !BR2_PACKAGE_XORG7 || \
  289. !(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
  290. || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600)
  291. comment "DRI drivers"
  292. config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
  293. bool "DRI swrast driver"
  294. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  295. help
  296. This is a software opengl implementation using the DRI
  297. infrastructure.
  298. config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
  299. bool "DRI i915 driver"
  300. depends on BR2_i386 || BR2_x86_64
  301. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  302. select BR2_PACKAGE_LIBDRM_INTEL
  303. help
  304. Support for i915-based Intel GPUs.
  305. config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
  306. bool "DRI i965 driver"
  307. depends on BR2_i386 || BR2_x86_64
  308. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
  309. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  310. select BR2_PACKAGE_LIBDRM_INTEL
  311. help
  312. Support for i965-based Intel GPUs.
  313. comment "DRI i965 driver needs a toolchain w/ headers >= 3.17"
  314. depends on BR2_i386 || BR2_x86_64
  315. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  316. config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
  317. bool "DRI nouveau driver"
  318. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  319. select BR2_PACKAGE_LIBDRM_NOUVEAU
  320. help
  321. Support for Nvidia-based GPUs.
  322. config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
  323. bool "DRI radeon r100 driver"
  324. depends on BR2_i386 || BR2_x86_64
  325. # libdrm's radeon option depends on LIBDRM_HAS_ATOMIC. Propagating
  326. # that dependency here causes a circular dependency that Kconfig
  327. # can't see is just spurious. However, that dependency is about
  328. # the toolchain having sync4 primitives, which is always a given
  329. # for i386 and x86_64.
  330. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  331. select BR2_PACKAGE_LIBDRM_RADEON
  332. help
  333. Legacy Radeon driver for R100 series GPUs.
  334. comment "Vulkan drivers"
  335. config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
  336. bool "Vulkan Intel driver"
  337. depends on BR2_i386 || BR2_x86_64
  338. depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libxshmfence
  339. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
  340. depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
  341. depends on BR2_PACKAGE_XORG7 # xorgproto
  342. select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
  343. select BR2_PACKAGE_XORGPROTO
  344. select BR2_PACKAGE_XLIB_LIBXSHMFENCE
  345. help
  346. Vulkan driver for Intel hardware from Ivy Bridge onward.
  347. comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.17"
  348. depends on BR2_i386 || BR2_x86_64
  349. depends on BR2_TOOLCHAIN_HAS_SYNC_4
  350. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \
  351. !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
  352. comment "Off-screen Rendering"
  353. config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
  354. bool "OSMesa (classic) library"
  355. help
  356. The OSMesa classic API provides functions for
  357. making off-screen renderings.
  358. if BR2_PACKAGE_MESA3D_DRIVER
  359. comment "OpenGL API Support"
  360. config BR2_PACKAGE_MESA3D_GBM
  361. bool "gbm"
  362. depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \
  363. || (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
  364. help
  365. Enable Generic Buffer Management (gbm)
  366. comment "gbm support needs a dri driver or a gallium driver w/ EGL support."
  367. depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER \
  368. && !(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
  369. config BR2_PACKAGE_MESA3D_OPENGL_GLX
  370. bool "OpenGL GLX"
  371. depends on BR2_PACKAGE_XORG7
  372. select BR2_PACKAGE_HAS_LIBGL
  373. select BR2_PACKAGE_MESA3D_NEEDS_X11
  374. help
  375. Enable GLX graphic acceleration (OpenGL + X11).
  376. comment "OpenGL GLX support needs X11"
  377. depends on !BR2_PACKAGE_XORG7
  378. config BR2_PACKAGE_MESA3D_OPENGL_EGL
  379. bool "OpenGL EGL"
  380. select BR2_PACKAGE_HAS_LIBEGL
  381. select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
  382. select BR2_PACKAGE_MESA3D_GBM
  383. help
  384. Use the Khronos EGL APIs. EGL is a window manager for OpenGL
  385. applications similar to GLX, for X, and WGL, for Windows.
  386. config BR2_PACKAGE_MESA3D_OPENGL_ES
  387. bool "OpenGL ES"
  388. select BR2_PACKAGE_HAS_LIBGLES
  389. help
  390. Use the Khronos OpenGL ES APIs. This is commonly used on
  391. embedded systems and represents a subset of the OpenGL API.
  392. endif # BR2_PACKAGE_MESA3D_DRIVER
  393. config BR2_PACKAGE_PROVIDES_LIBGL
  394. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX
  395. config BR2_PACKAGE_PROVIDES_LIBEGL
  396. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
  397. config BR2_PACKAGE_PROVIDES_LIBGLES
  398. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES
  399. config BR2_PACKAGE_PROVIDES_LIBOPENCL
  400. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL
  401. endif # BR2_PACKAGE_MESA3D
  402. comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
  403. depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
  404. BR2_STATIC_LIBS
  405. depends on BR2_TOOLCHAIN_HAS_SYNC_1