Config.in 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478
  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. depends on !BR2_m68k || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # m68k needs gcc >= 7.x
  8. select BR2_PACKAGE_EXPAT
  9. select BR2_PACKAGE_LIBDRM
  10. select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
  11. select BR2_PACKAGE_ZLIB
  12. help
  13. Mesa 3D, an open-source implementation of the OpenGL
  14. specification.
  15. http://mesa3d.org
  16. if BR2_PACKAGE_MESA3D
  17. # Some Gallium driver needs libelf when built with LLVM support
  18. config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
  19. bool
  20. config BR2_PACKAGE_MESA3D_LLVM
  21. bool "llvm support"
  22. depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
  23. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  24. depends on BR2_TOOLCHAIN_HAS_THREADS
  25. depends on BR2_INSTALL_LIBSTDCPP
  26. depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future
  27. depends on !BR2_STATIC_LIBS
  28. depends on BR2_USE_WCHAR # std::wstring
  29. select BR2_PACKAGE_LLVM
  30. comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, dynamic library"
  31. depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
  32. depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
  33. !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
  34. || BR2_STATIC_LIBS || !BR2_USE_WCHAR
  35. comment "llvm support needs a toolchain not affected by GCC bug 64735"
  36. depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
  37. depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
  38. # clang and libclc dependencies are satisfied by
  39. # BR2_PACKAGE_MESA3D_LLVM
  40. config BR2_PACKAGE_MESA3D_OPENCL
  41. bool "OpenCL support"
  42. depends on BR2_PACKAGE_MESA3D_LLVM
  43. depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 || \
  44. BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
  45. select BR2_PACKAGE_LLVM_RTTI
  46. select BR2_PACKAGE_CLANG
  47. select BR2_PACKAGE_LIBCLC
  48. select BR2_PACKAGE_HAS_LIBOPENCL
  49. # inform the .mk file of gallium, dri, dri3 or vulkan driver selection
  50. config BR2_PACKAGE_MESA3D_DRI3
  51. bool
  52. select BR2_PACKAGE_XLIB_LIBXSHMFENCE
  53. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  54. bool
  55. select BR2_PACKAGE_MESA3D_DRIVER
  56. config BR2_PACKAGE_MESA3D_DRI_DRIVER
  57. bool
  58. select BR2_PACKAGE_MESA3D_DRI3 if \
  59. (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4 && \
  60. !BR2_RISCV_32)
  61. select BR2_PACKAGE_MESA3D_DRIVER
  62. select BR2_PACKAGE_MESA3D_GBM if \
  63. !BR2_PACKAGE_MESA3D_OPENGL_GLX && \
  64. !BR2_PACKAGE_MESA3D_OPENGL_EGL
  65. config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
  66. bool
  67. select BR2_PACKAGE_MESA3D_DRIVER
  68. config BR2_PACKAGE_MESA3D_DRIVER
  69. bool
  70. # Gallium xa state tracker.
  71. # Quote from mesa3d meson.build: "XA state tracker requires at least
  72. # one of the following gallium drivers: nouveau, freedreno, i915, svga.
  73. config BR2_PACKAGE_MESA3D_NEEDS_XA
  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_CROCUS
  89. bool "Gallium crocus driver"
  90. depends on BR2_i386 || BR2_x86_64
  91. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  92. help
  93. Mesa driver for gen4-7 Intel GPUs.
  94. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
  95. bool "Gallium Etnaviv driver"
  96. depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
  97. select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
  98. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  99. select BR2_PACKAGE_LIBDRM_ETNAVIV
  100. help
  101. Mesa driver for Vivante GPUs.
  102. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
  103. bool "Gallium freedreno driver"
  104. depends on BR2_arm || BR2_aarch64 || BR2_aarch64_be # libdrm-freedreno
  105. # libdrm's freedreno option depends on LIBDRM_HAS_ATOMIC. Propagating
  106. # that dependency here causes a circular dependency that Kconfig
  107. # can't see is just spurious. However, that dependency is about
  108. # the toolchain having sync4 primitives, which is always a given
  109. # for arm/aarch64.
  110. select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
  111. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  112. select BR2_PACKAGE_LIBDRM_FREEDRENO
  113. help
  114. Mesa driver for Freedreno GPUs.
  115. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
  116. bool "Gallium i915 driver"
  117. depends on BR2_i386 || BR2_x86_64
  118. depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
  119. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  120. select BR2_PACKAGE_LIBDRM_INTEL
  121. help
  122. Support for i915-based Intel GPUs.
  123. comment "Gallium i915: Only one i915 provider can be built"
  124. depends on BR2_i386 || BR2_x86_64
  125. depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
  126. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
  127. bool "Gallium iris driver"
  128. depends on BR2_i386 || BR2_x86_64
  129. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  130. help
  131. Mesa driver for iris-based Intel GPUs.
  132. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
  133. bool "Gallium lima driver"
  134. depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
  135. select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
  136. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  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. depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
  150. select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
  151. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  152. help
  153. Mesa driver for ARM Mali Midgard and Bifrost GPUs.
  154. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300
  155. bool "Gallium Radeon R300 driver"
  156. depends on BR2_i386 || BR2_x86_64
  157. # lbdrm's radeon option depends on LIBDRM_HAS_ATOMIC. Propagating
  158. # that dependency here causes a circular dependency that Kconfig
  159. # can't see is just spurious. However, that dependency is about
  160. # the toolchain having sync4 primitives, which is always a given
  161. # for x86.
  162. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  163. select BR2_PACKAGE_LIBDRM_RADEON
  164. help
  165. Driver for ATI/AMD Radeon R300/R400/R500 GPUs.
  166. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
  167. bool "Gallium Radeon R600 driver"
  168. depends on BR2_i386 || BR2_x86_64
  169. depends on !BR2_PACKAGE_MESA3D_LLVM || \
  170. (BR2_PACKAGE_MESA3D_LLVM && (BR2_TOOLCHAIN_USES_UCLIBC || \
  171. BR2_TOOLCHAIN_USES_GLIBC)) # elfutils
  172. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  173. select BR2_PACKAGE_LIBDRM_RADEON
  174. select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM
  175. select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
  176. select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
  177. help
  178. Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
  179. # R600 needs libelf when Mesa3D is built with LLVM support
  180. # musl is not currently compatible with elfutils
  181. comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled"
  182. depends on BR2_PACKAGE_MESA3D_LLVM
  183. depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
  184. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
  185. bool "Gallium Radeon SI driver"
  186. depends on BR2_USE_MMU # libdrm
  187. depends on BR2_i386 || BR2_x86_64
  188. depends on BR2_PACKAGE_MESA3D_LLVM
  189. depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
  190. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  191. select BR2_PACKAGE_LIBDRM_AMDGPU
  192. select BR2_PACKAGE_LIBDRM_RADEON
  193. select BR2_PACKAGE_LLVM_AMDGPU
  194. select BR2_PACKAGE_ELFUTILS
  195. select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
  196. help
  197. Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs.
  198. # Radeon SI needs libelf
  199. # musl is not currently compatible with elfutils
  200. comment "Radeon SI driver needs a uClibc or glibc toolchain"
  201. depends on BR2_USE_MMU
  202. depends on BR2_PACKAGE_MESA3D_LLVM
  203. depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
  204. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
  205. bool "Gallium vmware svga driver"
  206. depends on BR2_i386 || BR2_x86_64
  207. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  208. select BR2_PACKAGE_LIBDRM_VMWGFX
  209. select BR2_PACKAGE_MESA3D_NEEDS_XA
  210. help
  211. This is a virtual GPU driver for VMWare virtual machines.
  212. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
  213. bool "Gallium swrast driver"
  214. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  215. help
  216. This is a software opengl implementation using the Gallium3D
  217. infrastructure.
  218. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA
  219. bool "Gallium tegra driver"
  220. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  221. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
  222. select BR2_PACKAGE_LIBDRM_NOUVEAU
  223. select BR2_PACKAGE_MESA3D_NEEDS_XA
  224. help
  225. Adds support for Nvidia Tegra GPUs, requires nouveau.
  226. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D
  227. bool "Gallium v3d driver"
  228. depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
  229. depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
  230. select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
  231. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  232. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 # runtime
  233. select BR2_PACKAGE_MESA3D_OPENGL_EGL
  234. help
  235. Driver for Broadcom VC6 (rpi4) GPUs (needs vc4).
  236. It requires a kernel 4.18+ with DRM V3D support enabled:
  237. - CONFIG_DRM_V3D
  238. - CONFIG_DRM_VC4
  239. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
  240. bool "Gallium vc4 driver"
  241. depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
  242. depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
  243. select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
  244. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  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_I915
  293. bool "DRI i915 driver"
  294. depends on BR2_i386 || BR2_x86_64
  295. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  296. select BR2_PACKAGE_LIBDRM_INTEL
  297. help
  298. Support for i915-based Intel GPUs.
  299. config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
  300. bool "DRI i965 driver"
  301. depends on BR2_i386 || BR2_x86_64
  302. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
  303. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  304. select BR2_PACKAGE_LIBDRM_INTEL
  305. help
  306. Support for i965-based Intel GPUs.
  307. comment "DRI i965 driver needs a toolchain w/ headers >= 3.17"
  308. depends on BR2_i386 || BR2_x86_64
  309. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  310. config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
  311. bool "DRI nouveau driver"
  312. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  313. select BR2_PACKAGE_LIBDRM_NOUVEAU
  314. help
  315. Support for Nvidia-based GPUs.
  316. config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
  317. bool "DRI radeon r100 driver"
  318. depends on BR2_i386 || BR2_x86_64
  319. # libdrm's radeon option depends on LIBDRM_HAS_ATOMIC. Propagating
  320. # that dependency here causes a circular dependency that Kconfig
  321. # can't see is just spurious. However, that dependency is about
  322. # the toolchain having sync4 primitives, which is always a given
  323. # for i386 and x86_64.
  324. select BR2_PACKAGE_MESA3D_DRI_DRIVER
  325. select BR2_PACKAGE_LIBDRM_RADEON
  326. help
  327. Legacy Radeon driver for R100 series GPUs.
  328. comment "Vulkan drivers"
  329. config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
  330. bool "Vulkan Intel driver"
  331. depends on BR2_i386 || BR2_x86_64
  332. depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
  333. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
  334. depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
  335. select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
  336. select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
  337. help
  338. Vulkan driver for Intel hardware from Ivy Bridge onward.
  339. comment "intel vulkan needs a glibc toolchain w/ headers >= 3.17"
  340. depends on BR2_i386 || BR2_x86_64
  341. depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7
  342. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \
  343. !BR2_TOOLCHAIN_USES_GLIBC
  344. comment "Off-screen Rendering"
  345. config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM
  346. bool "OSMesa (Gallium) library"
  347. select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
  348. help
  349. The OSMesa API provides functions for off-screen rendering.
  350. if BR2_PACKAGE_MESA3D_DRIVER
  351. comment "OpenGL API Support"
  352. config BR2_PACKAGE_MESA3D_GBM
  353. bool "gbm"
  354. depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \
  355. || (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
  356. select BR2_PACKAGE_HAS_LIBGBM
  357. select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
  358. select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
  359. help
  360. Enable Generic Buffer Management (gbm)
  361. comment "gbm support needs a dri driver or a gallium driver w/ EGL support."
  362. depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER \
  363. && !(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
  364. config BR2_PACKAGE_MESA3D_OPENGL_GLX
  365. bool "OpenGL GLX"
  366. depends on BR2_PACKAGE_XORG7
  367. select BR2_PACKAGE_HAS_LIBGL if !BR2_PACKAGE_LIBGLVND
  368. select BR2_PACKAGE_LIBGLVND_DISPATCH_GL if BR2_PACKAGE_LIBGLVND
  369. select BR2_PACKAGE_MESA3D_NEEDS_X11
  370. help
  371. Enable GLX graphic acceleration (OpenGL + X11).
  372. comment "OpenGL GLX support needs X11"
  373. depends on !BR2_PACKAGE_XORG7
  374. config BR2_PACKAGE_MESA3D_OPENGL_EGL
  375. bool "OpenGL EGL"
  376. depends on BR2_PACKAGE_MESA3D_DRI_DRIVER || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  377. select BR2_PACKAGE_HAS_LIBEGL if !BR2_PACKAGE_LIBGLVND
  378. select BR2_PACKAGE_LIBGLVND_DISPATCH_EGL if BR2_PACKAGE_LIBGLVND
  379. select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
  380. select BR2_PACKAGE_MESA3D_GBM
  381. help
  382. Use the Khronos EGL APIs. EGL is a window manager for OpenGL
  383. applications similar to GLX, for X, and WGL, for Windows.
  384. config BR2_PACKAGE_MESA3D_OPENGL_ES
  385. bool "OpenGL ES"
  386. select BR2_PACKAGE_HAS_LIBGLES if !BR2_PACKAGE_LIBGLVND
  387. select BR2_PACKAGE_LIBGLVND_DISPATCH_GLES if BR2_PACKAGE_LIBGLVND
  388. help
  389. Use the Khronos OpenGL ES APIs. This is commonly used on
  390. embedded systems and represents a subset of the OpenGL API.
  391. endif # BR2_PACKAGE_MESA3D_DRIVER
  392. config BR2_PACKAGE_PROVIDES_LIBGBM
  393. default "mesa3d" if BR2_PACKAGE_MESA3D_GBM
  394. config BR2_PACKAGE_PROVIDES_LIBGL
  395. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX && !BR2_PACKAGE_LIBGLVND
  396. config BR2_PACKAGE_PROVIDES_LIBEGL
  397. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL && !BR2_PACKAGE_LIBGLVND
  398. config BR2_PACKAGE_PROVIDES_LIBGLES
  399. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES && !BR2_PACKAGE_LIBGLVND
  400. config BR2_PACKAGE_PROVIDES_LIBOPENCL
  401. default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL
  402. endif # BR2_PACKAGE_MESA3D
  403. comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
  404. depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
  405. BR2_STATIC_LIBS
  406. depends on BR2_TOOLCHAIN_HAS_SYNC_1
  407. comment "mesa3d needs a toolchain w/ gcc >= 7"
  408. depends on BR2_m68k
  409. depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7