@luma.gl/webgl 9.0.0-alpha.3 → 9.0.0-alpha.30

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 (500) hide show
  1. package/LICENSE +2 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +14 -4
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +28 -46
  5. package/dist/adapter/converters/device-parameters.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts +5 -5
  7. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js +20 -56
  9. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  10. package/dist/adapter/converters/texture-formats.d.ts +31 -42
  11. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  12. package/dist/adapter/converters/texture-formats.js +163 -178
  13. package/dist/adapter/converters/texture-formats.js.map +1 -1
  14. package/dist/adapter/converters/vertex-formats.d.ts +2 -2
  15. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/vertex-formats.js +3 -9
  17. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  18. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  19. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  20. package/dist/adapter/device-helpers/device-features.js +13 -20
  21. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  23. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-limits.js +2 -5
  25. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  26. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  27. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/get-device-info.js +9 -11
  29. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  30. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  31. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +4 -4
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
  34. package/dist/adapter/helpers/attribute-utils.js +1 -18
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  36. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  37. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-info.js +25 -0
  39. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  40. package/dist/adapter/helpers/get-shader-layout.d.ts +10 -7
  41. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  42. package/dist/adapter/helpers/get-shader-layout.js +101 -84
  43. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  44. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  46. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  47. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  48. package/dist/adapter/helpers/set-uniform.d.ts +2 -2
  49. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  50. package/dist/adapter/helpers/set-uniform.js +3 -33
  51. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  52. package/dist/adapter/helpers/uniforms.d.ts +9 -10
  53. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  54. package/dist/adapter/helpers/uniforms.js +8 -18
  55. package/dist/adapter/helpers/uniforms.js.map +1 -1
  56. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  57. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  58. package/dist/adapter/objects/constants-to-keys.js +1 -28
  59. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  60. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  61. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  62. package/dist/adapter/objects/webgl-renderbuffer.js +35 -41
  63. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  64. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  65. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  66. package/dist/adapter/objects/webgl-resource.js +19 -75
  67. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  68. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +38 -11
  69. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  70. package/dist/adapter/objects/webgl-vertex-array-object.js +122 -32
  71. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  72. package/dist/adapter/resources/webgl-buffer.d.ts +18 -10
  73. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  74. package/dist/adapter/resources/webgl-buffer.js +43 -71
  75. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  76. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  77. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  78. package/dist/adapter/resources/webgl-command-buffer.js +169 -41
  79. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  80. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  81. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  82. package/dist/adapter/resources/webgl-command-encoder.js +8 -17
  83. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  84. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
  86. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  87. package/dist/adapter/resources/webgl-framebuffer.js +41 -149
  88. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  89. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  90. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  91. package/dist/adapter/resources/webgl-render-pass.js +88 -9
  92. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts +44 -11
  94. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  95. package/dist/adapter/resources/webgl-render-pipeline.js +90 -152
  96. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  97. package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
  98. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  99. package/dist/adapter/resources/webgl-sampler.js +7 -15
  100. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  101. package/dist/adapter/resources/webgl-shader.d.ts +3 -4
  102. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  103. package/dist/adapter/resources/webgl-shader.js +9 -22
  104. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  105. package/dist/adapter/resources/webgl-texture.d.ts +64 -44
  106. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  107. package/dist/adapter/resources/webgl-texture.js +98 -213
  108. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  109. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  110. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  111. package/dist/adapter/webgl-canvas-context.js +8 -20
  112. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  113. package/dist/adapter/webgl-device.d.ts +64 -41
  114. package/dist/adapter/webgl-device.d.ts.map +1 -1
  115. package/dist/adapter/webgl-device.js +133 -113
  116. package/dist/adapter/webgl-device.js.map +1 -1
  117. package/dist/classic/accessor.d.ts +3 -3
  118. package/dist/classic/accessor.d.ts.map +1 -1
  119. package/dist/classic/accessor.js +14 -38
  120. package/dist/classic/accessor.js.map +1 -1
  121. package/dist/classic/{buffer.d.ts → buffer-with-accessor.d.ts} +16 -28
  122. package/dist/classic/buffer-with-accessor.d.ts.map +1 -0
  123. package/dist/classic/{buffer.js → buffer-with-accessor.js} +54 -122
  124. package/dist/classic/buffer-with-accessor.js.map +1 -0
  125. package/dist/classic/clear.d.ts +22 -0
  126. package/dist/classic/clear.d.ts.map +1 -0
  127. package/dist/classic/clear.js +88 -0
  128. package/dist/classic/clear.js.map +1 -0
  129. package/dist/classic/copy-and-blit.d.ts +62 -0
  130. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  131. package/dist/classic/copy-and-blit.js +202 -0
  132. package/dist/classic/copy-and-blit.js.map +1 -0
  133. package/dist/classic/format-utils.d.ts +3 -0
  134. package/dist/classic/format-utils.d.ts.map +1 -0
  135. package/dist/classic/format-utils.js +38 -0
  136. package/dist/classic/format-utils.js.map +1 -0
  137. package/dist/classic/typed-array-utils.d.ts +15 -17
  138. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  139. package/dist/classic/typed-array-utils.js +1 -21
  140. package/dist/classic/typed-array-utils.js.map +1 -1
  141. package/dist/context/context/create-browser-context.d.ts +40 -0
  142. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  143. package/dist/{esm/context/context/create-context.js → context/context/create-browser-context.js} +23 -19
  144. package/dist/context/context/create-browser-context.js.map +1 -0
  145. package/dist/context/context/create-headless-context.d.ts +9 -0
  146. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  147. package/dist/context/context/create-headless-context.js +42 -0
  148. package/dist/context/context/create-headless-context.js.map +1 -0
  149. package/dist/context/context/webgl-checks.js +1 -4
  150. package/dist/context/context/webgl-checks.js.map +1 -1
  151. package/dist/context/debug/spector.d.ts +1 -2
  152. package/dist/context/debug/spector.d.ts.map +1 -1
  153. package/dist/context/debug/spector.js +8 -20
  154. package/dist/context/debug/spector.js.map +1 -1
  155. package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
  156. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  157. package/dist/context/debug/webgl-developer-tools.js +11 -34
  158. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  159. package/dist/context/parameters/unified-parameter-api.d.ts +8 -7
  160. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  161. package/dist/context/parameters/unified-parameter-api.js +8 -18
  162. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  163. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  164. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  165. package/dist/context/parameters/webgl-parameter-tables.js +18 -36
  166. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  167. package/dist/context/polyfill/context-data.d.ts +13 -0
  168. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  169. package/dist/context/polyfill/context-data.js +12 -0
  170. package/dist/context/polyfill/context-data.js.map +1 -0
  171. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  172. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  173. package/dist/context/polyfill/get-parameter-polyfill.js +4 -9
  174. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  175. package/dist/context/polyfill/polyfill-context.js +21 -29
  176. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  177. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  178. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  179. package/dist/context/polyfill/polyfill-table.js +10 -32
  180. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  181. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  183. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  184. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  185. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  186. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  187. package/dist/context/state-tracker/track-context-state.js +16 -51
  188. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  189. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  190. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  191. package/dist/context/state-tracker/with-parameters.js +7 -9
  192. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  193. package/dist/dist.dev.js +10158 -0
  194. package/dist/index.cjs +6604 -0
  195. package/dist/index.d.ts +25 -22
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +27 -26
  198. package/dist/index.js.map +1 -1
  199. package/dist/types.d.ts +1 -1
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/types.js.map +1 -1
  202. package/dist.min.js +37 -0
  203. package/package.json +21 -9
  204. package/src/adapter/converters/device-parameters.ts +88 -35
  205. package/src/adapter/converters/sampler-parameters.ts +19 -9
  206. package/src/adapter/converters/texture-formats.ts +261 -178
  207. package/src/adapter/converters/vertex-formats.ts +3 -2
  208. package/src/adapter/device-helpers/device-features.ts +10 -3
  209. package/src/adapter/device-helpers/device-limits.ts +3 -3
  210. package/src/adapter/device-helpers/get-device-info.ts +14 -10
  211. package/src/adapter/helpers/attribute-utils.ts +4 -5
  212. package/src/adapter/helpers/get-shader-info.ts +40 -0
  213. package/src/adapter/helpers/get-shader-layout.ts +150 -68
  214. package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
  215. package/src/adapter/helpers/set-uniform.ts +7 -6
  216. package/src/adapter/helpers/uniforms.ts +23 -13
  217. package/src/adapter/objects/constants-to-keys.ts +3 -25
  218. package/src/adapter/objects/webgl-renderbuffer.ts +40 -37
  219. package/src/adapter/objects/webgl-resource.ts +14 -23
  220. package/src/adapter/objects/webgl-vertex-array-object.ts +201 -37
  221. package/src/adapter/resources/webgl-buffer.ts +56 -58
  222. package/src/adapter/resources/webgl-command-buffer.ts +332 -25
  223. package/src/adapter/resources/webgl-command-encoder.ts +16 -11
  224. package/src/adapter/resources/webgl-external-texture.ts +2 -2
  225. package/src/adapter/resources/webgl-framebuffer.ts +88 -133
  226. package/src/adapter/resources/webgl-render-pass.ts +155 -4
  227. package/src/adapter/resources/webgl-render-pipeline.ts +161 -104
  228. package/src/adapter/resources/webgl-sampler.ts +13 -8
  229. package/src/adapter/resources/webgl-shader.ts +11 -10
  230. package/src/adapter/resources/webgl-texture.ts +113 -85
  231. package/src/adapter/webgl-canvas-context.ts +14 -14
  232. package/src/adapter/webgl-device.ts +192 -77
  233. package/src/classic/accessor.ts +4 -17
  234. package/src/classic/{buffer.ts → buffer-with-accessor.ts} +67 -75
  235. package/src/classic/clear.ts +110 -0
  236. package/src/classic/copy-and-blit.ts +308 -0
  237. package/src/classic/format-utils.ts +43 -0
  238. package/src/classic/typed-array-utils.ts +18 -27
  239. package/src/context/context/{create-context.ts → create-browser-context.ts} +48 -31
  240. package/src/context/context/create-headless-context.ts +48 -0
  241. package/src/context/context/webgl-checks.ts +1 -1
  242. package/src/context/debug/spector.ts +7 -6
  243. package/src/context/debug/webgl-developer-tools.ts +21 -15
  244. package/src/context/parameters/unified-parameter-api.ts +20 -14
  245. package/src/context/parameters/webgl-parameter-tables.ts +117 -98
  246. package/src/context/polyfill/context-data.ts +27 -0
  247. package/src/context/polyfill/get-parameter-polyfill.ts +8 -7
  248. package/src/context/polyfill/polyfill-context.ts +7 -9
  249. package/src/context/polyfill/polyfill-table.ts +18 -16
  250. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  251. package/src/context/state-tracker/track-context-state.ts +14 -13
  252. package/src/context/state-tracker/with-parameters.ts +8 -2
  253. package/src/index.ts +42 -33
  254. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  255. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  256. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  257. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  258. package/dist/bundle.d.ts +0 -2
  259. package/dist/bundle.d.ts.map +0 -1
  260. package/dist/bundle.js +0 -5
  261. package/dist/bundle.js.map +0 -1
  262. package/dist/classic/buffer.d.ts.map +0 -1
  263. package/dist/classic/buffer.js.map +0 -1
  264. package/dist/context/context/context-state.d.ts +0 -18
  265. package/dist/context/context/context-state.d.ts.map +0 -1
  266. package/dist/context/context/context-state.js +0 -26
  267. package/dist/context/context/context-state.js.map +0 -1
  268. package/dist/context/context/create-context.d.ts +0 -41
  269. package/dist/context/context/create-context.d.ts.map +0 -1
  270. package/dist/context/context/create-context.js +0 -49
  271. package/dist/context/context/create-context.js.map +0 -1
  272. package/dist/context/context/device-pixels.d.ts +0 -25
  273. package/dist/context/context/device-pixels.d.ts.map +0 -1
  274. package/dist/context/context/device-pixels.js +0 -98
  275. package/dist/context/context/device-pixels.js.map +0 -1
  276. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  277. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  278. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  279. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  280. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  281. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  282. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  283. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  284. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  285. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  286. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  287. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  288. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  289. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  290. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  291. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  292. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  293. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  294. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  295. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  296. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  297. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  298. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  299. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  300. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  301. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  302. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  303. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  304. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  305. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  306. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  307. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  308. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  309. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  310. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  311. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  312. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  313. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  314. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  315. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  316. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  317. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  318. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  319. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  320. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  321. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  322. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  323. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  324. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  325. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  326. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  327. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  328. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  329. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  330. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  331. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  332. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  333. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  334. package/dist/es5/adapter/webgl-device.js +0 -399
  335. package/dist/es5/adapter/webgl-device.js.map +0 -1
  336. package/dist/es5/bundle.js +0 -7
  337. package/dist/es5/bundle.js.map +0 -1
  338. package/dist/es5/classic/accessor.js +0 -181
  339. package/dist/es5/classic/accessor.js.map +0 -1
  340. package/dist/es5/classic/buffer.js +0 -470
  341. package/dist/es5/classic/buffer.js.map +0 -1
  342. package/dist/es5/classic/typed-array-utils.js +0 -126
  343. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  344. package/dist/es5/context/context/context-state.js +0 -31
  345. package/dist/es5/context/context/context-state.js.map +0 -1
  346. package/dist/es5/context/context/create-context.js +0 -69
  347. package/dist/es5/context/context/create-context.js.map +0 -1
  348. package/dist/es5/context/context/device-pixels.js +0 -115
  349. package/dist/es5/context/context/device-pixels.js.map +0 -1
  350. package/dist/es5/context/context/webgl-checks.js +0 -54
  351. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  352. package/dist/es5/context/debug/spector.js +0 -133
  353. package/dist/es5/context/debug/spector.js.map +0 -1
  354. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  355. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  356. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  357. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  358. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  359. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  360. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  361. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  362. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  363. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  364. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  365. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  366. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  367. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  368. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  369. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  370. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  371. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  372. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  373. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  374. package/dist/es5/index.js +0 -276
  375. package/dist/es5/index.js.map +0 -1
  376. package/dist/es5/init.js +0 -10
  377. package/dist/es5/init.js.map +0 -1
  378. package/dist/es5/types/webgl.js +0 -6
  379. package/dist/es5/types/webgl.js.map +0 -1
  380. package/dist/es5/types.js +0 -2
  381. package/dist/es5/types.js.map +0 -1
  382. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  383. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  384. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  385. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  386. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  387. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  388. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  389. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  390. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  391. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  392. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  393. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  394. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  395. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  396. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  397. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  398. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  399. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  400. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  401. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  402. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  403. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  404. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  405. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  406. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  407. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  408. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  409. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  410. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  411. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  412. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  413. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  414. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  415. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  416. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  417. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  418. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  419. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  420. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  421. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  422. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  423. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  424. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  425. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  426. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  427. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  428. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  429. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  430. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  431. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  432. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  433. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  434. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  435. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  436. package/dist/esm/adapter/resources/webgl-texture.js +0 -831
  437. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  438. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  439. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  440. package/dist/esm/adapter/webgl-device.js +0 -280
  441. package/dist/esm/adapter/webgl-device.js.map +0 -1
  442. package/dist/esm/bundle.js +0 -5
  443. package/dist/esm/bundle.js.map +0 -1
  444. package/dist/esm/classic/accessor.js +0 -144
  445. package/dist/esm/classic/accessor.js.map +0 -1
  446. package/dist/esm/classic/buffer.js +0 -384
  447. package/dist/esm/classic/buffer.js.map +0 -1
  448. package/dist/esm/classic/typed-array-utils.js +0 -112
  449. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  450. package/dist/esm/context/context/context-state.js +0 -26
  451. package/dist/esm/context/context/context-state.js.map +0 -1
  452. package/dist/esm/context/context/create-context.js.map +0 -1
  453. package/dist/esm/context/context/device-pixels.js +0 -98
  454. package/dist/esm/context/context/device-pixels.js.map +0 -1
  455. package/dist/esm/context/context/webgl-checks.js +0 -34
  456. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  457. package/dist/esm/context/debug/spector.js +0 -76
  458. package/dist/esm/context/debug/spector.js.map +0 -1
  459. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  460. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  461. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  462. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  463. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  464. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  465. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  466. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  467. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  468. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  469. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  470. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  471. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  472. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  473. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  474. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  475. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  476. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  477. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  478. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  479. package/dist/esm/index.js +0 -27
  480. package/dist/esm/index.js.map +0 -1
  481. package/dist/esm/init.js +0 -4
  482. package/dist/esm/init.js.map +0 -1
  483. package/dist/esm/types/webgl.js +0 -2
  484. package/dist/esm/types/webgl.js.map +0 -1
  485. package/dist/esm/types.js +0 -2
  486. package/dist/esm/types.js.map +0 -1
  487. package/dist/init.d.ts +0 -2
  488. package/dist/init.d.ts.map +0 -1
  489. package/dist/init.js +0 -4
  490. package/dist/init.js.map +0 -1
  491. package/dist/types/webgl.d.ts +0 -144
  492. package/dist/types/webgl.d.ts.map +0 -1
  493. package/dist/types/webgl.js +0 -2
  494. package/dist/types/webgl.js.map +0 -1
  495. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  496. package/src/bundle.ts +0 -4
  497. package/src/context/context/context-state.ts +0 -41
  498. package/src/context/context/device-pixels.ts +0 -152
  499. package/src/init.ts +0 -4
  500. package/src/types/webgl.ts +0 -283
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/device-helpers/device-limits.ts"],"names":["GL","getWebGL2Context","getDeviceLimits","gl","gl2","maxTextureDimension1D","maxTextureDimension2D","getParameter","MAX_TEXTURE_SIZE","maxTextureDimension3D","MAX_3D_TEXTURE_SIZE","maxTextureArrayLayers","MAX_ARRAY_TEXTURE_LAYERS","maxBindGroups","maxDynamicUniformBuffersPerPipelineLayout","maxDynamicStorageBuffersPerPipelineLayout","maxSampledTexturesPerShaderStage","MAX_VERTEX_TEXTURE_IMAGE_UNITS","maxSamplersPerShaderStage","MAX_COMBINED_TEXTURE_IMAGE_UNITS","maxStorageBuffersPerShaderStage","maxStorageTexturesPerShaderStage","maxUniformBuffersPerShaderStage","MAX_UNIFORM_BUFFER_BINDINGS","maxUniformBufferBindingSize","MAX_UNIFORM_BLOCK_SIZE","maxStorageBufferBindingSize","minUniformBufferOffsetAlignment","UNIFORM_BUFFER_OFFSET_ALIGNMENT","minStorageBufferOffsetAlignment","maxVertexBuffers","maxVertexAttributes","MAX_VERTEX_ATTRIBS","maxVertexBufferArrayStride","maxInterStageShaderComponents","MAX_VARYING_COMPONENTS","maxComputeWorkgroupStorageSize","maxComputeInvocationsPerWorkgroup","maxComputeWorkgroupSizeX","maxComputeWorkgroupSizeY","maxComputeWorkgroupSizeZ","maxComputeWorkgroupsPerDimension","getWebGLLimits","get","pname","get2","defaultValue","ALIASED_LINE_WIDTH_RANGE","ALIASED_POINT_SIZE_RANGE","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_TEXTURE_IMAGE_UNITS","MAX_RENDERBUFFER_SIZE","MAX_VARYING_VECTORS","MAX_VERTEX_UNIFORM_VECTORS","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_VIEWPORT_DIMS","MAX_TEXTURE_MAX_ANISOTROPY_EXT","MAX_CLIENT_WAIT_TIMEOUT_WEBGL","MAX_COLOR_ATTACHMENTS","MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS","MAX_COMBINED_UNIFORM_BLOCKS","MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS","MAX_DRAW_BUFFERS","MAX_ELEMENT_INDEX","MAX_ELEMENTS_INDICES","MAX_ELEMENTS_VERTICES","MAX_FRAGMENT_INPUT_COMPONENTS","MAX_FRAGMENT_UNIFORM_BLOCKS","MAX_FRAGMENT_UNIFORM_COMPONENTS","MAX_SAMPLES","MAX_SERVER_WAIT_TIMEOUT","MAX_TEXTURE_LOD_BIAS","MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS","MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS","MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS","MAX_VERTEX_OUTPUT_COMPONENTS","MAX_VERTEX_UNIFORM_BLOCKS","MAX_VERTEX_UNIFORM_COMPONENTS","MIN_PROGRAM_TEXEL_OFFSET","MAX_PROGRAM_TEXEL_OFFSET"],"mappings":"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","sourcesContent":["// luma.gl, MIT license\nimport type {DeviceLimits} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getWebGL2Context} from '../../context/context/webgl-checks';\n\n/** Populate a WebGPU style device limits */\nexport function getDeviceLimits(gl: WebGLRenderingContext): DeviceLimits {\n const gl2: WebGL2RenderingContext = getWebGL2Context(gl);\n return {\n maxTextureDimension1D: 0, // WebGL does not support 1D textures\n maxTextureDimension2D: gl.getParameter(GL.MAX_TEXTURE_SIZE),\n maxTextureDimension3D: gl2 ? gl2.getParameter(GL.MAX_3D_TEXTURE_SIZE) : 0,\n maxTextureArrayLayers: gl2 ? gl2.getParameter(GL.MAX_ARRAY_TEXTURE_LAYERS) : 0,\n maxBindGroups: 1, // TBD\n maxDynamicUniformBuffersPerPipelineLayout: 0, // TBD\n maxDynamicStorageBuffersPerPipelineLayout: 0, // TBD\n maxSampledTexturesPerShaderStage: gl.getParameter(GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS), // TBD\n maxSamplersPerShaderStage: gl.getParameter(GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS),\n maxStorageBuffersPerShaderStage: 0, // TBD\n maxStorageTexturesPerShaderStage: 0, // TBD\n maxUniformBuffersPerShaderStage: gl2 ? gl2.getParameter(GL.MAX_UNIFORM_BUFFER_BINDINGS) : 0,\n maxUniformBufferBindingSize: gl2 ? gl2.getParameter(GL.MAX_UNIFORM_BLOCK_SIZE) : 0,\n maxStorageBufferBindingSize: 0,\n minUniformBufferOffsetAlignment: gl2 ? gl2.getParameter(GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT) : 0,\n minStorageBufferOffsetAlignment: 0, // TBD\n maxVertexBuffers: 0,\n maxVertexAttributes: gl.getParameter(GL.MAX_VERTEX_ATTRIBS),\n maxVertexBufferArrayStride: 2048, // TBD, this is just the default value from WebGPU\n maxInterStageShaderComponents: gl2 ? gl2.getParameter(GL.MAX_VARYING_COMPONENTS) : 0,\n maxComputeWorkgroupStorageSize: 0, // WebGL does not support compute shaders\n maxComputeInvocationsPerWorkgroup: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupSizeX: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupSizeY: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupSizeZ: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupsPerDimension: 0, // WebGL does not support compute shaders\n }\n}\n\n/** WebGL context limits */\nexport type WebGLLimits = {\n [GL.ALIASED_LINE_WIDTH_RANGE]: [number, number];\n [GL.ALIASED_POINT_SIZE_RANGE]: [number, number];\n [GL.MAX_TEXTURE_SIZE]: number;\n [GL.MAX_CUBE_MAP_TEXTURE_SIZE]: number;\n [GL.MAX_TEXTURE_IMAGE_UNITS]: number;\n [GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS]: number;\n [GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS]: number;\n [GL.MAX_RENDERBUFFER_SIZE]: number;\n [GL.MAX_VARYING_VECTORS]: number;\n [GL.MAX_VERTEX_ATTRIBS]: number;\n [GL.MAX_VERTEX_UNIFORM_VECTORS]: number;\n [GL.MAX_FRAGMENT_UNIFORM_VECTORS]: number;\n [GL.MAX_VIEWPORT_DIMS]: [number, number];\n\n // Extensions\n [GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT]: number;\n\n // WebGL2 Limits\n [GL.MAX_3D_TEXTURE_SIZE]: number;\n [GL.MAX_ARRAY_TEXTURE_LAYERS]: number;\n [GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL]: number;\n [GL.MAX_COLOR_ATTACHMENTS]: number;\n [GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: number;\n [GL.MAX_COMBINED_UNIFORM_BLOCKS]: number;\n [GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS]: number;\n [GL.MAX_DRAW_BUFFERS]: number;\n [GL.MAX_ELEMENT_INDEX]: number;\n [GL.MAX_ELEMENTS_INDICES]: number;\n [GL.MAX_ELEMENTS_VERTICES]: number;\n [GL.MAX_FRAGMENT_INPUT_COMPONENTS]: number;\n [GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: number;\n [GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: number;\n [GL.MAX_SAMPLES]: number;\n [GL.MAX_SERVER_WAIT_TIMEOUT]: number;\n [GL.MAX_TEXTURE_LOD_BIAS]: number;\n [GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: number;\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: number;\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS]: number;\n [GL.MAX_UNIFORM_BLOCK_SIZE]: number;\n [GL.MAX_UNIFORM_BUFFER_BINDINGS]: number;\n [GL.MAX_VARYING_COMPONENTS]: number;\n [GL.MAX_VERTEX_OUTPUT_COMPONENTS]: number;\n [GL.MAX_VERTEX_UNIFORM_BLOCKS]: number;\n [GL.MAX_VERTEX_UNIFORM_COMPONENTS]: number;\n [GL.MIN_PROGRAM_TEXEL_OFFSET]: number;\n [GL.MAX_PROGRAM_TEXEL_OFFSET]: number;\n [GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: number;\n};\n\n\nexport function getWebGLLimits(gl: WebGLRenderingContext): WebGLLimits {\n const gl2 = getWebGL2Context(gl);\n function get<T = number>(pname: number): T {\n return gl.getParameter(pname) as T;\n }\n function get2(pname: number, defaultValue?: number): number;\n function get2<T>(pname: number, defaultValue: T): T;\n function get2<T>(pname: number, defaultValue: T): T {\n return gl2 ? gl2.getParameter(pname) as T : (defaultValue || 0) as T;\n }\n // function getMaxAnistropy() {\n // const extension = gl.getExtension('EXT_texture_filter_anisotropic');\n // }\n return {\n [GL.ALIASED_LINE_WIDTH_RANGE]: get(GL.ALIASED_LINE_WIDTH_RANGE),\n [GL.ALIASED_POINT_SIZE_RANGE]: get(GL.ALIASED_POINT_SIZE_RANGE),\n [GL.MAX_TEXTURE_SIZE]: get(GL.MAX_TEXTURE_SIZE),\n [GL.MAX_CUBE_MAP_TEXTURE_SIZE]: get(GL.MAX_CUBE_MAP_TEXTURE_SIZE), // GLint\n [GL.MAX_TEXTURE_IMAGE_UNITS]: get(GL.MAX_TEXTURE_IMAGE_UNITS), // GLint\n [GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS]: get(GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS), // GLint\n [GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS]: get(GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS), // GLint\n [GL.MAX_RENDERBUFFER_SIZE]: get(GL.MAX_RENDERBUFFER_SIZE), // GLint\n [GL.MAX_VARYING_VECTORS]: get(GL.MAX_VARYING_VECTORS), // GLint\n [GL.MAX_VERTEX_ATTRIBS]: get(GL.MAX_VERTEX_ATTRIBS), // GLint\n [GL.MAX_VERTEX_UNIFORM_VECTORS]: get(GL.MAX_VERTEX_UNIFORM_VECTORS), // GLint\n [GL.MAX_FRAGMENT_UNIFORM_VECTORS]: get(GL.MAX_FRAGMENT_UNIFORM_VECTORS), // GLint\n [GL.MAX_VIEWPORT_DIMS]: get(GL.MAX_VIEWPORT_DIMS),\n\n // Extensions\n [GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT]: get(GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT), // getMaxAnistropy(),\n\n // WebGL2 Limits\n [GL.MAX_3D_TEXTURE_SIZE]: get2(GL.MAX_3D_TEXTURE_SIZE), // GLint\n [GL.MAX_ARRAY_TEXTURE_LAYERS]: get2(GL.MAX_ARRAY_TEXTURE_LAYERS), // GLint\n [GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL]: get2(GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL), // GLint64\n [GL.MAX_COLOR_ATTACHMENTS]: get2(GL.MAX_COLOR_ATTACHMENTS), // GLint\n [GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: get2(GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS), // GLint64\n [GL.MAX_COMBINED_UNIFORM_BLOCKS]: get2(GL.MAX_COMBINED_UNIFORM_BLOCKS), // GLint\n [GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS]: get2(GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS), // GLint64\n [GL.MAX_DRAW_BUFFERS]: get2(GL.MAX_DRAW_BUFFERS), // GLint\n [GL.MAX_ELEMENT_INDEX]: get2(GL.MAX_ELEMENT_INDEX), // GLint64\n [GL.MAX_ELEMENTS_INDICES]: get2(GL.MAX_ELEMENTS_INDICES), // GLint\n [GL.MAX_ELEMENTS_VERTICES]: get2(GL.MAX_ELEMENTS_VERTICES), // GLint\n [GL.MAX_FRAGMENT_INPUT_COMPONENTS]: get2(GL.MAX_FRAGMENT_INPUT_COMPONENTS), // GLint\n [GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: get2(GL.MAX_FRAGMENT_UNIFORM_BLOCKS), // GLint\n [GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: get2(GL.MAX_FRAGMENT_UNIFORM_COMPONENTS), // GLint\n [GL.MAX_SAMPLES]: get2(GL.MAX_SAMPLES), // GLint\n [GL.MAX_SERVER_WAIT_TIMEOUT]: get2(GL.MAX_SERVER_WAIT_TIMEOUT), // GLint64\n [GL.MAX_TEXTURE_LOD_BIAS]: get2(GL.MAX_TEXTURE_LOD_BIAS), // GLfloat\n [GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: get2(GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS), // GLint\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: get2(GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS), // GLint\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS]: get2(GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS), // GLint\n [GL.MAX_UNIFORM_BLOCK_SIZE]: get2(GL.MAX_UNIFORM_BLOCK_SIZE), // GLint64\n [GL.MAX_UNIFORM_BUFFER_BINDINGS]: get2(GL.MAX_UNIFORM_BUFFER_BINDINGS), // GLint\n [GL.MAX_VARYING_COMPONENTS]: get2(GL.MAX_VARYING_COMPONENTS), // GLint\n [GL.MAX_VERTEX_OUTPUT_COMPONENTS]: get2(GL.MAX_VERTEX_OUTPUT_COMPONENTS), // GLint\n [GL.MAX_VERTEX_UNIFORM_BLOCKS]: get2(GL.MAX_VERTEX_UNIFORM_BLOCKS), // GLint\n [GL.MAX_VERTEX_UNIFORM_COMPONENTS]: get2(GL.MAX_VERTEX_UNIFORM_COMPONENTS), // GLint\n [GL.MIN_PROGRAM_TEXEL_OFFSET]: get2(GL.MIN_PROGRAM_TEXEL_OFFSET), // GLint\n [GL.MAX_PROGRAM_TEXEL_OFFSET]: get2(GL.MAX_PROGRAM_TEXEL_OFFSET), // GLint\n [GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: get2(GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT) // GLint\n };\n}\n"],"file":"device-limits.js"}
1
+ {"version":3,"file":"device-limits.js","names":["GL","getWebGL2Context","getDeviceLimits","gl","gl2","maxTextureDimension1D","maxTextureDimension2D","getParameter","MAX_TEXTURE_SIZE","maxTextureDimension3D","MAX_3D_TEXTURE_SIZE","maxTextureArrayLayers","MAX_ARRAY_TEXTURE_LAYERS","maxBindGroups","maxDynamicUniformBuffersPerPipelineLayout","maxDynamicStorageBuffersPerPipelineLayout","maxSampledTexturesPerShaderStage","MAX_VERTEX_TEXTURE_IMAGE_UNITS","maxSamplersPerShaderStage","MAX_COMBINED_TEXTURE_IMAGE_UNITS","maxStorageBuffersPerShaderStage","maxStorageTexturesPerShaderStage","maxUniformBuffersPerShaderStage","MAX_UNIFORM_BUFFER_BINDINGS","maxUniformBufferBindingSize","MAX_UNIFORM_BLOCK_SIZE","maxStorageBufferBindingSize","minUniformBufferOffsetAlignment","UNIFORM_BUFFER_OFFSET_ALIGNMENT","minStorageBufferOffsetAlignment","maxVertexBuffers","maxVertexAttributes","MAX_VERTEX_ATTRIBS","maxVertexBufferArrayStride","maxInterStageShaderComponents","MAX_VARYING_COMPONENTS","maxComputeWorkgroupStorageSize","maxComputeInvocationsPerWorkgroup","maxComputeWorkgroupSizeX","maxComputeWorkgroupSizeY","maxComputeWorkgroupSizeZ","maxComputeWorkgroupsPerDimension","getWebGLLimits","get","pname","get2","defaultValue","ALIASED_LINE_WIDTH_RANGE","ALIASED_POINT_SIZE_RANGE","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_TEXTURE_IMAGE_UNITS","MAX_RENDERBUFFER_SIZE","MAX_VARYING_VECTORS","MAX_VERTEX_UNIFORM_VECTORS","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_VIEWPORT_DIMS","MAX_TEXTURE_MAX_ANISOTROPY_EXT","MAX_CLIENT_WAIT_TIMEOUT_WEBGL","MAX_COLOR_ATTACHMENTS","MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS","MAX_COMBINED_UNIFORM_BLOCKS","MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS","MAX_DRAW_BUFFERS","MAX_ELEMENT_INDEX","MAX_ELEMENTS_INDICES","MAX_ELEMENTS_VERTICES","MAX_FRAGMENT_INPUT_COMPONENTS","MAX_FRAGMENT_UNIFORM_BLOCKS","MAX_FRAGMENT_UNIFORM_COMPONENTS","MAX_SAMPLES","MAX_SERVER_WAIT_TIMEOUT","MAX_TEXTURE_LOD_BIAS","MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS","MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS","MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS","MAX_VERTEX_OUTPUT_COMPONENTS","MAX_VERTEX_UNIFORM_BLOCKS","MAX_VERTEX_UNIFORM_COMPONENTS","MIN_PROGRAM_TEXEL_OFFSET","MAX_PROGRAM_TEXEL_OFFSET"],"sources":["../../../src/adapter/device-helpers/device-limits.ts"],"sourcesContent":["// luma.gl, MIT license\nimport type {DeviceLimits} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\nimport {getWebGL2Context} from '../../context/context/webgl-checks';\n\n/** Populate a WebGPU style device limits */\nexport function getDeviceLimits(gl: WebGLRenderingContext): DeviceLimits {\n const gl2: WebGL2RenderingContext | null = getWebGL2Context(gl);\n return {\n maxTextureDimension1D: 0, // WebGL does not support 1D textures\n maxTextureDimension2D: gl.getParameter(GL.MAX_TEXTURE_SIZE),\n maxTextureDimension3D: gl2 ? gl2.getParameter(GL.MAX_3D_TEXTURE_SIZE) : 0,\n maxTextureArrayLayers: gl2 ? gl2.getParameter(GL.MAX_ARRAY_TEXTURE_LAYERS) : 0,\n maxBindGroups: 1, // TBD\n maxDynamicUniformBuffersPerPipelineLayout: 0, // TBD\n maxDynamicStorageBuffersPerPipelineLayout: 0, // TBD\n maxSampledTexturesPerShaderStage: gl.getParameter(GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS), // TBD\n maxSamplersPerShaderStage: gl.getParameter(GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS),\n maxStorageBuffersPerShaderStage: 0, // TBD\n maxStorageTexturesPerShaderStage: 0, // TBD\n maxUniformBuffersPerShaderStage: gl2 ? gl2.getParameter(GL.MAX_UNIFORM_BUFFER_BINDINGS) : 0,\n maxUniformBufferBindingSize: gl2 ? gl2.getParameter(GL.MAX_UNIFORM_BLOCK_SIZE) : 0,\n maxStorageBufferBindingSize: 0,\n minUniformBufferOffsetAlignment: gl2 ? gl2.getParameter(GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT) : 0,\n minStorageBufferOffsetAlignment: 0, // TBD\n maxVertexBuffers: 0,\n maxVertexAttributes: gl.getParameter(GL.MAX_VERTEX_ATTRIBS),\n maxVertexBufferArrayStride: 2048, // TBD, this is just the default value from WebGPU\n maxInterStageShaderComponents: gl2 ? gl2.getParameter(GL.MAX_VARYING_COMPONENTS) : 0,\n maxComputeWorkgroupStorageSize: 0, // WebGL does not support compute shaders\n maxComputeInvocationsPerWorkgroup: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupSizeX: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupSizeY: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupSizeZ: 0, // WebGL does not support compute shaders\n maxComputeWorkgroupsPerDimension: 0, // WebGL does not support compute shaders\n }\n}\n\n/** WebGL context limits */\nexport type WebGLLimits = {\n [GL.ALIASED_LINE_WIDTH_RANGE]: [number, number];\n [GL.ALIASED_POINT_SIZE_RANGE]: [number, number];\n [GL.MAX_TEXTURE_SIZE]: number;\n [GL.MAX_CUBE_MAP_TEXTURE_SIZE]: number;\n [GL.MAX_TEXTURE_IMAGE_UNITS]: number;\n [GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS]: number;\n [GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS]: number;\n [GL.MAX_RENDERBUFFER_SIZE]: number;\n [GL.MAX_VARYING_VECTORS]: number;\n [GL.MAX_VERTEX_ATTRIBS]: number;\n [GL.MAX_VERTEX_UNIFORM_VECTORS]: number;\n [GL.MAX_FRAGMENT_UNIFORM_VECTORS]: number;\n [GL.MAX_VIEWPORT_DIMS]: [number, number];\n\n // Extensions\n [GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT]: number;\n\n // WebGL2 Limits\n [GL.MAX_3D_TEXTURE_SIZE]: number;\n [GL.MAX_ARRAY_TEXTURE_LAYERS]: number;\n [GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL]: number;\n [GL.MAX_COLOR_ATTACHMENTS]: number;\n [GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: number;\n [GL.MAX_COMBINED_UNIFORM_BLOCKS]: number;\n [GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS]: number;\n [GL.MAX_DRAW_BUFFERS]: number;\n [GL.MAX_ELEMENT_INDEX]: number;\n [GL.MAX_ELEMENTS_INDICES]: number;\n [GL.MAX_ELEMENTS_VERTICES]: number;\n [GL.MAX_FRAGMENT_INPUT_COMPONENTS]: number;\n [GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: number;\n [GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: number;\n [GL.MAX_SAMPLES]: number;\n [GL.MAX_SERVER_WAIT_TIMEOUT]: number;\n [GL.MAX_TEXTURE_LOD_BIAS]: number;\n [GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: number;\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: number;\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS]: number;\n [GL.MAX_UNIFORM_BLOCK_SIZE]: number;\n [GL.MAX_UNIFORM_BUFFER_BINDINGS]: number;\n [GL.MAX_VARYING_COMPONENTS]: number;\n [GL.MAX_VERTEX_OUTPUT_COMPONENTS]: number;\n [GL.MAX_VERTEX_UNIFORM_BLOCKS]: number;\n [GL.MAX_VERTEX_UNIFORM_COMPONENTS]: number;\n [GL.MIN_PROGRAM_TEXEL_OFFSET]: number;\n [GL.MAX_PROGRAM_TEXEL_OFFSET]: number;\n [GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: number;\n};\n\n\nexport function getWebGLLimits(gl: WebGLRenderingContext): WebGLLimits {\n const gl2 = getWebGL2Context(gl);\n function get<T = number>(pname: number): T {\n return gl.getParameter(pname) as T;\n }\n function get2(pname: number, defaultValue?: number): number;\n function get2<T>(pname: number, defaultValue: T): T;\n function get2<T>(pname: number, defaultValue: T): T {\n return gl2 ? gl2.getParameter(pname) as T : (defaultValue || 0) as T;\n }\n // function getMaxAnistropy() {\n // const extension = gl.getExtension('EXT_texture_filter_anisotropic');\n // }\n return {\n [GL.ALIASED_LINE_WIDTH_RANGE]: get(GL.ALIASED_LINE_WIDTH_RANGE),\n [GL.ALIASED_POINT_SIZE_RANGE]: get(GL.ALIASED_POINT_SIZE_RANGE),\n [GL.MAX_TEXTURE_SIZE]: get(GL.MAX_TEXTURE_SIZE),\n [GL.MAX_CUBE_MAP_TEXTURE_SIZE]: get(GL.MAX_CUBE_MAP_TEXTURE_SIZE), // GLint\n [GL.MAX_TEXTURE_IMAGE_UNITS]: get(GL.MAX_TEXTURE_IMAGE_UNITS), // GLint\n [GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS]: get(GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS), // GLint\n [GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS]: get(GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS), // GLint\n [GL.MAX_RENDERBUFFER_SIZE]: get(GL.MAX_RENDERBUFFER_SIZE), // GLint\n [GL.MAX_VARYING_VECTORS]: get(GL.MAX_VARYING_VECTORS), // GLint\n [GL.MAX_VERTEX_ATTRIBS]: get(GL.MAX_VERTEX_ATTRIBS), // GLint\n [GL.MAX_VERTEX_UNIFORM_VECTORS]: get(GL.MAX_VERTEX_UNIFORM_VECTORS), // GLint\n [GL.MAX_FRAGMENT_UNIFORM_VECTORS]: get(GL.MAX_FRAGMENT_UNIFORM_VECTORS), // GLint\n [GL.MAX_VIEWPORT_DIMS]: get(GL.MAX_VIEWPORT_DIMS),\n\n // Extensions\n [GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT]: get(GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT), // getMaxAnistropy(),\n\n // WebGL2 Limits\n [GL.MAX_3D_TEXTURE_SIZE]: get2(GL.MAX_3D_TEXTURE_SIZE), // GLint\n [GL.MAX_ARRAY_TEXTURE_LAYERS]: get2(GL.MAX_ARRAY_TEXTURE_LAYERS), // GLint\n [GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL]: get2(GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL), // GLint64\n [GL.MAX_COLOR_ATTACHMENTS]: get2(GL.MAX_COLOR_ATTACHMENTS), // GLint\n [GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: get2(GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS), // GLint64\n [GL.MAX_COMBINED_UNIFORM_BLOCKS]: get2(GL.MAX_COMBINED_UNIFORM_BLOCKS), // GLint\n [GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS]: get2(GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS), // GLint64\n [GL.MAX_DRAW_BUFFERS]: get2(GL.MAX_DRAW_BUFFERS), // GLint\n [GL.MAX_ELEMENT_INDEX]: get2(GL.MAX_ELEMENT_INDEX), // GLint64\n [GL.MAX_ELEMENTS_INDICES]: get2(GL.MAX_ELEMENTS_INDICES), // GLint\n [GL.MAX_ELEMENTS_VERTICES]: get2(GL.MAX_ELEMENTS_VERTICES), // GLint\n [GL.MAX_FRAGMENT_INPUT_COMPONENTS]: get2(GL.MAX_FRAGMENT_INPUT_COMPONENTS), // GLint\n [GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: get2(GL.MAX_FRAGMENT_UNIFORM_BLOCKS), // GLint\n [GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: get2(GL.MAX_FRAGMENT_UNIFORM_COMPONENTS), // GLint\n [GL.MAX_SAMPLES]: get2(GL.MAX_SAMPLES), // GLint\n [GL.MAX_SERVER_WAIT_TIMEOUT]: get2(GL.MAX_SERVER_WAIT_TIMEOUT), // GLint64\n [GL.MAX_TEXTURE_LOD_BIAS]: get2(GL.MAX_TEXTURE_LOD_BIAS), // GLfloat\n [GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: get2(GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS), // GLint\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: get2(GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS), // GLint\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS]: get2(GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS), // GLint\n [GL.MAX_UNIFORM_BLOCK_SIZE]: get2(GL.MAX_UNIFORM_BLOCK_SIZE), // GLint64\n [GL.MAX_UNIFORM_BUFFER_BINDINGS]: get2(GL.MAX_UNIFORM_BUFFER_BINDINGS), // GLint\n [GL.MAX_VARYING_COMPONENTS]: get2(GL.MAX_VARYING_COMPONENTS), // GLint\n [GL.MAX_VERTEX_OUTPUT_COMPONENTS]: get2(GL.MAX_VERTEX_OUTPUT_COMPONENTS), // GLint\n [GL.MAX_VERTEX_UNIFORM_BLOCKS]: get2(GL.MAX_VERTEX_UNIFORM_BLOCKS), // GLint\n [GL.MAX_VERTEX_UNIFORM_COMPONENTS]: get2(GL.MAX_VERTEX_UNIFORM_COMPONENTS), // GLint\n [GL.MIN_PROGRAM_TEXEL_OFFSET]: get2(GL.MIN_PROGRAM_TEXEL_OFFSET), // GLint\n [GL.MAX_PROGRAM_TEXEL_OFFSET]: get2(GL.MAX_PROGRAM_TEXEL_OFFSET), // GLint\n [GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: get2(GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT) // GLint\n };\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DeviceInfo } from '@luma.gl/api';
1
+ import { DeviceInfo } from '@luma.gl/core';
2
2
  /** @returns strings identifying the GPU vendor and driver. */
3
3
  export declare function getDeviceInfo(gl: WebGLRenderingContext): DeviceInfo;
4
4
  //# sourceMappingURL=get-device-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-device-info.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/get-device-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAIxC,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,EAAE,EAAE,qBAAqB,GAAG,UAAU,CAsBnE"}
1
+ {"version":3,"file":"get-device-info.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/get-device-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAIzC,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,EAAE,EAAE,qBAAqB,GAAG,UAAU,CAsBnE"}
@@ -1,5 +1,5 @@
1
- import GL from '@luma.gl/constants';
2
- import { isWebGL2 } from '../../context/context/webgl-checks';
1
+ import { GL } from '@luma.gl/constants';
2
+ import { isWebGL2 } from "../../context/context/webgl-checks.js";
3
3
  export function getDeviceInfo(gl) {
4
4
  const vendorMasked = gl.getParameter(GL.VENDOR);
5
5
  const rendererMasked = gl.getParameter(GL.RENDERER);
@@ -21,24 +21,22 @@ export function getDeviceInfo(gl) {
21
21
  }
22
22
  };
23
23
  }
24
-
25
24
  function identifyGPUVendor(vendor, renderer) {
26
- if (vendor.match(/NVIDIA/i) || renderer.match(/NVIDIA/i)) {
25
+ if (/NVIDIA/i.exec(vendor) || /NVIDIA/i.exec(renderer)) {
27
26
  return 'nvidia';
28
27
  }
29
-
30
- if (vendor.match(/INTEL/i) || renderer.match(/INTEL/i)) {
28
+ if (/INTEL/i.exec(vendor) || /INTEL/i.exec(renderer)) {
31
29
  return 'intel';
32
30
  }
33
-
34
- if (vendor.match(/Apple/i) || renderer.match(/Apple/i)) {
31
+ if (/Apple/i.exec(vendor) || /Apple/i.exec(renderer)) {
35
32
  return 'apple';
36
33
  }
37
-
38
- if (vendor.match(/AMD/i) || renderer.match(/AMD/i) || vendor.match(/ATI/i) || renderer.match(/ATI/i)) {
34
+ if (/AMD/i.exec(vendor) || /AMD/i.exec(renderer) || /ATI/i.exec(vendor) || /ATI/i.exec(renderer)) {
39
35
  return 'amd';
40
36
  }
41
-
37
+ if (/SwiftShader/i.exec(vendor) || /SwiftShader/i.exec(renderer)) {
38
+ return 'software';
39
+ }
42
40
  return 'unknown';
43
41
  }
44
42
  //# sourceMappingURL=get-device-info.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/device-helpers/get-device-info.ts"],"names":["GL","isWebGL2","getDeviceInfo","gl","vendorMasked","getParameter","VENDOR","rendererMasked","RENDERER","ext","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","vendor","renderer","gpu","identifyGPUVendor","type","version","VERSION","shadingLanguages","shadingLanguageVersions","SHADING_LANGUAGE_VERSION","match"],"mappings":"AACA,OAAOA,EAAP,MAAe,oBAAf;AACA,SAAQC,QAAR,QAAuB,oCAAvB;AAGA,OAAO,SAASC,aAAT,CAAuBC,EAAvB,EAA8D;AACnE,QAAMC,YAAY,GAAGD,EAAE,CAACE,YAAH,CAAgBL,EAAE,CAACM,MAAnB,CAArB;AACA,QAAMC,cAAc,GAAGJ,EAAE,CAACE,YAAH,CAAgBL,EAAE,CAACQ,QAAnB,CAAvB;AAGA,QAAMC,GAAG,GAAGN,EAAE,CAACO,YAAH,CAAgB,2BAAhB,CAAZ;AACA,QAAMC,cAAc,GAAGR,EAAE,CAACE,YAAH,CAAgBI,GAAG,GAAGA,GAAG,CAACG,qBAAP,GAA+BZ,EAAE,CAACM,MAArD,CAAvB;AACA,QAAMO,gBAAgB,GAAGV,EAAE,CAACE,YAAH,CAAgBI,GAAG,GAAGA,GAAG,CAACK,uBAAP,GAAiCd,EAAE,CAACQ,QAAvD,CAAzB;AACA,QAAMO,MAAM,GAAGJ,cAAc,IAAIP,YAAjC;AACA,QAAMY,QAAQ,GAAGH,gBAAgB,IAAIN,cAArC;AACA,QAAMU,GAAG,GAAGC,iBAAiB,CAACH,MAAD,EAASC,QAAT,CAA7B;AACA,SAAO;AACLG,IAAAA,IAAI,EAAElB,QAAQ,CAACE,EAAD,CAAR,GAAe,QAAf,GAA0B,OAD3B;AAELc,IAAAA,GAFK;AAGLF,IAAAA,MAAM,EAAEJ,cAAc,IAAIP,YAHrB;AAILY,IAAAA,QAAQ,EAAEH,gBAAgB,IAAIN,cAJzB;AAKLa,IAAAA,OAAO,EAAEjB,EAAE,CAACE,YAAH,CAAgBL,EAAE,CAACqB,OAAnB,CALJ;AAMLC,IAAAA,gBAAgB,EAAE,CAAC,MAAD,CANb;AAOLC,IAAAA,uBAAuB,EAAE;AACvB,cAAQpB,EAAE,CAACE,YAAH,CAAgBL,EAAE,CAACwB,wBAAnB;AADe;AAPpB,GAAP;AAWD;;AAED,SAASN,iBAAT,CAA2BH,MAA3B,EAA2CC,QAA3C,EAA+G;AAC7G,MAAID,MAAM,CAACU,KAAP,CAAa,SAAb,KAA2BT,QAAQ,CAACS,KAAT,CAAe,SAAf,CAA/B,EAA0D;AACxD,WAAO,QAAP;AACD;;AACD,MAAIV,MAAM,CAACU,KAAP,CAAa,QAAb,KAA0BT,QAAQ,CAACS,KAAT,CAAe,QAAf,CAA9B,EAAwD;AACtD,WAAO,OAAP;AACD;;AACD,MAAIV,MAAM,CAACU,KAAP,CAAa,QAAb,KAA0BT,QAAQ,CAACS,KAAT,CAAe,QAAf,CAA9B,EAAwD;AACtD,WAAO,OAAP;AACD;;AACD,MACEV,MAAM,CAACU,KAAP,CAAa,MAAb,KACAT,QAAQ,CAACS,KAAT,CAAe,MAAf,CADA,IAEAV,MAAM,CAACU,KAAP,CAAa,MAAb,CAFA,IAGAT,QAAQ,CAACS,KAAT,CAAe,MAAf,CAJF,EAKE;AACA,WAAO,KAAP;AACD;;AACD,SAAO,SAAP;AACD","sourcesContent":["import {DeviceInfo} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../../context/context/webgl-checks';\n\n/** @returns strings identifying the GPU vendor and driver. */\nexport function getDeviceInfo(gl: WebGLRenderingContext): DeviceInfo {\n const vendorMasked = gl.getParameter(GL.VENDOR);\n const rendererMasked = gl.getParameter(GL.RENDERER);\n // Get unmasked strings if available\n // https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/\n const ext = gl.getExtension('WEBGL_debug_renderer_info');\n const vendorUnmasked = gl.getParameter(ext ? ext.UNMASKED_VENDOR_WEBGL : GL.VENDOR);\n const rendererUnmasked = gl.getParameter(ext ? ext.UNMASKED_RENDERER_WEBGL : GL.RENDERER);\n const vendor = vendorUnmasked || vendorMasked;\n const renderer = rendererUnmasked || rendererMasked;\n const gpu = identifyGPUVendor(vendor, renderer);\n return {\n type: isWebGL2(gl) ? 'webgl2' : 'webgl',\n gpu,\n vendor: vendorUnmasked || vendorMasked,\n renderer: rendererUnmasked || rendererMasked,\n version: gl.getParameter(GL.VERSION),\n shadingLanguages: ['glsl'],\n shadingLanguageVersions: {\n 'glsl': gl.getParameter(GL.SHADING_LANGUAGE_VERSION) as string\n }\n };\n}\n\nfunction identifyGPUVendor(vendor: string, renderer: string): 'nvidia' | 'intel' | 'apple' | 'amd' | 'unknown' {\n if (vendor.match(/NVIDIA/i) || renderer.match(/NVIDIA/i)) {\n return 'nvidia';\n }\n if (vendor.match(/INTEL/i) || renderer.match(/INTEL/i)) {\n return 'intel';\n }\n if (vendor.match(/Apple/i) || renderer.match(/Apple/i)) {\n return 'apple';\n }\n if (\n vendor.match(/AMD/i) ||\n renderer.match(/AMD/i) ||\n vendor.match(/ATI/i) ||\n renderer.match(/ATI/i)\n ) {\n return 'amd';\n }\n return 'unknown';\n}\n"],"file":"get-device-info.js"}
1
+ {"version":3,"file":"get-device-info.js","names":["GL","isWebGL2","getDeviceInfo","gl","vendorMasked","getParameter","VENDOR","rendererMasked","RENDERER","ext","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","vendor","renderer","gpu","identifyGPUVendor","type","version","VERSION","shadingLanguages","shadingLanguageVersions","SHADING_LANGUAGE_VERSION","exec"],"sources":["../../../src/adapter/device-helpers/get-device-info.ts"],"sourcesContent":["import {DeviceInfo} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\nimport {isWebGL2} from '../../context/context/webgl-checks';\n\n/** @returns strings identifying the GPU vendor and driver. */\nexport function getDeviceInfo(gl: WebGLRenderingContext): DeviceInfo {\n const vendorMasked = gl.getParameter(GL.VENDOR);\n const rendererMasked = gl.getParameter(GL.RENDERER);\n // Get unmasked strings if available\n // https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/\n const ext = gl.getExtension('WEBGL_debug_renderer_info');\n const vendorUnmasked = gl.getParameter(ext ? ext.UNMASKED_VENDOR_WEBGL : GL.VENDOR);\n const rendererUnmasked = gl.getParameter(ext ? ext.UNMASKED_RENDERER_WEBGL : GL.RENDERER);\n const vendor = vendorUnmasked || vendorMasked;\n const renderer = rendererUnmasked || rendererMasked;\n const gpu = identifyGPUVendor(vendor, renderer);\n return {\n type: isWebGL2(gl) ? 'webgl2' : 'webgl',\n gpu,\n vendor: vendorUnmasked || vendorMasked,\n renderer: rendererUnmasked || rendererMasked,\n version: gl.getParameter(GL.VERSION),\n shadingLanguages: ['glsl'],\n shadingLanguageVersions: {\n 'glsl': gl.getParameter(GL.SHADING_LANGUAGE_VERSION) as string\n }\n };\n}\n\nfunction identifyGPUVendor(vendor: string, renderer: string): 'nvidia' | 'intel' | 'apple' | 'amd' | 'software' | 'unknown' {\n if ((/NVIDIA/i.exec(vendor)) || (/NVIDIA/i.exec(renderer))) {\n return 'nvidia';\n }\n if ((/INTEL/i.exec(vendor)) || (/INTEL/i.exec(renderer))) {\n return 'intel';\n }\n if ((/Apple/i.exec(vendor)) || (/Apple/i.exec(renderer))) {\n return 'apple';\n }\n if (\n (/AMD/i.exec(vendor)) ||\n (/AMD/i.exec(renderer)) ||\n (/ATI/i.exec(vendor)) ||\n (/ATI/i.exec(renderer))\n ) {\n return 'amd';\n }\n if ((/SwiftShader/i.exec(vendor)) || (/SwiftShader/i.exec(renderer))) {\n return 'software';\n }\n \n return 'unknown';\n}\n"],"mappings":"AACA,SAAQA,EAAE,QAAO,oBAAoB;AAAC,SAC9BC,QAAQ;AAGhB,OAAO,SAASC,aAAaA,CAACC,EAAyB,EAAc;EACnE,MAAMC,YAAY,GAAGD,EAAE,CAACE,YAAY,CAACL,EAAE,CAACM,MAAM,CAAC;EAC/C,MAAMC,cAAc,GAAGJ,EAAE,CAACE,YAAY,CAACL,EAAE,CAACQ,QAAQ,CAAC;EAGnD,MAAMC,GAAG,GAAGN,EAAE,CAACO,YAAY,CAAC,2BAA2B,CAAC;EACxD,MAAMC,cAAc,GAAGR,EAAE,CAACE,YAAY,CAACI,GAAG,GAAGA,GAAG,CAACG,qBAAqB,GAAGZ,EAAE,CAACM,MAAM,CAAC;EACnF,MAAMO,gBAAgB,GAAGV,EAAE,CAACE,YAAY,CAACI,GAAG,GAAGA,GAAG,CAACK,uBAAuB,GAAGd,EAAE,CAACQ,QAAQ,CAAC;EACzF,MAAMO,MAAM,GAAGJ,cAAc,IAAIP,YAAY;EAC7C,MAAMY,QAAQ,GAAGH,gBAAgB,IAAIN,cAAc;EACnD,MAAMU,GAAG,GAAGC,iBAAiB,CAACH,MAAM,EAAEC,QAAQ,CAAC;EAC/C,OAAO;IACLG,IAAI,EAAElB,QAAQ,CAACE,EAAE,CAAC,GAAG,QAAQ,GAAG,OAAO;IACvCc,GAAG;IACHF,MAAM,EAAEJ,cAAc,IAAIP,YAAY;IACtCY,QAAQ,EAAEH,gBAAgB,IAAIN,cAAc;IAC5Ca,OAAO,EAAEjB,EAAE,CAACE,YAAY,CAACL,EAAE,CAACqB,OAAO,CAAC;IACpCC,gBAAgB,EAAE,CAAC,MAAM,CAAC;IAC1BC,uBAAuB,EAAE;MACvB,MAAM,EAAEpB,EAAE,CAACE,YAAY,CAACL,EAAE,CAACwB,wBAAwB;IACrD;EACF,CAAC;AACH;AAEA,SAASN,iBAAiBA,CAACH,MAAc,EAAEC,QAAgB,EAAiE;EAC1H,IAAK,SAAS,CAACS,IAAI,CAACV,MAAM,CAAC,IAAM,SAAS,CAACU,IAAI,CAACT,QAAQ,CAAE,EAAE;IAC1D,OAAO,QAAQ;EACjB;EACA,IAAK,QAAQ,CAACS,IAAI,CAACV,MAAM,CAAC,IAAM,QAAQ,CAACU,IAAI,CAACT,QAAQ,CAAE,EAAE;IACxD,OAAO,OAAO;EAChB;EACA,IAAK,QAAQ,CAACS,IAAI,CAACV,MAAM,CAAC,IAAM,QAAQ,CAACU,IAAI,CAACT,QAAQ,CAAE,EAAE;IACxD,OAAO,OAAO;EAChB;EACA,IACG,MAAM,CAACS,IAAI,CAACV,MAAM,CAAC,IACnB,MAAM,CAACU,IAAI,CAACT,QAAQ,CAAE,IACtB,MAAM,CAACS,IAAI,CAACV,MAAM,CAAE,IACpB,MAAM,CAACU,IAAI,CAACT,QAAQ,CAAE,EACvB;IACA,OAAO,KAAK;EACd;EACA,IAAK,cAAc,CAACS,IAAI,CAACV,MAAM,CAAC,IAAM,cAAc,CAACU,IAAI,CAACT,QAAQ,CAAE,EAAE;IACpE,OAAO,UAAU;EACnB;EAEA,OAAO,SAAS;AAClB"}
@@ -1,4 +1,5 @@
1
- export function isOldIE(opts = {}) {
1
+ export function isOldIE() {
2
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2
3
  const navigator = typeof window !== 'undefined' ? window.navigator || {} : {};
3
4
  const userAgent = opts.userAgent || navigator.userAgent || '';
4
5
  const isMSIE = userAgent.indexOf('MSIE ') !== -1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/device-helpers/is-old-ie.ts"],"names":["isOldIE","opts","navigator","window","userAgent","isMSIE","indexOf","isTrident"],"mappings":"AACA,OAAO,SAASA,OAAT,CAAiBC,IAAI,GAAG,EAAxB,EAA4B;AACjC,QAAMC,SAAS,GAAG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAM,CAACD,SAAP,IAAoB,EAApD,GAAyD,EAA3E;AAEA,QAAME,SAAS,GAAGH,IAAI,CAACG,SAAL,IAAkBF,SAAS,CAACE,SAA5B,IAAyC,EAA3D;AAGA,QAAMC,MAAM,GAAGD,SAAS,CAACE,OAAV,CAAkB,OAAlB,MAA+B,CAAC,CAA/C;AACA,QAAMC,SAAS,GAAGH,SAAS,CAACE,OAAV,CAAkB,UAAlB,MAAkC,CAAC,CAArD;AACA,SAAOD,MAAM,IAAIE,SAAjB;AACD","sourcesContent":["// opts allows user agent to be overridden for testing\nexport function isOldIE(opts = {}) {\n const navigator = typeof window !== 'undefined' ? window.navigator || {} : {};\n // @ts-expect-error\n const userAgent = opts.userAgent || navigator.userAgent || '';\n // We only care about older versions of IE (IE 11 and below). Newer versions of IE (Edge)\n // have much better web standards support.\n const isMSIE = userAgent.indexOf('MSIE ') !== -1;\n const isTrident = userAgent.indexOf('Trident/') !== -1;\n return isMSIE || isTrident;\n}\n"],"file":"is-old-ie.js"}
1
+ {"version":3,"file":"is-old-ie.js","names":["isOldIE","opts","arguments","length","undefined","navigator","window","userAgent","isMSIE","indexOf","isTrident"],"sources":["../../../src/adapter/device-helpers/is-old-ie.ts"],"sourcesContent":["// opts allows user agent to be overridden for testing\nexport function isOldIE(opts = {}) {\n const navigator = typeof window !== 'undefined' ? window.navigator || {} : {};\n // @ts-expect-error\n const userAgent = opts.userAgent || navigator.userAgent || '';\n // We only care about older versions of IE (IE 11 and below). Newer versions of IE (Edge)\n // have much better web standards support.\n const isMSIE = userAgent.indexOf('MSIE ') !== -1;\n const isTrident = userAgent.indexOf('Trident/') !== -1;\n return isMSIE || isTrident;\n}\n"],"mappings":"AACA,OAAO,SAASA,OAAOA,CAAA,EAAY;EAAA,IAAXC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC/B,MAAMG,SAAS,GAAG,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACD,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;EAE7E,MAAME,SAAS,GAAGN,IAAI,CAACM,SAAS,IAAIF,SAAS,CAACE,SAAS,IAAI,EAAE;EAG7D,MAAMC,MAAM,GAAGD,SAAS,CAACE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;EAChD,MAAMC,SAAS,GAAGH,SAAS,CAACE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;EACtD,OAAOD,MAAM,IAAIE,SAAS;AAC5B"}
@@ -1,11 +1,11 @@
1
- import { GLDrawMode, GLPrimitive } from '../../types/webgl';
2
- export declare function getPrimitiveDrawMode(drawMode: GLDrawMode): GLPrimitive;
1
+ import { GLPrimitiveTopology, GLPrimitive } from '@luma.gl/constants';
2
+ export declare function getPrimitiveDrawMode(drawMode: GLPrimitiveTopology): GLPrimitive;
3
3
  export declare function getPrimitiveCount(options: {
4
- drawMode: GLDrawMode;
4
+ drawMode: GLPrimitiveTopology;
5
5
  vertexCount: number;
6
6
  }): number;
7
7
  export declare function getVertexCount(options: {
8
- drawMode: GLDrawMode;
8
+ drawMode: GLPrimitiveTopology;
9
9
  vertexCount: number;
10
10
  }): number;
11
11
  //# sourceMappingURL=attribute-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-utils.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/attribute-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAG1D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,CAmBtE;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAkB9F;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAa3F"}
1
+ {"version":3,"file":"attribute-utils.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/attribute-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,mBAAmB,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAGxE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,WAAW,CAmB/E;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAAC,QAAQ,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAkBvG;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAAC,QAAQ,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAapG"}
@@ -1,27 +1,20 @@
1
- import GL from '@luma.gl/constants';
1
+ import { GL } from '@luma.gl/constants';
2
2
  export function getPrimitiveDrawMode(drawMode) {
3
3
  switch (drawMode) {
4
4
  case GL.POINTS:
5
5
  return GL.POINTS;
6
-
7
6
  case GL.LINES:
8
7
  return GL.LINES;
9
-
10
8
  case GL.LINE_STRIP:
11
9
  return GL.LINES;
12
-
13
10
  case GL.LINE_LOOP:
14
11
  return GL.LINES;
15
-
16
12
  case GL.TRIANGLES:
17
13
  return GL.TRIANGLES;
18
-
19
14
  case GL.TRIANGLE_STRIP:
20
15
  return GL.TRIANGLES;
21
-
22
16
  case GL.TRIANGLE_FAN:
23
17
  return GL.TRIANGLES;
24
-
25
18
  default:
26
19
  throw new Error('drawMode');
27
20
  }
@@ -31,25 +24,19 @@ export function getPrimitiveCount(options) {
31
24
  drawMode,
32
25
  vertexCount
33
26
  } = options;
34
-
35
27
  switch (drawMode) {
36
28
  case GL.POINTS:
37
29
  case GL.LINE_LOOP:
38
30
  return vertexCount;
39
-
40
31
  case GL.LINES:
41
32
  return vertexCount / 2;
42
-
43
33
  case GL.LINE_STRIP:
44
34
  return vertexCount - 1;
45
-
46
35
  case GL.TRIANGLES:
47
36
  return vertexCount / 3;
48
-
49
37
  case GL.TRIANGLE_STRIP:
50
38
  case GL.TRIANGLE_FAN:
51
39
  return vertexCount - 2;
52
-
53
40
  default:
54
41
  throw new Error('drawMode');
55
42
  }
@@ -63,17 +50,13 @@ export function getVertexCount(options) {
63
50
  drawMode,
64
51
  vertexCount
65
52
  });
66
-
67
53
  switch (getPrimitiveDrawMode(drawMode)) {
68
54
  case GL.POINTS:
69
55
  return primitiveCount;
70
-
71
56
  case GL.LINES:
72
57
  return primitiveCount * 2;
73
-
74
58
  case GL.TRIANGLES:
75
59
  return primitiveCount * 3;
76
-
77
60
  default:
78
61
  throw new Error('drawMode');
79
62
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapter/helpers/attribute-utils.ts"],"names":["GL","getPrimitiveDrawMode","drawMode","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","Error","getPrimitiveCount","options","vertexCount","getVertexCount","primitiveCount"],"mappings":"AAAA,OAAOA,EAAP,MAAe,oBAAf;AAIA,OAAO,SAASC,oBAAT,CAA8BC,QAA9B,EAAiE;AACtE,UAAQA,QAAR;AACE,SAAKF,EAAE,CAACG,MAAR;AACE,aAAOH,EAAE,CAACG,MAAV;;AACF,SAAKH,EAAE,CAACI,KAAR;AACE,aAAOJ,EAAE,CAACI,KAAV;;AACF,SAAKJ,EAAE,CAACK,UAAR;AACE,aAAOL,EAAE,CAACI,KAAV;;AACF,SAAKJ,EAAE,CAACM,SAAR;AACE,aAAON,EAAE,CAACI,KAAV;;AACF,SAAKJ,EAAE,CAACO,SAAR;AACE,aAAOP,EAAE,CAACO,SAAV;;AACF,SAAKP,EAAE,CAACQ,cAAR;AACE,aAAOR,EAAE,CAACO,SAAV;;AACF,SAAKP,EAAE,CAACS,YAAR;AACE,aAAOT,EAAE,CAACO,SAAV;;AACF;AACE,YAAM,IAAIG,KAAJ,CAAU,UAAV,CAAN;AAhBJ;AAkBD;AAGD,OAAO,SAASC,iBAAT,CAA2BC,OAA3B,EAAyF;AAC9F,QAAM;AAACV,IAAAA,QAAD;AAAWW,IAAAA;AAAX,MAA0BD,OAAhC;;AACA,UAAQV,QAAR;AACE,SAAKF,EAAE,CAACG,MAAR;AACA,SAAKH,EAAE,CAACM,SAAR;AACE,aAAOO,WAAP;;AACF,SAAKb,EAAE,CAACI,KAAR;AACE,aAAOS,WAAW,GAAG,CAArB;;AACF,SAAKb,EAAE,CAACK,UAAR;AACE,aAAOQ,WAAW,GAAG,CAArB;;AACF,SAAKb,EAAE,CAACO,SAAR;AACE,aAAOM,WAAW,GAAG,CAArB;;AACF,SAAKb,EAAE,CAACQ,cAAR;AACA,SAAKR,EAAE,CAACS,YAAR;AACE,aAAOI,WAAW,GAAG,CAArB;;AACF;AACE,YAAM,IAAIH,KAAJ,CAAU,UAAV,CAAN;AAdJ;AAgBD;AAGD,OAAO,SAASI,cAAT,CAAwBF,OAAxB,EAAsF;AAC3F,QAAM;AAACV,IAAAA,QAAD;AAAWW,IAAAA;AAAX,MAA0BD,OAAhC;AACA,QAAMG,cAAc,GAAGJ,iBAAiB,CAAC;AAACT,IAAAA,QAAD;AAAWW,IAAAA;AAAX,GAAD,CAAxC;;AACA,UAAQZ,oBAAoB,CAACC,QAAD,CAA5B;AACE,SAAKF,EAAE,CAACG,MAAR;AACE,aAAOY,cAAP;;AACF,SAAKf,EAAE,CAACI,KAAR;AACE,aAAOW,cAAc,GAAG,CAAxB;;AACF,SAAKf,EAAE,CAACO,SAAR;AACE,aAAOQ,cAAc,GAAG,CAAxB;;AACF;AACE,YAAM,IAAIL,KAAJ,CAAU,UAAV,CAAN;AARJ;AAUD","sourcesContent":["import GL from '@luma.gl/constants';\nimport {GLDrawMode, GLPrimitive} from '../../types/webgl';\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode: GLDrawMode): GLPrimitive {\n switch (drawMode) {\n case GL.POINTS:\n return GL.POINTS;\n case GL.LINES:\n return GL.LINES;\n case GL.LINE_STRIP:\n return GL.LINES;\n case GL.LINE_LOOP:\n return GL.LINES;\n case GL.TRIANGLES:\n return GL.TRIANGLES;\n case GL.TRIANGLE_STRIP:\n return GL.TRIANGLES;\n case GL.TRIANGLE_FAN:\n return GL.TRIANGLES;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of complete \"primitives\" given a number of vertices and a drawMode\nexport function getPrimitiveCount(options: {drawMode: GLDrawMode, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n switch (drawMode) {\n case GL.POINTS:\n case GL.LINE_LOOP:\n return vertexCount;\n case GL.LINES:\n return vertexCount / 2;\n case GL.LINE_STRIP:\n return vertexCount - 1;\n case GL.TRIANGLES:\n return vertexCount / 3;\n case GL.TRIANGLE_STRIP:\n case GL.TRIANGLE_FAN:\n return vertexCount - 2;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of vertices after splitting the vertex stream into separate \"primitives\"\nexport function getVertexCount(options: {drawMode: GLDrawMode, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n const primitiveCount = getPrimitiveCount({drawMode, vertexCount});\n switch (getPrimitiveDrawMode(drawMode)) {\n case GL.POINTS:\n return primitiveCount;\n case GL.LINES:\n return primitiveCount * 2;\n case GL.TRIANGLES:\n return primitiveCount * 3;\n default:\n throw new Error('drawMode');\n }\n}\n"],"file":"attribute-utils.js"}
1
+ {"version":3,"file":"attribute-utils.js","names":["GL","getPrimitiveDrawMode","drawMode","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","Error","getPrimitiveCount","options","vertexCount","getVertexCount","primitiveCount"],"sources":["../../../src/adapter/helpers/attribute-utils.ts"],"sourcesContent":["import {GL, GLPrimitiveTopology, GLPrimitive} from '@luma.gl/constants';\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode: GLPrimitiveTopology): GLPrimitive {\n switch (drawMode) {\n case GL.POINTS:\n return GL.POINTS;\n case GL.LINES:\n return GL.LINES;\n case GL.LINE_STRIP:\n return GL.LINES;\n case GL.LINE_LOOP:\n return GL.LINES;\n case GL.TRIANGLES:\n return GL.TRIANGLES;\n case GL.TRIANGLE_STRIP:\n return GL.TRIANGLES;\n case GL.TRIANGLE_FAN:\n return GL.TRIANGLES;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of complete \"primitives\" given a number of vertices and a drawMode\nexport function getPrimitiveCount(options: {drawMode: GLPrimitiveTopology, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n switch (drawMode) {\n case GL.POINTS:\n case GL.LINE_LOOP:\n return vertexCount;\n case GL.LINES:\n return vertexCount / 2;\n case GL.LINE_STRIP:\n return vertexCount - 1;\n case GL.TRIANGLES:\n return vertexCount / 3;\n case GL.TRIANGLE_STRIP:\n case GL.TRIANGLE_FAN:\n return vertexCount - 2;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of vertices after splitting the vertex stream into separate \"primitives\"\nexport function getVertexCount(options: {drawMode: GLPrimitiveTopology, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n const primitiveCount = getPrimitiveCount({drawMode, vertexCount});\n switch (getPrimitiveDrawMode(drawMode)) {\n case GL.POINTS:\n return primitiveCount;\n case GL.LINES:\n return primitiveCount * 2;\n case GL.TRIANGLES:\n return primitiveCount * 3;\n default:\n throw new Error('drawMode');\n }\n}\n"],"mappings":"AAAA,SAAQA,EAAE,QAAyC,oBAAoB;AAGvE,OAAO,SAASC,oBAAoBA,CAACC,QAA6B,EAAe;EAC/E,QAAQA,QAAQ;IACd,KAAKF,EAAE,CAACG,MAAM;MACZ,OAAOH,EAAE,CAACG,MAAM;IAClB,KAAKH,EAAE,CAACI,KAAK;MACX,OAAOJ,EAAE,CAACI,KAAK;IACjB,KAAKJ,EAAE,CAACK,UAAU;MAChB,OAAOL,EAAE,CAACI,KAAK;IACjB,KAAKJ,EAAE,CAACM,SAAS;MACf,OAAON,EAAE,CAACI,KAAK;IACjB,KAAKJ,EAAE,CAACO,SAAS;MACf,OAAOP,EAAE,CAACO,SAAS;IACrB,KAAKP,EAAE,CAACQ,cAAc;MACpB,OAAOR,EAAE,CAACO,SAAS;IACrB,KAAKP,EAAE,CAACS,YAAY;MAClB,OAAOT,EAAE,CAACO,SAAS;IACrB;MACE,MAAM,IAAIG,KAAK,CAAC,UAAU,CAAC;EAC/B;AACF;AAGA,OAAO,SAASC,iBAAiBA,CAACC,OAA6D,EAAU;EACvG,MAAM;IAACV,QAAQ;IAAEW;EAAW,CAAC,GAAGD,OAAO;EACvC,QAAQV,QAAQ;IACd,KAAKF,EAAE,CAACG,MAAM;IACd,KAAKH,EAAE,CAACM,SAAS;MACf,OAAOO,WAAW;IACpB,KAAKb,EAAE,CAACI,KAAK;MACX,OAAOS,WAAW,GAAG,CAAC;IACxB,KAAKb,EAAE,CAACK,UAAU;MAChB,OAAOQ,WAAW,GAAG,CAAC;IACxB,KAAKb,EAAE,CAACO,SAAS;MACf,OAAOM,WAAW,GAAG,CAAC;IACxB,KAAKb,EAAE,CAACQ,cAAc;IACtB,KAAKR,EAAE,CAACS,YAAY;MAClB,OAAOI,WAAW,GAAG,CAAC;IACxB;MACE,MAAM,IAAIH,KAAK,CAAC,UAAU,CAAC;EAC/B;AACF;AAGA,OAAO,SAASI,cAAcA,CAACF,OAA6D,EAAU;EACpG,MAAM;IAACV,QAAQ;IAAEW;EAAW,CAAC,GAAGD,OAAO;EACvC,MAAMG,cAAc,GAAGJ,iBAAiB,CAAC;IAACT,QAAQ;IAAEW;EAAW,CAAC,CAAC;EACjE,QAAQZ,oBAAoB,CAACC,QAAQ,CAAC;IACpC,KAAKF,EAAE,CAACG,MAAM;MACZ,OAAOY,cAAc;IACvB,KAAKf,EAAE,CAACI,KAAK;MACX,OAAOW,cAAc,GAAG,CAAC;IAC3B,KAAKf,EAAE,CAACO,SAAS;MACf,OAAOQ,cAAc,GAAG,CAAC;IAC3B;MACE,MAAM,IAAIL,KAAK,CAAC,UAAU,CAAC;EAC/B;AACF"}
@@ -0,0 +1,9 @@
1
+ /** Information extracted from shader source code */
2
+ export type ShaderInfo = {
3
+ name: string;
4
+ language: 'glsl' | 'wgsl';
5
+ version: number;
6
+ };
7
+ /** Extracts information from shader source code */
8
+ export declare function getShaderInfo(source: string, defaultName?: string): ShaderInfo;
9
+ //# sourceMappingURL=get-shader-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-shader-info.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/get-shader-info.ts"],"names":[],"mappings":"AAKA,oDAAoD;AACpD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAM9E"}
@@ -0,0 +1,25 @@
1
+ export function getShaderInfo(source, defaultName) {
2
+ return {
3
+ name: getShaderName(source, defaultName),
4
+ language: 'glsl',
5
+ version: getShaderVersion(source)
6
+ };
7
+ }
8
+ function getShaderName(shader) {
9
+ let defaultName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'unnamed';
10
+ const SHADER_NAME_REGEXP = /#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/;
11
+ const match = SHADER_NAME_REGEXP.exec(shader);
12
+ return match ? match[1] : defaultName;
13
+ }
14
+ function getShaderVersion(source) {
15
+ let version = 100;
16
+ const words = source.match(/[^\s]+/g);
17
+ if (words && words.length >= 2 && words[0] === '#version') {
18
+ const v = parseInt(words[1], 10);
19
+ if (Number.isFinite(v)) {
20
+ version = v;
21
+ }
22
+ }
23
+ return version;
24
+ }
25
+ //# sourceMappingURL=get-shader-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-shader-info.js","names":["getShaderInfo","source","defaultName","name","getShaderName","language","version","getShaderVersion","shader","arguments","length","undefined","SHADER_NAME_REGEXP","match","exec","words","v","parseInt","Number","isFinite"],"sources":["../../../src/adapter/helpers/get-shader-info.ts"],"sourcesContent":["// luma.gl, MIT license\n\n// Note: This was the only dependency that made @luma.gl/webgl depend on @luma.gl/shadertools\n// This file was coped from shadertools to avoid the dependency\n\n/** Information extracted from shader source code */\nexport type ShaderInfo = {\n name: string;\n language: 'glsl' | 'wgsl';\n version: number;\n};\n\n/** Extracts information from shader source code */\nexport function getShaderInfo(source: string, defaultName?: string): ShaderInfo {\n return {\n name: getShaderName(source, defaultName),\n language: 'glsl',\n version: getShaderVersion(source)\n };\n}\n\n/** Extracts GLSLIFY style naming of shaders: `#define SHADER_NAME ...` */\nfunction getShaderName(shader: string, defaultName: string = 'unnamed'): string {\n const SHADER_NAME_REGEXP = /#define[\\s*]SHADER_NAME[\\s*]([A-Za-z0-9_-]+)[\\s*]/;\n const match = SHADER_NAME_REGEXP.exec(shader);\n return match ? match[1] : defaultName;\n}\n\n/** returns GLSL shader version of given shader string */\nfunction getShaderVersion(source: string): number {\n let version = 100;\n const words = source.match(/[^\\s]+/g);\n if (words && words.length >= 2 && words[0] === '#version') {\n const v = parseInt(words[1], 10);\n if (Number.isFinite(v)) {\n version = v;\n }\n }\n return version;\n}\n"],"mappings":"AAaA,OAAO,SAASA,aAAaA,CAACC,MAAc,EAAEC,WAAoB,EAAc;EAC9E,OAAO;IACLC,IAAI,EAAEC,aAAa,CAACH,MAAM,EAAEC,WAAW,CAAC;IACxCG,QAAQ,EAAE,MAAM;IAChBC,OAAO,EAAEC,gBAAgB,CAACN,MAAM;EAClC,CAAC;AACH;AAGA,SAASG,aAAaA,CAACI,MAAc,EAA2C;EAAA,IAAzCN,WAAmB,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EACpE,MAAMG,kBAAkB,GAAG,mDAAmD;EAC9E,MAAMC,KAAK,GAAGD,kBAAkB,CAACE,IAAI,CAACN,MAAM,CAAC;EAC7C,OAAOK,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGX,WAAW;AACvC;AAGA,SAASK,gBAAgBA,CAACN,MAAc,EAAU;EAChD,IAAIK,OAAO,GAAG,GAAG;EACjB,MAAMS,KAAK,GAAGd,MAAM,CAACY,KAAK,CAAC,SAAS,CAAC;EACrC,IAAIE,KAAK,IAAIA,KAAK,CAACL,MAAM,IAAI,CAAC,IAAIK,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;IACzD,MAAMC,CAAC,GAAGC,QAAQ,CAACF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChC,IAAIG,MAAM,CAACC,QAAQ,CAACH,CAAC,CAAC,EAAE;MACtBV,OAAO,GAAGU,CAAC;IACb;EACF;EACA,OAAOV,OAAO;AAChB"}
@@ -1,4 +1,4 @@
1
- import { ShaderLayout, ProgramBindings } from '@luma.gl/api';
1
+ import type { ShaderLayout, AttributeLayout, BufferMapping } from '@luma.gl/core';
2
2
  /**
3
3
  * Extract metadata describing binding information for a program's shaders
4
4
  * Note: `linkProgram()` needs to have been called
@@ -6,18 +6,21 @@ import { ShaderLayout, ProgramBindings } from '@luma.gl/api';
6
6
  */
7
7
  export declare function getShaderLayout(gl: WebGLRenderingContext, program: WebGLProgram): ShaderLayout;
8
8
  /**
9
- * Extract metadata describing binding information for a program's shaders
10
- * Note: `linkProgram()` needs to have been called
11
- * (although linking does not need to have been successful).
9
+ * Merges an provided shader layout into a base shader layout
10
+ * In WebGL, this allows the auto generated shader layout to be overridden by the application
11
+ * Typically to change the format of the vertex attributes (from float32x4 to uint8x4 etc).
12
+ * @todo Drop this? This could also be done more clearly with bufferMapping
12
13
  */
13
- export declare function getProgramBindings(gl: WebGLRenderingContext, program: WebGLProgram): ProgramBindings;
14
+ export declare function mergeShaderLayout(baseLayout: ShaderLayout, overrideLayout: ShaderLayout): ShaderLayout;
15
+ export declare function mergeBufferMap(baseLayout: ShaderLayout, bufferMap: BufferMapping[]): ShaderLayout;
16
+ export declare function getAttributeFromLayout(shaderLayout: ShaderLayout, name: string): AttributeLayout | null;
14
17
  /**
15
18
  * TODO - verify this is a copy of above and delete
16
- * import type {TextureFormat} from '@luma.gl/api';
19
+ * import type {TextureFormat} from '@luma.gl/core';
17
20
  * Extract info about all "active" uniform blocks
18
21
  * ("Active" just means that unused (inactive) blocks may have been optimized away during linking)
19
22
  *
20
- function getUniformBlockBindings(gl, program): Binding[] {
23
+ function getUniformBlockBindings(gl: WebGLRenderingContext, program): Binding[] {
21
24
  if (!isWebGL2(gl)) {
22
25
  return;
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-shader-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/get-shader-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,eAAe,EAKhB,MAAM,cAAc,CAAC;AAOtB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAkE9F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,qBAAqB,EACzB,OAAO,EAAE,YAAY,GACpB,eAAe,CAWjB;AA8OD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG"}
1
+ {"version":3,"file":"get-shader-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/get-shader-layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAMf,aAAa,EAEd,MAAM,eAAe,CAAC;AASvB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAwE9F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,YAAY,EACxB,cAAc,EAAE,YAAY,GAC3B,YAAY,CAiBd;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,YAAY,CAsBjG;AAYD,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,GACX,eAAe,GAAG,IAAI,CAMxB;AAkQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG"}