@luma.gl/webgl 9.0.0-alpha.9 → 9.0.0-beta.10

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 (553) hide show
  1. package/LICENSE +3 -1
  2. package/dist/adapter/converters/device-parameters.d.ts +12 -3
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/device-parameters.js +300 -146
  5. package/dist/adapter/converters/sampler-parameters.d.ts +3 -13
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +74 -219
  8. package/dist/adapter/converters/shader-formats.d.ts +9 -0
  9. package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
  10. package/dist/adapter/converters/shader-formats.js +59 -0
  11. package/dist/adapter/converters/texture-formats.d.ts +41 -57
  12. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  13. package/dist/adapter/converters/texture-formats.js +490 -925
  14. package/dist/adapter/converters/vertex-formats.d.ts +9 -3
  15. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  16. package/dist/adapter/converters/vertex-formats.js +56 -33
  17. package/dist/adapter/device-helpers/webgl-device-features.d.ts +20 -0
  18. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -0
  19. package/dist/adapter/device-helpers/webgl-device-features.js +98 -0
  20. package/dist/adapter/device-helpers/webgl-device-info.d.ts +5 -0
  21. package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -0
  22. package/dist/adapter/device-helpers/webgl-device-info.js +90 -0
  23. package/dist/adapter/device-helpers/webgl-device-limits.d.ts +35 -0
  24. package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -0
  25. package/dist/adapter/device-helpers/webgl-device-limits.js +47 -0
  26. package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
  27. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
  28. package/dist/adapter/helpers/decode-webgl-types.js +101 -0
  29. package/dist/adapter/helpers/get-shader-layout.d.ts +2 -49
  30. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  31. package/dist/adapter/helpers/get-shader-layout.js +263 -307
  32. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  33. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  34. package/dist/adapter/helpers/parse-shader-compiler-log.js +48 -33
  35. package/dist/adapter/helpers/set-uniform.d.ts +3 -2
  36. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  37. package/dist/adapter/helpers/set-uniform.js +66 -111
  38. package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
  39. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
  40. package/dist/adapter/helpers/webgl-topology-utils.js +88 -0
  41. package/dist/adapter/objects/constants-to-keys.d.ts +2 -4
  42. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  43. package/dist/adapter/objects/constants-to-keys.js +18 -38
  44. package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
  45. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  46. package/dist/adapter/objects/webgl-renderbuffer.js +92 -91
  47. package/dist/adapter/objects/webgl-resource.d.ts +6 -31
  48. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  49. package/dist/adapter/objects/webgl-resource.js +103 -205
  50. package/dist/adapter/resources/webgl-buffer.d.ts +20 -16
  51. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  52. package/dist/adapter/resources/webgl-buffer.js +163 -155
  53. package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
  54. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  55. package/dist/adapter/resources/webgl-command-buffer.js +283 -58
  56. package/dist/adapter/resources/webgl-command-encoder.d.ts +12 -6
  57. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  58. package/dist/adapter/resources/webgl-command-encoder.js +36 -52
  59. package/dist/adapter/resources/webgl-external-texture.js +93 -1
  60. package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -29
  61. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  62. package/dist/adapter/resources/webgl-framebuffer.js +184 -261
  63. package/dist/adapter/resources/webgl-query-set.d.ts +44 -0
  64. package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -0
  65. package/dist/adapter/resources/webgl-query-set.js +136 -0
  66. package/dist/adapter/resources/webgl-render-pass.d.ts +21 -4
  67. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-render-pass.js +140 -20
  69. package/dist/adapter/resources/webgl-render-pipeline.d.ts +44 -21
  70. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-render-pipeline.js +371 -413
  72. package/dist/adapter/resources/webgl-sampler.d.ts +5 -6
  73. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  74. package/dist/adapter/resources/webgl-sampler.js +46 -46
  75. package/dist/adapter/resources/webgl-shader.d.ts +16 -6
  76. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  77. package/dist/adapter/resources/webgl-shader.js +113 -72
  78. package/dist/adapter/resources/webgl-texture-view.d.ts +14 -0
  79. package/dist/adapter/resources/webgl-texture-view.d.ts.map +1 -0
  80. package/dist/adapter/resources/webgl-texture-view.js +18 -0
  81. package/dist/adapter/resources/webgl-texture.d.ts +53 -35
  82. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-texture.js +623 -822
  84. package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
  85. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-transform-feedback.js +162 -0
  87. package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
  88. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
  89. package/dist/adapter/resources/webgl-vertex-array.js +239 -0
  90. package/dist/adapter/webgl-canvas-context.d.ts +6 -7
  91. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  92. package/dist/adapter/webgl-canvas-context.js +61 -50
  93. package/dist/adapter/webgl-device.d.ts +112 -55
  94. package/dist/adapter/webgl-device.d.ts.map +1 -1
  95. package/dist/adapter/webgl-device.js +453 -331
  96. package/dist/classic/accessor.d.ts +3 -3
  97. package/dist/classic/accessor.d.ts.map +1 -1
  98. package/dist/classic/accessor.js +135 -130
  99. package/dist/classic/clear.d.ts +22 -0
  100. package/dist/classic/clear.d.ts.map +1 -0
  101. package/dist/classic/clear.js +89 -0
  102. package/dist/classic/copy-and-blit.d.ts +62 -0
  103. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  104. package/dist/classic/copy-and-blit.js +191 -0
  105. package/dist/classic/format-utils.d.ts +3 -0
  106. package/dist/classic/format-utils.d.ts.map +1 -0
  107. package/dist/classic/format-utils.js +44 -0
  108. package/dist/classic/typed-array-utils.d.ts +17 -17
  109. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  110. package/dist/classic/typed-array-utils.js +96 -102
  111. package/dist/context/debug/spector.d.ts +1 -2
  112. package/dist/context/debug/spector.d.ts.map +1 -1
  113. package/dist/context/debug/spector.js +56 -63
  114. package/dist/context/debug/webgl-developer-tools.d.ts +2 -3
  115. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  116. package/dist/context/debug/webgl-developer-tools.js +106 -102
  117. package/dist/context/helpers/create-browser-context.d.ts +35 -0
  118. package/dist/context/helpers/create-browser-context.d.ts.map +1 -0
  119. package/dist/context/helpers/create-browser-context.js +67 -0
  120. package/dist/context/helpers/webgl-context-data.d.ts +13 -0
  121. package/dist/context/helpers/webgl-context-data.d.ts.map +1 -0
  122. package/dist/context/helpers/webgl-context-data.js +21 -0
  123. package/dist/context/helpers/webgl-extensions.d.ts +4 -0
  124. package/dist/context/helpers/webgl-extensions.d.ts.map +1 -0
  125. package/dist/context/helpers/webgl-extensions.js +10 -0
  126. package/dist/context/parameters/unified-parameter-api.d.ts +4 -5
  127. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  128. package/dist/context/parameters/unified-parameter-api.js +91 -54
  129. package/dist/context/parameters/webgl-parameter-tables.d.ts +115 -106
  130. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  131. package/dist/context/parameters/webgl-parameter-tables.js +463 -423
  132. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  133. package/dist/context/state-tracker/deep-array-equal.js +19 -18
  134. package/dist/context/state-tracker/track-context-state.d.ts +4 -4
  135. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  136. package/dist/context/state-tracker/track-context-state.js +192 -163
  137. package/dist/context/state-tracker/with-parameters.d.ts +2 -2
  138. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  139. package/dist/context/state-tracker/with-parameters.js +44 -32
  140. package/dist/dist.dev.js +6574 -0
  141. package/dist/dist.min.js +10 -0
  142. package/dist/index.cjs +5586 -0
  143. package/dist/index.cjs.map +7 -0
  144. package/dist/index.d.ts +25 -32
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +37 -28
  147. package/dist/types.d.ts +3 -1
  148. package/dist/types.d.ts.map +1 -1
  149. package/dist/types.js +3 -1
  150. package/dist.min.js +19 -0
  151. package/package.json +22 -15
  152. package/src/adapter/converters/device-parameters.ts +217 -54
  153. package/src/adapter/converters/sampler-parameters.ts +46 -126
  154. package/src/adapter/converters/shader-formats.ts +69 -0
  155. package/src/adapter/converters/texture-formats.ts +369 -340
  156. package/src/adapter/converters/vertex-formats.ts +71 -10
  157. package/src/adapter/device-helpers/webgl-device-features.ts +121 -0
  158. package/src/adapter/device-helpers/webgl-device-info.ts +111 -0
  159. package/src/adapter/device-helpers/webgl-device-limits.ts +53 -0
  160. package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +38 -25
  161. package/src/adapter/helpers/get-shader-layout.ts +104 -158
  162. package/src/adapter/helpers/parse-shader-compiler-log.ts +31 -11
  163. package/src/adapter/helpers/set-uniform.ts +39 -36
  164. package/src/adapter/helpers/webgl-topology-utils.ts +110 -0
  165. package/src/adapter/objects/constants-to-keys.ts +8 -26
  166. package/src/adapter/objects/webgl-renderbuffer.ts +68 -40
  167. package/src/adapter/objects/webgl-resource.ts +16 -156
  168. package/src/adapter/resources/webgl-buffer.ts +103 -112
  169. package/src/adapter/resources/webgl-command-buffer.ts +333 -41
  170. package/src/adapter/resources/webgl-command-encoder.ts +33 -22
  171. package/src/adapter/resources/webgl-external-texture.ts +11 -8
  172. package/src/adapter/resources/webgl-framebuffer.ts +125 -165
  173. package/src/adapter/resources/webgl-query-set.ts +171 -0
  174. package/src/adapter/resources/webgl-render-pass.ts +176 -6
  175. package/src/adapter/resources/webgl-render-pipeline.ts +308 -229
  176. package/src/adapter/resources/webgl-sampler.ts +19 -18
  177. package/src/adapter/resources/webgl-shader.ts +91 -32
  178. package/src/adapter/resources/webgl-texture-view.ts +28 -0
  179. package/src/adapter/resources/webgl-texture.ts +147 -184
  180. package/src/adapter/resources/webgl-transform-feedback.ts +196 -0
  181. package/src/adapter/resources/webgl-vertex-array.ts +282 -0
  182. package/src/adapter/webgl-canvas-context.ts +23 -22
  183. package/src/adapter/webgl-device.ts +411 -196
  184. package/src/classic/accessor.ts +12 -8
  185. package/src/classic/clear.ts +118 -0
  186. package/src/classic/copy-and-blit.ts +318 -0
  187. package/src/classic/format-utils.ts +47 -0
  188. package/src/classic/typed-array-utils.ts +19 -31
  189. package/src/context/debug/spector.ts +16 -10
  190. package/src/context/debug/webgl-developer-tools.ts +52 -32
  191. package/src/context/helpers/create-browser-context.ts +116 -0
  192. package/src/context/helpers/webgl-context-data.ts +31 -0
  193. package/src/context/helpers/webgl-extensions.ts +17 -0
  194. package/src/context/parameters/unified-parameter-api.ts +11 -16
  195. package/src/context/parameters/webgl-parameter-tables.ts +171 -121
  196. package/src/context/state-tracker/deep-array-equal.ts +3 -0
  197. package/src/context/state-tracker/track-context-state.ts +35 -26
  198. package/src/context/state-tracker/with-parameters.ts +12 -3
  199. package/src/index.ts +41 -55
  200. package/src/types.ts +6 -0
  201. package/dist/adapter/converters/device-parameters.js.map +0 -1
  202. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  203. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  204. package/dist/adapter/converters/renderbuffer-formats.js +0 -185
  205. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  206. package/dist/adapter/converters/sampler-parameters.js.map +0 -1
  207. package/dist/adapter/converters/texture-formats.js.map +0 -1
  208. package/dist/adapter/converters/vertex-formats.js.map +0 -1
  209. package/dist/adapter/device-helpers/device-features.d.ts +0 -9
  210. package/dist/adapter/device-helpers/device-features.d.ts.map +0 -1
  211. package/dist/adapter/device-helpers/device-features.js +0 -112
  212. package/dist/adapter/device-helpers/device-features.js.map +0 -1
  213. package/dist/adapter/device-helpers/device-limits.d.ts +0 -52
  214. package/dist/adapter/device-helpers/device-limits.d.ts.map +0 -1
  215. package/dist/adapter/device-helpers/device-limits.js +0 -91
  216. package/dist/adapter/device-helpers/device-limits.js.map +0 -1
  217. package/dist/adapter/device-helpers/get-device-info.d.ts +0 -4
  218. package/dist/adapter/device-helpers/get-device-info.d.ts.map +0 -1
  219. package/dist/adapter/device-helpers/get-device-info.js +0 -44
  220. package/dist/adapter/device-helpers/get-device-info.js.map +0 -1
  221. package/dist/adapter/device-helpers/is-old-ie.d.ts +0 -2
  222. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +0 -1
  223. package/dist/adapter/device-helpers/is-old-ie.js +0 -8
  224. package/dist/adapter/device-helpers/is-old-ie.js.map +0 -1
  225. package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
  226. package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
  227. package/dist/adapter/helpers/attribute-utils.js +0 -81
  228. package/dist/adapter/helpers/attribute-utils.js.map +0 -1
  229. package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
  230. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  231. package/dist/adapter/helpers/set-uniform.js.map +0 -1
  232. package/dist/adapter/helpers/uniforms.d.ts +0 -26
  233. package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
  234. package/dist/adapter/helpers/uniforms.js +0 -99
  235. package/dist/adapter/helpers/uniforms.js.map +0 -1
  236. package/dist/adapter/objects/constants-to-keys.js.map +0 -1
  237. package/dist/adapter/objects/webgl-renderbuffer.js.map +0 -1
  238. package/dist/adapter/objects/webgl-resource.js.map +0 -1
  239. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
  240. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
  241. package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
  242. package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  243. package/dist/adapter/resources/webgl-buffer.js.map +0 -1
  244. package/dist/adapter/resources/webgl-command-buffer.js.map +0 -1
  245. package/dist/adapter/resources/webgl-command-encoder.js.map +0 -1
  246. package/dist/adapter/resources/webgl-external-texture.js.map +0 -1
  247. package/dist/adapter/resources/webgl-framebuffer.js.map +0 -1
  248. package/dist/adapter/resources/webgl-render-pass.js.map +0 -1
  249. package/dist/adapter/resources/webgl-render-pipeline.js.map +0 -1
  250. package/dist/adapter/resources/webgl-sampler.js.map +0 -1
  251. package/dist/adapter/resources/webgl-shader.js.map +0 -1
  252. package/dist/adapter/resources/webgl-texture.js.map +0 -1
  253. package/dist/adapter/webgl-canvas-context.js.map +0 -1
  254. package/dist/adapter/webgl-device.js.map +0 -1
  255. package/dist/bundle.d.ts +0 -2
  256. package/dist/bundle.d.ts.map +0 -1
  257. package/dist/bundle.js +0 -5
  258. package/dist/bundle.js.map +0 -1
  259. package/dist/classic/accessor.js.map +0 -1
  260. package/dist/classic/buffer.d.ts +0 -95
  261. package/dist/classic/buffer.d.ts.map +0 -1
  262. package/dist/classic/buffer.js +0 -392
  263. package/dist/classic/buffer.js.map +0 -1
  264. package/dist/classic/typed-array-utils.js.map +0 -1
  265. package/dist/context/context/context-state.d.ts +0 -18
  266. package/dist/context/context/context-state.d.ts.map +0 -1
  267. package/dist/context/context/context-state.js +0 -26
  268. package/dist/context/context/context-state.js.map +0 -1
  269. package/dist/context/context/create-browser-context.d.ts +0 -41
  270. package/dist/context/context/create-browser-context.d.ts.map +0 -1
  271. package/dist/context/context/create-browser-context.js +0 -61
  272. package/dist/context/context/create-browser-context.js.map +0 -1
  273. package/dist/context/context/create-headless-context.d.ts +0 -9
  274. package/dist/context/context/create-headless-context.d.ts.map +0 -1
  275. package/dist/context/context/create-headless-context.js +0 -43
  276. package/dist/context/context/create-headless-context.js.map +0 -1
  277. package/dist/context/context/device-pixels.d.ts +0 -25
  278. package/dist/context/context/device-pixels.d.ts.map +0 -1
  279. package/dist/context/context/device-pixels.js +0 -103
  280. package/dist/context/context/device-pixels.js.map +0 -1
  281. package/dist/context/context/webgl-checks.d.ts +0 -13
  282. package/dist/context/context/webgl-checks.d.ts.map +0 -1
  283. package/dist/context/context/webgl-checks.js +0 -34
  284. package/dist/context/context/webgl-checks.js.map +0 -1
  285. package/dist/context/debug/spector.js.map +0 -1
  286. package/dist/context/debug/webgl-developer-tools.js.map +0 -1
  287. package/dist/context/parameters/unified-parameter-api.js.map +0 -1
  288. package/dist/context/parameters/webgl-parameter-tables.js.map +0 -1
  289. package/dist/context/polyfill/get-parameter-polyfill.d.ts +0 -2
  290. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +0 -1
  291. package/dist/context/polyfill/get-parameter-polyfill.js +0 -91
  292. package/dist/context/polyfill/get-parameter-polyfill.js.map +0 -1
  293. package/dist/context/polyfill/polyfill-context.d.ts +0 -5
  294. package/dist/context/polyfill/polyfill-context.d.ts.map +0 -1
  295. package/dist/context/polyfill/polyfill-context.js +0 -91
  296. package/dist/context/polyfill/polyfill-context.js.map +0 -1
  297. package/dist/context/polyfill/polyfill-table.d.ts +0 -48
  298. package/dist/context/polyfill/polyfill-table.d.ts.map +0 -1
  299. package/dist/context/polyfill/polyfill-table.js +0 -160
  300. package/dist/context/polyfill/polyfill-table.js.map +0 -1
  301. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +0 -2
  302. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +0 -1
  303. package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -335
  304. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  305. package/dist/context/state-tracker/deep-array-equal.js.map +0 -1
  306. package/dist/context/state-tracker/track-context-state.js.map +0 -1
  307. package/dist/context/state-tracker/with-parameters.js.map +0 -1
  308. package/dist/es5/adapter/converters/device-parameters.js +0 -185
  309. package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
  310. package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
  311. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
  312. package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
  313. package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
  314. package/dist/es5/adapter/converters/texture-formats.js +0 -1031
  315. package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
  316. package/dist/es5/adapter/converters/vertex-formats.js +0 -45
  317. package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
  318. package/dist/es5/adapter/device-helpers/device-features.js +0 -155
  319. package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
  320. package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
  321. package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
  322. package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
  323. package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
  324. package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
  325. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
  326. package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
  327. package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
  328. package/dist/es5/adapter/helpers/get-shader-layout.js +0 -391
  329. package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
  330. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
  331. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  332. package/dist/es5/adapter/helpers/set-uniform.js +0 -125
  333. package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
  334. package/dist/es5/adapter/helpers/uniforms.js +0 -112
  335. package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
  336. package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
  337. package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
  338. package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
  339. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
  340. package/dist/es5/adapter/objects/webgl-resource.js +0 -292
  341. package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
  342. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
  343. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  344. package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
  345. package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
  346. package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
  347. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
  348. package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
  349. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
  350. package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
  351. package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
  352. package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -346
  353. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
  354. package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
  355. package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
  356. package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -530
  357. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
  358. package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
  359. package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
  360. package/dist/es5/adapter/resources/webgl-shader.js +0 -150
  361. package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
  362. package/dist/es5/adapter/resources/webgl-texture.js +0 -986
  363. package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
  364. package/dist/es5/adapter/webgl-canvas-context.js +0 -97
  365. package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
  366. package/dist/es5/adapter/webgl-device.js +0 -463
  367. package/dist/es5/adapter/webgl-device.js.map +0 -1
  368. package/dist/es5/bundle.js +0 -7
  369. package/dist/es5/bundle.js.map +0 -1
  370. package/dist/es5/classic/accessor.js +0 -181
  371. package/dist/es5/classic/accessor.js.map +0 -1
  372. package/dist/es5/classic/buffer.js +0 -478
  373. package/dist/es5/classic/buffer.js.map +0 -1
  374. package/dist/es5/classic/typed-array-utils.js +0 -126
  375. package/dist/es5/classic/typed-array-utils.js.map +0 -1
  376. package/dist/es5/context/context/context-state.js +0 -31
  377. package/dist/es5/context/context/context-state.js.map +0 -1
  378. package/dist/es5/context/context/create-browser-context.js +0 -83
  379. package/dist/es5/context/context/create-browser-context.js.map +0 -1
  380. package/dist/es5/context/context/create-headless-context.js +0 -60
  381. package/dist/es5/context/context/create-headless-context.js.map +0 -1
  382. package/dist/es5/context/context/device-pixels.js +0 -121
  383. package/dist/es5/context/context/device-pixels.js.map +0 -1
  384. package/dist/es5/context/context/webgl-checks.js +0 -54
  385. package/dist/es5/context/context/webgl-checks.js.map +0 -1
  386. package/dist/es5/context/debug/spector.js +0 -133
  387. package/dist/es5/context/debug/spector.js.map +0 -1
  388. package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
  389. package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
  390. package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
  391. package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
  392. package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
  393. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
  394. package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
  395. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
  396. package/dist/es5/context/polyfill/polyfill-context.js +0 -134
  397. package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
  398. package/dist/es5/context/polyfill/polyfill-table.js +0 -166
  399. package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
  400. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
  401. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  402. package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
  403. package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
  404. package/dist/es5/context/state-tracker/track-context-state.js +0 -211
  405. package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
  406. package/dist/es5/context/state-tracker/with-parameters.js +0 -44
  407. package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
  408. package/dist/es5/index.js +0 -290
  409. package/dist/es5/index.js.map +0 -1
  410. package/dist/es5/init.js +0 -10
  411. package/dist/es5/init.js.map +0 -1
  412. package/dist/es5/types/webgl.js +0 -6
  413. package/dist/es5/types/webgl.js.map +0 -1
  414. package/dist/es5/types.js +0 -2
  415. package/dist/es5/types.js.map +0 -1
  416. package/dist/esm/adapter/converters/device-parameters.js +0 -168
  417. package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
  418. package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
  419. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
  420. package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
  421. package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
  422. package/dist/esm/adapter/converters/texture-formats.js +0 -954
  423. package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
  424. package/dist/esm/adapter/converters/vertex-formats.js +0 -35
  425. package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
  426. package/dist/esm/adapter/device-helpers/device-features.js +0 -112
  427. package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
  428. package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
  429. package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
  430. package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
  431. package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
  432. package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
  433. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
  434. package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
  435. package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
  436. package/dist/esm/adapter/helpers/get-shader-layout.js +0 -330
  437. package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
  438. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
  439. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
  440. package/dist/esm/adapter/helpers/set-uniform.js +0 -115
  441. package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
  442. package/dist/esm/adapter/helpers/uniforms.js +0 -99
  443. package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
  444. package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
  445. package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
  446. package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
  447. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
  448. package/dist/esm/adapter/objects/webgl-resource.js +0 -216
  449. package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
  450. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
  451. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
  452. package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
  453. package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
  454. package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
  455. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
  456. package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
  457. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
  458. package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
  459. package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
  460. package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
  461. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
  462. package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
  463. package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
  464. package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -428
  465. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
  466. package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
  467. package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
  468. package/dist/esm/adapter/resources/webgl-shader.js +0 -76
  469. package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
  470. package/dist/esm/adapter/resources/webgl-texture.js +0 -834
  471. package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
  472. package/dist/esm/adapter/webgl-canvas-context.js +0 -54
  473. package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
  474. package/dist/esm/adapter/webgl-device.js +0 -337
  475. package/dist/esm/adapter/webgl-device.js.map +0 -1
  476. package/dist/esm/bundle.js +0 -5
  477. package/dist/esm/bundle.js.map +0 -1
  478. package/dist/esm/classic/accessor.js +0 -144
  479. package/dist/esm/classic/accessor.js.map +0 -1
  480. package/dist/esm/classic/buffer.js +0 -392
  481. package/dist/esm/classic/buffer.js.map +0 -1
  482. package/dist/esm/classic/typed-array-utils.js +0 -112
  483. package/dist/esm/classic/typed-array-utils.js.map +0 -1
  484. package/dist/esm/context/context/context-state.js +0 -26
  485. package/dist/esm/context/context/context-state.js.map +0 -1
  486. package/dist/esm/context/context/create-browser-context.js +0 -61
  487. package/dist/esm/context/context/create-browser-context.js.map +0 -1
  488. package/dist/esm/context/context/create-headless-context.js +0 -43
  489. package/dist/esm/context/context/create-headless-context.js.map +0 -1
  490. package/dist/esm/context/context/device-pixels.js +0 -103
  491. package/dist/esm/context/context/device-pixels.js.map +0 -1
  492. package/dist/esm/context/context/webgl-checks.js +0 -34
  493. package/dist/esm/context/context/webgl-checks.js.map +0 -1
  494. package/dist/esm/context/debug/spector.js +0 -76
  495. package/dist/esm/context/debug/spector.js.map +0 -1
  496. package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
  497. package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
  498. package/dist/esm/context/parameters/unified-parameter-api.js +0 -63
  499. package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
  500. package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
  501. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
  502. package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
  503. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
  504. package/dist/esm/context/polyfill/polyfill-context.js +0 -91
  505. package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
  506. package/dist/esm/context/polyfill/polyfill-table.js +0 -160
  507. package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
  508. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
  509. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
  510. package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
  511. package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
  512. package/dist/esm/context/state-tracker/track-context-state.js +0 -183
  513. package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
  514. package/dist/esm/context/state-tracker/with-parameters.js +0 -36
  515. package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
  516. package/dist/esm/index.js +0 -28
  517. package/dist/esm/index.js.map +0 -1
  518. package/dist/esm/init.js +0 -4
  519. package/dist/esm/init.js.map +0 -1
  520. package/dist/esm/types/webgl.js +0 -2
  521. package/dist/esm/types/webgl.js.map +0 -1
  522. package/dist/esm/types.js +0 -2
  523. package/dist/esm/types.js.map +0 -1
  524. package/dist/index.js.map +0 -1
  525. package/dist/init.d.ts +0 -2
  526. package/dist/init.d.ts.map +0 -1
  527. package/dist/init.js +0 -4
  528. package/dist/init.js.map +0 -1
  529. package/dist/types/webgl.d.ts +0 -145
  530. package/dist/types/webgl.d.ts.map +0 -1
  531. package/dist/types/webgl.js +0 -2
  532. package/dist/types/webgl.js.map +0 -1
  533. package/dist/types.js.map +0 -1
  534. package/src/adapter/converters/renderbuffer-formats.ts +0 -92
  535. package/src/adapter/device-helpers/device-features.ts +0 -158
  536. package/src/adapter/device-helpers/device-limits.ts +0 -153
  537. package/src/adapter/device-helpers/get-device-info.ts +0 -49
  538. package/src/adapter/device-helpers/is-old-ie.ts +0 -11
  539. package/src/adapter/helpers/attribute-utils.ts +0 -61
  540. package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
  541. package/src/bundle.ts +0 -4
  542. package/src/classic/buffer.ts +0 -474
  543. package/src/context/context/context-state.ts +0 -41
  544. package/src/context/context/create-browser-context.ts +0 -118
  545. package/src/context/context/create-headless-context.ts +0 -48
  546. package/src/context/context/device-pixels.ts +0 -158
  547. package/src/context/context/webgl-checks.ts +0 -49
  548. package/src/context/polyfill/get-parameter-polyfill.ts +0 -118
  549. package/src/context/polyfill/polyfill-context.ts +0 -97
  550. package/src/context/polyfill/polyfill-table.ts +0 -162
  551. package/src/context/polyfill/polyfill-vertex-array-object.ts +0 -360
  552. package/src/init.ts +0 -4
  553. package/src/types/webgl.ts +0 -284
@@ -1,65 +1,290 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import GL from '@luma.gl/constants';
3
-
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { CommandBuffer, Texture } from '@luma.gl/core';
5
+ import { GL } from '@luma.gl/constants';
6
+ import { WEBGLTexture } from "./webgl-texture.js";
7
+ import { getWebGLTextureParameters } from "../converters/texture-formats.js";
4
8
  function cast(value) {
5
- return value;
9
+ return value;
6
10
  }
7
-
8
- export default class CommandBuffer {
9
- constructor() {
10
- _defineProperty(this, "commands", []);
11
- }
12
-
13
- }
14
- export function submitCommands(device, commands = []) {
15
- for (const command of commands) {
16
- switch (command.name) {
17
- case 'copy-buffer-to-buffer':
18
- _copyBufferToBuffer(device, command.options);
19
-
20
- break;
21
-
22
- case 'copy-buffer-to-texture':
23
- _copyBufferToTexture(device, command.options);
24
-
25
- break;
26
-
27
- case 'copy-texture-to-buffer':
28
- _copyTextureToBuffer(device, command.options);
29
-
30
- break;
31
-
32
- case 'copy-texture-to-texture':
33
- _copyTextureToTexture(device, command.options);
34
-
35
- break;
11
+ export class WEBGLCommandBuffer extends CommandBuffer {
12
+ device;
13
+ commands = [];
14
+ constructor(device) {
15
+ super(device, {});
16
+ this.device = device;
17
+ }
18
+ submitCommands(commands = this.commands) {
19
+ for (const command of commands) {
20
+ switch (command.name) {
21
+ case 'copy-buffer-to-buffer':
22
+ _copyBufferToBuffer(this.device, command.options);
23
+ break;
24
+ case 'copy-buffer-to-texture':
25
+ _copyBufferToTexture(this.device, command.options);
26
+ break;
27
+ case 'copy-texture-to-buffer':
28
+ _copyTextureToBuffer(this.device, command.options);
29
+ break;
30
+ case 'copy-texture-to-texture':
31
+ _copyTextureToTexture(this.device, command.options);
32
+ break;
33
+ }
34
+ }
36
35
  }
37
- }
38
36
  }
39
-
40
37
  function _copyBufferToBuffer(device, options) {
41
- const source = cast(options.source);
42
- const destination = cast(options.destination);
43
- const {
44
- gl2
45
- } = device;
46
-
47
- if (gl2) {
48
- var _options$sourceOffset, _options$destinationO;
49
-
50
- gl2.bindBuffer(GL.COPY_READ_BUFFER, source.handle);
51
- gl2.bindBuffer(GL.COPY_WRITE_BUFFER, destination.handle);
52
- gl2.copyBufferSubData(GL.COPY_READ_BUFFER, GL.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);
53
- gl2.bindBuffer(GL.COPY_READ_BUFFER, null);
54
- gl2.bindBuffer(GL.COPY_WRITE_BUFFER, null);
55
- } else {
56
- throw new Error('copyBufferToBuffer not implemented in WebGL1');
38
+ const source = cast(options.source);
39
+ const destination = cast(options.destination);
40
+ // {In WebGL2 we can p}erform the copy on the GPU
41
+ // Use GL.COPY_READ_BUFFER+GL.COPY_WRITE_BUFFER avoid disturbing other targets and locking type
42
+ device.gl.bindBuffer(36662, source.handle);
43
+ device.gl.bindBuffer(36663, destination.handle);
44
+ device.gl.copyBufferSubData(36662, 36663, options.sourceOffset ?? 0, options.destinationOffset ?? 0, options.size);
45
+ device.gl.bindBuffer(36662, null);
46
+ device.gl.bindBuffer(36663, null);
47
+ }
48
+ /**
49
+ * Copies data from a Buffer object into a Texture object
50
+ * NOTE: doesn't wait for copy to be complete
51
+ */
52
+ function _copyBufferToTexture(device, options) {
53
+ throw new Error('Not implemented');
54
+ }
55
+ /**
56
+ * Copies data from a Texture object into a Buffer object.
57
+ * NOTE: doesn't wait for copy to be complete
58
+ */
59
+ function _copyTextureToBuffer(device, options) {
60
+ const {
61
+ /** Texture to copy to/from. */
62
+ source,
63
+ /** Mip-map level of the texture to copy to/from. (Default 0) */
64
+ mipLevel = 0,
65
+ /** Defines which aspects of the texture to copy to/from. */
66
+ aspect = 'all',
67
+ /** Width to copy */
68
+ width = options.source.width,
69
+ /** Height to copy */
70
+ height = options.source.height, depthOrArrayLayers = 0,
71
+ /** Defines the origin of the copy - the minimum corner of the texture sub-region to copy to/from. */
72
+ origin = [0, 0],
73
+ /** Destination buffer */
74
+ destination,
75
+ /** Offset, in bytes, from the beginning of the buffer to the start of the image data (default 0) */
76
+ byteOffset = 0,
77
+ /**
78
+ * The stride, in bytes, between the beginning of each block row and the subsequent block row.
79
+ * Required if there are multiple block rows (i.e. the copy height or depth is more than one block).
80
+ */
81
+ bytesPerRow,
82
+ /**
83
+ * Number of block rows per single image of the texture.
84
+ * rowsPerImage × bytesPerRow is the stride, in bytes, between the beginning of each image of data and the subsequent image.
85
+ * Required if there are multiple images (i.e. the copy depth is more than one).
86
+ */
87
+ rowsPerImage } = options;
88
+ // TODO - Not possible to read just stencil or depth part in WebGL?
89
+ if (aspect !== 'all') {
90
+ throw new Error('not supported');
91
+ }
92
+ // TODO - mipLevels are set when attaching texture to framebuffer
93
+ if (mipLevel !== 0 || depthOrArrayLayers !== 0 || bytesPerRow || rowsPerImage) {
94
+ throw new Error('not implemented');
95
+ }
96
+ // Asynchronous read (PIXEL_PACK_BUFFER) is WebGL2 only feature
97
+ const { framebuffer, destroyFramebuffer } = getFramebuffer(source);
98
+ try {
99
+ const webglBuffer = destination;
100
+ const sourceWidth = width || framebuffer.width;
101
+ const sourceHeight = height || framebuffer.height;
102
+ const sourceParams = getWebGLTextureParameters(framebuffer.texture.props.format);
103
+ const sourceFormat = sourceParams.dataFormat;
104
+ const sourceType = sourceParams.type;
105
+ // if (!target) {
106
+ // // Create new buffer with enough size
107
+ // const components = glFormatToComponents(sourceFormat);
108
+ // const byteCount = glTypeToBytes(sourceType);
109
+ // const byteLength = byteOffset + sourceWidth * sourceHeight * components * byteCount;
110
+ // target = device.createBuffer({byteLength});
111
+ // }
112
+ device.gl.bindBuffer(35051, webglBuffer.handle);
113
+ device.gl.bindFramebuffer(36160, framebuffer.handle);
114
+ device.gl.readPixels(origin[0], origin[1], sourceWidth, sourceHeight, sourceFormat, sourceType, byteOffset);
115
+ }
116
+ finally {
117
+ device.gl.bindBuffer(35051, null);
118
+ device.gl.bindFramebuffer(36160, null);
119
+ if (destroyFramebuffer) {
120
+ framebuffer.destroy();
121
+ }
122
+ }
123
+ }
124
+ /**
125
+ * Copies data from a Framebuffer or a Texture object into a Buffer object.
126
+ * NOTE: doesn't wait for copy to be complete, it programs GPU to perform a DMA transfer.
127
+ export function readPixelsToBuffer(
128
+ source: Framebuffer | Texture,
129
+ options?: {
130
+ sourceX?: number;
131
+ sourceY?: number;
132
+ sourceFormat?: number;
133
+ target?: Buffer; // A new Buffer object is created when not provided.
134
+ targetByteOffset?: number; // byte offset in buffer object
135
+ // following parameters are auto deduced if not provided
136
+ sourceWidth?: number;
137
+ sourceHeight?: number;
138
+ sourceType?: number;
57
139
  }
140
+ ): Buffer
141
+ */
142
+ /**
143
+ * Copy a rectangle from a Framebuffer or Texture object into a texture (at an offset)
144
+ */
145
+ // eslint-disable-next-line complexity, max-statements
146
+ function _copyTextureToTexture(device, options) {
147
+ const {
148
+ /** Texture to copy to/from. */
149
+ source,
150
+ /** Mip-map level of the texture to copy to/from. (Default 0) */
151
+ // mipLevel = 0,
152
+ /** Defines which aspects of the texture to copy to/from. */
153
+ // aspect = 'all',
154
+ /** Defines the origin of the copy - the minimum corner of the texture sub-region to copy to/from. */
155
+ origin = [0, 0],
156
+ /** Texture to copy to/from. */
157
+ destination
158
+ /** Mip-map level of the texture to copy to/from. (Default 0) */
159
+ // destinationMipLevel = options.mipLevel,
160
+ /** Defines the origin of the copy - the minimum corner of the texture sub-region to copy to/from. */
161
+ // destinationOrigin = [0, 0],
162
+ /** Defines which aspects of the texture to copy to/from. */
163
+ // destinationAspect = options.aspect,
164
+ } = options;
165
+ let { width = options.destination.width, height = options.destination.width
166
+ // depthOrArrayLayers = 0
167
+ } = options;
168
+ const destinationMipmaplevel = 0;
169
+ const destinationInternalFormat = 6408;
170
+ const { framebuffer, destroyFramebuffer } = getFramebuffer(source);
171
+ const [sourceX, sourceY] = origin;
172
+ const isSubCopy = false;
173
+ // typeof destinationX !== 'undefined' ||
174
+ // typeof destinationY !== 'undefined' ||
175
+ // typeof destinationZ !== 'undefined';
176
+ // destinationX = destinationX || 0;
177
+ // destinationY = destinationY || 0;
178
+ // destinationZ = destinationZ || 0;
179
+ device.gl.bindFramebuffer(36160, framebuffer.handle);
180
+ // TODO - support gl.readBuffer (WebGL2 only)
181
+ // const prevBuffer = gl.readBuffer(attachment);
182
+ let texture = null;
183
+ let textureTarget;
184
+ if (destination instanceof WEBGLTexture) {
185
+ texture = destination;
186
+ width = Number.isFinite(width) ? width : texture.width;
187
+ height = Number.isFinite(height) ? height : texture.height;
188
+ texture.bind(0);
189
+ textureTarget = texture.destination;
190
+ }
191
+ else {
192
+ throw new Error('whoops');
193
+ // textureTarget = destination;
194
+ }
195
+ if (!isSubCopy) {
196
+ device.gl.copyTexImage2D(textureTarget, destinationMipmaplevel, destinationInternalFormat, sourceX, sourceY, width, height, 0 /* border must be 0 */);
197
+ }
198
+ else {
199
+ // switch (textureTarget) {
200
+ // case GL.TEXTURE_2D:
201
+ // case GL.TEXTURE_CUBE_MAP:
202
+ // device.gl.copyTexSubImage2D(
203
+ // textureTarget,
204
+ // destinationMipmaplevel,
205
+ // destinationX,
206
+ // destinationY,
207
+ // sourceX,
208
+ // sourceY,
209
+ // width,
210
+ // height
211
+ // );
212
+ // break;
213
+ // case GL.TEXTURE_2D_ARRAY:
214
+ // case GL.TEXTURE_3D:
215
+ // device.gl.copyTexSubImage3D(
216
+ // textureTarget,
217
+ // destinationMipmaplevel,
218
+ // destinationX,
219
+ // destinationY,
220
+ // destinationZ,
221
+ // sourceX,
222
+ // sourceY,
223
+ // width,
224
+ // height
225
+ // );
226
+ // break;
227
+ // default:
228
+ // }
229
+ }
230
+ if (texture) {
231
+ texture.unbind();
232
+ }
233
+ // ts-expect-error
234
+ // device.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);
235
+ if (destroyFramebuffer) {
236
+ framebuffer.destroy();
237
+ }
238
+ return texture;
239
+ }
240
+ // Returns number of components in a specific readPixels WebGL format
241
+ export function glFormatToComponents(format) {
242
+ switch (format) {
243
+ case 6406:
244
+ case 33326:
245
+ case 6403:
246
+ return 1;
247
+ case 33328:
248
+ case 33319:
249
+ return 2;
250
+ case 6407:
251
+ case 34837:
252
+ return 3;
253
+ case 6408:
254
+ case 34836:
255
+ return 4;
256
+ // TODO: Add support for additional WebGL2 formats
257
+ default:
258
+ throw new Error('GLFormat');
259
+ }
260
+ }
261
+ // Return byte count for given readPixels WebGL type
262
+ export function glTypeToBytes(type) {
263
+ switch (type) {
264
+ case 5121:
265
+ return 1;
266
+ case 33635:
267
+ case 32819:
268
+ case 32820:
269
+ return 2;
270
+ case 5126:
271
+ return 4;
272
+ // TODO: Add support for additional WebGL2 types
273
+ default:
274
+ throw new Error('GLType');
275
+ }
276
+ }
277
+ // Helper methods
278
+ function getFramebuffer(source) {
279
+ if (source instanceof Texture) {
280
+ const { width, height, id } = source;
281
+ const framebuffer = source.device.createFramebuffer({
282
+ id: `framebuffer-for-${id}`,
283
+ width,
284
+ height,
285
+ colorAttachments: [source]
286
+ });
287
+ return { framebuffer, destroyFramebuffer: true };
288
+ }
289
+ return { framebuffer: source, destroyFramebuffer: false };
58
290
  }
59
-
60
- function _copyBufferToTexture(device, options) {}
61
-
62
- function _copyTextureToBuffer(device, options) {}
63
-
64
- function _copyTextureToTexture(device, options) {}
65
- //# sourceMappingURL=webgl-command-buffer.js.map
@@ -1,12 +1,13 @@
1
- import { CommandEncoder, CommandEncoderProps } from '@luma.gl/api';
2
- import type { CopyBufferToBufferOptions, CopyBufferToTextureOptions, CopyTextureToBufferOptions, CopyTextureToTextureOptions } from '@luma.gl/api';
3
- import CommandBuffer from './webgl-command-buffer';
4
- import WebGLDevice from '../webgl-device';
5
- export default class WEBGLCommandEncoder extends CommandEncoder {
1
+ import { CommandEncoder, CommandEncoderProps } from '@luma.gl/core';
2
+ import type { CopyBufferToBufferOptions, CopyBufferToTextureOptions, CopyTextureToBufferOptions, CopyTextureToTextureOptions, QuerySet, Buffer } from '@luma.gl/core';
3
+ import { WEBGLCommandBuffer } from "./webgl-command-buffer.js";
4
+ import { WebGLDevice } from "../webgl-device.js";
5
+ export declare class WEBGLCommandEncoder extends CommandEncoder {
6
6
  readonly device: WebGLDevice;
7
- readonly commandBuffer: CommandBuffer;
7
+ readonly commandBuffer: WEBGLCommandBuffer;
8
8
  constructor(device: WebGLDevice, props: CommandEncoderProps);
9
9
  destroy(): void;
10
+ finish(): void;
10
11
  copyBufferToBuffer(options: CopyBufferToBufferOptions): void;
11
12
  copyBufferToTexture(options: CopyBufferToTextureOptions): void;
12
13
  copyTextureToBuffer(options: CopyTextureToBufferOptions): void;
@@ -14,5 +15,10 @@ export default class WEBGLCommandEncoder extends CommandEncoder {
14
15
  pushDebugGroup(groupLabel: string): void;
15
16
  popDebugGroup(): void;
16
17
  insertDebugMarker(markerLabel: string): void;
18
+ resolveQuerySet(querySet: QuerySet, destination: Buffer, options?: {
19
+ firstQuery?: number;
20
+ queryCount?: number;
21
+ destinationOffset?: number;
22
+ }): void;
17
23
  }
18
24
  //# sourceMappingURL=webgl-command-encoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-command-encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,cAAc;IAC7D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,QAAQ,CAAC,aAAa,gBAAuB;gBAEjC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB;IAK3D,OAAO;IAMP,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI;IAI5D,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;IAIvD,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAI9D,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI;IAIhE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACxC,aAAa;IAEb,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAW7C"}
1
+ {"version":3,"file":"webgl-command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-command-encoder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,QAAQ,EACR,MAAM,EACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,kBAAkB,EAAC,kCAA+B;AAC1D,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;gBAE/B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB;IAMlD,OAAO,IAAI,IAAI;IAEf,MAAM,IAAI,IAAI;IAQvB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI;IAI5D,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;IAIvD,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAI9D,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI;IAIvD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACxC,aAAa;IAEb,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAE5C,eAAe,CACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GACA,IAAI;CACR"}
@@ -1,53 +1,37 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { CommandEncoder } from '@luma.gl/api';
3
- import CommandBuffer from './webgl-command-buffer';
4
- export default class WEBGLCommandEncoder extends CommandEncoder {
5
- constructor(device, props) {
6
- super(props);
7
-
8
- _defineProperty(this, "device", void 0);
9
-
10
- _defineProperty(this, "commandBuffer", new CommandBuffer());
11
-
12
- this.device = device;
13
- }
14
-
15
- destroy() {}
16
-
17
- copyBufferToBuffer(options) {
18
- this.commandBuffer.commands.push({
19
- name: 'copy-buffer-to-buffer',
20
- options
21
- });
22
- }
23
-
24
- copyBufferToTexture(options) {
25
- this.commandBuffer.commands.push({
26
- name: 'copy-buffer-to-texture',
27
- options
28
- });
29
- }
30
-
31
- copyTextureToBuffer(options) {
32
- this.commandBuffer.commands.push({
33
- name: 'copy-texture-to-buffer',
34
- options
35
- });
36
- }
37
-
38
- copyTextureToTexture(options) {
39
- this.commandBuffer.commands.push({
40
- name: 'copy-texture-to-texture',
41
- options
42
- });
43
- }
44
-
45
- pushDebugGroup(groupLabel) {}
46
-
47
- popDebugGroup() {}
48
-
49
- insertDebugMarker(markerLabel) {}
50
-
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { CommandEncoder } from '@luma.gl/core';
5
+ import { WEBGLCommandBuffer } from "./webgl-command-buffer.js";
6
+ export class WEBGLCommandEncoder extends CommandEncoder {
7
+ device;
8
+ commandBuffer;
9
+ constructor(device, props) {
10
+ super(device, props);
11
+ this.device = device;
12
+ this.commandBuffer = new WEBGLCommandBuffer(device);
13
+ }
14
+ destroy() { }
15
+ finish() {
16
+ this.commandBuffer.submitCommands();
17
+ }
18
+ // beginRenderPass(GPURenderPassDescriptor descriptor): GPURenderPassEncoder;
19
+ // beginComputePass(optional GPUComputePassDescriptor descriptor = {}): GPUComputePassEncoder;
20
+ // finish(options?: {id?: string}): GPUCommandBuffer;
21
+ copyBufferToBuffer(options) {
22
+ this.commandBuffer.commands.push({ name: 'copy-buffer-to-buffer', options });
23
+ }
24
+ copyBufferToTexture(options) {
25
+ this.commandBuffer.commands.push({ name: 'copy-buffer-to-texture', options });
26
+ }
27
+ copyTextureToBuffer(options) {
28
+ this.commandBuffer.commands.push({ name: 'copy-texture-to-buffer', options });
29
+ }
30
+ copyTextureToTexture(options) {
31
+ this.commandBuffer.commands.push({ name: 'copy-texture-to-texture', options });
32
+ }
33
+ pushDebugGroup(groupLabel) { }
34
+ popDebugGroup() { }
35
+ insertDebugMarker(markerLabel) { }
36
+ resolveQuerySet(querySet, destination, options) { }
51
37
  }
52
- ;
53
- //# sourceMappingURL=webgl-command-encoder.js.map
@@ -1,2 +1,94 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ /*
5
+ export class WEBGLExternalTexture extends WEBGLTexture {
6
+ readonly device: WebGLDevice;
7
+ readonly gl: WebGL2RenderingContext;
8
+ readonly handle: WebGLTexture;
1
9
 
2
- //# sourceMappingURL=webgl-external-texture.js.map
10
+ data;
11
+
12
+ width: number = undefined;
13
+ height: number = undefined;
14
+ depth: number = undefined;
15
+
16
+ format = undefined;
17
+ type = undefined;
18
+ dataFormat = undefined;
19
+ border = undefined;
20
+ mipmaps: boolean = undefined;
21
+
22
+ textureUnit: number = undefined;
23
+
24
+ sampler: WEBGLSampler;
25
+
26
+ // Program.draw() checks the loaded flag of all textures to avoid
27
+ // Textures that are still loading from promises
28
+ // Set to true as soon as texture has been initialized with valid data
29
+ loaded = false;
30
+ _video;
31
+
32
+ readonly target: GL;
33
+ // target cannot be modified by bind:
34
+ // textures are special because when you first bind them to a target,
35
+ // they get special information. When you first bind a texture as a
36
+ // GL_TEXTURE_2D, you are actually setting special state in the texture.
37
+ // You are saying that this texture is a 2D texture.
38
+ // And it will always be a 2D texture; this state cannot be changed ever.
39
+ // If you have a texture that was first bound as a GL_TEXTURE_2D,
40
+ // you must always bind it as a GL_TEXTURE_2D;
41
+ // attempting to bind it as GL_TEXTURE_3D will give rise to an error
42
+ // (while run-time).
43
+
44
+ static isSupported(device: WebGLDevice, options?: TextureSupportOptions): boolean {
45
+ const {format, linearFiltering} = options;
46
+ let supported = true;
47
+ if (format) {
48
+ supported = supported && isFormatSupported(device.gl, format);
49
+ supported = supported && (!linearFiltering || isTextureFormatFilterable(device.gl, format));
50
+ }
51
+ return supported;
52
+ }
53
+
54
+ // eslint-disable-next-line max-statements
55
+ constructor(device: Device , props: TextureProps) {
56
+ super(device as WebGLDevice, {id: uid('texture'), ...props});
57
+
58
+ this.glTarget = getWebGLTextureTarget(props);
59
+
60
+ this.device = device as WebGLDevice;
61
+ this.gl = this.device.gl;
62
+ this.gl2 = this.device.gl2;
63
+ this.handle = this.props.handle || this.gl.createTexture();
64
+
65
+ let data = props.data;
66
+
67
+ const isVideo = typeof HTMLVideoElement !== 'undefined' && data instanceof HTMLVideoElement;
68
+ // @ts-expect-error
69
+ if (isVideo && data.readyState < HTMLVideoElement.HAVE_METADATA) {
70
+ this._video = null; // Declare member before the object is sealed
71
+ data.addEventListener('loadeddata', () => this.initialize(props));
72
+ return this;
73
+ }
74
+
75
+ update(): this {
76
+ if (this._video) {
77
+ const {video, parameters, lastTime} = this._video;
78
+ // @ts-expect-error
79
+ if (lastTime === video.currentTime || video.readyState < HTMLVideoElement.HAVE_CURRENT_DATA) {
80
+ return;
81
+ }
82
+ this.setSubImageData({
83
+ data: video,
84
+ parameters
85
+ });
86
+ if (this.mipmaps) {
87
+ this.generateMipmap();
88
+ }
89
+ this._video.lastTime = video.currentTime;
90
+ }
91
+ }
92
+
93
+
94
+ */
@@ -1,41 +1,33 @@
1
- import type { FramebufferProps, ColorTextureFormat } from '@luma.gl/api';
2
- import { Framebuffer, Texture } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import WebGLDevice from '../webgl-device';
5
- import WebGLTexture from './webgl-texture';
6
- import Renderbuffer from '../objects/webgl-renderbuffer';
7
- export declare type TextureAttachment = [Texture, number?, number?];
8
- export declare type Attachment = WebGLTexture | Renderbuffer | TextureAttachment;
1
+ import type { FramebufferProps, TextureFormat } from '@luma.gl/core';
2
+ import { Framebuffer, Texture } from '@luma.gl/core';
3
+ import { GL } from '@luma.gl/constants';
4
+ import { WebGLDevice } from "../webgl-device.js";
5
+ import { WEBGLTexture } from "./webgl-texture.js";
6
+ import { WEBGLTextureView } from "./webgl-texture-view.js";
7
+ export type Attachment = WEBGLTextureView | WEBGLTexture;
9
8
  /** luma.gl Framebuffer, WebGL implementation */
10
- export default class WEBGLFramebuffer extends Framebuffer {
9
+ export declare class WEBGLFramebuffer extends Framebuffer {
11
10
  device: WebGLDevice;
12
- gl: WebGLRenderingContext;
11
+ gl: WebGL2RenderingContext;
13
12
  handle: WebGLFramebuffer;
14
- get texture(): WebGLTexture;
15
- readonly colorAttachments: WebGLTexture[];
16
- readonly depthStencilAttachment: WebGLTexture | null;
17
- d: any;
18
- protected _ownResources: (WebGLTexture | Renderbuffer)[];
13
+ get texture(): import("@luma.gl/core").TextureView;
19
14
  constructor(device: WebGLDevice, props: FramebufferProps);
15
+ /** destroys any auto created resources etc. */
20
16
  destroy(): void;
21
- /** Check the status */
22
- protected _checkStatus(): void;
23
- _createColorAttachments(): WebGLTexture[];
24
- /** Create a color attachment */
25
- protected _createColorAttachment(format: ColorTextureFormat, width: number, height: number): WebGLTexture;
26
- /** Create a depth stencil attachment GL.DEPTH24_STENCIL8 */
27
- protected _createDepthStencilAttachment(): Renderbuffer | WebGLTexture;
28
- /** Attachment resize is expected to be a noop if size is same */
29
- protected _resizeAttachments(width: number, height: number): this;
17
+ /** In WebGL we must use renderbuffers for depth/stencil attachments (unless we have extensions) */
18
+ protected createDepthStencilTexture(format: TextureFormat): Texture;
19
+ /**
20
+ * Attachment resize is expected to be a noop if size is same
21
+ */
22
+ protected resizeAttachments(width: number, height: number): this;
30
23
  /** Attach one attachment */
31
- protected _attachOne(attachmentPoint: GL, attachment: Attachment): WebGLTexture | Renderbuffer;
32
- protected _attachRenderbuffer(attachment: GL, renderbuffer: Renderbuffer): void;
24
+ protected _attachOne(attachmentPoint: GL, attachment: Attachment): WEBGLTexture;
33
25
  /**
34
26
  * @param attachment
35
27
  * @param texture
36
- * @param layer = 0 - index into WebGLTextureArray and Texture3D or face for `TextureCubeMap`
37
- * @param level = 0 - mipmapLevel (must be 0 in WebGL1)
28
+ * @param layer = 0 - index into WEBGLTextureArray and Texture3D or face for `TextureCubeMap`
29
+ * @param level = 0 - mipmapLevel
38
30
  */
39
- protected _attachTexture(attachment: GL, texture: WebGLTexture, layer: number, level: number): void;
31
+ protected _attachTexture(attachment: GL, texture: WEBGLTexture, layer: number, level: number): void;
40
32
  }
41
33
  //# sourceMappingURL=webgl-framebuffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-framebuffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-framebuffer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAA6B,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAClG,OAAO,EAAC,WAAW,EAAE,OAAO,EAAc,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAGzD,oBAAY,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5D,oBAAY,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEzE,iDAAiD;AACjD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,EAAE,qBAAqB,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IAEzB,IAAI,OAAO,iBAAuC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,YAAY,EAAE,CAAM;IAC/C,QAAQ,CAAC,sBAAsB,EAAE,YAAY,GAAG,IAAI,CAAQ;IAAE,CAAC,MAAA;IAC/D,SAAS,CAAC,aAAa,EAAE,CAAC,YAAY,GAAG,YAAY,CAAC,EAAE,CAAM;gBAElD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB;IAwCxD,OAAO;IAaP,uBAAuB;IACvB,SAAS,CAAC,YAAY,IAAI,IAAI;IAW9B,uBAAuB,IAAI,YAAY,EAAE;IAgBzC,gCAAgC;IAChC,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY;IAgCzG,4DAA4D;IAC5D,SAAS,CAAC,6BAA6B,IAAI,YAAY,GAAG,YAAY;IAyBtE,iEAAiE;IACjE,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA0BjE,4BAA4B;IAC5B,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,YAAY;IAc9F,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAS/E;;;;;OAKG;IACF,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CA2BrG"}
1
+ {"version":3,"file":"webgl-framebuffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-framebuffer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACnE,OAAO,EAAC,WAAW,EAAE,OAAO,EAAS,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;AACtC,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAC5C,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,gBAAgB,EAAC,gCAA6B;AAMtD,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAEzD,iDAAiD;AACjD,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,EAAE,sBAAsB,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IAEzB,IAAI,OAAO,wCAEV;gBAEW,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB;IAkDxD,+CAA+C;IACtC,OAAO,IAAI,IAAI;IAUxB,mGAAmG;cAChF,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAW5E;;OAEG;cACgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA2BzE,4BAA4B;IAC5B,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY;IAqC/E;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CACtB,UAAU,EAAE,EAAE,EACd,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,IAAI;CA2BR"}