@luma.gl/webgl 8.5.7 → 8.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +5 -0
  4. package/dist/bundle.js.map +1 -0
  5. package/dist/classes/accessor.d.ts +28 -0
  6. package/dist/classes/accessor.d.ts.map +1 -0
  7. package/dist/classes/accessor.js +112 -0
  8. package/dist/classes/accessor.js.map +1 -0
  9. package/dist/classes/accessor.ts.disabled +159 -0
  10. package/dist/classes/clear.d.ts +16 -0
  11. package/dist/classes/clear.d.ts.map +1 -0
  12. package/dist/classes/clear.js +102 -0
  13. package/dist/classes/clear.js.map +1 -0
  14. package/dist/classes/copy-and-blit.d.ts +69 -0
  15. package/dist/classes/copy-and-blit.d.ts.map +1 -0
  16. package/dist/classes/copy-and-blit.js +333 -0
  17. package/dist/classes/copy-and-blit.js.map +1 -0
  18. package/dist/classes/framebuffer.d.ts +130 -0
  19. package/dist/classes/framebuffer.d.ts.map +1 -0
  20. package/dist/classes/framebuffer.js +656 -0
  21. package/dist/classes/framebuffer.js.map +1 -0
  22. package/dist/classes/program-configuration.d.ts +27 -0
  23. package/dist/classes/program-configuration.d.ts.map +1 -0
  24. package/dist/classes/program-configuration.js +160 -0
  25. package/dist/classes/program-configuration.js.map +1 -0
  26. package/dist/classes/program.d.ts +61 -0
  27. package/dist/classes/program.d.ts.map +1 -0
  28. package/dist/classes/program.js +368 -0
  29. package/dist/classes/program.js.map +1 -0
  30. package/dist/classes/query.d.ts +27 -0
  31. package/dist/classes/query.d.ts.map +1 -0
  32. package/dist/classes/query.js +144 -0
  33. package/dist/classes/query.js.map +1 -0
  34. package/dist/classes/renderbuffer-formats.d.ts +16 -0
  35. package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
  36. package/dist/classes/renderbuffer-formats.js +185 -0
  37. package/dist/classes/renderbuffer-formats.js.map +1 -0
  38. package/dist/classes/renderbuffer.d.ts +60 -0
  39. package/dist/classes/renderbuffer.d.ts.map +1 -0
  40. package/dist/classes/renderbuffer.js +127 -0
  41. package/dist/classes/renderbuffer.js.map +1 -0
  42. package/dist/classes/texture-2d.d.ts +8 -0
  43. package/dist/classes/texture-2d.d.ts.map +1 -0
  44. package/dist/classes/texture-2d.js +39 -0
  45. package/dist/classes/texture-2d.js.map +1 -0
  46. package/dist/classes/texture-3d.d.ts +28 -0
  47. package/dist/classes/texture-3d.d.ts.map +1 -0
  48. package/dist/classes/texture-3d.js +67 -0
  49. package/dist/classes/texture-3d.js.map +1 -0
  50. package/dist/classes/texture-cube.d.ts +27 -0
  51. package/dist/classes/texture-cube.d.ts.map +1 -0
  52. package/dist/classes/texture-cube.js +131 -0
  53. package/dist/classes/texture-cube.js.map +1 -0
  54. package/dist/classes/texture-formats.d.ts +37 -0
  55. package/dist/classes/texture-formats.d.ts.map +1 -0
  56. package/dist/classes/texture-formats.js +98 -0
  57. package/dist/classes/texture-formats.js.map +1 -0
  58. package/dist/classes/texture.d.ts +118 -0
  59. package/dist/classes/texture.d.ts.map +1 -0
  60. package/dist/classes/texture.js +785 -0
  61. package/dist/classes/texture.js.map +1 -0
  62. package/dist/classes/transform-feedback.d.ts +33 -0
  63. package/dist/classes/transform-feedback.d.ts.map +1 -0
  64. package/dist/classes/transform-feedback.js +197 -0
  65. package/dist/classes/transform-feedback.js.map +1 -0
  66. package/dist/classes/uniform-buffer-layout.d.ts +17 -0
  67. package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
  68. package/dist/classes/uniform-buffer-layout.js +104 -0
  69. package/dist/classes/uniform-buffer-layout.js.map +1 -0
  70. package/dist/classes/uniforms.d.ts +38 -0
  71. package/dist/classes/uniforms.d.ts.map +1 -0
  72. package/dist/classes/uniforms.js +251 -0
  73. package/dist/classes/uniforms.js.map +1 -0
  74. package/dist/classes/vertex-array-object.d.ts +75 -0
  75. package/dist/classes/vertex-array-object.d.ts.map +1 -0
  76. package/dist/classes/vertex-array-object.js +262 -0
  77. package/dist/classes/vertex-array-object.js.map +1 -0
  78. package/dist/classes/vertex-array.d.ts +75 -0
  79. package/dist/classes/vertex-array.d.ts.map +1 -0
  80. package/dist/classes/vertex-array.js +409 -0
  81. package/dist/classes/vertex-array.js.map +1 -0
  82. package/dist/classes/webgl-buffer.d.ts +98 -0
  83. package/dist/classes/webgl-buffer.d.ts.map +1 -0
  84. package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +97 -73
  85. package/dist/classes/webgl-buffer.js.map +1 -0
  86. package/dist/classes/webgl-resource.d.ts +54 -0
  87. package/dist/classes/webgl-resource.d.ts.map +1 -0
  88. package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +31 -52
  89. package/dist/classes/webgl-resource.js.map +1 -0
  90. package/dist/classes/webgl-shader.d.ts +51 -0
  91. package/dist/classes/webgl-shader.d.ts.map +1 -0
  92. package/dist/classes/webgl-shader.js +190 -0
  93. package/dist/classes/webgl-shader.js.map +1 -0
  94. package/dist/context/gl-context.d.ts +15 -0
  95. package/dist/context/gl-context.d.ts.map +1 -0
  96. package/dist/context/gl-context.js +32 -0
  97. package/dist/context/gl-context.js.map +1 -0
  98. package/dist/context/luma-context-data.d.ts +31 -0
  99. package/dist/context/luma-context-data.d.ts.map +1 -0
  100. package/dist/context/luma-context-data.js +5 -0
  101. package/dist/context/luma-context-data.js.map +1 -0
  102. package/dist/debug/debug-program-configuration.d.ts +2 -0
  103. package/dist/debug/debug-program-configuration.d.ts.map +1 -0
  104. package/dist/debug/debug-program-configuration.js +40 -0
  105. package/dist/debug/debug-program-configuration.js.map +1 -0
  106. package/dist/debug/debug-uniforms.d.ts +12 -0
  107. package/dist/debug/debug-uniforms.d.ts.map +1 -0
  108. package/dist/debug/debug-uniforms.js +108 -0
  109. package/dist/debug/debug-uniforms.js.map +1 -0
  110. package/dist/debug/debug-vertex-array.d.ts +5 -0
  111. package/dist/debug/debug-vertex-array.d.ts.map +1 -0
  112. package/dist/debug/debug-vertex-array.js +118 -0
  113. package/dist/debug/debug-vertex-array.js.map +1 -0
  114. package/dist/es5/bundle.js +3 -5
  115. package/dist/es5/bundle.js.map +1 -1
  116. package/dist/es5/classes/accessor.js +76 -108
  117. package/dist/es5/classes/accessor.js.map +1 -1
  118. package/dist/es5/classes/accessor.ts.disabled +159 -0
  119. package/dist/es5/classes/clear.js +33 -48
  120. package/dist/es5/classes/clear.js.map +1 -1
  121. package/dist/es5/classes/copy-and-blit.js +177 -192
  122. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  123. package/dist/es5/classes/framebuffer.js +538 -655
  124. package/dist/es5/classes/framebuffer.js.map +1 -1
  125. package/dist/es5/classes/program-configuration.js +127 -141
  126. package/dist/es5/classes/program-configuration.js.map +1 -1
  127. package/dist/es5/classes/program.js +294 -358
  128. package/dist/es5/classes/program.js.map +1 -1
  129. package/dist/es5/classes/query.js +115 -181
  130. package/dist/es5/classes/query.js.map +1 -1
  131. package/dist/es5/classes/renderbuffer-formats.js +186 -121
  132. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  133. package/dist/es5/classes/renderbuffer.js +104 -128
  134. package/dist/es5/classes/renderbuffer.js.map +1 -1
  135. package/dist/es5/classes/texture-2d.js +16 -39
  136. package/dist/es5/classes/texture-2d.js.map +1 -1
  137. package/dist/es5/classes/texture-3d.js +50 -89
  138. package/dist/es5/classes/texture-3d.js.map +1 -1
  139. package/dist/es5/classes/texture-cube.js +112 -162
  140. package/dist/es5/classes/texture-cube.js.map +1 -1
  141. package/dist/es5/classes/texture-formats.js +73 -42
  142. package/dist/es5/classes/texture-formats.js.map +1 -1
  143. package/dist/es5/classes/texture.js +670 -673
  144. package/dist/es5/classes/texture.js.map +1 -1
  145. package/dist/es5/classes/transform-feedback.js +150 -203
  146. package/dist/es5/classes/transform-feedback.js.map +1 -1
  147. package/dist/es5/classes/uniform-buffer-layout.js +89 -103
  148. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  149. package/dist/es5/classes/uniforms.js +134 -93
  150. package/dist/es5/classes/uniforms.js.map +1 -1
  151. package/dist/es5/classes/vertex-array-object.js +204 -306
  152. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  153. package/dist/es5/classes/vertex-array.js +317 -353
  154. package/dist/es5/classes/vertex-array.js.map +1 -1
  155. package/dist/es5/classes/webgl-buffer.js +391 -0
  156. package/dist/es5/classes/webgl-buffer.js.map +1 -0
  157. package/dist/es5/classes/webgl-resource.js +217 -0
  158. package/dist/es5/classes/webgl-resource.js.map +1 -0
  159. package/dist/es5/classes/webgl-shader.js +213 -0
  160. package/dist/es5/classes/webgl-shader.js.map +1 -0
  161. package/dist/es5/context/gl-context.js +46 -0
  162. package/dist/es5/context/gl-context.js.map +1 -0
  163. package/dist/es5/context/luma-context-data.js +12 -0
  164. package/dist/es5/context/luma-context-data.js.map +1 -0
  165. package/dist/es5/debug/debug-program-configuration.js +20 -48
  166. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  167. package/dist/es5/debug/debug-uniforms.js +72 -114
  168. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  169. package/dist/es5/debug/debug-vertex-array.js +56 -51
  170. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  171. package/dist/es5/features/check-glsl-extension.js +9 -10
  172. package/dist/es5/features/check-glsl-extension.js.map +1 -1
  173. package/dist/es5/features/check-old-ie.js +5 -6
  174. package/dist/es5/features/check-old-ie.js.map +1 -1
  175. package/dist/es5/features/features.js +23 -37
  176. package/dist/es5/features/features.js.map +1 -1
  177. package/dist/es5/features/index.js +8 -8
  178. package/dist/es5/features/index.js.map +1 -1
  179. package/dist/es5/features/limits.js +36 -28
  180. package/dist/es5/features/limits.js.map +1 -1
  181. package/dist/es5/features/webgl-features-table.js +35 -15
  182. package/dist/es5/features/webgl-features-table.js.map +1 -1
  183. package/dist/es5/features/webgl-limits-table.js +160 -120
  184. package/dist/es5/features/webgl-limits-table.js.map +1 -1
  185. package/dist/es5/index.js +144 -90
  186. package/dist/es5/index.js.map +1 -1
  187. package/dist/es5/init.js +12 -36
  188. package/dist/es5/init.js.map +1 -1
  189. package/dist/es5/types.js +2 -0
  190. package/dist/es5/types.js.map +1 -0
  191. package/dist/es5/utils/array-utils-flat.js +13 -14
  192. package/dist/es5/utils/array-utils-flat.js.map +1 -1
  193. package/dist/es5/utils/assert.js +1 -1
  194. package/dist/es5/utils/assert.js.map +1 -1
  195. package/dist/es5/utils/check-props.js +20 -21
  196. package/dist/es5/utils/check-props.js.map +1 -1
  197. package/dist/es5/utils/format-value.js +14 -14
  198. package/dist/es5/utils/format-value.js.map +1 -1
  199. package/dist/es5/utils/index.js +68 -0
  200. package/dist/es5/utils/index.js.map +1 -0
  201. package/dist/es5/utils/is-old-ie.js +2 -3
  202. package/dist/es5/utils/is-old-ie.js.map +1 -1
  203. package/dist/es5/utils/load-file.js +11 -18
  204. package/dist/es5/utils/load-file.js.map +1 -1
  205. package/dist/es5/utils/stub-methods.js +4 -4
  206. package/dist/es5/utils/stub-methods.js.map +1 -1
  207. package/dist/es5/utils/utils.js +5 -10
  208. package/dist/es5/utils/utils.js.map +1 -1
  209. package/dist/es5/webgl-utils/attribute-utils.js +87 -74
  210. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  211. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  212. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  213. package/dist/es5/webgl-utils/format-utils.js +21 -17
  214. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  215. package/dist/es5/webgl-utils/get-error.js +18 -18
  216. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  217. package/dist/es5/webgl-utils/index.js +74 -0
  218. package/dist/es5/webgl-utils/index.js.map +1 -0
  219. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +44 -0
  220. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  221. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  222. package/dist/es5/webgl-utils/texture-utils.js +35 -29
  223. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  224. package/dist/es5/webgl-utils/typed-array-utils.js +51 -47
  225. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  226. package/dist/esm/bundle.js +2 -4
  227. package/dist/esm/bundle.js.map +1 -1
  228. package/dist/esm/classes/accessor.js +7 -7
  229. package/dist/esm/classes/accessor.js.map +1 -1
  230. package/dist/esm/classes/accessor.ts.disabled +159 -0
  231. package/dist/esm/classes/clear.js +15 -13
  232. package/dist/esm/classes/clear.js.map +1 -1
  233. package/dist/esm/classes/copy-and-blit.js +41 -43
  234. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  235. package/dist/esm/classes/framebuffer.js +336 -308
  236. package/dist/esm/classes/framebuffer.js.map +1 -1
  237. package/dist/esm/classes/program-configuration.js +17 -9
  238. package/dist/esm/classes/program-configuration.js.map +1 -1
  239. package/dist/esm/classes/program.js +69 -44
  240. package/dist/esm/classes/program.js.map +1 -1
  241. package/dist/esm/classes/query.js +17 -14
  242. package/dist/esm/classes/query.js.map +1 -1
  243. package/dist/esm/classes/renderbuffer-formats.js +72 -49
  244. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  245. package/dist/esm/classes/renderbuffer.js +84 -72
  246. package/dist/esm/classes/renderbuffer.js.map +1 -1
  247. package/dist/esm/classes/texture-2d.js +10 -3
  248. package/dist/esm/classes/texture-2d.js.map +1 -1
  249. package/dist/esm/classes/texture-3d.js +14 -11
  250. package/dist/esm/classes/texture-3d.js.map +1 -1
  251. package/dist/esm/classes/texture-cube.js +43 -28
  252. package/dist/esm/classes/texture-cube.js.map +1 -1
  253. package/dist/esm/classes/texture-formats.js +51 -50
  254. package/dist/esm/classes/texture-formats.js.map +1 -1
  255. package/dist/esm/classes/texture.js +164 -49
  256. package/dist/esm/classes/texture.js.map +1 -1
  257. package/dist/esm/classes/transform-feedback.js +24 -13
  258. package/dist/esm/classes/transform-feedback.js.map +1 -1
  259. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  260. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  261. package/dist/esm/classes/uniforms.js +111 -112
  262. package/dist/esm/classes/uniforms.js.map +1 -1
  263. package/dist/esm/classes/vertex-array-object.js +52 -88
  264. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  265. package/dist/esm/classes/vertex-array.js +50 -28
  266. package/dist/esm/classes/vertex-array.js.map +1 -1
  267. package/dist/esm/classes/webgl-buffer.js +379 -0
  268. package/dist/esm/classes/webgl-buffer.js.map +1 -0
  269. package/dist/esm/classes/webgl-resource.js +208 -0
  270. package/dist/esm/classes/webgl-resource.js.map +1 -0
  271. package/dist/esm/classes/webgl-shader.js +190 -0
  272. package/dist/esm/classes/webgl-shader.js.map +1 -0
  273. package/dist/esm/context/gl-context.js +32 -0
  274. package/dist/esm/context/gl-context.js.map +1 -0
  275. package/dist/esm/context/luma-context-data.js +5 -0
  276. package/dist/esm/context/luma-context-data.js.map +1 -0
  277. package/dist/esm/debug/debug-program-configuration.js +4 -4
  278. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  279. package/dist/esm/debug/debug-uniforms.js +9 -9
  280. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  281. package/dist/esm/debug/debug-vertex-array.js +19 -17
  282. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  283. package/dist/esm/features/check-glsl-extension.js +4 -4
  284. package/dist/esm/features/check-glsl-extension.js.map +1 -1
  285. package/dist/esm/features/check-old-ie.js.map +1 -1
  286. package/dist/esm/features/features.js +14 -13
  287. package/dist/esm/features/features.js.map +1 -1
  288. package/dist/esm/features/index.js.map +1 -1
  289. package/dist/esm/features/limits.js +25 -22
  290. package/dist/esm/features/limits.js.map +1 -1
  291. package/dist/esm/features/webgl-features-table.js +6 -6
  292. package/dist/esm/features/webgl-features-table.js.map +1 -1
  293. package/dist/esm/features/webgl-limits-table.js +43 -42
  294. package/dist/esm/features/webgl-limits-table.js.map +1 -1
  295. package/dist/esm/index.js +13 -15
  296. package/dist/esm/index.js.map +1 -1
  297. package/dist/esm/init.js +4 -23
  298. package/dist/esm/init.js.map +1 -1
  299. package/dist/esm/types.js +2 -0
  300. package/dist/esm/types.js.map +1 -0
  301. package/dist/esm/utils/array-utils-flat.js.map +1 -1
  302. package/dist/esm/utils/assert.js +1 -1
  303. package/dist/esm/utils/assert.js.map +1 -1
  304. package/dist/esm/utils/check-props.js +4 -4
  305. package/dist/esm/utils/check-props.js.map +1 -1
  306. package/dist/esm/utils/format-value.js +4 -4
  307. package/dist/esm/utils/format-value.js.map +1 -1
  308. package/dist/esm/utils/index.js +7 -0
  309. package/dist/esm/utils/index.js.map +1 -0
  310. package/dist/esm/utils/is-old-ie.js +1 -1
  311. package/dist/esm/utils/is-old-ie.js.map +1 -1
  312. package/dist/esm/utils/load-file.js +2 -2
  313. package/dist/esm/utils/load-file.js.map +1 -1
  314. package/dist/esm/utils/stub-methods.js +2 -3
  315. package/dist/esm/utils/stub-methods.js.map +1 -1
  316. package/dist/esm/utils/utils.js +1 -3
  317. package/dist/esm/utils/utils.js.map +1 -1
  318. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  319. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  320. package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
  321. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  322. package/dist/esm/webgl-utils/format-utils.js +16 -15
  323. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  324. package/dist/esm/webgl-utils/get-error.js +1 -1
  325. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  326. package/dist/esm/webgl-utils/index.js +5 -0
  327. package/dist/esm/webgl-utils/index.js.map +1 -0
  328. package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
  329. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  330. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  331. package/dist/esm/webgl-utils/texture-utils.js +4 -3
  332. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  333. package/dist/esm/webgl-utils/typed-array-utils.js +19 -18
  334. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  335. package/dist/features/check-glsl-extension.d.ts +2 -0
  336. package/dist/features/check-glsl-extension.d.ts.map +1 -0
  337. package/dist/features/check-glsl-extension.js +27 -0
  338. package/dist/features/check-glsl-extension.js.map +1 -0
  339. package/dist/features/check-old-ie.d.ts +2 -0
  340. package/dist/features/check-old-ie.d.ts.map +1 -0
  341. package/dist/features/check-old-ie.js +8 -0
  342. package/dist/features/check-old-ie.js.map +1 -0
  343. package/dist/features/features.d.ts +6 -0
  344. package/dist/features/features.d.ts.map +1 -0
  345. package/dist/features/features.js +67 -0
  346. package/dist/features/features.js.map +1 -0
  347. package/dist/features/index.d.ts +5 -0
  348. package/dist/features/index.d.ts.map +1 -0
  349. package/dist/features/index.js +5 -0
  350. package/dist/features/index.js.map +1 -0
  351. package/dist/features/limits.d.ts +28 -0
  352. package/dist/features/limits.d.ts.map +1 -0
  353. package/dist/features/limits.js +55 -0
  354. package/dist/features/limits.js.map +1 -0
  355. package/dist/features/webgl-features-table.d.ts +30 -0
  356. package/dist/features/webgl-features-table.d.ts.map +1 -0
  357. package/dist/features/webgl-features-table.js +71 -0
  358. package/dist/features/webgl-features-table.js.map +1 -0
  359. package/dist/features/webgl-limits-table.d.ts +161 -0
  360. package/dist/features/webgl-limits-table.d.ts.map +1 -0
  361. package/dist/features/webgl-limits-table.js +161 -0
  362. package/dist/features/webgl-limits-table.js.map +1 -0
  363. package/dist/index.d.ts +33 -0
  364. package/dist/index.d.ts.map +1 -0
  365. package/dist/index.js +33 -0
  366. package/dist/index.js.map +1 -0
  367. package/dist/init.d.ts +5 -0
  368. package/dist/init.d.ts.map +1 -0
  369. package/dist/init.js +30 -0
  370. package/dist/init.js.map +1 -0
  371. package/dist/types.d.ts +9 -0
  372. package/dist/types.d.ts.map +1 -0
  373. package/dist/types.js +2 -0
  374. package/dist/types.js.map +1 -0
  375. package/dist/utils/array-utils-flat.d.ts +9 -0
  376. package/dist/utils/array-utils-flat.d.ts.map +1 -0
  377. package/dist/utils/array-utils-flat.js +39 -0
  378. package/dist/utils/array-utils-flat.js.map +1 -0
  379. package/dist/utils/assert.d.ts +2 -0
  380. package/dist/utils/assert.d.ts.map +1 -0
  381. package/dist/utils/assert.js +6 -0
  382. package/dist/utils/assert.js.map +1 -0
  383. package/dist/utils/check-props.d.ts +2 -0
  384. package/dist/utils/check-props.d.ts.map +1 -0
  385. package/dist/utils/check-props.js +38 -0
  386. package/dist/utils/check-props.js.map +1 -0
  387. package/dist/utils/format-value.d.ts +5 -0
  388. package/dist/utils/format-value.d.ts.map +1 -0
  389. package/dist/utils/format-value.js +50 -0
  390. package/dist/utils/format-value.js.map +1 -0
  391. package/dist/utils/index.d.ts +7 -0
  392. package/dist/utils/index.d.ts.map +1 -0
  393. package/dist/utils/index.js +7 -0
  394. package/dist/utils/index.js.map +1 -0
  395. package/dist/utils/is-old-ie.d.ts +4 -0
  396. package/dist/utils/is-old-ie.d.ts.map +1 -0
  397. package/dist/utils/is-old-ie.js +5 -0
  398. package/dist/utils/is-old-ie.js.map +1 -0
  399. package/dist/utils/load-file.d.ts +4 -0
  400. package/dist/utils/load-file.d.ts.map +1 -0
  401. package/dist/utils/load-file.js +30 -0
  402. package/dist/utils/load-file.js.map +1 -0
  403. package/dist/utils/stub-methods.d.ts +2 -0
  404. package/dist/utils/stub-methods.d.ts.map +1 -0
  405. package/dist/utils/stub-methods.js +16 -0
  406. package/dist/utils/stub-methods.js.map +1 -0
  407. package/dist/utils/utils.d.ts +15 -0
  408. package/dist/utils/utils.d.ts.map +1 -0
  409. package/dist/utils/utils.js +20 -0
  410. package/dist/utils/utils.js.map +1 -0
  411. package/dist/webgl-utils/attribute-utils.d.ts +18 -0
  412. package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
  413. package/dist/webgl-utils/attribute-utils.js +182 -0
  414. package/dist/webgl-utils/attribute-utils.js.map +1 -0
  415. package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
  416. package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
  417. package/dist/webgl-utils/constants-to-keys.js +41 -0
  418. package/dist/webgl-utils/constants-to-keys.js.map +1 -0
  419. package/dist/webgl-utils/format-utils.d.ts +3 -0
  420. package/dist/webgl-utils/format-utils.d.ts.map +1 -0
  421. package/dist/webgl-utils/format-utils.js +45 -0
  422. package/dist/webgl-utils/format-utils.js.map +1 -0
  423. package/dist/webgl-utils/get-error.d.ts +3 -0
  424. package/dist/webgl-utils/get-error.d.ts.map +1 -0
  425. package/dist/webgl-utils/get-error.js +41 -0
  426. package/dist/webgl-utils/get-error.js.map +1 -0
  427. package/dist/webgl-utils/index.d.ts +5 -0
  428. package/dist/webgl-utils/index.d.ts.map +1 -0
  429. package/dist/webgl-utils/index.js +5 -0
  430. package/dist/webgl-utils/index.js.map +1 -0
  431. package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
  432. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
  433. package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
  434. package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
  435. package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
  436. package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
  437. package/dist/webgl-utils/request-animation-frame.js +7 -0
  438. package/dist/webgl-utils/request-animation-frame.js.map +1 -0
  439. package/dist/webgl-utils/texture-utils.d.ts +11 -0
  440. package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
  441. package/dist/webgl-utils/texture-utils.js +48 -0
  442. package/dist/webgl-utils/texture-utils.js.map +1 -0
  443. package/dist/webgl-utils/typed-array-utils.d.ts +36 -0
  444. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
  445. package/dist/webgl-utils/typed-array-utils.js +108 -0
  446. package/dist/webgl-utils/typed-array-utils.js.map +1 -0
  447. package/package.json +9 -8
  448. package/src/bundle.ts +4 -0
  449. package/src/classes/accessor.js +3 -4
  450. package/src/classes/accessor.ts.disabled +159 -0
  451. package/src/classes/{clear.js → clear.ts} +13 -9
  452. package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +113 -22
  453. package/src/classes/{framebuffer.js → framebuffer.ts} +355 -298
  454. package/src/classes/{program-configuration.js → program-configuration.ts} +18 -11
  455. package/src/classes/{program.js → program.ts} +56 -36
  456. package/src/classes/{query.js → query.ts} +28 -22
  457. package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
  458. package/src/classes/renderbuffer.ts +153 -0
  459. package/src/classes/{texture-2d.js → texture-2d.ts} +15 -5
  460. package/src/classes/{texture-3d.js → texture-3d.ts} +35 -10
  461. package/src/classes/{texture-cube.js → texture-cube.ts} +46 -28
  462. package/src/classes/{texture-formats.js → texture-formats.ts} +9 -1
  463. package/src/classes/{texture.js → texture.ts} +204 -37
  464. package/src/classes/{transform-feedback.js → transform-feedback.ts} +22 -14
  465. package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
  466. package/src/classes/{uniforms.js → uniforms.ts} +122 -70
  467. package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +132 -107
  468. package/src/classes/{vertex-array.js → vertex-array.ts} +74 -54
  469. package/src/classes/{buffer.js → webgl-buffer.ts} +125 -51
  470. package/src/classes/{resource.js → webgl-resource.ts} +43 -36
  471. package/src/classes/webgl-shader.ts +200 -0
  472. package/src/context/gl-context.ts +31 -0
  473. package/src/context/luma-context-data.ts +27 -0
  474. package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
  475. package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
  476. package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +7 -4
  477. package/src/features/{check-glsl-extension.js → check-glsl-extension.ts} +1 -1
  478. package/src/features/{check-old-ie.js → check-old-ie.ts} +0 -0
  479. package/src/features/{features.js → features.ts} +14 -13
  480. package/src/features/{index.js → index.ts} +0 -0
  481. package/src/features/{limits.js → limits.ts} +18 -17
  482. package/src/features/{webgl-features-table.js → webgl-features-table.ts} +0 -0
  483. package/src/features/{webgl-limits-table.js → webgl-limits-table.ts} +0 -0
  484. package/{dist/es5/index.d.ts → src/index.ts} +18 -16
  485. package/src/{init.js → init.ts} +1 -18
  486. package/{dist/es5/types.d.ts → src/types.ts} +0 -0
  487. package/src/utils/{array-utils-flat.js → array-utils-flat.ts} +0 -0
  488. package/src/utils/{assert.js → assert.ts} +1 -1
  489. package/src/utils/{check-props.js → check-props.ts} +0 -0
  490. package/src/utils/{format-value.js → format-value.ts} +2 -2
  491. package/src/utils/index.ts +6 -0
  492. package/src/utils/{is-old-ie.js → is-old-ie.ts} +1 -1
  493. package/src/utils/{load-file.js → load-file.ts} +3 -2
  494. package/src/utils/{stub-methods.js → stub-methods.ts} +1 -1
  495. package/src/utils/utils.ts +35 -0
  496. package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
  497. package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
  498. package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
  499. package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
  500. package/src/webgl-utils/index.ts +12 -0
  501. package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
  502. package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
  503. package/src/webgl-utils/texture-utils.js +2 -1
  504. package/dist/dist.js +0 -13555
  505. package/dist/dist.min.js +0 -1
  506. package/dist/es5/classes/buffer.d.ts +0 -84
  507. package/dist/es5/classes/buffer.js +0 -453
  508. package/dist/es5/classes/buffer.js.map +0 -1
  509. package/dist/es5/classes/clear.d.ts +0 -11
  510. package/dist/es5/classes/copy-and-blit.d.ts +0 -101
  511. package/dist/es5/classes/framebuffer.d.ts +0 -96
  512. package/dist/es5/classes/program-configuration.d.ts +0 -15
  513. package/dist/es5/classes/program.d.ts +0 -44
  514. package/dist/es5/classes/query.d.ts +0 -21
  515. package/dist/es5/classes/renderbuffer.d.ts +0 -34
  516. package/dist/es5/classes/resource.d.ts +0 -47
  517. package/dist/es5/classes/resource.js +0 -308
  518. package/dist/es5/classes/resource.js.map +0 -1
  519. package/dist/es5/classes/shader.d.ts +0 -29
  520. package/dist/es5/classes/shader.js +0 -221
  521. package/dist/es5/classes/shader.js.map +0 -1
  522. package/dist/es5/classes/texture-2d.d.ts +0 -11
  523. package/dist/es5/classes/texture-3d.d.ts +0 -29
  524. package/dist/es5/classes/texture-cube.d.ts +0 -23
  525. package/dist/es5/classes/texture.d.ts +0 -80
  526. package/dist/es5/classes/transform-feedback.d.ts +0 -16
  527. package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
  528. package/dist/es5/classes/uniforms.d.ts +0 -63
  529. package/dist/es5/classes/vertex-array-object.d.ts +0 -25
  530. package/dist/es5/classes/vertex-array.d.ts +0 -37
  531. package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
  532. package/dist/es5/debug/debug-uniforms.d.ts +0 -11
  533. package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
  534. package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
  535. package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
  536. package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
  537. package/dist/es5/glsl-utils/get-shader-name.js +0 -14
  538. package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
  539. package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
  540. package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
  541. package/dist/es5/glsl-utils/get-shader-version.js +0 -22
  542. package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
  543. package/dist/es5/glsl-utils/index.js +0 -48
  544. package/dist/es5/glsl-utils/index.js.map +0 -1
  545. package/dist/es5/init.d.ts +0 -12
  546. package/dist/es5/utils/assert.d.ts +0 -1
  547. package/dist/es5/utils/is-old-ie.d.ts +0 -1
  548. package/dist/es5/utils/utils.d.ts +0 -13
  549. package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
  550. package/dist/esm/classes/buffer.d.ts +0 -84
  551. package/dist/esm/classes/buffer.js.map +0 -1
  552. package/dist/esm/classes/clear.d.ts +0 -11
  553. package/dist/esm/classes/copy-and-blit.d.ts +0 -101
  554. package/dist/esm/classes/framebuffer.d.ts +0 -96
  555. package/dist/esm/classes/program-configuration.d.ts +0 -15
  556. package/dist/esm/classes/program.d.ts +0 -44
  557. package/dist/esm/classes/query.d.ts +0 -21
  558. package/dist/esm/classes/renderbuffer.d.ts +0 -34
  559. package/dist/esm/classes/resource.d.ts +0 -47
  560. package/dist/esm/classes/resource.js.map +0 -1
  561. package/dist/esm/classes/shader.d.ts +0 -29
  562. package/dist/esm/classes/shader.js +0 -138
  563. package/dist/esm/classes/shader.js.map +0 -1
  564. package/dist/esm/classes/texture-2d.d.ts +0 -11
  565. package/dist/esm/classes/texture-3d.d.ts +0 -29
  566. package/dist/esm/classes/texture-cube.d.ts +0 -23
  567. package/dist/esm/classes/texture.d.ts +0 -80
  568. package/dist/esm/classes/transform-feedback.d.ts +0 -16
  569. package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
  570. package/dist/esm/classes/uniforms.d.ts +0 -63
  571. package/dist/esm/classes/vertex-array-object.d.ts +0 -25
  572. package/dist/esm/classes/vertex-array.d.ts +0 -37
  573. package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
  574. package/dist/esm/debug/debug-uniforms.d.ts +0 -11
  575. package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
  576. package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
  577. package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
  578. package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
  579. package/dist/esm/glsl-utils/get-shader-name.js +0 -6
  580. package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
  581. package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
  582. package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
  583. package/dist/esm/glsl-utils/get-shader-version.js +0 -15
  584. package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
  585. package/dist/esm/glsl-utils/index.js +0 -5
  586. package/dist/esm/glsl-utils/index.js.map +0 -1
  587. package/dist/esm/index.d.ts +0 -71
  588. package/dist/esm/init.d.ts +0 -12
  589. package/dist/esm/types.d.ts +0 -8
  590. package/dist/esm/utils/assert.d.ts +0 -1
  591. package/dist/esm/utils/is-old-ie.d.ts +0 -1
  592. package/dist/esm/utils/utils.d.ts +0 -13
  593. package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
  594. package/src/bundle.js +0 -8
  595. package/src/classes/buffer.d.ts +0 -84
  596. package/src/classes/clear.d.ts +0 -11
  597. package/src/classes/copy-and-blit.d.ts +0 -101
  598. package/src/classes/framebuffer.d.ts +0 -96
  599. package/src/classes/program-configuration.d.ts +0 -15
  600. package/src/classes/program.d.ts +0 -44
  601. package/src/classes/query.d.ts +0 -21
  602. package/src/classes/renderbuffer.d.ts +0 -34
  603. package/src/classes/renderbuffer.js +0 -105
  604. package/src/classes/resource.d.ts +0 -47
  605. package/src/classes/shader.d.ts +0 -29
  606. package/src/classes/shader.js +0 -147
  607. package/src/classes/texture-2d.d.ts +0 -11
  608. package/src/classes/texture-3d.d.ts +0 -29
  609. package/src/classes/texture-cube.d.ts +0 -23
  610. package/src/classes/texture.d.ts +0 -80
  611. package/src/classes/transform-feedback.d.ts +0 -16
  612. package/src/classes/uniform-buffer-layout.d.ts +0 -18
  613. package/src/classes/uniforms.d.ts +0 -63
  614. package/src/classes/vertex-array-object.d.ts +0 -25
  615. package/src/classes/vertex-array.d.ts +0 -37
  616. package/src/debug/debug-program-configuration.d.ts +0 -1
  617. package/src/debug/debug-uniforms.d.ts +0 -11
  618. package/src/debug/debug-vertex-array.d.ts +0 -1
  619. package/src/glsl-utils/format-glsl-error.d.ts +0 -16
  620. package/src/glsl-utils/format-glsl-error.js +0 -107
  621. package/src/glsl-utils/get-shader-name.js +0 -7
  622. package/src/glsl-utils/get-shader-type-name.js +0 -13
  623. package/src/glsl-utils/get-shader-version.js +0 -12
  624. package/src/glsl-utils/index.js +0 -8
  625. package/src/index.d.ts +0 -71
  626. package/src/index.js +0 -70
  627. package/src/init.d.ts +0 -12
  628. package/src/types.d.ts +0 -8
  629. package/src/utils/assert.d.ts +0 -1
  630. package/src/utils/is-old-ie.d.ts +0 -1
  631. package/src/utils/utils.d.ts +0 -13
  632. package/src/utils/utils.js +0 -36
  633. package/src/webgl-utils/request-animation-frame.d.ts +0 -3
@@ -13,15 +13,11 @@ var _webglFeaturesTable = _interopRequireDefault(require("./webgl-features-table
13
13
 
14
14
  var _gltools = require("@luma.gl/gltools");
15
15
 
16
- var _assert = require("../utils/assert");
16
+ var _utils = require("../utils");
17
17
 
18
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
18
+ var _lumaContextData = require("../context/luma-context-data");
19
19
 
20
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
-
22
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
-
24
- var LOG_UNSUPPORTED_FEATURE = 2;
20
+ const LOG_UNSUPPORTED_FEATURE = 2;
25
21
 
26
22
  function hasFeature(gl, feature) {
27
23
  return hasFeatures(gl, feature);
@@ -29,69 +25,59 @@ function hasFeature(gl, feature) {
29
25
 
30
26
  function hasFeatures(gl, features) {
31
27
  features = Array.isArray(features) ? features : [features];
32
- return features.every(function (feature) {
28
+ return features.every(feature => {
33
29
  return isFeatureSupported(gl, feature);
34
30
  });
35
31
  }
36
32
 
37
33
  function getFeatures(gl) {
38
- gl.luma = gl.luma || {};
39
- gl.luma.caps = gl.luma.caps || {};
34
+ const lumaContextData = (0, _lumaContextData.getLumaContextData)(gl);
35
+ lumaContextData.caps = lumaContextData.caps || {};
40
36
 
41
- for (var cap in _webglFeaturesTable.default) {
42
- if (gl.luma.caps[cap] === undefined) {
43
- gl.luma.caps[cap] = isFeatureSupported(gl, cap);
37
+ for (const cap in _webglFeaturesTable.default) {
38
+ if (lumaContextData.caps[cap] === undefined) {
39
+ lumaContextData.caps[cap] = isFeatureSupported(gl, cap);
44
40
  }
45
41
  }
46
42
 
47
- return gl.luma.caps;
43
+ return lumaContextData.caps;
48
44
  }
49
45
 
50
46
  function isFeatureSupported(gl, cap) {
51
- gl.luma = gl.luma || {};
52
- gl.luma.caps = gl.luma.caps || {};
47
+ const lumaContextData = (0, _lumaContextData.getLumaContextData)(gl);
48
+ lumaContextData.caps = lumaContextData.caps || {};
53
49
 
54
- if (gl.luma.caps[cap] === undefined) {
55
- gl.luma.caps[cap] = queryFeature(gl, cap);
50
+ if (lumaContextData.caps[cap] === undefined) {
51
+ lumaContextData.caps[cap] = queryFeature(gl, cap);
56
52
  }
57
53
 
58
- if (!gl.luma.caps[cap]) {
54
+ if (!lumaContextData.caps[cap]) {
59
55
  _gltools.log.log(LOG_UNSUPPORTED_FEATURE, "Feature: ".concat(cap, " not supported"))();
60
56
  }
61
57
 
62
- return gl.luma.caps[cap];
58
+ return lumaContextData.caps[cap];
63
59
  }
64
60
 
65
61
  function queryFeature(gl, cap) {
66
- var feature = _webglFeaturesTable.default[cap];
67
- (0, _assert.assert)(feature, cap);
68
- var isSupported;
69
- var featureDefinition = (0, _gltools.isWebGL2)(gl) ? feature[1] || feature[0] : feature[0];
62
+ const feature = _webglFeaturesTable.default[cap];
63
+ (0, _utils.assert)(feature, cap);
64
+ let isSupported;
65
+ const featureDefinition = (0, _gltools.isWebGL2)(gl) ? feature[1] || feature[0] : feature[0];
70
66
 
71
67
  if (typeof featureDefinition === 'function') {
72
68
  isSupported = featureDefinition(gl);
73
69
  } else if (Array.isArray(featureDefinition)) {
74
70
  isSupported = true;
75
71
 
76
- var _iterator = _createForOfIteratorHelper(featureDefinition),
77
- _step;
78
-
79
- try {
80
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
81
- var extension = _step.value;
82
- isSupported = isSupported && Boolean(gl.getExtension(extension));
83
- }
84
- } catch (err) {
85
- _iterator.e(err);
86
- } finally {
87
- _iterator.f();
72
+ for (const extension of featureDefinition) {
73
+ isSupported = isSupported && Boolean(gl.getExtension(extension));
88
74
  }
89
75
  } else if (typeof featureDefinition === 'string') {
90
76
  isSupported = Boolean(gl.getExtension(featureDefinition));
91
77
  } else if (typeof featureDefinition === 'boolean') {
92
78
  isSupported = featureDefinition;
93
79
  } else {
94
- (0, _assert.assert)(false);
80
+ (0, _utils.assert)(false);
95
81
  }
96
82
 
97
83
  return isSupported;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/features.js"],"names":["LOG_UNSUPPORTED_FEATURE","hasFeature","gl","feature","hasFeatures","features","Array","isArray","every","isFeatureSupported","getFeatures","luma","caps","cap","WEBGL_FEATURES","undefined","queryFeature","log","isSupported","featureDefinition","extension","Boolean","getExtension"],"mappings":"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","sourcesContent":["// Feature detection for WebGL\n//\n// Provides a function that enables simple checking of which WebGL features are\n// available in an WebGL1 or WebGL2 environment.\n\nimport WEBGL_FEATURES from './webgl-features-table';\nimport {isWebGL2, log} from '@luma.gl/gltools';\nimport {assert} from '../utils/assert';\n\nconst LOG_UNSUPPORTED_FEATURE = 2;\n\n// Check one feature\nexport function hasFeature(gl, feature) {\n return hasFeatures(gl, feature);\n}\n\n// Check one or more features\nexport function hasFeatures(gl, features) {\n features = Array.isArray(features) ? features : [features];\n return features.every(feature => {\n return isFeatureSupported(gl, feature);\n });\n}\n\n// Return a list of supported features\nexport function getFeatures(gl) {\n gl.luma = gl.luma || {};\n gl.luma.caps = gl.luma.caps || {};\n for (const cap in WEBGL_FEATURES) {\n if (gl.luma.caps[cap] === undefined) {\n gl.luma.caps[cap] = isFeatureSupported(gl, cap);\n }\n }\n return gl.luma.caps;\n}\n\n// TODO - cache the value\nfunction isFeatureSupported(gl, cap) {\n gl.luma = gl.luma || {};\n gl.luma.caps = gl.luma.caps || {};\n\n if (gl.luma.caps[cap] === undefined) {\n gl.luma.caps[cap] = queryFeature(gl, cap);\n }\n\n if (!gl.luma.caps[cap]) {\n log.log(LOG_UNSUPPORTED_FEATURE, `Feature: ${cap} not supported`)();\n }\n\n return gl.luma.caps[cap];\n}\n\nfunction queryFeature(gl, cap) {\n const feature = WEBGL_FEATURES[cap];\n assert(feature, cap);\n\n let isSupported;\n\n // Get extension name from table\n const featureDefinition = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];\n\n // Check if the value is dependent on checking one or more extensions\n if (typeof featureDefinition === 'function') {\n isSupported = featureDefinition(gl);\n } else if (Array.isArray(featureDefinition)) {\n isSupported = true;\n for (const extension of featureDefinition) {\n isSupported = isSupported && Boolean(gl.getExtension(extension));\n }\n } else if (typeof featureDefinition === 'string') {\n isSupported = Boolean(gl.getExtension(featureDefinition));\n } else if (typeof featureDefinition === 'boolean') {\n isSupported = featureDefinition;\n } else {\n assert(false);\n }\n\n return isSupported;\n}\n"],"file":"features.js"}
1
+ {"version":3,"sources":["../../../src/features/features.ts"],"names":["LOG_UNSUPPORTED_FEATURE","hasFeature","gl","feature","hasFeatures","features","Array","isArray","every","isFeatureSupported","getFeatures","lumaContextData","caps","cap","WEBGL_FEATURES","undefined","queryFeature","log","isSupported","featureDefinition","extension","Boolean","getExtension"],"mappings":"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","sourcesContent":["// Feature detection for WebGL\n//\n// Provides a function that enables simple checking of which WebGL features are\n// available in an WebGL1 or WebGL2 environment.\n\nimport WEBGL_FEATURES from './webgl-features-table';\nimport {isWebGL2, log} from '@luma.gl/gltools';\nimport {assert} from '../utils';\nimport {getLumaContextData} from '../context/luma-context-data';\n\nconst LOG_UNSUPPORTED_FEATURE = 2;\n\n// Check one feature\nexport function hasFeature(gl, feature) {\n return hasFeatures(gl, feature);\n}\n\n// Check one or more features\nexport function hasFeatures(gl, features) {\n features = Array.isArray(features) ? features : [features];\n return features.every((feature) => {\n return isFeatureSupported(gl, feature);\n });\n}\n\n// Return a list of supported features\nexport function getFeatures(gl) {\n const lumaContextData = getLumaContextData(gl);\n lumaContextData.caps = lumaContextData.caps || {};\n for (const cap in WEBGL_FEATURES) {\n if (lumaContextData.caps[cap] === undefined) {\n lumaContextData.caps[cap] = isFeatureSupported(gl, cap);\n }\n }\n return lumaContextData.caps;\n}\n\n// TODO - cache the value\nfunction isFeatureSupported(gl, cap) {\n const lumaContextData = getLumaContextData(gl);\n lumaContextData.caps = lumaContextData.caps || {};\n\n if (lumaContextData.caps[cap] === undefined) {\n lumaContextData.caps[cap] = queryFeature(gl, cap);\n }\n\n if (!lumaContextData.caps[cap]) {\n log.log(LOG_UNSUPPORTED_FEATURE, `Feature: ${cap} not supported`)();\n }\n\n return lumaContextData.caps[cap];\n}\n\nfunction queryFeature(gl, cap) {\n const feature = WEBGL_FEATURES[cap];\n assert(feature, cap);\n\n let isSupported;\n\n // Get extension name from table\n const featureDefinition = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];\n\n // Check if the value is dependent on checking one or more extensions\n if (typeof featureDefinition === 'function') {\n isSupported = featureDefinition(gl);\n } else if (Array.isArray(featureDefinition)) {\n isSupported = true;\n for (const extension of featureDefinition) {\n isSupported = isSupported && Boolean(gl.getExtension(extension));\n }\n } else if (typeof featureDefinition === 'string') {\n isSupported = Boolean(gl.getExtension(featureDefinition));\n } else if (typeof featureDefinition === 'boolean') {\n isSupported = featureDefinition;\n } else {\n assert(false);\n }\n\n return isSupported;\n}\n"],"file":"features.js"}
@@ -7,49 +7,49 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  Object.defineProperty(exports, "getContextInfo", {
9
9
  enumerable: true,
10
- get: function get() {
10
+ get: function () {
11
11
  return _limits.getContextInfo;
12
12
  }
13
13
  });
14
14
  Object.defineProperty(exports, "getGLContextInfo", {
15
15
  enumerable: true,
16
- get: function get() {
16
+ get: function () {
17
17
  return _limits.getGLContextInfo;
18
18
  }
19
19
  });
20
20
  Object.defineProperty(exports, "getContextLimits", {
21
21
  enumerable: true,
22
- get: function get() {
22
+ get: function () {
23
23
  return _limits.getContextLimits;
24
24
  }
25
25
  });
26
26
  Object.defineProperty(exports, "FEATURES", {
27
27
  enumerable: true,
28
- get: function get() {
28
+ get: function () {
29
29
  return _webglFeaturesTable.FEATURES;
30
30
  }
31
31
  });
32
32
  Object.defineProperty(exports, "hasFeature", {
33
33
  enumerable: true,
34
- get: function get() {
34
+ get: function () {
35
35
  return _features.hasFeature;
36
36
  }
37
37
  });
38
38
  Object.defineProperty(exports, "hasFeatures", {
39
39
  enumerable: true,
40
- get: function get() {
40
+ get: function () {
41
41
  return _features.hasFeatures;
42
42
  }
43
43
  });
44
44
  Object.defineProperty(exports, "getFeatures", {
45
45
  enumerable: true,
46
- get: function get() {
46
+ get: function () {
47
47
  return _features.getFeatures;
48
48
  }
49
49
  });
50
50
  Object.defineProperty(exports, "canCompileGLGSExtension", {
51
51
  enumerable: true,
52
- get: function get() {
52
+ get: function () {
53
53
  return _checkGlslExtension.default;
54
54
  }
55
55
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA","sourcesContent":["export {getContextInfo, getGLContextInfo, getContextLimits} from './limits';\nexport {FEATURES} from './webgl-features-table';\nexport {hasFeature, hasFeatures, getFeatures} from './features';\n\nexport {default as canCompileGLGSExtension} from './check-glsl-extension';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/features/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA","sourcesContent":["export {getContextInfo, getGLContextInfo, getContextLimits} from './limits';\nexport {FEATURES} from './webgl-features-table';\nexport {hasFeature, hasFeatures, getFeatures} from './features';\n\nexport {default as canCompileGLGSExtension} from './check-glsl-extension';\n"],"file":"index.js"}
@@ -9,56 +9,64 @@ exports.getContextLimits = getContextLimits;
9
9
  exports.getGLContextInfo = getGLContextInfo;
10
10
  exports.getContextInfo = getContextInfo;
11
11
 
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _constants = _interopRequireDefault(require("@luma.gl/constants"));
13
+
14
+ var _gltools = require("@luma.gl/gltools");
13
15
 
14
16
  var _webglLimitsTable = _interopRequireDefault(require("./webgl-limits-table"));
15
17
 
16
- var _gltools = require("@luma.gl/gltools");
18
+ var _lumaContextData = require("../context/luma-context-data");
17
19
 
18
20
  function getContextLimits(gl) {
19
- gl.luma = gl.luma || {};
21
+ const lumaContextData = (0, _lumaContextData.getLumaContextData)(gl);
20
22
 
21
- if (!gl.luma.limits) {
22
- gl.luma.limits = {};
23
- gl.luma.webgl1MinLimits = {};
24
- gl.luma.webgl2MinLimits = {};
25
- var isWebgl2 = (0, _gltools.isWebGL2)(gl);
23
+ if (!lumaContextData.limits) {
24
+ lumaContextData.limits = {};
25
+ lumaContextData.webgl1MinLimits = {};
26
+ lumaContextData.webgl2MinLimits = {};
27
+ const isWebgl2 = (0, _gltools.isWebGL2)(gl);
26
28
 
27
- for (var parameter in _webglLimitsTable.default) {
28
- var limit = _webglLimitsTable.default[parameter];
29
- var webgl1MinLimit = limit.gl1;
30
- var webgl2MinLimit = 'gl2' in limit ? limit.gl2 : limit.gl1;
31
- var minLimit = isWebgl2 ? webgl2MinLimit : webgl1MinLimit;
32
- var limitNotAvailable = 'gl2' in limit && !isWebgl2 || 'extension' in limit && !gl.getExtension(limit.extension);
33
- var value = limitNotAvailable ? minLimit : gl.getParameter(parameter);
34
- gl.luma.limits[parameter] = value;
35
- gl.luma.webgl1MinLimits[parameter] = webgl1MinLimit;
36
- gl.luma.webgl2MinLimits[parameter] = webgl2MinLimit;
29
+ for (const parameter in _webglLimitsTable.default) {
30
+ const limit = _webglLimitsTable.default[parameter];
31
+ const webgl1MinLimit = limit.gl1;
32
+ const webgl2MinLimit = 'gl2' in limit ? limit.gl2 : limit.gl1;
33
+ const minLimit = isWebgl2 ? webgl2MinLimit : webgl1MinLimit;
34
+ const limitNotAvailable = 'gl2' in limit && !isWebgl2 || 'extension' in limit && !gl.getExtension(limit.extension);
35
+ const value = limitNotAvailable ? minLimit : gl.getParameter(parameter);
36
+ lumaContextData.limits[parameter] = value;
37
+ lumaContextData.webgl1MinLimits[parameter] = webgl1MinLimit;
38
+ lumaContextData.webgl2MinLimits[parameter] = webgl2MinLimit;
37
39
  }
38
40
  }
39
41
 
40
- return gl.luma.limits;
42
+ return lumaContextData.limits;
41
43
  }
42
44
 
43
45
  function getGLContextInfo(gl) {
44
- gl.luma = gl.luma || {};
45
- var info = (0, _gltools.getContextDebugInfo)(gl);
46
-
47
- if (!gl.luma.info) {
48
- var _gl$luma$info;
46
+ const lumaContextData = (0, _lumaContextData.getLumaContextData)(gl);
47
+ const info = (0, _gltools.getContextDebugInfo)(gl);
49
48
 
50
- gl.luma.info = (_gl$luma$info = {}, (0, _defineProperty2.default)(_gl$luma$info, 37445, info.vendor), (0, _defineProperty2.default)(_gl$luma$info, 37446, info.renderer), (0, _defineProperty2.default)(_gl$luma$info, 7936, info.vendorMasked), (0, _defineProperty2.default)(_gl$luma$info, 7937, info.rendererMasked), (0, _defineProperty2.default)(_gl$luma$info, 7938, info.version), (0, _defineProperty2.default)(_gl$luma$info, 35724, info.shadingLanguageVersion), _gl$luma$info);
49
+ if (!lumaContextData.info) {
50
+ lumaContextData.info = {
51
+ [_constants.default.UNMASKED_VENDOR_WEBGL]: info.vendor,
52
+ [_constants.default.UNMASKED_RENDERER_WEBGL]: info.renderer,
53
+ [_constants.default.VENDOR]: info.vendorMasked,
54
+ [_constants.default.RENDERER]: info.rendererMasked,
55
+ [_constants.default.VERSION]: info.version,
56
+ [_constants.default.SHADING_LANGUAGE_VERSION]: info.shadingLanguageVersion
57
+ };
51
58
  }
52
59
 
53
- return gl.luma.info;
60
+ return lumaContextData.info;
54
61
  }
55
62
 
56
63
  function getContextInfo(gl) {
64
+ const lumaContextData = (0, _lumaContextData.getLumaContextData)(gl);
57
65
  return Object.assign((0, _gltools.getContextDebugInfo)(gl), {
58
66
  limits: getContextLimits(gl),
59
67
  info: getGLContextInfo(gl),
60
- webgl1MinLimits: gl.luma.webgl1MinLimits,
61
- webgl2MinLimits: gl.luma.webgl2MinLimits
68
+ webgl1MinLimits: lumaContextData.webgl1MinLimits,
69
+ webgl2MinLimits: lumaContextData.webgl2MinLimits
62
70
  });
63
71
  }
64
72
  //# sourceMappingURL=limits.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/limits.js"],"names":["getContextLimits","gl","luma","limits","webgl1MinLimits","webgl2MinLimits","isWebgl2","parameter","WEBGL_LIMITS","limit","webgl1MinLimit","gl1","webgl2MinLimit","gl2","minLimit","limitNotAvailable","getExtension","extension","value","getParameter","getGLContextInfo","info","vendor","renderer","vendorMasked","rendererMasked","version","shadingLanguageVersion","getContextInfo","Object","assign"],"mappings":";;;;;;;;;;;;;AAEA;;AACA;;AAEO,SAASA,gBAAT,CAA0BC,EAA1B,EAA8B;AACnCA,EAAAA,EAAE,CAACC,IAAH,GAAUD,EAAE,CAACC,IAAH,IAAW,EAArB;;AAEA,MAAI,CAACD,EAAE,CAACC,IAAH,CAAQC,MAAb,EAAqB;AACnBF,IAAAA,EAAE,CAACC,IAAH,CAAQC,MAAR,GAAiB,EAAjB;AACAF,IAAAA,EAAE,CAACC,IAAH,CAAQE,eAAR,GAA0B,EAA1B;AACAH,IAAAA,EAAE,CAACC,IAAH,CAAQG,eAAR,GAA0B,EAA1B;AAEA,QAAMC,QAAQ,GAAG,uBAASL,EAAT,CAAjB;;AAGA,SAAK,IAAMM,SAAX,IAAwBC,yBAAxB,EAAsC;AACpC,UAAMC,KAAK,GAAGD,0BAAaD,SAAb,CAAd;AAEA,UAAMG,cAAc,GAAGD,KAAK,CAACE,GAA7B;AACA,UAAMC,cAAc,GAAG,SAASH,KAAT,GAAiBA,KAAK,CAACI,GAAvB,GAA6BJ,KAAK,CAACE,GAA1D;AACA,UAAMG,QAAQ,GAAGR,QAAQ,GAAGM,cAAH,GAAoBF,cAA7C;AAGA,UAAMK,iBAAiB,GACpB,SAASN,KAAT,IAAkB,CAACH,QAApB,IAEC,eAAeG,KAAf,IAAwB,CAACR,EAAE,CAACe,YAAH,CAAgBP,KAAK,CAACQ,SAAtB,CAH5B;AAKA,UAAMC,KAAK,GAAGH,iBAAiB,GAAGD,QAAH,GAAcb,EAAE,CAACkB,YAAH,CAAgBZ,SAAhB,CAA7C;AACAN,MAAAA,EAAE,CAACC,IAAH,CAAQC,MAAR,CAAeI,SAAf,IAA4BW,KAA5B;AACAjB,MAAAA,EAAE,CAACC,IAAH,CAAQE,eAAR,CAAwBG,SAAxB,IAAqCG,cAArC;AACAT,MAAAA,EAAE,CAACC,IAAH,CAAQG,eAAR,CAAwBE,SAAxB,IAAqCK,cAArC;AACD;AACF;;AAED,SAAOX,EAAE,CAACC,IAAH,CAAQC,MAAf;AACD;;AAEM,SAASiB,gBAAT,CAA0BnB,EAA1B,EAA8B;AACnCA,EAAAA,EAAE,CAACC,IAAH,GAAUD,EAAE,CAACC,IAAH,IAAW,EAArB;AAEA,MAAMmB,IAAI,GAAG,kCAAoBpB,EAApB,CAAb;;AACA,MAAI,CAACA,EAAE,CAACC,IAAH,CAAQmB,IAAb,EAAmB;AAAA;;AACjBpB,IAAAA,EAAE,CAACC,IAAH,CAAQmB,IAAR,4EAC8BA,IAAI,CAACC,MADnC,uDAEgCD,IAAI,CAACE,QAFrC,sDAGeF,IAAI,CAACG,YAHpB,sDAIiBH,IAAI,CAACI,cAJtB,sDAKgBJ,IAAI,CAACK,OALrB,uDAMiCL,IAAI,CAACM,sBANtC;AAQD;;AAED,SAAO1B,EAAE,CAACC,IAAH,CAAQmB,IAAf;AACD;;AAEM,SAASO,cAAT,CAAwB3B,EAAxB,EAA4B;AACjC,SAAO4B,MAAM,CAACC,MAAP,CAAc,kCAAoB7B,EAApB,CAAd,EAAuC;AAC5CE,IAAAA,MAAM,EAAEH,gBAAgB,CAACC,EAAD,CADoB;AAE5CoB,IAAAA,IAAI,EAAED,gBAAgB,CAACnB,EAAD,CAFsB;AAG5CG,IAAAA,eAAe,EAAEH,EAAE,CAACC,IAAH,CAAQE,eAHmB;AAI5CC,IAAAA,eAAe,EAAEJ,EAAE,CAACC,IAAH,CAAQG;AAJmB,GAAvC,CAAP;AAMD","sourcesContent":["import GL from '@luma.gl/constants';\n\nimport WEBGL_LIMITS from './webgl-limits-table';\nimport {isWebGL2, getContextDebugInfo} from '@luma.gl/gltools';\n\nexport function getContextLimits(gl) {\n gl.luma = gl.luma || {};\n\n if (!gl.luma.limits) {\n gl.luma.limits = {};\n gl.luma.webgl1MinLimits = {};\n gl.luma.webgl2MinLimits = {};\n\n const isWebgl2 = isWebGL2(gl);\n\n // WEBGL limits\n for (const parameter in WEBGL_LIMITS) {\n const limit = WEBGL_LIMITS[parameter];\n\n const webgl1MinLimit = limit.gl1;\n const webgl2MinLimit = 'gl2' in limit ? limit.gl2 : limit.gl1;\n const minLimit = isWebgl2 ? webgl2MinLimit : webgl1MinLimit;\n\n // Check if we can query for this limit\n const limitNotAvailable =\n ('gl2' in limit && !isWebgl2) ||\n // @ts-ignore\n ('extension' in limit && !gl.getExtension(limit.extension));\n\n const value = limitNotAvailable ? minLimit : gl.getParameter(parameter);\n gl.luma.limits[parameter] = value;\n gl.luma.webgl1MinLimits[parameter] = webgl1MinLimit;\n gl.luma.webgl2MinLimits[parameter] = webgl2MinLimit;\n }\n }\n\n return gl.luma.limits;\n}\n\nexport function getGLContextInfo(gl) {\n gl.luma = gl.luma || {};\n\n const info = getContextDebugInfo(gl);\n if (!gl.luma.info) {\n gl.luma.info = {\n [GL.UNMASKED_VENDOR_WEBGL]: info.vendor,\n [GL.UNMASKED_RENDERER_WEBGL]: info.renderer,\n [GL.VENDOR]: info.vendorMasked,\n [GL.RENDERER]: info.rendererMasked,\n [GL.VERSION]: info.version,\n [GL.SHADING_LANGUAGE_VERSION]: info.shadingLanguageVersion\n };\n }\n\n return gl.luma.info;\n}\n\nexport function getContextInfo(gl) {\n return Object.assign(getContextDebugInfo(gl), {\n limits: getContextLimits(gl),\n info: getGLContextInfo(gl),\n webgl1MinLimits: gl.luma.webgl1MinLimits,\n webgl2MinLimits: gl.luma.webgl2MinLimits\n });\n}\n"],"file":"limits.js"}
1
+ {"version":3,"sources":["../../../src/features/limits.ts"],"names":["getContextLimits","gl","lumaContextData","limits","webgl1MinLimits","webgl2MinLimits","isWebgl2","parameter","WEBGL_LIMITS","limit","webgl1MinLimit","gl1","webgl2MinLimit","gl2","minLimit","limitNotAvailable","getExtension","extension","value","getParameter","getGLContextInfo","info","GL","UNMASKED_VENDOR_WEBGL","vendor","UNMASKED_RENDERER_WEBGL","renderer","VENDOR","vendorMasked","RENDERER","rendererMasked","VERSION","version","SHADING_LANGUAGE_VERSION","shadingLanguageVersion","getContextInfo","Object","assign"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEO,SAASA,gBAAT,CAA0BC,EAA1B,EAA8B;AACnC,QAAMC,eAAe,GAAG,yCAAmBD,EAAnB,CAAxB;;AAEA,MAAI,CAACC,eAAe,CAACC,MAArB,EAA6B;AAC3BD,IAAAA,eAAe,CAACC,MAAhB,GAAyB,EAAzB;AACAD,IAAAA,eAAe,CAACE,eAAhB,GAAkC,EAAlC;AACAF,IAAAA,eAAe,CAACG,eAAhB,GAAkC,EAAlC;AAEA,UAAMC,QAAQ,GAAG,uBAASL,EAAT,CAAjB;;AAGA,SAAK,MAAMM,SAAX,IAAwBC,yBAAxB,EAAsC;AACpC,YAAMC,KAAK,GAAGD,0BAAaD,SAAb,CAAd;AAEA,YAAMG,cAAc,GAAGD,KAAK,CAACE,GAA7B;AACA,YAAMC,cAAc,GAAG,SAASH,KAAT,GAAiBA,KAAK,CAACI,GAAvB,GAA6BJ,KAAK,CAACE,GAA1D;AACA,YAAMG,QAAQ,GAAGR,QAAQ,GAAGM,cAAH,GAAoBF,cAA7C;AAGA,YAAMK,iBAAiB,GACpB,SAASN,KAAT,IAAkB,CAACH,QAApB,IAEC,eAAeG,KAAf,IAAwB,CAACR,EAAE,CAACe,YAAH,CAAgBP,KAAK,CAACQ,SAAtB,CAH5B;AAKA,YAAMC,KAAK,GAAGH,iBAAiB,GAAGD,QAAH,GAAcb,EAAE,CAACkB,YAAH,CAAgBZ,SAAhB,CAA7C;AACAL,MAAAA,eAAe,CAACC,MAAhB,CAAuBI,SAAvB,IAAoCW,KAApC;AACAhB,MAAAA,eAAe,CAACE,eAAhB,CAAgCG,SAAhC,IAA6CG,cAA7C;AACAR,MAAAA,eAAe,CAACG,eAAhB,CAAgCE,SAAhC,IAA6CK,cAA7C;AACD;AACF;;AAED,SAAOV,eAAe,CAACC,MAAvB;AACD;;AAEM,SAASiB,gBAAT,CAA0BnB,EAA1B,EAA8B;AACnC,QAAMC,eAAe,GAAG,yCAAmBD,EAAnB,CAAxB;AAEA,QAAMoB,IAAI,GAAG,kCAAoBpB,EAApB,CAAb;;AACA,MAAI,CAACC,eAAe,CAACmB,IAArB,EAA2B;AACzBnB,IAAAA,eAAe,CAACmB,IAAhB,GAAuB;AACrB,OAACC,mBAAGC,qBAAJ,GAA4BF,IAAI,CAACG,MADZ;AAErB,OAACF,mBAAGG,uBAAJ,GAA8BJ,IAAI,CAACK,QAFd;AAGrB,OAACJ,mBAAGK,MAAJ,GAAaN,IAAI,CAACO,YAHG;AAIrB,OAACN,mBAAGO,QAAJ,GAAeR,IAAI,CAACS,cAJC;AAKrB,OAACR,mBAAGS,OAAJ,GAAcV,IAAI,CAACW,OALE;AAMrB,OAACV,mBAAGW,wBAAJ,GAA+BZ,IAAI,CAACa;AANf,KAAvB;AAQD;;AAED,SAAOhC,eAAe,CAACmB,IAAvB;AACD;;AAEM,SAASc,cAAT,CAAwBlC,EAAxB,EAA4B;AACjC,QAAMC,eAAe,GAAG,yCAAmBD,EAAnB,CAAxB;AACA,SAAOmC,MAAM,CAACC,MAAP,CAAc,kCAAoBpC,EAApB,CAAd,EAAuC;AAC5CE,IAAAA,MAAM,EAAEH,gBAAgB,CAACC,EAAD,CADoB;AAE5CoB,IAAAA,IAAI,EAAED,gBAAgB,CAACnB,EAAD,CAFsB;AAG5CG,IAAAA,eAAe,EAAEF,eAAe,CAACE,eAHW;AAI5CC,IAAAA,eAAe,EAAEH,eAAe,CAACG;AAJW,GAAvC,CAAP;AAMD","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2, getContextDebugInfo} from '@luma.gl/gltools';\nimport WEBGL_LIMITS from './webgl-limits-table';\nimport {getLumaContextData} from '../context/luma-context-data';\n\nexport function getContextLimits(gl) {\n const lumaContextData = getLumaContextData(gl);\n\n if (!lumaContextData.limits) {\n lumaContextData.limits = {};\n lumaContextData.webgl1MinLimits = {};\n lumaContextData.webgl2MinLimits = {};\n\n const isWebgl2 = isWebGL2(gl);\n\n // WEBGL limits\n for (const parameter in WEBGL_LIMITS) {\n const limit = WEBGL_LIMITS[parameter];\n\n const webgl1MinLimit = limit.gl1;\n const webgl2MinLimit = 'gl2' in limit ? limit.gl2 : limit.gl1;\n const minLimit = isWebgl2 ? webgl2MinLimit : webgl1MinLimit;\n\n // Check if we can query for this limit\n const limitNotAvailable =\n ('gl2' in limit && !isWebgl2) ||\n // @ts-ignore\n ('extension' in limit && !gl.getExtension(limit.extension));\n\n const value = limitNotAvailable ? minLimit : gl.getParameter(parameter);\n lumaContextData.limits[parameter] = value;\n lumaContextData.webgl1MinLimits[parameter] = webgl1MinLimit;\n lumaContextData.webgl2MinLimits[parameter] = webgl2MinLimit;\n }\n }\n\n return lumaContextData.limits;\n}\n\nexport function getGLContextInfo(gl) {\n const lumaContextData = getLumaContextData(gl);\n\n const info = getContextDebugInfo(gl);\n if (!lumaContextData.info) {\n lumaContextData.info = {\n [GL.UNMASKED_VENDOR_WEBGL]: info.vendor,\n [GL.UNMASKED_RENDERER_WEBGL]: info.renderer,\n [GL.VENDOR]: info.vendorMasked,\n [GL.RENDERER]: info.rendererMasked,\n [GL.VERSION]: info.version,\n [GL.SHADING_LANGUAGE_VERSION]: info.shadingLanguageVersion\n };\n }\n\n return lumaContextData.info;\n}\n\nexport function getContextInfo(gl) {\n const lumaContextData = getLumaContextData(gl);\n return Object.assign(getContextDebugInfo(gl), {\n limits: getContextLimits(gl),\n info: getGLContextInfo(gl),\n webgl1MinLimits: lumaContextData.webgl1MinLimits,\n webgl2MinLimits: lumaContextData.webgl2MinLimits\n });\n}\n"],"file":"limits.js"}
@@ -7,15 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.FEATURES = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
10
  var _framebuffer = _interopRequireDefault(require("../classes/framebuffer"));
13
11
 
14
12
  var _texture2d = _interopRequireDefault(require("../classes/texture-2d"));
15
13
 
16
- var _FEATURES$WEBGL2$FEAT;
17
-
18
- var FEATURES = {
14
+ const FEATURES = {
19
15
  WEBGL2: 'WEBGL2',
20
16
  VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',
21
17
  TIMER_QUERY: 'TIMER_QUERY',
@@ -42,23 +38,47 @@ var FEATURES = {
42
38
  exports.FEATURES = FEATURES;
43
39
 
44
40
  function checkFloat32ColorAttachment(gl) {
45
- var testTexture = new _texture2d.default(gl, {
46
- format: 6408,
47
- type: 5126,
48
- dataFormat: 6408
41
+ const testTexture = new _texture2d.default(gl, {
42
+ format: gl.RGBA,
43
+ type: gl.FLOAT,
44
+ dataFormat: gl.RGBA
49
45
  });
50
- var testFb = new _framebuffer.default(gl, {
46
+ const testFb = new _framebuffer.default(gl, {
51
47
  id: "test-framebuffer",
52
48
  check: false,
53
- attachments: (0, _defineProperty2.default)({}, 36064, testTexture)
49
+ attachments: {
50
+ [gl.COLOR_ATTACHMENT0]: testTexture
51
+ }
54
52
  });
55
- var status = testFb.getStatus();
53
+ const status = testFb.getStatus();
56
54
  testTexture.delete();
57
55
  testFb.delete();
58
- return status === 36053;
56
+ return status === gl.FRAMEBUFFER_COMPLETE;
59
57
  }
60
58
 
61
- var _default = (_FEATURES$WEBGL2$FEAT = {}, (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.WEBGL2, [false, true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.VERTEX_ARRAY_OBJECT, ['OES_vertex_array_object', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.TIMER_QUERY, ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.INSTANCED_RENDERING, ['ANGLE_instanced_arrays', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.MULTIPLE_RENDER_TARGETS, ['WEBGL_draw_buffers', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.ELEMENT_INDEX_UINT32, ['OES_element_index_uint', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.BLEND_EQUATION_MINMAX, ['EXT_blend_minmax', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.FLOAT_BLEND, ['EXT_float_blend']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.COLOR_ENCODING_SRGB, ['EXT_sRGB', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.TEXTURE_DEPTH, ['WEBGL_depth_texture', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.TEXTURE_FLOAT, ['OES_texture_float', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.TEXTURE_HALF_FLOAT, ['OES_texture_half_float', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.TEXTURE_FILTER_LINEAR_FLOAT, ['OES_texture_float_linear']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT, ['OES_texture_half_float_linear']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.TEXTURE_FILTER_ANISOTROPIC, ['EXT_texture_filter_anisotropic']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.COLOR_ATTACHMENT_RGBA32F, [checkFloat32ColorAttachment, 'EXT_color_buffer_float']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.COLOR_ATTACHMENT_FLOAT, [false, 'EXT_color_buffer_float']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.COLOR_ATTACHMENT_HALF_FLOAT, ['EXT_color_buffer_half_float']), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.GLSL_FRAG_DATA, ['WEBGL_draw_buffers', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.GLSL_FRAG_DEPTH, ['EXT_frag_depth', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.GLSL_DERIVATIVES, ['OES_standard_derivatives', true]), (0, _defineProperty2.default)(_FEATURES$WEBGL2$FEAT, FEATURES.GLSL_TEXTURE_LOD, ['EXT_shader_texture_lod', true]), _FEATURES$WEBGL2$FEAT);
62
-
59
+ var _default = {
60
+ [FEATURES.WEBGL2]: [false, true],
61
+ [FEATURES.VERTEX_ARRAY_OBJECT]: ['OES_vertex_array_object', true],
62
+ [FEATURES.TIMER_QUERY]: ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2'],
63
+ [FEATURES.INSTANCED_RENDERING]: ['ANGLE_instanced_arrays', true],
64
+ [FEATURES.MULTIPLE_RENDER_TARGETS]: ['WEBGL_draw_buffers', true],
65
+ [FEATURES.ELEMENT_INDEX_UINT32]: ['OES_element_index_uint', true],
66
+ [FEATURES.BLEND_EQUATION_MINMAX]: ['EXT_blend_minmax', true],
67
+ [FEATURES.FLOAT_BLEND]: ['EXT_float_blend'],
68
+ [FEATURES.COLOR_ENCODING_SRGB]: ['EXT_sRGB', true],
69
+ [FEATURES.TEXTURE_DEPTH]: ['WEBGL_depth_texture', true],
70
+ [FEATURES.TEXTURE_FLOAT]: ['OES_texture_float', true],
71
+ [FEATURES.TEXTURE_HALF_FLOAT]: ['OES_texture_half_float', true],
72
+ [FEATURES.TEXTURE_FILTER_LINEAR_FLOAT]: ['OES_texture_float_linear'],
73
+ [FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT]: ['OES_texture_half_float_linear'],
74
+ [FEATURES.TEXTURE_FILTER_ANISOTROPIC]: ['EXT_texture_filter_anisotropic'],
75
+ [FEATURES.COLOR_ATTACHMENT_RGBA32F]: [checkFloat32ColorAttachment, 'EXT_color_buffer_float'],
76
+ [FEATURES.COLOR_ATTACHMENT_FLOAT]: [false, 'EXT_color_buffer_float'],
77
+ [FEATURES.COLOR_ATTACHMENT_HALF_FLOAT]: ['EXT_color_buffer_half_float'],
78
+ [FEATURES.GLSL_FRAG_DATA]: ['WEBGL_draw_buffers', true],
79
+ [FEATURES.GLSL_FRAG_DEPTH]: ['EXT_frag_depth', true],
80
+ [FEATURES.GLSL_DERIVATIVES]: ['OES_standard_derivatives', true],
81
+ [FEATURES.GLSL_TEXTURE_LOD]: ['EXT_shader_texture_lod', true]
82
+ };
63
83
  exports.default = _default;
64
84
  //# sourceMappingURL=webgl-features-table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/webgl-features-table.js"],"names":["FEATURES","WEBGL2","VERTEX_ARRAY_OBJECT","TIMER_QUERY","INSTANCED_RENDERING","MULTIPLE_RENDER_TARGETS","ELEMENT_INDEX_UINT32","BLEND_EQUATION_MINMAX","FLOAT_BLEND","COLOR_ENCODING_SRGB","TEXTURE_DEPTH","TEXTURE_FLOAT","TEXTURE_HALF_FLOAT","TEXTURE_FILTER_LINEAR_FLOAT","TEXTURE_FILTER_LINEAR_HALF_FLOAT","TEXTURE_FILTER_ANISOTROPIC","COLOR_ATTACHMENT_RGBA32F","COLOR_ATTACHMENT_FLOAT","COLOR_ATTACHMENT_HALF_FLOAT","GLSL_FRAG_DATA","GLSL_FRAG_DEPTH","GLSL_DERIVATIVES","GLSL_TEXTURE_LOD","checkFloat32ColorAttachment","gl","testTexture","Texture2D","format","type","dataFormat","testFb","Framebuffer","id","check","attachments","status","getStatus","delete"],"mappings":"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","sourcesContent":["import Framebuffer from '../classes/framebuffer';\nimport Texture2D from '../classes/texture-2d';\n// TODO - this should be the default export, test cases need updating\nexport const FEATURES = {\n WEBGL2: 'WEBGL2',\n\n // API SUPPORT\n VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',\n TIMER_QUERY: 'TIMER_QUERY',\n INSTANCED_RENDERING: 'INSTANCED_RENDERING',\n MULTIPLE_RENDER_TARGETS: 'MULTIPLE_RENDER_TARGETS',\n\n // FEATURES\n ELEMENT_INDEX_UINT32: 'ELEMENT_INDEX_UINT32',\n\n // BLENDING\n BLEND_EQUATION_MINMAX: 'BLEND_EQUATION_MINMAX',\n FLOAT_BLEND: 'FLOAT_BLEND',\n\n // TEXTURES: '// TEXTURES', RENDERBUFFERS\n COLOR_ENCODING_SRGB: 'COLOR_ENCODING_SRGB',\n\n // TEXTURES\n TEXTURE_DEPTH: 'TEXTURE_DEPTH',\n TEXTURE_FLOAT: 'TEXTURE_FLOAT',\n TEXTURE_HALF_FLOAT: 'TEXTURE_HALF_FLOAT',\n\n TEXTURE_FILTER_LINEAR_FLOAT: 'TEXTURE_FILTER_LINEAR_FLOAT',\n TEXTURE_FILTER_LINEAR_HALF_FLOAT: 'TEXTURE_FILTER_LINEAR_HALF_FLOAT',\n TEXTURE_FILTER_ANISOTROPIC: 'TEXTURE_FILTER_ANISOTROPIC',\n\n // FRAMEBUFFERS: '// FRAMEBUFFERS', TEXTURES AND RENDERBUFFERS\n COLOR_ATTACHMENT_RGBA32F: 'COLOR_ATTACHMENT_RGBA32F',\n COLOR_ATTACHMENT_FLOAT: 'COLOR_ATTACHMENT_FLOAT',\n COLOR_ATTACHMENT_HALF_FLOAT: 'COLOR_ATTACHMENT_HALF_FLOAT',\n\n // GLSL extensions\n GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',\n GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',\n GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',\n GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD'\n};\n\n// function to test if Float 32 bit format texture can be bound as color attachment\nfunction checkFloat32ColorAttachment(gl) {\n const testTexture = new Texture2D(gl, {\n format: gl.RGBA,\n type: gl.FLOAT,\n dataFormat: gl.RGBA\n });\n const testFb = new Framebuffer(gl, {\n id: `test-framebuffer`,\n check: false,\n attachments: {\n [gl.COLOR_ATTACHMENT0]: testTexture\n }\n });\n const status = testFb.getStatus();\n testTexture.delete();\n testFb.delete();\n return status === gl.FRAMEBUFFER_COMPLETE;\n}\n\n// Defines luma.gl \"feature\" names and semantics\n// Format: 'feature-name: [WebGL1 support, WebGL2 support] / [WebGL1 and WebGL2 support]', when support is 'string' it is the name of the extension\nexport default {\n [FEATURES.WEBGL2]: [false, true],\n\n // API SUPPORT\n [FEATURES.VERTEX_ARRAY_OBJECT]: ['OES_vertex_array_object', true],\n [FEATURES.TIMER_QUERY]: ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2'],\n [FEATURES.INSTANCED_RENDERING]: ['ANGLE_instanced_arrays', true],\n [FEATURES.MULTIPLE_RENDER_TARGETS]: ['WEBGL_draw_buffers', true],\n\n // FEATURES\n [FEATURES.ELEMENT_INDEX_UINT32]: ['OES_element_index_uint', true],\n\n // BLENDING\n [FEATURES.BLEND_EQUATION_MINMAX]: ['EXT_blend_minmax', true],\n [FEATURES.FLOAT_BLEND]: ['EXT_float_blend'],\n\n // TEXTURES, RENDERBUFFERS\n [FEATURES.COLOR_ENCODING_SRGB]: ['EXT_sRGB', true],\n\n // TEXTURES\n [FEATURES.TEXTURE_DEPTH]: ['WEBGL_depth_texture', true],\n [FEATURES.TEXTURE_FLOAT]: ['OES_texture_float', true],\n [FEATURES.TEXTURE_HALF_FLOAT]: ['OES_texture_half_float', true],\n\n [FEATURES.TEXTURE_FILTER_LINEAR_FLOAT]: ['OES_texture_float_linear'],\n [FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT]: ['OES_texture_half_float_linear'],\n [FEATURES.TEXTURE_FILTER_ANISOTROPIC]: ['EXT_texture_filter_anisotropic'],\n\n // FRAMEBUFFERS, TEXTURES AND RENDERBUFFERS\n [FEATURES.COLOR_ATTACHMENT_RGBA32F]: [checkFloat32ColorAttachment, 'EXT_color_buffer_float'],\n [FEATURES.COLOR_ATTACHMENT_FLOAT]: [false, 'EXT_color_buffer_float'],\n [FEATURES.COLOR_ATTACHMENT_HALF_FLOAT]: ['EXT_color_buffer_half_float'],\n\n // GLSL extensions\n [FEATURES.GLSL_FRAG_DATA]: ['WEBGL_draw_buffers', true],\n [FEATURES.GLSL_FRAG_DEPTH]: ['EXT_frag_depth', true],\n [FEATURES.GLSL_DERIVATIVES]: ['OES_standard_derivatives', true],\n [FEATURES.GLSL_TEXTURE_LOD]: ['EXT_shader_texture_lod', true]\n};\n"],"file":"webgl-features-table.js"}
1
+ {"version":3,"sources":["../../../src/features/webgl-features-table.ts"],"names":["FEATURES","WEBGL2","VERTEX_ARRAY_OBJECT","TIMER_QUERY","INSTANCED_RENDERING","MULTIPLE_RENDER_TARGETS","ELEMENT_INDEX_UINT32","BLEND_EQUATION_MINMAX","FLOAT_BLEND","COLOR_ENCODING_SRGB","TEXTURE_DEPTH","TEXTURE_FLOAT","TEXTURE_HALF_FLOAT","TEXTURE_FILTER_LINEAR_FLOAT","TEXTURE_FILTER_LINEAR_HALF_FLOAT","TEXTURE_FILTER_ANISOTROPIC","COLOR_ATTACHMENT_RGBA32F","COLOR_ATTACHMENT_FLOAT","COLOR_ATTACHMENT_HALF_FLOAT","GLSL_FRAG_DATA","GLSL_FRAG_DEPTH","GLSL_DERIVATIVES","GLSL_TEXTURE_LOD","checkFloat32ColorAttachment","gl","testTexture","Texture2D","format","RGBA","type","FLOAT","dataFormat","testFb","Framebuffer","id","check","attachments","COLOR_ATTACHMENT0","status","getStatus","delete","FRAMEBUFFER_COMPLETE"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,MAAMA,QAAQ,GAAG;AACtBC,EAAAA,MAAM,EAAE,QADc;AAItBC,EAAAA,mBAAmB,EAAE,qBAJC;AAKtBC,EAAAA,WAAW,EAAE,aALS;AAMtBC,EAAAA,mBAAmB,EAAE,qBANC;AAOtBC,EAAAA,uBAAuB,EAAE,yBAPH;AAUtBC,EAAAA,oBAAoB,EAAE,sBAVA;AAatBC,EAAAA,qBAAqB,EAAE,uBAbD;AActBC,EAAAA,WAAW,EAAE,aAdS;AAiBtBC,EAAAA,mBAAmB,EAAE,qBAjBC;AAoBtBC,EAAAA,aAAa,EAAE,eApBO;AAqBtBC,EAAAA,aAAa,EAAE,eArBO;AAsBtBC,EAAAA,kBAAkB,EAAE,oBAtBE;AAwBtBC,EAAAA,2BAA2B,EAAE,6BAxBP;AAyBtBC,EAAAA,gCAAgC,EAAE,kCAzBZ;AA0BtBC,EAAAA,0BAA0B,EAAE,4BA1BN;AA6BtBC,EAAAA,wBAAwB,EAAE,0BA7BJ;AA8BtBC,EAAAA,sBAAsB,EAAE,wBA9BF;AA+BtBC,EAAAA,2BAA2B,EAAE,6BA/BP;AAkCtBC,EAAAA,cAAc,EAAE,gBAlCM;AAmCtBC,EAAAA,eAAe,EAAE,iBAnCK;AAoCtBC,EAAAA,gBAAgB,EAAE,kBApCI;AAqCtBC,EAAAA,gBAAgB,EAAE;AArCI,CAAjB;;;AAyCP,SAASC,2BAAT,CAAqCC,EAArC,EAAyC;AACvC,QAAMC,WAAW,GAAG,IAAIC,kBAAJ,CAAcF,EAAd,EAAkB;AACpCG,IAAAA,MAAM,EAAEH,EAAE,CAACI,IADyB;AAEpCC,IAAAA,IAAI,EAAEL,EAAE,CAACM,KAF2B;AAGpCC,IAAAA,UAAU,EAAEP,EAAE,CAACI;AAHqB,GAAlB,CAApB;AAKA,QAAMI,MAAM,GAAG,IAAIC,oBAAJ,CAAgBT,EAAhB,EAAoB;AACjCU,IAAAA,EAAE,oBAD+B;AAEjCC,IAAAA,KAAK,EAAE,KAF0B;AAGjCC,IAAAA,WAAW,EAAE;AACX,OAACZ,EAAE,CAACa,iBAAJ,GAAwBZ;AADb;AAHoB,GAApB,CAAf;AAOA,QAAMa,MAAM,GAAGN,MAAM,CAACO,SAAP,EAAf;AACAd,EAAAA,WAAW,CAACe,MAAZ;AACAR,EAAAA,MAAM,CAACQ,MAAP;AACA,SAAOF,MAAM,KAAKd,EAAE,CAACiB,oBAArB;AACD;;eAIc;AACb,GAACzC,QAAQ,CAACC,MAAV,GAAmB,CAAC,KAAD,EAAQ,IAAR,CADN;AAIb,GAACD,QAAQ,CAACE,mBAAV,GAAgC,CAAC,yBAAD,EAA4B,IAA5B,CAJnB;AAKb,GAACF,QAAQ,CAACG,WAAV,GAAwB,CAAC,0BAAD,EAA6B,iCAA7B,CALX;AAMb,GAACH,QAAQ,CAACI,mBAAV,GAAgC,CAAC,wBAAD,EAA2B,IAA3B,CANnB;AAOb,GAACJ,QAAQ,CAACK,uBAAV,GAAoC,CAAC,oBAAD,EAAuB,IAAvB,CAPvB;AAUb,GAACL,QAAQ,CAACM,oBAAV,GAAiC,CAAC,wBAAD,EAA2B,IAA3B,CAVpB;AAab,GAACN,QAAQ,CAACO,qBAAV,GAAkC,CAAC,kBAAD,EAAqB,IAArB,CAbrB;AAcb,GAACP,QAAQ,CAACQ,WAAV,GAAwB,CAAC,iBAAD,CAdX;AAiBb,GAACR,QAAQ,CAACS,mBAAV,GAAgC,CAAC,UAAD,EAAa,IAAb,CAjBnB;AAoBb,GAACT,QAAQ,CAACU,aAAV,GAA0B,CAAC,qBAAD,EAAwB,IAAxB,CApBb;AAqBb,GAACV,QAAQ,CAACW,aAAV,GAA0B,CAAC,mBAAD,EAAsB,IAAtB,CArBb;AAsBb,GAACX,QAAQ,CAACY,kBAAV,GAA+B,CAAC,wBAAD,EAA2B,IAA3B,CAtBlB;AAwBb,GAACZ,QAAQ,CAACa,2BAAV,GAAwC,CAAC,0BAAD,CAxB3B;AAyBb,GAACb,QAAQ,CAACc,gCAAV,GAA6C,CAAC,+BAAD,CAzBhC;AA0Bb,GAACd,QAAQ,CAACe,0BAAV,GAAuC,CAAC,gCAAD,CA1B1B;AA6Bb,GAACf,QAAQ,CAACgB,wBAAV,GAAqC,CAACO,2BAAD,EAA8B,wBAA9B,CA7BxB;AA8Bb,GAACvB,QAAQ,CAACiB,sBAAV,GAAmC,CAAC,KAAD,EAAQ,wBAAR,CA9BtB;AA+Bb,GAACjB,QAAQ,CAACkB,2BAAV,GAAwC,CAAC,6BAAD,CA/B3B;AAkCb,GAAClB,QAAQ,CAACmB,cAAV,GAA2B,CAAC,oBAAD,EAAuB,IAAvB,CAlCd;AAmCb,GAACnB,QAAQ,CAACoB,eAAV,GAA4B,CAAC,gBAAD,EAAmB,IAAnB,CAnCf;AAoCb,GAACpB,QAAQ,CAACqB,gBAAV,GAA6B,CAAC,0BAAD,EAA6B,IAA7B,CApChB;AAqCb,GAACrB,QAAQ,CAACsB,gBAAV,GAA6B,CAAC,wBAAD,EAA2B,IAA3B;AArChB,C","sourcesContent":["import Framebuffer from '../classes/framebuffer';\nimport Texture2D from '../classes/texture-2d';\n// TODO - this should be the default export, test cases need updating\nexport const FEATURES = {\n WEBGL2: 'WEBGL2',\n\n // API SUPPORT\n VERTEX_ARRAY_OBJECT: 'VERTEX_ARRAY_OBJECT',\n TIMER_QUERY: 'TIMER_QUERY',\n INSTANCED_RENDERING: 'INSTANCED_RENDERING',\n MULTIPLE_RENDER_TARGETS: 'MULTIPLE_RENDER_TARGETS',\n\n // FEATURES\n ELEMENT_INDEX_UINT32: 'ELEMENT_INDEX_UINT32',\n\n // BLENDING\n BLEND_EQUATION_MINMAX: 'BLEND_EQUATION_MINMAX',\n FLOAT_BLEND: 'FLOAT_BLEND',\n\n // TEXTURES: '// TEXTURES', RENDERBUFFERS\n COLOR_ENCODING_SRGB: 'COLOR_ENCODING_SRGB',\n\n // TEXTURES\n TEXTURE_DEPTH: 'TEXTURE_DEPTH',\n TEXTURE_FLOAT: 'TEXTURE_FLOAT',\n TEXTURE_HALF_FLOAT: 'TEXTURE_HALF_FLOAT',\n\n TEXTURE_FILTER_LINEAR_FLOAT: 'TEXTURE_FILTER_LINEAR_FLOAT',\n TEXTURE_FILTER_LINEAR_HALF_FLOAT: 'TEXTURE_FILTER_LINEAR_HALF_FLOAT',\n TEXTURE_FILTER_ANISOTROPIC: 'TEXTURE_FILTER_ANISOTROPIC',\n\n // FRAMEBUFFERS: '// FRAMEBUFFERS', TEXTURES AND RENDERBUFFERS\n COLOR_ATTACHMENT_RGBA32F: 'COLOR_ATTACHMENT_RGBA32F',\n COLOR_ATTACHMENT_FLOAT: 'COLOR_ATTACHMENT_FLOAT',\n COLOR_ATTACHMENT_HALF_FLOAT: 'COLOR_ATTACHMENT_HALF_FLOAT',\n\n // GLSL extensions\n GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',\n GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',\n GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',\n GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD'\n};\n\n// function to test if Float 32 bit format texture can be bound as color attachment\nfunction checkFloat32ColorAttachment(gl) {\n const testTexture = new Texture2D(gl, {\n format: gl.RGBA,\n type: gl.FLOAT,\n dataFormat: gl.RGBA\n });\n const testFb = new Framebuffer(gl, {\n id: `test-framebuffer`,\n check: false,\n attachments: {\n [gl.COLOR_ATTACHMENT0]: testTexture\n }\n });\n const status = testFb.getStatus();\n testTexture.delete();\n testFb.delete();\n return status === gl.FRAMEBUFFER_COMPLETE;\n}\n\n// Defines luma.gl \"feature\" names and semantics\n// Format: 'feature-name: [WebGL1 support, WebGL2 support] / [WebGL1 and WebGL2 support]', when support is 'string' it is the name of the extension\nexport default {\n [FEATURES.WEBGL2]: [false, true],\n\n // API SUPPORT\n [FEATURES.VERTEX_ARRAY_OBJECT]: ['OES_vertex_array_object', true],\n [FEATURES.TIMER_QUERY]: ['EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2'],\n [FEATURES.INSTANCED_RENDERING]: ['ANGLE_instanced_arrays', true],\n [FEATURES.MULTIPLE_RENDER_TARGETS]: ['WEBGL_draw_buffers', true],\n\n // FEATURES\n [FEATURES.ELEMENT_INDEX_UINT32]: ['OES_element_index_uint', true],\n\n // BLENDING\n [FEATURES.BLEND_EQUATION_MINMAX]: ['EXT_blend_minmax', true],\n [FEATURES.FLOAT_BLEND]: ['EXT_float_blend'],\n\n // TEXTURES, RENDERBUFFERS\n [FEATURES.COLOR_ENCODING_SRGB]: ['EXT_sRGB', true],\n\n // TEXTURES\n [FEATURES.TEXTURE_DEPTH]: ['WEBGL_depth_texture', true],\n [FEATURES.TEXTURE_FLOAT]: ['OES_texture_float', true],\n [FEATURES.TEXTURE_HALF_FLOAT]: ['OES_texture_half_float', true],\n\n [FEATURES.TEXTURE_FILTER_LINEAR_FLOAT]: ['OES_texture_float_linear'],\n [FEATURES.TEXTURE_FILTER_LINEAR_HALF_FLOAT]: ['OES_texture_half_float_linear'],\n [FEATURES.TEXTURE_FILTER_ANISOTROPIC]: ['EXT_texture_filter_anisotropic'],\n\n // FRAMEBUFFERS, TEXTURES AND RENDERBUFFERS\n [FEATURES.COLOR_ATTACHMENT_RGBA32F]: [checkFloat32ColorAttachment, 'EXT_color_buffer_float'],\n [FEATURES.COLOR_ATTACHMENT_FLOAT]: [false, 'EXT_color_buffer_float'],\n [FEATURES.COLOR_ATTACHMENT_HALF_FLOAT]: ['EXT_color_buffer_half_float'],\n\n // GLSL extensions\n [FEATURES.GLSL_FRAG_DATA]: ['WEBGL_draw_buffers', true],\n [FEATURES.GLSL_FRAG_DEPTH]: ['EXT_frag_depth', true],\n [FEATURES.GLSL_DERIVATIVES]: ['OES_standard_derivatives', true],\n [FEATURES.GLSL_TEXTURE_LOD]: ['EXT_shader_texture_lod', true]\n};\n"],"file":"webgl-features-table.js"}