@luma.gl/webgl 9.0.0-alpha.5 → 9.0.0-alpha.51

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 (527) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +23 -4
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +101 -73
  5. package/dist/adapter/converters/device-parameters.js.map +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts +6 -6
  7. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js +74 -111
  9. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  10. package/dist/adapter/converters/shader-formats.d.ts +9 -0
  11. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  12. package/dist/adapter/converters/shader-formats.js +52 -0
  13. package/dist/adapter/converters/shader-formats.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +32 -44
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/texture-formats.js +309 -346
  17. package/dist/adapter/converters/texture-formats.js.map +1 -1
  18. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  20. package/dist/adapter/converters/vertex-formats.js +53 -22
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -1
  22. package/dist/adapter/device-helpers/device-features.d.ts +1 -1
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +17 -23
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +54 -58
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
  31. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
  32. package/dist/adapter/device-helpers/get-device-info.js +31 -22
  33. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  34. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
  35. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  36. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  37. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  38. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  39. package/dist/adapter/helpers/decode-webgl-types.js +89 -0
  40. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  41. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
  42. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  43. package/dist/adapter/helpers/get-shader-layout.js +87 -143
  44. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  46. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  47. package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
  48. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  49. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  50. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  51. package/dist/adapter/helpers/set-uniform.js +51 -82
  52. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  53. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  54. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  55. package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
  56. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  57. package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
  58. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  59. package/dist/adapter/objects/constants-to-keys.js +2 -29
  60. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  61. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  62. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  63. package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
  64. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  65. package/dist/adapter/objects/webgl-resource.d.ts +6 -9
  66. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  67. package/dist/adapter/objects/webgl-resource.js +26 -83
  68. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  69. package/dist/adapter/resources/webgl-buffer.d.ts +19 -11
  70. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-buffer.js +60 -88
  72. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  74. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-command-buffer.js +175 -48
  76. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
  78. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-command-encoder.js +10 -20
  80. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  81. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  82. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
  83. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.js +63 -173
  85. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  86. package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
  87. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  88. package/dist/adapter/resources/webgl-render-pass.js +99 -11
  89. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  90. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -21
  91. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  92. package/dist/adapter/resources/webgl-render-pipeline.js +108 -270
  93. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  94. package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
  95. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  96. package/dist/adapter/resources/webgl-sampler.js +11 -21
  97. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  98. package/dist/adapter/resources/webgl-shader.d.ts +5 -5
  99. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  100. package/dist/adapter/resources/webgl-shader.js +18 -43
  101. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  102. package/dist/adapter/resources/webgl-texture.d.ts +62 -42
  103. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  104. package/dist/adapter/resources/webgl-texture.js +137 -256
  105. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  106. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  107. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  108. package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
  109. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  110. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  111. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  112. package/dist/adapter/resources/webgl-vertex-array.js +167 -0
  113. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  114. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  115. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  116. package/dist/adapter/webgl-canvas-context.js +10 -23
  117. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  118. package/dist/adapter/webgl-device.d.ts +76 -41
  119. package/dist/adapter/webgl-device.d.ts.map +1 -1
  120. package/dist/adapter/webgl-device.js +219 -129
  121. package/dist/adapter/webgl-device.js.map +1 -1
  122. package/dist/classic/accessor.d.ts +3 -3
  123. package/dist/classic/accessor.d.ts.map +1 -1
  124. package/dist/classic/accessor.js +26 -52
  125. package/dist/classic/accessor.js.map +1 -1
  126. package/dist/classic/clear.d.ts +22 -0
  127. package/dist/classic/clear.d.ts.map +1 -0
  128. package/dist/classic/clear.js +88 -0
  129. package/dist/classic/clear.js.map +1 -0
  130. package/dist/classic/copy-and-blit.d.ts +62 -0
  131. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  132. package/dist/classic/copy-and-blit.js +191 -0
  133. package/dist/classic/copy-and-blit.js.map +1 -0
  134. package/dist/classic/format-utils.d.ts +3 -0
  135. package/dist/classic/format-utils.d.ts.map +1 -0
  136. package/dist/classic/format-utils.js +37 -0
  137. package/dist/classic/format-utils.js.map +1 -0
  138. package/dist/classic/typed-array-utils.d.ts +17 -17
  139. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  140. package/dist/classic/typed-array-utils.js +18 -39
  141. package/dist/classic/typed-array-utils.js.map +1 -1
  142. package/dist/context/context/create-browser-context.d.ts +40 -0
  143. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  144. package/dist/context/context/create-browser-context.js +53 -0
  145. package/dist/context/context/create-browser-context.js.map +1 -0
  146. package/dist/context/context/create-headless-context.d.ts +9 -0
  147. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  148. package/dist/context/context/create-headless-context.js +42 -0
  149. package/dist/context/context/create-headless-context.js.map +1 -0
  150. package/dist/context/context/webgl-checks.d.ts.map +1 -1
  151. package/dist/context/context/webgl-checks.js +1 -4
  152. package/dist/context/context/webgl-checks.js.map +1 -1
  153. package/dist/context/debug/spector.d.ts +1 -2
  154. package/dist/context/debug/spector.d.ts.map +1 -1
  155. package/dist/context/debug/spector.js +8 -20
  156. package/dist/context/debug/spector.js.map +1 -1
  157. package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
  158. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  159. package/dist/context/debug/webgl-developer-tools.js +15 -39
  160. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  161. package/dist/context/parameters/unified-parameter-api.d.ts +9 -8
  162. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  163. package/dist/context/parameters/unified-parameter-api.js +9 -19
  164. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  165. package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
  166. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  167. package/dist/context/parameters/webgl-parameter-tables.js +267 -286
  168. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  169. package/dist/context/polyfill/context-data.d.ts +13 -0
  170. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  171. package/dist/context/polyfill/context-data.js +12 -0
  172. package/dist/context/polyfill/context-data.js.map +1 -0
  173. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  174. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  175. package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
  176. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  177. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
  178. package/dist/context/polyfill/polyfill-context.js +22 -30
  179. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  180. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  181. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  182. package/dist/context/polyfill/polyfill-table.js +18 -41
  183. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  184. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  185. package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
  186. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  187. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  188. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  189. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  190. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  191. package/dist/context/state-tracker/track-context-state.js +26 -62
  192. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  193. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  194. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  195. package/dist/context/state-tracker/with-parameters.js +8 -10
  196. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  197. package/dist/dist.dev.js +8624 -0
  198. package/dist/index.cjs +6570 -0
  199. package/dist/index.d.ts +26 -24
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +27 -26
  202. package/dist/index.js.map +1 -1
  203. package/dist/types.d.ts +3 -1
  204. package/dist/types.d.ts.map +1 -1
  205. package/dist/types.js.map +1 -1
  206. package/dist.min.js +52 -0
  207. package/package.json +21 -9
  208. package/src/adapter/converters/device-parameters.ts +144 -41
  209. package/src/adapter/converters/sampler-parameters.ts +103 -41
  210. package/src/adapter/converters/shader-formats.ts +44 -0
  211. package/src/adapter/converters/texture-formats.ts +268 -195
  212. package/src/adapter/converters/vertex-formats.ts +71 -10
  213. package/src/adapter/device-helpers/device-features.ts +14 -3
  214. package/src/adapter/device-helpers/device-limits.ts +5 -3
  215. package/src/adapter/device-helpers/get-device-info.ts +53 -18
  216. package/src/adapter/device-helpers/is-old-ie.ts +3 -0
  217. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +39 -21
  218. package/src/adapter/helpers/get-shader-layout.ts +121 -146
  219. package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
  220. package/src/adapter/helpers/set-uniform.ts +39 -35
  221. package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
  222. package/src/adapter/objects/constants-to-keys.ts +6 -25
  223. package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
  224. package/src/adapter/objects/webgl-resource.ts +16 -23
  225. package/src/adapter/resources/.webgl-render-pipeline.ts.swp +0 -0
  226. package/src/adapter/resources/webgl-buffer.ts +67 -62
  227. package/src/adapter/resources/webgl-command-buffer.ts +327 -25
  228. package/src/adapter/resources/webgl-command-encoder.ts +20 -12
  229. package/src/adapter/resources/webgl-external-texture.ts +5 -2
  230. package/src/adapter/resources/webgl-framebuffer.ts +90 -134
  231. package/src/adapter/resources/webgl-render-pass.ts +166 -4
  232. package/src/adapter/resources/webgl-render-pipeline.ts +256 -192
  233. package/src/adapter/resources/webgl-sampler.ts +16 -10
  234. package/src/adapter/resources/webgl-shader.ts +33 -27
  235. package/src/adapter/resources/webgl-texture.ts +138 -99
  236. package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
  237. package/src/adapter/resources/webgl-vertex-array.ts +283 -0
  238. package/src/adapter/webgl-canvas-context.ts +16 -14
  239. package/src/adapter/webgl-device.ts +328 -79
  240. package/src/classic/accessor.ts +8 -18
  241. package/src/classic/clear.ts +113 -0
  242. package/src/classic/copy-and-blit.ts +311 -0
  243. package/src/classic/format-utils.ts +46 -0
  244. package/src/classic/typed-array-utils.ts +21 -27
  245. package/src/context/context/create-browser-context.ts +140 -0
  246. package/src/context/context/create-headless-context.ts +51 -0
  247. package/src/context/context/webgl-checks.ts +3 -1
  248. package/src/context/debug/spector.ts +9 -6
  249. package/src/context/debug/webgl-developer-tools.ts +23 -15
  250. package/src/context/parameters/unified-parameter-api.ts +23 -14
  251. package/src/context/parameters/webgl-parameter-tables.ts +120 -98
  252. package/src/context/polyfill/context-data.ts +30 -0
  253. package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
  254. package/src/context/polyfill/polyfill-context.ts +10 -9
  255. package/src/context/polyfill/polyfill-table.ts +21 -16
  256. package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
  257. package/src/context/state-tracker/deep-array-equal.ts +2 -0
  258. package/src/context/state-tracker/track-context-state.ts +14 -11
  259. package/src/context/state-tracker/with-parameters.ts +13 -4
  260. package/src/index.ts +70 -35
  261. package/src/types.ts +5 -0
  262. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  263. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  264. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  265. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  266. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  267. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  268. package/dist/adapter/helpers/attribute-utils.js +0 -81
  269. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  270. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  271. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  272. package/dist/adapter/helpers/uniforms.js +0 -99
  273. package/dist/adapter/helpers/uniforms.js.map +0 -1
  274. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  275. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  276. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  277. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  278. package/dist/bundle.d.ts +0 -2
  279. package/dist/bundle.d.ts.map +0 -1
  280. package/dist/bundle.js +0 -5
  281. package/dist/bundle.js.map +0 -1
  282. package/dist/classic/buffer.d.ts +0 -95
  283. package/dist/classic/buffer.d.ts.map +0 -1
  284. package/dist/classic/buffer.js +0 -384
  285. package/dist/classic/buffer.js.map +0 -1
  286. package/dist/context/context/context-state.d.ts +0 -18
  287. package/dist/context/context/context-state.d.ts.map +0 -1
  288. package/dist/context/context/context-state.js +0 -26
  289. package/dist/context/context/context-state.js.map +0 -1
  290. package/dist/context/context/create-context.d.ts +0 -41
  291. package/dist/context/context/create-context.d.ts.map +0 -1
  292. package/dist/context/context/create-context.js +0 -49
  293. package/dist/context/context/create-context.js.map +0 -1
  294. package/dist/context/context/device-pixels.d.ts +0 -25
  295. package/dist/context/context/device-pixels.d.ts.map +0 -1
  296. package/dist/context/context/device-pixels.js +0 -98
  297. package/dist/context/context/device-pixels.js.map +0 -1
  298. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  299. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  300. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  301. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  302. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  303. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  304. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  305. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  306. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  307. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  308. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  309. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  310. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  311. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  312. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  313. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  314. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  315. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  316. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  317. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  318. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  319. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  320. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  321. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  322. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  323. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  324. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  325. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  326. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  327. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  328. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  329. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  330. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  331. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  332. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  333. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  334. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  335. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  336. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  337. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  338. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  339. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  340. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  341. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  342. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  343. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  344. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  345. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  346. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  347. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  348. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  349. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  350. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  351. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  352. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  353. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  354. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  355. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  356. package/dist/es5/adapter/webgl-device.js +0 -399
  357. package/dist/es5/adapter/webgl-device.js.map +0 -1
  358. package/dist/es5/bundle.js +0 -7
  359. package/dist/es5/bundle.js.map +0 -1
  360. package/dist/es5/classic/accessor.js +0 -181
  361. package/dist/es5/classic/accessor.js.map +0 -1
  362. package/dist/es5/classic/buffer.js +0 -470
  363. package/dist/es5/classic/buffer.js.map +0 -1
  364. package/dist/es5/classic/typed-array-utils.js +0 -126
  365. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  366. package/dist/es5/context/context/context-state.js +0 -31
  367. package/dist/es5/context/context/context-state.js.map +0 -1
  368. package/dist/es5/context/context/create-context.js +0 -69
  369. package/dist/es5/context/context/create-context.js.map +0 -1
  370. package/dist/es5/context/context/device-pixels.js +0 -115
  371. package/dist/es5/context/context/device-pixels.js.map +0 -1
  372. package/dist/es5/context/context/webgl-checks.js +0 -54
  373. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  374. package/dist/es5/context/debug/spector.js +0 -133
  375. package/dist/es5/context/debug/spector.js.map +0 -1
  376. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  377. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  378. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  379. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  380. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  381. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  382. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  383. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  384. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  385. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  386. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  387. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  388. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  389. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  390. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  391. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  392. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  393. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  394. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  395. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  396. package/dist/es5/index.js +0 -276
  397. package/dist/es5/index.js.map +0 -1
  398. package/dist/es5/init.js +0 -10
  399. package/dist/es5/init.js.map +0 -1
  400. package/dist/es5/types/webgl.js +0 -6
  401. package/dist/es5/types/webgl.js.map +0 -1
  402. package/dist/es5/types.js +0 -2
  403. package/dist/es5/types.js.map +0 -1
  404. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  405. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  406. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  407. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  408. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  409. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  410. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  411. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  412. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  413. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  414. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  415. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  416. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  417. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  418. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  419. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  420. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  421. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  422. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  423. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  424. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  425. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  426. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  427. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  428. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  429. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  430. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  431. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  432. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  433. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  434. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  435. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  436. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  437. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  438. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  439. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  440. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  441. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  442. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  443. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  444. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  445. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  446. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  447. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  448. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  449. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  450. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  451. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  452. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  453. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  454. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  455. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  456. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  457. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  458. package/dist/esm/adapter/resources/webgl-texture.js +0 -833
  459. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  460. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  461. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  462. package/dist/esm/adapter/webgl-device.js +0 -280
  463. package/dist/esm/adapter/webgl-device.js.map +0 -1
  464. package/dist/esm/bundle.js +0 -5
  465. package/dist/esm/bundle.js.map +0 -1
  466. package/dist/esm/classic/accessor.js +0 -144
  467. package/dist/esm/classic/accessor.js.map +0 -1
  468. package/dist/esm/classic/buffer.js +0 -384
  469. package/dist/esm/classic/buffer.js.map +0 -1
  470. package/dist/esm/classic/typed-array-utils.js +0 -112
  471. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  472. package/dist/esm/context/context/context-state.js +0 -26
  473. package/dist/esm/context/context/context-state.js.map +0 -1
  474. package/dist/esm/context/context/create-context.js +0 -49
  475. package/dist/esm/context/context/create-context.js.map +0 -1
  476. package/dist/esm/context/context/device-pixels.js +0 -98
  477. package/dist/esm/context/context/device-pixels.js.map +0 -1
  478. package/dist/esm/context/context/webgl-checks.js +0 -34
  479. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  480. package/dist/esm/context/debug/spector.js +0 -76
  481. package/dist/esm/context/debug/spector.js.map +0 -1
  482. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  483. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  484. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  485. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  486. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  487. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  488. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  489. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  490. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  491. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  492. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  493. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  494. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  495. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  496. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  497. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  498. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  499. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  500. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  501. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  502. package/dist/esm/index.js +0 -27
  503. package/dist/esm/index.js.map +0 -1
  504. package/dist/esm/init.js +0 -4
  505. package/dist/esm/init.js.map +0 -1
  506. package/dist/esm/types/webgl.js +0 -2
  507. package/dist/esm/types/webgl.js.map +0 -1
  508. package/dist/esm/types.js +0 -2
  509. package/dist/esm/types.js.map +0 -1
  510. package/dist/init.d.ts +0 -2
  511. package/dist/init.d.ts.map +0 -1
  512. package/dist/init.js +0 -4
  513. package/dist/init.js.map +0 -1
  514. package/dist/types/webgl.d.ts +0 -145
  515. package/dist/types/webgl.d.ts.map +0 -1
  516. package/dist/types/webgl.js +0 -2
  517. package/dist/types/webgl.js.map +0 -1
  518. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  519. package/src/adapter/helpers/attribute-utils.ts +0 -61
  520. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  521. package/src/bundle.ts +0 -4
  522. package/src/classic/buffer.ts +0 -474
  523. package/src/context/context/context-state.ts +0 -41
  524. package/src/context/context/create-context.ts +0 -110
  525. package/src/context/context/device-pixels.ts +0 -152
  526. package/src/init.ts +0 -4
  527. package/src/types/webgl.ts +0 -284
@@ -13,7 +13,7 @@ export declare const WEBGL2_CONTEXT_POLYFILLS: {
13
13
  meta: {
14
14
  suffix: string;
15
15
  };
16
- vertexAttribDivisor(location: any, divisor: any): void;
16
+ vertexAttribDivisor(location: number, divisor: number): void;
17
17
  drawElementsInstanced: () => void;
18
18
  drawArraysInstanced: () => void;
19
19
  };
@@ -31,16 +31,16 @@ export declare const WEBGL2_CONTEXT_POLYFILLS: {
31
31
  deleteQuery: () => void;
32
32
  beginQuery: () => void;
33
33
  endQuery: () => void;
34
- getQuery(handle: any, pname: any): any;
35
- getQueryParameter(handle: any, pname: any): any;
36
- getQueryObject: () => void;
34
+ getQuery(handle: any, pname: string): void;
35
+ getQueryParameter(handle: any, pname: string): void;
36
+ getQueryObject: (handle: unknown, pname: unknown) => void;
37
37
  };
38
38
  };
39
39
  export declare const WEBGL2_CONTEXT_OVERRIDES: {
40
- readBuffer: (gl: any, originalFunc: any, attachment: any) => void;
41
- getVertexAttrib: (gl: any, originalFunc: any, location: any, pname: any) => any;
42
- getProgramParameter: (gl: any, originalFunc: any, program: any, pname: any) => any;
43
- getInternalformatParameter: (gl: any, originalFunc: any, target: any, format: any, pname: any) => any;
40
+ readBuffer: (gl: WebGLRenderingContext, originalFunc: any, attachment: any) => void;
41
+ getVertexAttrib: (gl: WebGLRenderingContext, originalFunc: any, location: any, pname: any) => any;
42
+ getProgramParameter: (gl: WebGLRenderingContext, originalFunc: any, program: any, pname: any) => any;
43
+ getInternalformatParameter: (gl: WebGLRenderingContext, originalFunc: any, target: any, format: any, pname: any) => any;
44
44
  getTexParameter(gl: any, originalFunc: any, target: any, pname: any): any;
45
45
  getParameter: typeof getParameterPolyfill;
46
46
  hint(gl: any, originalFunc: any, pname: any, value: any): any;
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill-table.d.ts","sourceRoot":"","sources":["../../../src/context/polyfill/polyfill-table.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAyB9D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDpC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;CA0EpC,CAAC"}
1
+ {"version":3,"file":"polyfill-table.d.ts","sourceRoot":"","sources":["../../../src/context/polyfill/polyfill-table.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AA0B9D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;sCAmBH,MAAM,WAAW,MAAM;;;;;;;;;;;;;;;;;;qCA4B7B,MAAM;8CAIG,MAAM;iCAGd,OAAO,SAAS,OAAO;;CAEnD,CAAC;AAEF,eAAO,MAAM,wBAAwB;qBAElB,qBAAqB;0BAQhB,qBAAqB;8BAoBjB,qBAAqB;qCAcd,qBAAqB;;;;CA+BvD,CAAC"}
@@ -1,22 +1,19 @@
1
- import { assert } from '@luma.gl/api';
2
- import GL from '@luma.gl/constants';
3
- import { isWebGL2 } from '../context/webgl-checks';
4
- import { getParameterPolyfill } from './get-parameter-polyfill';
5
- import { getContextState } from '../context/context-state';
1
+ import { assert } from '@luma.gl/core';
2
+ import { isWebGL2 } from "../context/webgl-checks.js";
3
+ import { getParameterPolyfill } from "./get-parameter-polyfill.js";
4
+ import { getContextData } from "./context-data.js";
6
5
  const OES_vertex_array_object = 'OES_vertex_array_object';
7
6
  const ANGLE_instanced_arrays = 'ANGLE_instanced_arrays';
8
7
  const WEBGL_draw_buffers = 'WEBGL_draw_buffers';
9
8
  const EXT_disjoint_timer_query = 'EXT_disjoint_timer_query';
10
9
  const EXT_texture_filter_anisotropic = 'EXT_texture_filter_anisotropic';
11
10
  const ERR_VAO_NOT_SUPPORTED = 'VertexArray requires WebGL2 or OES_vertex_array_object extension';
12
-
13
11
  function getExtensionData(gl, extension) {
14
12
  return {
15
13
  webgl2: isWebGL2(gl),
16
14
  ext: gl.getExtension(extension)
17
15
  };
18
16
  }
19
-
20
17
  export const WEBGL2_CONTEXT_POLYFILLS = {
21
18
  [OES_vertex_array_object]: {
22
19
  meta: {
@@ -33,11 +30,9 @@ export const WEBGL2_CONTEXT_POLYFILLS = {
33
30
  meta: {
34
31
  suffix: 'ANGLE'
35
32
  },
36
-
37
33
  vertexAttribDivisor(location, divisor) {
38
34
  assert(divisor === 0, 'WebGL instanced rendering not supported');
39
35
  },
40
-
41
36
  drawElementsInstanced: () => {},
42
37
  drawArraysInstanced: () => {}
43
38
  },
@@ -63,16 +58,13 @@ export const WEBGL2_CONTEXT_POLYFILLS = {
63
58
  assert(false);
64
59
  },
65
60
  endQuery: () => {},
66
-
67
61
  getQuery(handle, pname) {
68
62
  return this.getQueryObject(handle, pname);
69
63
  },
70
-
71
64
  getQueryParameter(handle, pname) {
72
65
  return this.getQueryObject(handle, pname);
73
66
  },
74
-
75
- getQueryObject: () => {}
67
+ getQueryObject: (handle, pname) => {}
76
68
  }
77
69
  };
78
70
  export const WEBGL2_CONTEXT_OVERRIDES = {
@@ -87,74 +79,59 @@ export const WEBGL2_CONTEXT_OVERRIDES = {
87
79
  ext
88
80
  } = getExtensionData(gl, ANGLE_instanced_arrays);
89
81
  let result;
90
-
91
82
  switch (pname) {
92
- case GL.VERTEX_ATTRIB_ARRAY_INTEGER:
83
+ case 35069:
93
84
  result = !webgl2 ? false : undefined;
94
85
  break;
95
-
96
- case GL.VERTEX_ATTRIB_ARRAY_DIVISOR:
86
+ case 35070:
97
87
  result = !webgl2 && !ext ? 0 : undefined;
98
88
  break;
99
-
100
89
  default:
101
90
  }
102
-
103
91
  return result !== undefined ? result : originalFunc(location, pname);
104
92
  },
105
93
  getProgramParameter: (gl, originalFunc, program, pname) => {
106
94
  if (!isWebGL2(gl)) {
107
95
  switch (pname) {
108
- case GL.TRANSFORM_FEEDBACK_BUFFER_MODE:
109
- return GL.SEPARATE_ATTRIBS;
110
-
111
- case GL.TRANSFORM_FEEDBACK_VARYINGS:
96
+ case 35967:
97
+ return 35981;
98
+ case 35971:
112
99
  return 0;
113
-
114
- case GL.ACTIVE_UNIFORM_BLOCKS:
100
+ case 35382:
115
101
  return 0;
116
-
117
102
  default:
118
103
  }
119
104
  }
120
-
121
105
  return originalFunc(program, pname);
122
106
  },
123
107
  getInternalformatParameter: (gl, originalFunc, target, format, pname) => {
124
108
  if (!isWebGL2(gl)) {
125
109
  switch (pname) {
126
- case GL.SAMPLES:
110
+ case 32937:
127
111
  return new Int32Array([0]);
128
-
129
112
  default:
130
113
  }
131
114
  }
132
-
133
- return gl.getInternalformatParameter(target, format, pname);
115
+ const gl2 = gl;
116
+ return gl2.getInternalformatParameter(target, format, pname);
134
117
  },
135
-
136
118
  getTexParameter(gl, originalFunc, target, pname) {
137
119
  switch (pname) {
138
- case GL.TEXTURE_MAX_ANISOTROPY_EXT:
139
- const contextState = getContextState(gl);
120
+ case 34046:
121
+ const contextData = getContextData(gl);
140
122
  const {
141
123
  _extensions
142
- } = contextState;
124
+ } = contextData;
143
125
  const ext = _extensions[EXT_texture_filter_anisotropic];
144
- pname = ext && ext.TEXTURE_MAX_ANISOTROPY_EXT || GL.TEXTURE_MAX_ANISOTROPY_EXT;
126
+ pname = ext && ext.TEXTURE_MAX_ANISOTROPY_EXT || 34046;
145
127
  break;
146
-
147
128
  default:
148
129
  }
149
-
150
130
  return originalFunc(target, pname);
151
131
  },
152
-
153
132
  getParameter: getParameterPolyfill,
154
-
155
133
  hint(gl, originalFunc, pname, value) {
156
134
  return originalFunc(pname, value);
157
135
  }
158
-
159
136
  };
160
137
  //# sourceMappingURL=polyfill-table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/context/polyfill/polyfill-table.ts"],"names":["assert","GL","isWebGL2","getParameterPolyfill","getContextState","OES_vertex_array_object","ANGLE_instanced_arrays","WEBGL_draw_buffers","EXT_disjoint_timer_query","EXT_texture_filter_anisotropic","ERR_VAO_NOT_SUPPORTED","getExtensionData","gl","extension","webgl2","ext","getExtension","WEBGL2_CONTEXT_POLYFILLS","meta","suffix","createVertexArray","deleteVertexArray","bindVertexArray","isVertexArray","vertexAttribDivisor","location","divisor","drawElementsInstanced","drawArraysInstanced","drawBuffers","createQuery","deleteQuery","beginQuery","endQuery","getQuery","handle","pname","getQueryObject","getQueryParameter","WEBGL2_CONTEXT_OVERRIDES","readBuffer","originalFunc","attachment","getVertexAttrib","result","VERTEX_ATTRIB_ARRAY_INTEGER","undefined","VERTEX_ATTRIB_ARRAY_DIVISOR","getProgramParameter","program","TRANSFORM_FEEDBACK_BUFFER_MODE","SEPARATE_ATTRIBS","TRANSFORM_FEEDBACK_VARYINGS","ACTIVE_UNIFORM_BLOCKS","getInternalformatParameter","target","format","SAMPLES","Int32Array","getTexParameter","TEXTURE_MAX_ANISOTROPY_EXT","contextState","_extensions","getParameter","hint","value"],"mappings":"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","sourcesContent":["import {assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../context/webgl-checks';\n\nimport {getParameterPolyfill} from './get-parameter-polyfill';\nimport {getContextState} from '../context/context-state';\n\nconst OES_vertex_array_object = 'OES_vertex_array_object';\nconst ANGLE_instanced_arrays = 'ANGLE_instanced_arrays';\nconst WEBGL_draw_buffers = 'WEBGL_draw_buffers';\nconst EXT_disjoint_timer_query = 'EXT_disjoint_timer_query';\nconst EXT_texture_filter_anisotropic = 'EXT_texture_filter_anisotropic';\n\nconst ERR_VAO_NOT_SUPPORTED = 'VertexArray requires WebGL2 or OES_vertex_array_object extension';\n\n// Return object with webgl2 flag and an extension\nfunction getExtensionData(gl, extension) {\n return {\n webgl2: isWebGL2(gl),\n ext: gl.getExtension(extension)\n };\n}\n\n// function mapExtensionConstant(gl, constant) {\n// switch (constant) {\n// case ext.FRAGMENT_SHADER_DERIVATIVE_HINT_OES: return GL.FRAGMENT_SHADER_DERIVATIVE_HINT;\n// }\n// }\n\nexport const WEBGL2_CONTEXT_POLYFILLS = {\n // POLYFILL TABLE\n [OES_vertex_array_object]: {\n meta: {suffix: 'OES'},\n // NEW METHODS\n createVertexArray: () => {\n assert(false, ERR_VAO_NOT_SUPPORTED);\n },\n deleteVertexArray: () => {},\n bindVertexArray: () => {},\n isVertexArray: () => false\n },\n [ANGLE_instanced_arrays]: {\n meta: {\n suffix: 'ANGLE'\n // constants: {\n // VERTEX_ATTRIB_ARRAY_DIVISOR: 'VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE'\n // }\n },\n vertexAttribDivisor(location, divisor) {\n // Accept divisor 0 even if instancing is not supported (0 = no instancing)\n assert(divisor === 0, 'WebGL instanced rendering not supported');\n },\n drawElementsInstanced: () => {},\n drawArraysInstanced: () => {}\n },\n [WEBGL_draw_buffers]: {\n meta: {\n suffix: 'WEBGL'\n },\n drawBuffers: () => {\n assert(false);\n }\n },\n [EXT_disjoint_timer_query]: {\n meta: {suffix: 'EXT'},\n // WebGL1: Polyfills the WebGL2 Query API\n createQuery: () => {\n assert(false);\n },\n deleteQuery: () => {\n assert(false);\n },\n beginQuery: () => {\n assert(false);\n },\n endQuery: () => {},\n getQuery(handle, pname) {\n return this.getQueryObject(handle, pname);\n },\n // The WebGL1 extension uses getQueryObject rather then getQueryParameter\n getQueryParameter(handle, pname) {\n return this.getQueryObject(handle, pname);\n },\n getQueryObject: () => {}\n }\n};\n\nexport const WEBGL2_CONTEXT_OVERRIDES = {\n // Ensure readBuffer is a no-op\n readBuffer: (gl, originalFunc, attachment) => {\n if (isWebGL2(gl)) {\n originalFunc(attachment);\n } else {\n // assert(attachment !== GL_COLOR_ATTACHMENT0 && attachment !== GL_FRONT);\n }\n },\n // Override for getVertexAttrib that returns sane values for non-WebGL1 constants\n getVertexAttrib: (gl, originalFunc, location, pname) => {\n // const gl = this; // eslint-disable-line\n const {webgl2, ext} = getExtensionData(gl, ANGLE_instanced_arrays);\n\n let result;\n switch (pname) {\n // WebGL1 attributes will never be integer\n case GL.VERTEX_ATTRIB_ARRAY_INTEGER:\n result = !webgl2 ? false : undefined;\n break;\n // if instancing is not available, return 0 meaning divisor has not been set\n case GL.VERTEX_ATTRIB_ARRAY_DIVISOR:\n result = !webgl2 && !ext ? 0 : undefined;\n break;\n default:\n }\n\n return result !== undefined ? result : originalFunc(location, pname);\n },\n // Handle transform feedback and uniform block queries in WebGL1\n getProgramParameter: (gl, originalFunc, program, pname) => {\n if (!isWebGL2(gl)) {\n switch (pname) {\n case GL.TRANSFORM_FEEDBACK_BUFFER_MODE:\n return GL.SEPARATE_ATTRIBS;\n case GL.TRANSFORM_FEEDBACK_VARYINGS:\n return 0;\n case GL.ACTIVE_UNIFORM_BLOCKS:\n return 0;\n default:\n }\n }\n return originalFunc(program, pname);\n },\n getInternalformatParameter: (gl, originalFunc, target, format, pname) => {\n if (!isWebGL2(gl)) {\n switch (pname) {\n case GL.SAMPLES:\n return new Int32Array([0]);\n default:\n }\n }\n return gl.getInternalformatParameter(target, format, pname);\n },\n getTexParameter(gl, originalFunc, target, pname) {\n switch (pname) {\n case GL.TEXTURE_MAX_ANISOTROPY_EXT:\n const contextState = getContextState(gl);\n const {_extensions} = contextState;\n const ext = _extensions[EXT_texture_filter_anisotropic];\n pname = (ext && ext.TEXTURE_MAX_ANISOTROPY_EXT) || GL.TEXTURE_MAX_ANISOTROPY_EXT;\n break;\n default:\n }\n return originalFunc(target, pname);\n },\n getParameter: getParameterPolyfill,\n hint(gl, originalFunc, pname, value) {\n // TODO - handle GL.FRAGMENT_SHADER_DERIVATIVE_HINT:\n // switch (pname) {\n // case GL.FRAGMENT_SHADER_DERIVATIVE_HINT:\n // }\n return originalFunc(pname, value);\n }\n};\n"],"file":"polyfill-table.js"}
1
+ {"version":3,"file":"polyfill-table.js","names":["assert","isWebGL2","getParameterPolyfill","getContextData","OES_vertex_array_object","ANGLE_instanced_arrays","WEBGL_draw_buffers","EXT_disjoint_timer_query","EXT_texture_filter_anisotropic","ERR_VAO_NOT_SUPPORTED","getExtensionData","gl","extension","webgl2","ext","getExtension","WEBGL2_CONTEXT_POLYFILLS","meta","suffix","createVertexArray","deleteVertexArray","bindVertexArray","isVertexArray","vertexAttribDivisor","location","divisor","drawElementsInstanced","drawArraysInstanced","drawBuffers","createQuery","deleteQuery","beginQuery","endQuery","getQuery","handle","pname","getQueryObject","getQueryParameter","WEBGL2_CONTEXT_OVERRIDES","readBuffer","originalFunc","attachment","getVertexAttrib","result","undefined","getProgramParameter","program","getInternalformatParameter","target","format","Int32Array","gl2","getTexParameter","contextData","_extensions","TEXTURE_MAX_ANISOTROPY_EXT","getParameter","hint","value"],"sources":["../../../src/context/polyfill/polyfill-table.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {assert} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\nimport {isWebGL2} from '../context/webgl-checks';\n\nimport {getParameterPolyfill} from './get-parameter-polyfill';\nimport {getContextData} from './context-data';\n\n/* eslint-disable camelcase */\nconst OES_vertex_array_object = 'OES_vertex_array_object';\nconst ANGLE_instanced_arrays = 'ANGLE_instanced_arrays';\nconst WEBGL_draw_buffers = 'WEBGL_draw_buffers';\nconst EXT_disjoint_timer_query = 'EXT_disjoint_timer_query';\nconst EXT_texture_filter_anisotropic = 'EXT_texture_filter_anisotropic';\n\nconst ERR_VAO_NOT_SUPPORTED = 'VertexArray requires WebGL2 or OES_vertex_array_object extension';\n\n// Return object with webgl2 flag and an extension\nfunction getExtensionData(gl: WebGLRenderingContext, extension: string) {\n return {\n webgl2: isWebGL2(gl),\n ext: gl.getExtension(extension)\n };\n}\n\n// function mapExtensionConstant(gl: WebGLRenderingContext, constant) {\n// switch (constant) {\n// case ext.FRAGMENT_SHADER_DERIVATIVE_HINT_OES: return GL.FRAGMENT_SHADER_DERIVATIVE_HINT;\n// }\n// }\n\nexport const WEBGL2_CONTEXT_POLYFILLS = {\n // POLYFILL TABLE\n [OES_vertex_array_object]: {\n meta: {suffix: 'OES'},\n // NEW METHODS\n createVertexArray: () => {\n assert(false, ERR_VAO_NOT_SUPPORTED);\n },\n deleteVertexArray: () => {},\n bindVertexArray: () => {},\n isVertexArray: () => false\n },\n [ANGLE_instanced_arrays]: {\n meta: {\n suffix: 'ANGLE'\n // constants: {\n // VERTEX_ATTRIB_ARRAY_DIVISOR: 'VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE'\n // }\n },\n vertexAttribDivisor(location: number, divisor: number) {\n // Accept divisor 0 even if instancing is not supported (0 = no instancing)\n assert(divisor === 0, 'WebGL instanced rendering not supported');\n },\n drawElementsInstanced: () => {},\n drawArraysInstanced: () => {}\n },\n [WEBGL_draw_buffers]: {\n meta: {\n suffix: 'WEBGL'\n },\n drawBuffers: () => {\n assert(false);\n }\n },\n [EXT_disjoint_timer_query]: {\n meta: {suffix: 'EXT'},\n // WebGL1: Polyfills the WebGL2 Query API\n createQuery: () => {\n assert(false);\n },\n deleteQuery: () => {\n assert(false);\n },\n beginQuery: () => {\n assert(false);\n },\n endQuery: () => {},\n getQuery(handle, pname: string) {\n return this.getQueryObject(handle, pname);\n },\n // The WebGL1 extension uses getQueryObject rather then getQueryParameter\n getQueryParameter(handle, pname: string) {\n return this.getQueryObject(handle, pname);\n },\n getQueryObject: (handle: unknown, pname: unknown) => {}\n }\n};\n\nexport const WEBGL2_CONTEXT_OVERRIDES = {\n // Ensure readBuffer is a no-op\n readBuffer: (gl: WebGLRenderingContext, originalFunc, attachment) => {\n if (isWebGL2(gl)) {\n originalFunc(attachment);\n } else {\n // assert(attachment !== GL_COLOR_ATTACHMENT0 && attachment !== GL_FRONT);\n }\n },\n // Override for getVertexAttrib that returns sane values for non-WebGL1 constants\n getVertexAttrib: (gl: WebGLRenderingContext, originalFunc, location, pname) => {\n // const gl = this; // eslint-disable-line\n const {webgl2, ext} = getExtensionData(gl, ANGLE_instanced_arrays);\n\n let result;\n switch (pname) {\n // WebGL1 attributes will never be integer\n case GL.VERTEX_ATTRIB_ARRAY_INTEGER:\n result = !webgl2 ? false : undefined;\n break;\n // if instancing is not available, return 0 meaning divisor has not been set\n case GL.VERTEX_ATTRIB_ARRAY_DIVISOR:\n result = !webgl2 && !ext ? 0 : undefined;\n break;\n default:\n }\n\n return result !== undefined ? result : originalFunc(location, pname);\n },\n // Handle transform feedback and uniform block queries in WebGL1\n getProgramParameter: (gl: WebGLRenderingContext, originalFunc, program, pname) => {\n if (!isWebGL2(gl)) {\n switch (pname) {\n case GL.TRANSFORM_FEEDBACK_BUFFER_MODE:\n return GL.SEPARATE_ATTRIBS;\n case GL.TRANSFORM_FEEDBACK_VARYINGS:\n return 0;\n case GL.ACTIVE_UNIFORM_BLOCKS:\n return 0;\n default:\n }\n }\n return originalFunc(program, pname);\n },\n getInternalformatParameter: (gl: WebGLRenderingContext, originalFunc, target, format, pname) => {\n if (!isWebGL2(gl)) {\n switch (pname) {\n case GL.SAMPLES:\n return new Int32Array([0]);\n default:\n }\n }\n const gl2 = gl as WebGL2RenderingContext;\n return gl2.getInternalformatParameter(target, format, pname);\n },\n getTexParameter(gl, originalFunc, target, pname) {\n switch (pname) {\n case GL.TEXTURE_MAX_ANISOTROPY_EXT:\n const contextData = getContextData(gl);\n const {_extensions} = contextData;\n const ext = _extensions[EXT_texture_filter_anisotropic];\n pname = (ext && ext.TEXTURE_MAX_ANISOTROPY_EXT) || GL.TEXTURE_MAX_ANISOTROPY_EXT;\n break;\n default:\n }\n return originalFunc(target, pname);\n },\n getParameter: getParameterPolyfill,\n hint(gl, originalFunc, pname, value) {\n // TODO - handle GL.FRAGMENT_SHADER_DERIVATIVE_HINT:\n // switch (pname) {\n // case GL.FRAGMENT_SHADER_DERIVATIVE_HINT:\n // }\n return originalFunc(pname, value);\n }\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill-vertex-array-object.d.ts","sourceRoot":"","sources":["../../../src/context/polyfill/polyfill-vertex-array-object.ts"],"names":[],"mappings":"AAyUA,wBAAgB,yBAAyB,CAAC,EAAE,KAAA,QA8B3C"}
1
+ {"version":3,"file":"polyfill-vertex-array-object.d.ts","sourceRoot":"","sources":["../../../src/context/polyfill/polyfill-vertex-array-object.ts"],"names":[],"mappings":"AA8UA,wBAAgB,yBAAyB,CAAC,EAAE,KAAA,QA8B3C"}
@@ -1,50 +1,39 @@
1
1
  const glErrorShadow = {};
2
-
3
2
  function error(msg) {
4
3
  if (globalThis.console && globalThis.console.error) {
5
4
  globalThis.console.error(msg);
6
5
  }
7
6
  }
8
-
9
7
  function log(msg) {
10
8
  if (globalThis.console && globalThis.console.log) {
11
9
  globalThis.console.log(msg);
12
10
  }
13
11
  }
14
-
15
12
  function synthesizeGLError(err, opt_msg) {
16
13
  glErrorShadow[err] = true;
17
-
18
14
  if (opt_msg !== undefined) {
19
15
  error(opt_msg);
20
16
  }
21
17
  }
22
-
23
18
  function wrapGLError(gl) {
24
19
  const f = gl.getError;
25
-
26
20
  gl.getError = function getError() {
27
21
  let err;
28
-
29
22
  do {
30
23
  err = f.apply(gl);
31
-
32
- if (err !== gl.NO_ERROR) {
24
+ if (err !== 0) {
33
25
  glErrorShadow[err] = true;
34
26
  }
35
- } while (err !== gl.NO_ERROR);
36
-
27
+ } while (err !== 0);
37
28
  for (err in glErrorShadow) {
38
29
  if (glErrorShadow[err]) {
39
30
  delete glErrorShadow[err];
40
31
  return parseInt(err, 10);
41
32
  }
42
33
  }
43
-
44
- return gl.NO_ERROR;
34
+ return 0;
45
35
  };
46
36
  }
47
-
48
37
  const WebGLVertexArrayObjectOES = function WebGLVertexArrayObjectOES(ext) {
49
38
  const gl = ext.gl;
50
39
  this.ext = ext;
@@ -52,31 +41,26 @@ const WebGLVertexArrayObjectOES = function WebGLVertexArrayObjectOES(ext) {
52
41
  this.hasBeenBound = false;
53
42
  this.elementArrayBuffer = null;
54
43
  this.attribs = new Array(ext.maxVertexAttribs);
55
-
56
44
  for (let n = 0; n < this.attribs.length; n++) {
57
45
  const attrib = new WebGLVertexArrayObjectOES.VertexAttrib(gl);
58
46
  this.attribs[n] = attrib;
59
47
  }
60
-
61
48
  this.maxAttrib = 0;
62
49
  };
63
-
64
50
  WebGLVertexArrayObjectOES.VertexAttrib = function VertexAttrib(gl) {
65
51
  this.enabled = false;
66
52
  this.buffer = null;
67
53
  this.size = 4;
68
- this.type = gl.FLOAT;
54
+ this.type = 5126;
69
55
  this.normalized = false;
70
56
  this.stride = 16;
71
57
  this.offset = 0;
72
58
  this.cached = '';
73
59
  this.recache();
74
60
  };
75
-
76
61
  WebGLVertexArrayObjectOES.VertexAttrib.prototype.recache = function recache() {
77
62
  this.cached = [this.size, this.type, this.normalized, this.stride, this.offset].join(':');
78
63
  };
79
-
80
64
  const OESVertexArrayObject = function OESVertexArrayObject(gl) {
81
65
  const self = this;
82
66
  this.gl = gl;
@@ -89,19 +73,15 @@ const OESVertexArrayObject = function OESVertexArrayObject(gl) {
89
73
  getVertexAttrib: gl.getVertexAttrib,
90
74
  vertexAttribPointer: gl.vertexAttribPointer
91
75
  };
92
-
93
76
  gl.getParameter = function getParameter(pname) {
94
77
  if (pname === self.VERTEX_ARRAY_BINDING_OES) {
95
78
  if (self.currentVertexArrayObject === self.defaultVertexArrayObject) {
96
79
  return null;
97
80
  }
98
-
99
81
  return self.currentVertexArrayObject;
100
82
  }
101
-
102
83
  return original.getParameter.apply(this, arguments);
103
84
  };
104
-
105
85
  gl.enableVertexAttribArray = function enableVertexAttribArray(index) {
106
86
  const vao = self.currentVertexArrayObject;
107
87
  vao.maxAttrib = Math.max(vao.maxAttrib, index);
@@ -109,7 +89,6 @@ const OESVertexArrayObject = function OESVertexArrayObject(gl) {
109
89
  attrib.enabled = true;
110
90
  return original.enableVertexAttribArray.apply(this, arguments);
111
91
  };
112
-
113
92
  gl.disableVertexAttribArray = function disableVertexAttribArray(index) {
114
93
  const vao = self.currentVertexArrayObject;
115
94
  vao.maxAttrib = Math.max(vao.maxAttrib, index);
@@ -117,51 +96,38 @@ const OESVertexArrayObject = function OESVertexArrayObject(gl) {
117
96
  attrib.enabled = false;
118
97
  return original.disableVertexAttribArray.apply(this, arguments);
119
98
  };
120
-
121
99
  gl.bindBuffer = function bindBuffer(target, buffer) {
122
100
  switch (target) {
123
- case gl.ARRAY_BUFFER:
101
+ case 34962:
124
102
  self.currentArrayBuffer = buffer;
125
103
  break;
126
-
127
- case gl.ELEMENT_ARRAY_BUFFER:
104
+ case 34963:
128
105
  self.currentVertexArrayObject.elementArrayBuffer = buffer;
129
106
  break;
130
-
131
107
  default:
132
108
  }
133
-
134
109
  return original.bindBuffer.apply(this, arguments);
135
110
  };
136
-
137
111
  gl.getVertexAttrib = function getVertexAttrib(index, pname) {
138
112
  const vao = self.currentVertexArrayObject;
139
113
  const attrib = vao.attribs[index];
140
-
141
114
  switch (pname) {
142
- case gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:
115
+ case 34975:
143
116
  return attrib.buffer;
144
-
145
- case gl.VERTEX_ATTRIB_ARRAY_ENABLED:
117
+ case 34338:
146
118
  return attrib.enabled;
147
-
148
- case gl.VERTEX_ATTRIB_ARRAY_SIZE:
119
+ case 34339:
149
120
  return attrib.size;
150
-
151
- case gl.VERTEX_ATTRIB_ARRAY_STRIDE:
121
+ case 34340:
152
122
  return attrib.stride;
153
-
154
- case gl.VERTEX_ATTRIB_ARRAY_TYPE:
123
+ case 34341:
155
124
  return attrib.type;
156
-
157
- case gl.VERTEX_ATTRIB_ARRAY_NORMALIZED:
125
+ case 34922:
158
126
  return attrib.normalized;
159
-
160
127
  default:
161
128
  return original.getVertexAttrib.apply(this, arguments);
162
129
  }
163
130
  };
164
-
165
131
  gl.vertexAttribPointer = function vertexAttribPointer(indx, size, type, normalized, stride, offset) {
166
132
  const vao = self.currentVertexArrayObject;
167
133
  vao.maxAttrib = Math.max(vao.maxAttrib, indx);
@@ -175,95 +141,75 @@ const OESVertexArrayObject = function OESVertexArrayObject(gl) {
175
141
  attrib.recache();
176
142
  return original.vertexAttribPointer.apply(this, arguments);
177
143
  };
178
-
179
144
  if (gl.instrumentExtension) {
180
145
  gl.instrumentExtension(this, 'OES_vertex_array_object');
181
146
  }
182
-
183
147
  if (gl.canvas) {
184
148
  gl.canvas.addEventListener('webglcontextrestored', () => {
185
149
  log('OESVertexArrayObject emulation library context restored');
186
150
  self.reset_();
187
151
  }, true);
188
152
  }
189
-
190
153
  this.reset_();
191
154
  };
192
-
193
155
  OESVertexArrayObject.prototype.VERTEX_ARRAY_BINDING_OES = 0x85b5;
194
-
195
156
  OESVertexArrayObject.prototype.reset_ = function reset_() {
196
157
  const contextWasLost = this.vertexArrayObjects !== undefined;
197
-
198
158
  if (contextWasLost) {
199
159
  for (let ii = 0; ii < this.vertexArrayObjects.length; ++ii) {
200
160
  this.vertexArrayObjects.isAlive = false;
201
161
  }
202
162
  }
203
-
204
163
  const gl = this.gl;
205
- this.maxVertexAttribs = gl.getParameter(gl.MAX_VERTEX_ATTRIBS);
164
+ this.maxVertexAttribs = gl.getParameter(34921);
206
165
  this.defaultVertexArrayObject = new WebGLVertexArrayObjectOES(this);
207
166
  this.currentVertexArrayObject = null;
208
167
  this.currentArrayBuffer = null;
209
168
  this.vertexArrayObjects = [this.defaultVertexArrayObject];
210
169
  this.bindVertexArrayOES(null);
211
170
  };
212
-
213
171
  OESVertexArrayObject.prototype.createVertexArrayOES = function createVertexArrayOES() {
214
172
  const arrayObject = new WebGLVertexArrayObjectOES(this);
215
173
  this.vertexArrayObjects.push(arrayObject);
216
174
  return arrayObject;
217
175
  };
218
-
219
176
  OESVertexArrayObject.prototype.deleteVertexArrayOES = function deleteVertexArrayOES(arrayObject) {
220
177
  arrayObject.isAlive = false;
221
178
  this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(arrayObject), 1);
222
-
223
179
  if (this.currentVertexArrayObject === arrayObject) {
224
180
  this.bindVertexArrayOES(null);
225
181
  }
226
182
  };
227
-
228
183
  OESVertexArrayObject.prototype.isVertexArrayOES = function isVertexArrayOES(arrayObject) {
229
184
  if (arrayObject && arrayObject instanceof WebGLVertexArrayObjectOES) {
230
185
  if (arrayObject.hasBeenBound && arrayObject.ext === this) {
231
186
  return true;
232
187
  }
233
188
  }
234
-
235
189
  return false;
236
190
  };
237
-
238
191
  OESVertexArrayObject.prototype.bindVertexArrayOES = function bindVertexArrayOES(arrayObject) {
239
192
  const gl = this.gl;
240
-
241
193
  if (arrayObject && !arrayObject.isAlive) {
242
- synthesizeGLError(gl.INVALID_OPERATION, 'bindVertexArrayOES: attempt to bind deleted arrayObject');
194
+ synthesizeGLError(1282, 'bindVertexArrayOES: attempt to bind deleted arrayObject');
243
195
  return;
244
196
  }
245
-
246
197
  const original = this.original;
247
198
  const oldVAO = this.currentVertexArrayObject;
248
199
  this.currentVertexArrayObject = arrayObject || this.defaultVertexArrayObject;
249
200
  this.currentVertexArrayObject.hasBeenBound = true;
250
201
  const newVAO = this.currentVertexArrayObject;
251
-
252
202
  if (oldVAO === newVAO) {
253
203
  return;
254
204
  }
255
-
256
205
  if (!oldVAO || newVAO.elementArrayBuffer !== oldVAO.elementArrayBuffer) {
257
- original.bindBuffer.call(gl, gl.ELEMENT_ARRAY_BUFFER, newVAO.elementArrayBuffer);
206
+ original.bindBuffer.call(gl, 34963, newVAO.elementArrayBuffer);
258
207
  }
259
-
260
208
  let currentBinding = this.currentArrayBuffer;
261
209
  const maxAttrib = Math.max(oldVAO ? oldVAO.maxAttrib : 0, newVAO.maxAttrib);
262
-
263
210
  for (let n = 0; n <= maxAttrib; n++) {
264
211
  const attrib = newVAO.attribs[n];
265
212
  const oldAttrib = oldVAO ? oldVAO.attribs[n] : null;
266
-
267
213
  if (!oldVAO || attrib.enabled !== oldAttrib.enabled) {
268
214
  if (attrib.enabled) {
269
215
  original.enableVertexAttribArray.call(gl, n);
@@ -271,64 +217,48 @@ OESVertexArrayObject.prototype.bindVertexArrayOES = function bindVertexArrayOES(
271
217
  original.disableVertexAttribArray.call(gl, n);
272
218
  }
273
219
  }
274
-
275
220
  if (attrib.enabled) {
276
221
  let bufferChanged = false;
277
-
278
222
  if (!oldVAO || attrib.buffer !== oldAttrib.buffer) {
279
223
  if (currentBinding !== attrib.buffer) {
280
- original.bindBuffer.call(gl, gl.ARRAY_BUFFER, attrib.buffer);
224
+ original.bindBuffer.call(gl, 34962, attrib.buffer);
281
225
  currentBinding = attrib.buffer;
282
226
  }
283
-
284
227
  bufferChanged = true;
285
228
  }
286
-
287
229
  if (bufferChanged || attrib.cached !== oldAttrib.cached) {
288
230
  original.vertexAttribPointer.call(gl, n, attrib.size, attrib.type, attrib.normalized, attrib.stride, attrib.offset);
289
231
  }
290
232
  }
291
233
  }
292
-
293
234
  if (this.currentArrayBuffer !== currentBinding) {
294
- original.bindBuffer.call(gl, gl.ARRAY_BUFFER, this.currentArrayBuffer);
235
+ original.bindBuffer.call(gl, 34962, this.currentArrayBuffer);
295
236
  }
296
237
  };
297
-
298
238
  export function polyfillVertexArrayObject(gl) {
299
239
  if (typeof gl.createVertexArray === 'function') {
300
240
  return;
301
241
  }
302
-
303
242
  const original_getSupportedExtensions = gl.getSupportedExtensions;
304
-
305
243
  gl.getSupportedExtensions = function getSupportedExtensions() {
306
244
  const list = original_getSupportedExtensions.call(this) || [];
307
-
308
245
  if (list.indexOf('OES_vertex_array_object') < 0) {
309
246
  list.push('OES_vertex_array_object');
310
247
  }
311
-
312
248
  return list;
313
249
  };
314
-
315
250
  const original_getExtension = gl.getExtension;
316
-
317
251
  gl.getExtension = function getExtension(name) {
318
252
  const ext = original_getExtension.call(this, name);
319
-
320
253
  if (ext) {
321
254
  return ext;
322
255
  }
323
-
324
256
  if (name !== 'OES_vertex_array_object') {
325
257
  return null;
326
258
  }
327
-
328
259
  if (!gl.__OESVertexArrayObject) {
329
260
  this.__OESVertexArrayObject = new OESVertexArrayObject(this);
330
261
  }
331
-
332
262
  return this.__OESVertexArrayObject;
333
263
  };
334
264
  }