@luma.gl/webgl 9.0.0-alpha.2 → 9.0.0-alpha.21

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 (468) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +11 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +17 -35
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/renderbuffer-formats.d.ts +2 -2
  6. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
  7. package/dist/adapter/converters/renderbuffer-formats.js +2 -7
  8. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
  9. package/dist/adapter/converters/sampler-parameters.d.ts +4 -4
  10. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  11. package/dist/adapter/converters/sampler-parameters.js +19 -55
  12. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  13. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  14. package/dist/adapter/converters/texture-formats.js +13 -66
  15. package/dist/adapter/converters/texture-formats.js.map +1 -1
  16. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  17. package/dist/adapter/converters/vertex-formats.js +2 -8
  18. package/dist/adapter/converters/vertex-formats.js.map +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.js +1 -4
  23. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  24. package/dist/adapter/device-helpers/get-device-info.js +8 -10
  25. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  26. package/dist/adapter/device-helpers/is-old-ie.js +2 -1
  27. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
  28. package/dist/adapter/helpers/attribute-utils.js +0 -17
  29. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  30. package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
  31. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
  32. package/dist/adapter/helpers/get-shader-info.js +25 -0
  33. package/dist/adapter/helpers/get-shader-info.js.map +1 -0
  34. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
  35. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  36. package/dist/adapter/helpers/get-shader-layout.js +41 -67
  37. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  38. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  39. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  40. package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
  41. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  42. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  43. package/dist/adapter/helpers/set-uniform.js +1 -31
  44. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  45. package/dist/adapter/helpers/uniforms.d.ts +1 -1
  46. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  47. package/dist/adapter/helpers/uniforms.js +4 -14
  48. package/dist/adapter/helpers/uniforms.js.map +1 -1
  49. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  50. package/dist/adapter/objects/constants-to-keys.js +0 -7
  51. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  52. package/dist/adapter/objects/webgl-renderbuffer.d.ts +3 -3
  53. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  54. package/dist/adapter/objects/webgl-renderbuffer.js +6 -22
  55. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  56. package/dist/adapter/objects/webgl-resource.d.ts +3 -5
  57. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  58. package/dist/adapter/objects/webgl-resource.js +15 -68
  59. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  60. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +6 -6
  61. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  62. package/dist/adapter/objects/webgl-vertex-array-object.js +7 -17
  63. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  64. package/dist/adapter/resources/webgl-buffer.d.ts +3 -4
  65. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  66. package/dist/adapter/resources/webgl-buffer.js +18 -49
  67. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  68. package/dist/adapter/resources/webgl-command-buffer.d.ts +2 -2
  69. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  70. package/dist/adapter/resources/webgl-command-buffer.js +3 -18
  71. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  72. package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -3
  73. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  74. package/dist/adapter/resources/webgl-command-encoder.js +2 -15
  75. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  76. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  77. package/dist/adapter/resources/webgl-framebuffer.d.ts +16 -16
  78. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-framebuffer.js +17 -75
  80. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  81. package/dist/adapter/resources/webgl-render-pass.d.ts +3 -3
  82. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-render-pass.js +3 -8
  84. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  85. package/dist/adapter/resources/webgl-render-pipeline.d.ts +5 -5
  86. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  87. package/dist/adapter/resources/webgl-render-pipeline.js +51 -140
  88. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  89. package/dist/adapter/resources/webgl-sampler.d.ts +5 -4
  90. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  91. package/dist/adapter/resources/webgl-sampler.js +5 -13
  92. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  93. package/dist/adapter/resources/webgl-shader.d.ts +3 -4
  94. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  95. package/dist/adapter/resources/webgl-shader.js +8 -21
  96. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  97. package/dist/adapter/resources/webgl-texture.d.ts +26 -26
  98. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  99. package/dist/adapter/resources/webgl-texture.js +66 -183
  100. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  101. package/dist/adapter/webgl-canvas-context.d.ts +3 -3
  102. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  103. package/dist/adapter/webgl-canvas-context.js +6 -19
  104. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  105. package/dist/adapter/webgl-device.d.ts +53 -37
  106. package/dist/adapter/webgl-device.d.ts.map +1 -1
  107. package/dist/adapter/webgl-device.js +108 -109
  108. package/dist/adapter/webgl-device.js.map +1 -1
  109. package/dist/classic/accessor.d.ts +1 -1
  110. package/dist/classic/accessor.d.ts.map +1 -1
  111. package/dist/classic/accessor.js +12 -36
  112. package/dist/classic/accessor.js.map +1 -1
  113. package/dist/classic/buffer.d.ts +3 -4
  114. package/dist/classic/buffer.d.ts.map +1 -1
  115. package/dist/classic/buffer.js +30 -87
  116. package/dist/classic/buffer.js.map +1 -1
  117. package/dist/classic/typed-array-utils.d.ts +1 -1
  118. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  119. package/dist/classic/typed-array-utils.js +0 -20
  120. package/dist/classic/typed-array-utils.js.map +1 -1
  121. package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
  122. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  123. package/dist/context/context/{create-context.js → create-browser-context.js} +19 -15
  124. package/dist/context/context/create-browser-context.js.map +1 -0
  125. package/dist/context/context/create-headless-context.d.ts +9 -0
  126. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  127. package/dist/context/context/create-headless-context.js +42 -0
  128. package/dist/context/context/create-headless-context.js.map +1 -0
  129. package/dist/context/context/webgl-checks.js +0 -3
  130. package/dist/context/context/webgl-checks.js.map +1 -1
  131. package/dist/context/debug/spector.d.ts +1 -0
  132. package/dist/context/debug/spector.d.ts.map +1 -1
  133. package/dist/context/debug/spector.js +7 -19
  134. package/dist/context/debug/spector.js.map +1 -1
  135. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  136. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  137. package/dist/context/debug/webgl-developer-tools.js +8 -32
  138. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  139. package/dist/context/parameters/unified-parameter-api.d.ts +6 -5
  140. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  141. package/dist/context/parameters/unified-parameter-api.js +8 -18
  142. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  143. package/dist/context/parameters/webgl-parameter-tables.d.ts +103 -103
  144. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  145. package/dist/context/parameters/webgl-parameter-tables.js +16 -34
  146. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  147. package/dist/context/polyfill/context-data.d.ts +13 -0
  148. package/dist/context/polyfill/context-data.d.ts.map +1 -0
  149. package/dist/context/polyfill/context-data.js +12 -0
  150. package/dist/context/polyfill/context-data.js.map +1 -0
  151. package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
  152. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
  153. package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
  154. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  155. package/dist/context/polyfill/polyfill-context.js +20 -28
  156. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  157. package/dist/context/polyfill/polyfill-table.d.ts +8 -8
  158. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  159. package/dist/context/polyfill/polyfill-table.js +8 -30
  160. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  161. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
  162. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
  163. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
  164. package/dist/context/state-tracker/deep-array-equal.js +0 -4
  165. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  166. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  167. package/dist/context/state-tracker/track-context-state.js +15 -50
  168. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  169. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  170. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  171. package/dist/context/state-tracker/with-parameters.js +7 -9
  172. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  173. package/dist/dist.dev.js +9204 -0
  174. package/dist/index.cjs +5948 -0
  175. package/dist/index.d.ts +19 -19
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +24 -26
  178. package/dist/index.js.map +1 -1
  179. package/dist/types/webgl.d.ts +8 -7
  180. package/dist/types/webgl.d.ts.map +1 -1
  181. package/dist/types/webgl.js.map +1 -1
  182. package/dist/types.js.map +1 -1
  183. package/dist.min.js +36 -0
  184. package/package.json +18 -9
  185. package/src/.DS_Store +0 -0
  186. package/src/adapter/.DS_Store +0 -0
  187. package/src/adapter/converters/device-parameters.ts +45 -16
  188. package/src/adapter/converters/renderbuffer-formats.ts +1 -3
  189. package/src/adapter/converters/sampler-parameters.ts +18 -7
  190. package/src/adapter/converters/texture-formats.ts +18 -16
  191. package/src/adapter/converters/vertex-formats.ts +1 -0
  192. package/src/adapter/device-helpers/device-features.ts +9 -2
  193. package/src/adapter/device-helpers/device-limits.ts +1 -1
  194. package/src/adapter/device-helpers/get-device-info.ts +12 -8
  195. package/src/adapter/helpers/get-shader-info.ts +37 -0
  196. package/src/adapter/helpers/get-shader-layout.ts +59 -37
  197. package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
  198. package/src/adapter/helpers/set-uniform.ts +3 -1
  199. package/src/adapter/helpers/uniforms.ts +21 -10
  200. package/src/adapter/objects/constants-to-keys.ts +4 -1
  201. package/src/adapter/objects/webgl-renderbuffer.ts +8 -8
  202. package/src/adapter/objects/webgl-resource.ts +8 -13
  203. package/src/adapter/objects/webgl-vertex-array-object.ts +10 -10
  204. package/src/adapter/resources/webgl-buffer.ts +16 -16
  205. package/src/adapter/resources/webgl-command-buffer.ts +3 -3
  206. package/src/adapter/resources/webgl-command-encoder.ts +8 -8
  207. package/src/adapter/resources/webgl-external-texture.ts +1 -1
  208. package/src/adapter/resources/webgl-framebuffer.ts +36 -33
  209. package/src/adapter/resources/webgl-render-pass.ts +4 -3
  210. package/src/adapter/resources/webgl-render-pipeline.ts +89 -77
  211. package/src/adapter/resources/webgl-sampler.ts +12 -6
  212. package/src/adapter/resources/webgl-shader.ts +10 -9
  213. package/src/adapter/resources/webgl-texture.ts +55 -45
  214. package/src/adapter/webgl-canvas-context.ts +8 -9
  215. package/src/adapter/webgl-device.ts +153 -69
  216. package/src/classic/accessor.ts +2 -15
  217. package/src/classic/buffer.ts +18 -25
  218. package/src/classic/typed-array-utils.ts +4 -2
  219. package/src/context/.DS_Store +0 -0
  220. package/src/context/context/{create-context.ts → create-browser-context.ts} +17 -7
  221. package/src/context/context/create-headless-context.ts +48 -0
  222. package/src/context/debug/spector.ts +6 -5
  223. package/src/context/debug/webgl-developer-tools.ts +13 -13
  224. package/src/context/parameters/unified-parameter-api.ts +18 -12
  225. package/src/context/parameters/webgl-parameter-tables.ts +113 -94
  226. package/src/context/polyfill/context-data.ts +27 -0
  227. package/src/context/polyfill/get-parameter-polyfill.ts +7 -6
  228. package/src/context/polyfill/polyfill-context.ts +6 -8
  229. package/src/context/polyfill/polyfill-table.ts +16 -14
  230. package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
  231. package/src/context/state-tracker/track-context-state.ts +13 -12
  232. package/src/context/state-tracker/with-parameters.ts +8 -2
  233. package/src/index.ts +28 -26
  234. package/src/types/webgl.ts +10 -7
  235. package/dist/bundle.d.ts +0 -2
  236. package/dist/bundle.d.ts.map +0 -1
  237. package/dist/bundle.js +0 -5
  238. package/dist/bundle.js.map +0 -1
  239. package/dist/context/context/context-state.d.ts +0 -18
  240. package/dist/context/context/context-state.d.ts.map +0 -1
  241. package/dist/context/context/context-state.js +0 -26
  242. package/dist/context/context/context-state.js.map +0 -1
  243. package/dist/context/context/create-context.d.ts.map +0 -1
  244. package/dist/context/context/create-context.js.map +0 -1
  245. package/dist/context/context/device-pixels.d.ts +0 -25
  246. package/dist/context/context/device-pixels.d.ts.map +0 -1
  247. package/dist/context/context/device-pixels.js +0 -98
  248. package/dist/context/context/device-pixels.js.map +0 -1
  249. package/dist/es5/adapter/converters/device-parameters.js +0 -170
  250. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  251. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  252. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  253. package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
  254. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  255. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  256. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  257. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  258. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  259. package/dist/es5/adapter/device-helpers/device-features.js +0 -144
  260. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  261. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  262. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  263. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  264. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  265. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  266. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  267. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  268. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  269. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
  270. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  271. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  272. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  273. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  274. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  275. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  276. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  277. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  278. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  279. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  280. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  281. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  282. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  283. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  284. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  285. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  286. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  287. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  288. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  289. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  290. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  291. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  292. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  293. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
  294. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  295. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
  296. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  297. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
  298. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  299. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  300. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  301. package/dist/es5/adapter/resources/webgl-shader.js +0 -149
  302. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  303. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  304. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  305. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  306. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  307. package/dist/es5/adapter/webgl-device.js +0 -399
  308. package/dist/es5/adapter/webgl-device.js.map +0 -1
  309. package/dist/es5/bundle.js +0 -7
  310. package/dist/es5/bundle.js.map +0 -1
  311. package/dist/es5/classic/accessor.js +0 -181
  312. package/dist/es5/classic/accessor.js.map +0 -1
  313. package/dist/es5/classic/buffer.js +0 -470
  314. package/dist/es5/classic/buffer.js.map +0 -1
  315. package/dist/es5/classic/typed-array-utils.js +0 -126
  316. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  317. package/dist/es5/context/context/context-state.js +0 -31
  318. package/dist/es5/context/context/context-state.js.map +0 -1
  319. package/dist/es5/context/context/create-context.js +0 -69
  320. package/dist/es5/context/context/create-context.js.map +0 -1
  321. package/dist/es5/context/context/device-pixels.js +0 -115
  322. package/dist/es5/context/context/device-pixels.js.map +0 -1
  323. package/dist/es5/context/context/webgl-checks.js +0 -54
  324. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  325. package/dist/es5/context/debug/spector.js +0 -133
  326. package/dist/es5/context/debug/spector.js.map +0 -1
  327. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  328. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  329. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  330. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  331. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  332. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  333. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  334. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  335. package/dist/es5/context/polyfill/polyfill-context.js +0 -135
  336. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  337. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  338. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  339. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  340. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  341. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  342. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  343. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  344. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  345. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  346. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  347. package/dist/es5/index.js +0 -276
  348. package/dist/es5/index.js.map +0 -1
  349. package/dist/es5/init.js +0 -10
  350. package/dist/es5/init.js.map +0 -1
  351. package/dist/es5/types/webgl.js +0 -6
  352. package/dist/es5/types/webgl.js.map +0 -1
  353. package/dist/es5/types.js +0 -2
  354. package/dist/es5/types.js.map +0 -1
  355. package/dist/esm/adapter/converters/device-parameters.js +0 -155
  356. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  357. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  358. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  359. package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
  360. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  361. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  362. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  363. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  364. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  365. package/dist/esm/adapter/device-helpers/device-features.js +0 -102
  366. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  367. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  368. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  369. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  370. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  371. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  372. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  373. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  374. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  375. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
  376. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  377. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  378. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  379. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  380. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  381. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  382. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  383. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  384. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  385. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  386. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  387. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  388. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  389. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  390. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  391. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  392. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  393. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  394. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  395. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  396. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  397. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  398. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  399. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
  400. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  401. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
  402. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  403. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
  404. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  405. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  406. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  407. package/dist/esm/adapter/resources/webgl-shader.js +0 -75
  408. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  409. package/dist/esm/adapter/resources/webgl-texture.js +0 -831
  410. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  411. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  412. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  413. package/dist/esm/adapter/webgl-device.js +0 -280
  414. package/dist/esm/adapter/webgl-device.js.map +0 -1
  415. package/dist/esm/bundle.js +0 -5
  416. package/dist/esm/bundle.js.map +0 -1
  417. package/dist/esm/classic/accessor.js +0 -144
  418. package/dist/esm/classic/accessor.js.map +0 -1
  419. package/dist/esm/classic/buffer.js +0 -384
  420. package/dist/esm/classic/buffer.js.map +0 -1
  421. package/dist/esm/classic/typed-array-utils.js +0 -112
  422. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  423. package/dist/esm/context/context/context-state.js +0 -26
  424. package/dist/esm/context/context/context-state.js.map +0 -1
  425. package/dist/esm/context/context/create-context.js +0 -49
  426. package/dist/esm/context/context/create-context.js.map +0 -1
  427. package/dist/esm/context/context/device-pixels.js +0 -98
  428. package/dist/esm/context/context/device-pixels.js.map +0 -1
  429. package/dist/esm/context/context/webgl-checks.js +0 -34
  430. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  431. package/dist/esm/context/debug/spector.js +0 -76
  432. package/dist/esm/context/debug/spector.js.map +0 -1
  433. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  434. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  435. package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
  436. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  437. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  438. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  439. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  440. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  441. package/dist/esm/context/polyfill/polyfill-context.js +0 -92
  442. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  443. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  444. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  445. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  446. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  447. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  448. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  449. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  450. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  451. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  452. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  453. package/dist/esm/index.js +0 -27
  454. package/dist/esm/index.js.map +0 -1
  455. package/dist/esm/init.js +0 -4
  456. package/dist/esm/init.js.map +0 -1
  457. package/dist/esm/types/webgl.js +0 -2
  458. package/dist/esm/types/webgl.js.map +0 -1
  459. package/dist/esm/types.js +0 -2
  460. package/dist/esm/types.js.map +0 -1
  461. package/dist/init.d.ts +0 -2
  462. package/dist/init.d.ts.map +0 -1
  463. package/dist/init.js +0 -4
  464. package/dist/init.js.map +0 -1
  465. package/src/bundle.ts +0 -4
  466. package/src/context/context/context-state.ts +0 -41
  467. package/src/context/context/device-pixels.ts +0 -152
  468. package/src/init.ts +0 -4
@@ -1,243 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
-
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
- var _api = require("@luma.gl/api");
31
-
32
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
33
-
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
35
-
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
42
- var DEBUG_DATA_LENGTH = 10;
43
-
44
- var WEBGLBuffer = function (_Buffer) {
45
- (0, _inherits2.default)(WEBGLBuffer, _Buffer);
46
-
47
- var _super = _createSuper(WEBGLBuffer);
48
-
49
- function WEBGLBuffer(device) {
50
- var _this;
51
-
52
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
53
- (0, _classCallCheck2.default)(this, WEBGLBuffer);
54
- _this = _super.call(this, device, props);
55
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl", void 0);
57
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "gl2", void 0);
58
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handle", void 0);
59
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "target", void 0);
60
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "byteLength", void 0);
61
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "bytesUsed", void 0);
62
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "debugData", void 0);
63
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webglUsage", void 0);
64
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accessor", void 0);
65
- _this.device = device;
66
- _this.gl = _this.device.gl;
67
- _this.gl2 = _this.device.gl2;
68
- var handle = (0, _typeof2.default)(props) === 'object' ? props.handle : undefined;
69
- _this.handle = handle || _this.gl.createBuffer();
70
- _this.handle.__SPECTOR_Metadata = _objectSpread(_objectSpread({}, _this.props), {}, {
71
- data: (0, _typeof2.default)(_this.props.data)
72
- });
73
- _this.target = _this.props.target || getWebGLTarget(_this.props.usage);
74
- _this.webglUsage = _this.props.webglUsage || getWebGLUsage(_this.props.usage);
75
- _this.debugData = null;
76
-
77
- if (props.data) {
78
- _this._initWithData(props.data, props.byteOffset, props.byteLength);
79
- } else {
80
- _this._initWithByteLength(props.byteLength || 0);
81
- }
82
-
83
- return _this;
84
- }
85
-
86
- (0, _createClass2.default)(WEBGLBuffer, [{
87
- key: "_initWithData",
88
- value: function _initWithData(data) {
89
- var byteOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
90
- var byteLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : data.byteLength + byteOffset;
91
- (0, _api.assert)(ArrayBuffer.isView(data));
92
-
93
- var target = this._getWriteTarget();
94
-
95
- this.gl.bindBuffer(target, this.handle);
96
- this.gl.bufferData(target, byteLength, this.webglUsage);
97
- this.gl.bufferSubData(target, byteOffset, data);
98
- this.gl.bindBuffer(target, null);
99
- this.debugData = data.slice(0, DEBUG_DATA_LENGTH);
100
- this.bytesUsed = byteLength;
101
- this.byteLength = byteLength;
102
- this.trackAllocatedMemory(byteLength);
103
- return this;
104
- }
105
- }, {
106
- key: "_initWithByteLength",
107
- value: function _initWithByteLength(byteLength) {
108
- (0, _api.assert)(byteLength >= 0);
109
- var data = byteLength;
110
-
111
- if (byteLength === 0) {
112
- data = new Float32Array(0);
113
- }
114
-
115
- var target = this._getWriteTarget();
116
-
117
- this.gl.bindBuffer(target, this.handle);
118
- this.gl.bufferData(target, data, this.webglUsage);
119
- this.gl.bindBuffer(target, null);
120
- this.debugData = null;
121
- this.bytesUsed = byteLength;
122
- this.byteLength = byteLength;
123
- return this;
124
- }
125
- }, {
126
- key: "destroy",
127
- value: function destroy() {
128
- if (this.handle) {
129
- this.removeStats();
130
- this.trackDeallocatedMemory();
131
- this.gl.deleteBuffer(this.handle);
132
- this.handle = null;
133
- }
134
- }
135
- }, {
136
- key: "write",
137
- value: function write(data) {
138
- var byteOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
139
- var srcOffset = 0;
140
- var byteLength = data.byteLength;
141
- var target = this.device.isWebGL2 ? _constants.default.COPY_WRITE_BUFFER : this.target;
142
- this.gl.bindBuffer(target, this.handle);
143
-
144
- if (srcOffset !== 0 || byteLength !== undefined) {
145
- this.device.assertWebGL2();
146
- this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);
147
- } else {
148
- this.gl.bufferSubData(target, byteOffset, data);
149
- }
150
-
151
- this.gl.bindBuffer(target, null);
152
- }
153
- }, {
154
- key: "readAsync",
155
- value: function () {
156
- var _readAsync = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
157
- var byteOffset,
158
- byteLength,
159
- data,
160
- dstOffset,
161
- _args = arguments;
162
- return _regenerator.default.wrap(function _callee$(_context) {
163
- while (1) {
164
- switch (_context.prev = _context.next) {
165
- case 0:
166
- byteOffset = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;
167
- byteLength = _args.length > 1 ? _args[1] : undefined;
168
- this.device.assertWebGL2();
169
- data = new Uint8Array(byteLength);
170
- dstOffset = 0;
171
- this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, this.handle);
172
- this.gl2.getBufferSubData(_constants.default.COPY_READ_BUFFER, byteOffset, data, dstOffset, byteLength);
173
- this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
174
- return _context.abrupt("return", data);
175
-
176
- case 9:
177
- case "end":
178
- return _context.stop();
179
- }
180
- }
181
- }, _callee, this);
182
- }));
183
-
184
- function readAsync() {
185
- return _readAsync.apply(this, arguments);
186
- }
187
-
188
- return readAsync;
189
- }()
190
- }, {
191
- key: "_invalidateDebugData",
192
- value: function _invalidateDebugData() {
193
- this.debugData = null;
194
- }
195
- }, {
196
- key: "_getWriteTarget",
197
- value: function _getWriteTarget() {
198
- return this.target;
199
- }
200
- }, {
201
- key: "_getReadTarget",
202
- value: function _getReadTarget() {
203
- return this.target;
204
- return this.device.isWebGL2 ? _constants.default.COPY_READ_BUFFER : this.target;
205
- }
206
- }]);
207
- return WEBGLBuffer;
208
- }(_api.Buffer);
209
-
210
- exports.default = WEBGLBuffer;
211
-
212
- function getWebGLTarget(usage) {
213
- if (usage & _api.Buffer.INDEX) {
214
- return _constants.default.ELEMENT_ARRAY_BUFFER;
215
- }
216
-
217
- if (usage & _api.Buffer.VERTEX) {
218
- return _constants.default.ARRAY_BUFFER;
219
- }
220
-
221
- if (usage & _api.Buffer.UNIFORM) {
222
- return _constants.default.UNIFORM_BUFFER;
223
- }
224
-
225
- return _constants.default.ARRAY_BUFFER;
226
- }
227
-
228
- function getWebGLUsage(usage) {
229
- if (usage & _api.Buffer.INDEX) {
230
- return _constants.default.STATIC_DRAW;
231
- }
232
-
233
- if (usage & _api.Buffer.VERTEX) {
234
- return _constants.default.STATIC_DRAW;
235
- }
236
-
237
- if (usage & _api.Buffer.UNIFORM) {
238
- return _constants.default.DYNAMIC_DRAW;
239
- }
240
-
241
- return _constants.default.DYNAMIC_DRAW;
242
- }
243
- //# sourceMappingURL=webgl-buffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/resources/webgl-buffer.ts"],"names":["DEBUG_DATA_LENGTH","WEBGLBuffer","device","props","gl","gl2","handle","undefined","createBuffer","__SPECTOR_Metadata","data","target","getWebGLTarget","usage","webglUsage","getWebGLUsage","debugData","_initWithData","byteOffset","byteLength","_initWithByteLength","ArrayBuffer","isView","_getWriteTarget","bindBuffer","bufferData","bufferSubData","slice","bytesUsed","trackAllocatedMemory","Float32Array","removeStats","trackDeallocatedMemory","deleteBuffer","srcOffset","isWebGL2","GL","COPY_WRITE_BUFFER","assertWebGL2","offset","Uint8Array","dstOffset","COPY_READ_BUFFER","getBufferSubData","Buffer","INDEX","ELEMENT_ARRAY_BUFFER","VERTEX","ARRAY_BUFFER","UNIFORM","UNIFORM_BUFFER","STATIC_DRAW","DYNAMIC_DRAW"],"mappings":"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","sourcesContent":["import type {BufferProps} from '@luma.gl/api';\nimport {Buffer, assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../webgl-device';\n\nconst DEBUG_DATA_LENGTH = 10;\n\n/** WebGL Buffer interface */\nexport default class WEBGLBuffer extends Buffer {\n readonly device: WebGLDevice;\n readonly gl: WebGLRenderingContext;\n readonly gl2: WebGL2RenderingContext | null;\n readonly handle: WebGLBuffer;\n readonly target: number;\n\n byteLength: number;\n bytesUsed: number;\n debugData: ArrayBuffer;\n\n webglUsage: number;\n\n accessor: {};\n\n constructor(device: WebGLDevice, props: BufferProps = {}) {\n super(device, props);\n\n this.device = device;\n this.gl = this.device.gl;\n this.gl2 = this.device.gl2;\n\n const handle = typeof props === 'object' ? (props as BufferProps).handle : undefined;\n this.handle = handle || this.gl.createBuffer();\n // @ts-expect-error Add metadata for spector\n this.handle.__SPECTOR_Metadata = {...this.props, data: typeof this.props.data}; // {name: this.props.id};\n\n // In WebGL1, need to make sure we use GL.ELEMENT_ARRAY_BUFFER when initializing element buffers\n // otherwise buffer type will lock to generic (non-element) buffer\n // In WebGL2, we can use GL.COPY_READ_BUFFER which avoids locking the type here\n // @ts-expect-error Hack - Checking for subclass prop\n this.target = this.props.target || getWebGLTarget(this.props.usage);\n // @ts-expect-error Hack - Checking for subclass prop\n this.webglUsage = this.props.webglUsage || getWebGLUsage(this.props.usage);\n this.debugData = null;\n\n // Set data: (re)initializes the buffer\n if (props.data) {\n this._initWithData(props.data, props.byteOffset, props.byteLength);\n } else {\n this._initWithByteLength(props.byteLength || 0);\n }\n\n // Deprecated: Merge main props and accessor\n // this.accessor = {...props.accessor};\n\n // Object.seal(this);\n }\n\n // PRIVATE METHODS\n\n // Allocate a new buffer and initialize to contents of typed array\n _initWithData(data, byteOffset: number = 0, byteLength: number = data.byteLength + byteOffset): this {\n assert(ArrayBuffer.isView(data));\n\n const target = this._getWriteTarget();\n\n this.gl.bindBuffer(target, this.handle);\n this.gl.bufferData(target, byteLength, this.webglUsage);\n this.gl.bufferSubData(target, byteOffset, data);\n this.gl.bindBuffer(target, null);\n\n this.debugData = data.slice(0, DEBUG_DATA_LENGTH);\n this.bytesUsed = byteLength;\n this.byteLength = byteLength;\n this.trackAllocatedMemory(byteLength);\n\n return this;\n }\n\n // Allocate a GPU buffer of specified size.\n _initWithByteLength(byteLength: number): this {\n assert(byteLength >= 0);\n\n // Workaround needed for Safari (#291):\n // gl.bufferData with size equal to 0 crashes. Instead create zero sized array.\n let data = byteLength;\n if (byteLength === 0) {\n // @ts-expect-error\n data = new Float32Array(0);\n }\n\n const target = this._getWriteTarget();\n\n this.gl.bindBuffer(target, this.handle);\n this.gl.bufferData(target, data, this.webglUsage);\n this.gl.bindBuffer(target, null);\n\n this.debugData = null;\n this.bytesUsed = byteLength;\n this.byteLength = byteLength;\n\n return this;\n }\n\n destroy(): void {\n if (this.handle) {\n this.removeStats();\n this.trackDeallocatedMemory();\n this.gl.deleteBuffer(this.handle);\n // @ts-expect-error\n this.handle = null;\n }\n }\n\n write(data: ArrayBufferView, byteOffset: number = 0): void {\n const srcOffset = 0;\n const byteLength = data.byteLength;\n\n // Create the buffer - binding it here for the first time locks the type\n // In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type\n const target = this.device.isWebGL2 ? GL.COPY_WRITE_BUFFER : this.target;\n this.gl.bindBuffer(target, this.handle);\n // WebGL2: subData supports additional srcOffset and length parameters\n if (srcOffset !== 0 || byteLength !== undefined) {\n this.device.assertWebGL2();\n\n // @ts-expect-error\n this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);\n } else {\n this.gl.bufferSubData(target, byteOffset, data);\n }\n this.gl.bindBuffer(target, null);\n\n // TODO - update local `data` if offsets are right\n // this.debugData = data.slice(byteOffset, 40);\n }\n\n /** Read data from the buffer */\n async readAsync(\n byteOffset: number = 0,\n byteLength?: number\n ): Promise<ArrayBuffer> {\n this.device.assertWebGL2();\n\n const data = new Uint8Array(byteLength);\n const dstOffset = 0;\n\n // Use GL.COPY_READ_BUFFER to avoid disturbing other targets and locking type\n this.gl.bindBuffer(GL.COPY_READ_BUFFER, this.handle);\n this.gl2.getBufferSubData(GL.COPY_READ_BUFFER, byteOffset, data, dstOffset, byteLength);\n this.gl.bindBuffer(GL.COPY_READ_BUFFER, null);\n\n // TODO - update local `data` if offsets are 0\n // this.debugData = null;\n\n return data;\n }\n\n // PROTECTED METHODS (INTENDED FOR USE BY OTHER FRAMEWORK CODE ONLY)\n\n _invalidateDebugData() {\n this.debugData = null;\n }\n\n _getWriteTarget() {\n return this.target;\n // return this.device.isWebGL2 ? GL.COPY_WRITE_BUFFER : this.target;\n }\n\n _getReadTarget() {\n return this.target;\n return this.device.isWebGL2 ? GL.COPY_READ_BUFFER : this.target;\n }\n}\n\n// static MAP_READ = 0x01;\n// static MAP_WRITE = 0x02;\n// static COPY_SRC = 0x0004;\n// static COPY_DST = 0x0008;\n// static INDEX = 0x0010;\n// static VERTEX = 0x0020;\n// static UNIFORM = 0x0040;\n// static STORAGE = 0x0080;\n// static INDIRECT = 0x0100;\n// static QUERY_RESOLVE = 0x0200;\n\nfunction getWebGLTarget(usage: number): GL {\n if (usage & Buffer.INDEX) {\n return GL.ELEMENT_ARRAY_BUFFER;\n }\n if (usage & Buffer.VERTEX) {\n return GL.ARRAY_BUFFER;\n }\n if (usage & Buffer.UNIFORM) {\n return GL.UNIFORM_BUFFER;\n }\n\n // gl.COPY_READ_BUFFER: Buffer for copying from one buffer object to another.\n // gl.COPY_WRITE_BUFFER: Buffer for copying from one buffer object to another.\n // gl.TRANSFORM_FEEDBACK_BUFFER: Buffer for transform feedback operations.\n // gl.PIXEL_PACK_BUFFER: Buffer used for pixel transfer operations.\n // gl.PIXEL_UNPACK_BUFFER: Buffer used for pixel transfer operations.\n\n // Binding a buffer for the first time locks the type\n // In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type\n return GL.ARRAY_BUFFER;\n}\n\nfunction getWebGLUsage(usage: number): GL {\n if (usage & Buffer.INDEX) {\n return GL.STATIC_DRAW;\n }\n if (usage & Buffer.VERTEX) {\n return GL.STATIC_DRAW;\n }\n if (usage & Buffer.UNIFORM) {\n return GL.DYNAMIC_DRAW;\n }\n return GL.DYNAMIC_DRAW;\n}\n"],"file":"webgl-buffer.js"}
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.submitCommands = submitCommands;
9
- exports.default = void 0;
10
-
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
-
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
-
15
- var _constants = _interopRequireDefault(require("@luma.gl/constants"));
16
-
17
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
18
-
19
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
-
21
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
-
23
- function cast(value) {
24
- return value;
25
- }
26
-
27
- var CommandBuffer = function CommandBuffer() {
28
- (0, _classCallCheck2.default)(this, CommandBuffer);
29
- (0, _defineProperty2.default)(this, "commands", []);
30
- };
31
-
32
- exports.default = CommandBuffer;
33
-
34
- function submitCommands(device) {
35
- var commands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
36
-
37
- var _iterator = _createForOfIteratorHelper(commands),
38
- _step;
39
-
40
- try {
41
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
42
- var command = _step.value;
43
-
44
- switch (command.name) {
45
- case 'copy-buffer-to-buffer':
46
- _copyBufferToBuffer(device, command.options);
47
-
48
- break;
49
-
50
- case 'copy-buffer-to-texture':
51
- _copyBufferToTexture(device, command.options);
52
-
53
- break;
54
-
55
- case 'copy-texture-to-buffer':
56
- _copyTextureToBuffer(device, command.options);
57
-
58
- break;
59
-
60
- case 'copy-texture-to-texture':
61
- _copyTextureToTexture(device, command.options);
62
-
63
- break;
64
- }
65
- }
66
- } catch (err) {
67
- _iterator.e(err);
68
- } finally {
69
- _iterator.f();
70
- }
71
- }
72
-
73
- function _copyBufferToBuffer(device, options) {
74
- var source = cast(options.source);
75
- var destination = cast(options.destination);
76
- var gl2 = device.gl2;
77
-
78
- if (gl2) {
79
- var _options$sourceOffset, _options$destinationO;
80
-
81
- gl2.bindBuffer(_constants.default.COPY_READ_BUFFER, source.handle);
82
- gl2.bindBuffer(_constants.default.COPY_WRITE_BUFFER, destination.handle);
83
- gl2.copyBufferSubData(_constants.default.COPY_READ_BUFFER, _constants.default.COPY_WRITE_BUFFER, (_options$sourceOffset = options.sourceOffset) !== null && _options$sourceOffset !== void 0 ? _options$sourceOffset : 0, (_options$destinationO = options.destinationOffset) !== null && _options$destinationO !== void 0 ? _options$destinationO : 0, options.size);
84
- gl2.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
85
- gl2.bindBuffer(_constants.default.COPY_WRITE_BUFFER, null);
86
- } else {
87
- throw new Error('copyBufferToBuffer not implemented in WebGL1');
88
- }
89
- }
90
-
91
- function _copyBufferToTexture(device, options) {}
92
-
93
- function _copyTextureToBuffer(device, options) {}
94
-
95
- function _copyTextureToTexture(device, options) {}
96
- //# sourceMappingURL=webgl-command-buffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/resources/webgl-command-buffer.ts"],"names":["cast","value","CommandBuffer","submitCommands","device","commands","command","name","_copyBufferToBuffer","options","_copyBufferToTexture","_copyTextureToBuffer","_copyTextureToTexture","source","destination","gl2","bindBuffer","GL","COPY_READ_BUFFER","handle","COPY_WRITE_BUFFER","copyBufferSubData","sourceOffset","destinationOffset","size","Error"],"mappings":";;;;;;;;;;;;;;AAMA;;;;;;;;AAIA,SAASA,IAAT,CAAiBC,KAAjB,EAAoC;AAClC,SAAOA,KAAP;AACD;;IA4BoBC,a;;kDACG,E;;;;;AAGjB,SAASC,cAAT,CAAwBC,MAAxB,EAAuE;AAAA,MAA1BC,QAA0B,uEAAJ,EAAI;;AAAA,6CACtDA,QADsD;AAAA;;AAAA;AAC5E,wDAAgC;AAAA,UAArBC,OAAqB;;AAC9B,cAAQA,OAAO,CAACC,IAAhB;AACE,aAAK,uBAAL;AACEC,UAAAA,mBAAmB,CAACJ,MAAD,EAASE,OAAO,CAACG,OAAjB,CAAnB;;AACA;;AACF,aAAK,wBAAL;AACEC,UAAAA,oBAAoB,CAACN,MAAD,EAASE,OAAO,CAACG,OAAjB,CAApB;;AACA;;AACF,aAAK,wBAAL;AACEE,UAAAA,oBAAoB,CAACP,MAAD,EAASE,OAAO,CAACG,OAAjB,CAApB;;AACA;;AACF,aAAK,yBAAL;AACEG,UAAAA,qBAAqB,CAACR,MAAD,EAASE,OAAO,CAACG,OAAjB,CAArB;;AACA;AAZJ;AAcD;AAhB2E;AAAA;AAAA;AAAA;AAAA;AAiB7E;;AAED,SAASD,mBAAT,CAA6BJ,MAA7B,EAAkDK,OAAlD,EAA4F;AAC1F,MAAMI,MAAM,GAAGb,IAAI,CAAcS,OAAO,CAACI,MAAtB,CAAnB;AACA,MAAMC,WAAW,GAAGd,IAAI,CAAcS,OAAO,CAACK,WAAtB,CAAxB;AAEA,MAAOC,GAAP,GAAcX,MAAd,CAAOW,GAAP;;AACA,MAAIA,GAAJ,EAAS;AAAA;;AAGPA,IAAAA,GAAG,CAACC,UAAJ,CAAeC,mBAAGC,gBAAlB,EAAoCL,MAAM,CAACM,MAA3C;AACAJ,IAAAA,GAAG,CAACC,UAAJ,CAAeC,mBAAGG,iBAAlB,EAAqCN,WAAW,CAACK,MAAjD;AACAJ,IAAAA,GAAG,CAACM,iBAAJ,CACEJ,mBAAGC,gBADL,EAEED,mBAAGG,iBAFL,2BAGEX,OAAO,CAACa,YAHV,yEAG0B,CAH1B,2BAIEb,OAAO,CAACc,iBAJV,yEAI+B,CAJ/B,EAKEd,OAAO,CAACe,IALV;AAOAT,IAAAA,GAAG,CAACC,UAAJ,CAAeC,mBAAGC,gBAAlB,EAAoC,IAApC;AACAH,IAAAA,GAAG,CAACC,UAAJ,CAAeC,mBAAGG,iBAAlB,EAAqC,IAArC;AACD,GAdD,MAcO;AAGL,UAAM,IAAIK,KAAJ,CAAU,8CAAV,CAAN;AACD;AACF;;AAED,SAASf,oBAAT,CAA8BN,MAA9B,EAAmDK,OAAnD,EAA8F,CAAE;;AAEhG,SAASE,oBAAT,CAA8BP,MAA9B,EAAmDK,OAAnD,EAA8F,CAAE;;AAEhG,SAASG,qBAAT,CAA+BR,MAA/B,EAAoDK,OAApD,EAAgG,CAAE","sourcesContent":["import type {\n CopyBufferToBufferOptions,\n CopyBufferToTextureOptions,\n CopyTextureToBufferOptions,\n CopyTextureToTextureOptions\n} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../webgl-device';\nimport WEBGLBuffer from './webgl-buffer';\n\nfunction cast<T>(value: unknown): T {\n return value as T;\n}\n\ntype CopyBufferToBufferCommand = {\n name: 'copy-buffer-to-buffer';\n options: CopyBufferToBufferOptions;\n};\n\ntype CopyBufferToTextureCommand = {\n name: 'copy-buffer-to-texture';\n options: CopyBufferToTextureOptions;\n};\n\ntype CopyTextureToBufferCommand = {\n name: 'copy-texture-to-buffer';\n options: CopyTextureToBufferOptions;\n};\n\ntype CopyTextureToTextureCommand = {\n name: 'copy-texture-to-texture';\n options: CopyTextureToTextureOptions;\n};\n\ntype Command =\n | CopyBufferToBufferCommand\n | CopyBufferToTextureCommand\n | CopyTextureToBufferCommand\n | CopyTextureToTextureCommand;\n\nexport default class CommandBuffer {\n commands: Command[] = [];\n}\n\nexport function submitCommands(device: WebGLDevice, commands: Command[] = []) {\n for (const command of commands) {\n switch (command.name) {\n case 'copy-buffer-to-buffer':\n _copyBufferToBuffer(device, command.options);\n break;\n case 'copy-buffer-to-texture':\n _copyBufferToTexture(device, command.options);\n break;\n case 'copy-texture-to-buffer':\n _copyTextureToBuffer(device, command.options);\n break;\n case 'copy-texture-to-texture':\n _copyTextureToTexture(device, command.options);\n break;\n }\n }\n}\n\nfunction _copyBufferToBuffer(device: WebGLDevice, options: CopyBufferToBufferOptions): void {\n const source = cast<WEBGLBuffer>(options.source);\n const destination = cast<WEBGLBuffer>(options.destination);\n\n const {gl2} = device;\n if (gl2) {\n // In WebGL2 we can perform the copy on the GPU\n // Use GL.COPY_READ_BUFFER+GL.COPY_WRITE_BUFFER avoid disturbing other targets and locking type\n gl2.bindBuffer(GL.COPY_READ_BUFFER, source.handle);\n gl2.bindBuffer(GL.COPY_WRITE_BUFFER, destination.handle);\n gl2.copyBufferSubData(\n GL.COPY_READ_BUFFER,\n GL.COPY_WRITE_BUFFER,\n options.sourceOffset ?? 0,\n options.destinationOffset ?? 0,\n options.size\n );\n gl2.bindBuffer(GL.COPY_READ_BUFFER, null);\n gl2.bindBuffer(GL.COPY_WRITE_BUFFER, null);\n } else {\n // TODO - in WebGL1 we would have to read back to CPU\n // read / write buffer from / to CPU\n throw new Error('copyBufferToBuffer not implemented in WebGL1');\n }\n}\n\nfunction _copyBufferToTexture(device: WebGLDevice, options: CopyBufferToTextureOptions): void {}\n\nfunction _copyTextureToBuffer(device: WebGLDevice, options: CopyTextureToBufferOptions): void {}\n\nfunction _copyTextureToTexture(device: WebGLDevice, options: CopyTextureToTextureOptions): void {}\n"],"file":"webgl-command-buffer.js"}
@@ -1,98 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _api = require("@luma.gl/api");
25
-
26
- var _webglCommandBuffer = _interopRequireDefault(require("./webgl-command-buffer"));
27
-
28
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
-
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
-
32
- var WEBGLCommandEncoder = function (_CommandEncoder) {
33
- (0, _inherits2.default)(WEBGLCommandEncoder, _CommandEncoder);
34
-
35
- var _super = _createSuper(WEBGLCommandEncoder);
36
-
37
- function WEBGLCommandEncoder(device, props) {
38
- var _this;
39
-
40
- (0, _classCallCheck2.default)(this, WEBGLCommandEncoder);
41
- _this = _super.call(this, props);
42
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
43
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "commandBuffer", new _webglCommandBuffer.default());
44
- _this.device = device;
45
- return _this;
46
- }
47
-
48
- (0, _createClass2.default)(WEBGLCommandEncoder, [{
49
- key: "destroy",
50
- value: function destroy() {}
51
- }, {
52
- key: "copyBufferToBuffer",
53
- value: function copyBufferToBuffer(options) {
54
- this.commandBuffer.commands.push({
55
- name: 'copy-buffer-to-buffer',
56
- options: options
57
- });
58
- }
59
- }, {
60
- key: "copyBufferToTexture",
61
- value: function copyBufferToTexture(options) {
62
- this.commandBuffer.commands.push({
63
- name: 'copy-buffer-to-texture',
64
- options: options
65
- });
66
- }
67
- }, {
68
- key: "copyTextureToBuffer",
69
- value: function copyTextureToBuffer(options) {
70
- this.commandBuffer.commands.push({
71
- name: 'copy-texture-to-buffer',
72
- options: options
73
- });
74
- }
75
- }, {
76
- key: "copyTextureToTexture",
77
- value: function copyTextureToTexture(options) {
78
- this.commandBuffer.commands.push({
79
- name: 'copy-texture-to-texture',
80
- options: options
81
- });
82
- }
83
- }, {
84
- key: "pushDebugGroup",
85
- value: function pushDebugGroup(groupLabel) {}
86
- }, {
87
- key: "popDebugGroup",
88
- value: function popDebugGroup() {}
89
- }, {
90
- key: "insertDebugMarker",
91
- value: function insertDebugMarker(markerLabel) {}
92
- }]);
93
- return WEBGLCommandEncoder;
94
- }(_api.CommandEncoder);
95
-
96
- exports.default = WEBGLCommandEncoder;
97
- ;
98
- //# sourceMappingURL=webgl-command-encoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/adapter/resources/webgl-command-encoder.ts"],"names":["WEBGLCommandEncoder","device","props","CommandBuffer","options","commandBuffer","commands","push","name","groupLabel","markerLabel","CommandEncoder"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;;;;;IAGqBA,mB;;;;;AAKnB,+BAAYC,MAAZ,EAAiCC,KAAjC,EAA6D;AAAA;;AAAA;AAC3D,8BAAMA,KAAN;AAD2D;AAAA,gGAFpC,IAAIC,2BAAJ,EAEoC;AAE3D,UAAKF,MAAL,GAAcA,MAAd;AAF2D;AAG5D;;;;WAED,mBAAU,CAAE;;;WAMZ,4BAAmBG,OAAnB,EAA6D;AAC3D,WAAKC,aAAL,CAAmBC,QAAnB,CAA4BC,IAA5B,CAAiC;AAACC,QAAAA,IAAI,EAAE,uBAAP;AAAgCJ,QAAAA,OAAO,EAAPA;AAAhC,OAAjC;AACD;;;WAED,6BAAoBA,OAApB,EAAyD;AACvD,WAAKC,aAAL,CAAmBC,QAAnB,CAA4BC,IAA5B,CAAiC;AAACC,QAAAA,IAAI,EAAE,wBAAP;AAAiCJ,QAAAA,OAAO,EAAPA;AAAjC,OAAjC;AACD;;;WAED,6BAAoBA,OAApB,EAA+D;AAC7D,WAAKC,aAAL,CAAmBC,QAAnB,CAA4BC,IAA5B,CAAiC;AAACC,QAAAA,IAAI,EAAE,wBAAP;AAAiCJ,QAAAA,OAAO,EAAPA;AAAjC,OAAjC;AACD;;;WAED,8BAAqBA,OAArB,EAAiE;AAC/D,WAAKC,aAAL,CAAmBC,QAAnB,CAA4BC,IAA5B,CAAiC;AAACC,QAAAA,IAAI,EAAE,yBAAP;AAAkCJ,QAAAA,OAAO,EAAPA;AAAlC,OAAjC;AACD;;;WAED,wBAAeK,UAAf,EAAyC,CAAE;;;WAC3C,yBAAgB,CAAE;;;WAElB,2BAAkBC,WAAlB,EAA6C,CAAE;;;EAnCAC,mB;;;AA8ChD","sourcesContent":["import {CommandEncoder, CommandEncoderProps} from '@luma.gl/api';\nimport type {\n CopyBufferToBufferOptions,\n CopyBufferToTextureOptions,\n CopyTextureToBufferOptions,\n CopyTextureToTextureOptions\n} from '@luma.gl/api';\n\nimport CommandBuffer from './webgl-command-buffer';\nimport WebGLDevice from '../webgl-device';\n\nexport default class WEBGLCommandEncoder extends CommandEncoder {\n readonly device: WebGLDevice;\n\n readonly commandBuffer = new CommandBuffer();\n\n constructor(device: WebGLDevice, props: CommandEncoderProps) {\n super(props);\n this.device = device;\n }\n\n destroy() {}\n\n // beginRenderPass(GPURenderPassDescriptor descriptor): GPURenderPassEncoder;\n // beginComputePass(optional GPUComputePassDescriptor descriptor = {}): GPUComputePassEncoder;\n // finish(options?: {id?: string}): GPUCommandBuffer;\n\n copyBufferToBuffer(options: CopyBufferToBufferOptions): void {\n this.commandBuffer.commands.push({name: 'copy-buffer-to-buffer', options});\n }\n\n copyBufferToTexture(options: CopyBufferToTextureOptions) {\n this.commandBuffer.commands.push({name: 'copy-buffer-to-texture', options});\n }\n\n copyTextureToBuffer(options: CopyTextureToBufferOptions): void {\n this.commandBuffer.commands.push({name: 'copy-texture-to-buffer', options});\n }\n\n copyTextureToTexture(options: CopyTextureToTextureOptions): void {\n this.commandBuffer.commands.push({name: 'copy-texture-to-texture', options});\n }\n\n pushDebugGroup(groupLabel: string): void {}\n popDebugGroup() {}\n\n insertDebugMarker(markerLabel: string): void {}\n\n // writeTimestamp(querySet: Query, queryIndex: number): void {}\n\n // resolveQuerySet(options: {\n // querySet: GPUQuerySet,\n // firstQuery: number,\n // queryCount: number,\n // destination: Buffer,\n // destinationOffset?: number;\n // }): void;\n};\n"],"file":"webgl-command-encoder.js"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=webgl-external-texture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"webgl-external-texture.js"}