@luma.gl/webgl 8.5.16 → 8.5.18

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 (118) hide show
  1. package/dist/dist.js +44 -44
  2. package/dist/dist.min.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/classes/accessor.js.map +1 -1
  5. package/dist/es5/classes/buffer.js.map +1 -1
  6. package/dist/es5/classes/clear.js.map +1 -1
  7. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  8. package/dist/es5/classes/framebuffer.js.map +1 -1
  9. package/dist/es5/classes/program-configuration.js.map +1 -1
  10. package/dist/es5/classes/program.js.map +1 -1
  11. package/dist/es5/classes/query.js.map +1 -1
  12. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  13. package/dist/es5/classes/renderbuffer.js.map +1 -1
  14. package/dist/es5/classes/resource.js +20 -19
  15. package/dist/es5/classes/resource.js.map +1 -1
  16. package/dist/es5/classes/shader.js.map +1 -1
  17. package/dist/es5/classes/texture-2d.js.map +1 -1
  18. package/dist/es5/classes/texture-3d.js.map +1 -1
  19. package/dist/es5/classes/texture-cube.js.map +1 -1
  20. package/dist/es5/classes/texture-formats.js.map +1 -1
  21. package/dist/es5/classes/texture.js.map +1 -1
  22. package/dist/es5/classes/transform-feedback.js.map +1 -1
  23. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  24. package/dist/es5/classes/uniforms.js.map +1 -1
  25. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  26. package/dist/es5/classes/vertex-array.js.map +1 -1
  27. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  28. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  29. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  30. package/dist/es5/features/check-glsl-extension.js.map +1 -1
  31. package/dist/es5/features/check-old-ie.js.map +1 -1
  32. package/dist/es5/features/features.js.map +1 -1
  33. package/dist/es5/features/index.js.map +1 -1
  34. package/dist/es5/features/limits.js.map +1 -1
  35. package/dist/es5/features/webgl-features-table.js.map +1 -1
  36. package/dist/es5/features/webgl-limits-table.js.map +1 -1
  37. package/dist/es5/glsl-utils/format-glsl-error.js.map +1 -1
  38. package/dist/es5/glsl-utils/get-shader-name.js.map +1 -1
  39. package/dist/es5/glsl-utils/get-shader-type-name.js.map +1 -1
  40. package/dist/es5/glsl-utils/get-shader-version.js.map +1 -1
  41. package/dist/es5/glsl-utils/index.js.map +1 -1
  42. package/dist/es5/index.js.map +1 -1
  43. package/dist/es5/init.js +1 -1
  44. package/dist/es5/init.js.map +1 -1
  45. package/dist/es5/utils/array-utils-flat.js.map +1 -1
  46. package/dist/es5/utils/assert.js.map +1 -1
  47. package/dist/es5/utils/check-props.js.map +1 -1
  48. package/dist/es5/utils/format-value.js.map +1 -1
  49. package/dist/es5/utils/is-old-ie.js.map +1 -1
  50. package/dist/es5/utils/load-file.js.map +1 -1
  51. package/dist/es5/utils/stub-methods.js.map +1 -1
  52. package/dist/es5/utils/utils.js.map +1 -1
  53. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  54. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  55. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  56. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  57. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  58. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  59. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  60. package/dist/esm/bundle.js.map +1 -1
  61. package/dist/esm/classes/accessor.js.map +1 -1
  62. package/dist/esm/classes/buffer.js.map +1 -1
  63. package/dist/esm/classes/clear.js.map +1 -1
  64. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  65. package/dist/esm/classes/framebuffer.js.map +1 -1
  66. package/dist/esm/classes/program-configuration.js.map +1 -1
  67. package/dist/esm/classes/program.js.map +1 -1
  68. package/dist/esm/classes/query.js.map +1 -1
  69. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  70. package/dist/esm/classes/renderbuffer.js.map +1 -1
  71. package/dist/esm/classes/resource.js +15 -17
  72. package/dist/esm/classes/resource.js.map +1 -1
  73. package/dist/esm/classes/shader.js.map +1 -1
  74. package/dist/esm/classes/texture-2d.js.map +1 -1
  75. package/dist/esm/classes/texture-3d.js.map +1 -1
  76. package/dist/esm/classes/texture-cube.js.map +1 -1
  77. package/dist/esm/classes/texture-formats.js.map +1 -1
  78. package/dist/esm/classes/texture.js.map +1 -1
  79. package/dist/esm/classes/transform-feedback.js.map +1 -1
  80. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  81. package/dist/esm/classes/uniforms.js.map +1 -1
  82. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  83. package/dist/esm/classes/vertex-array.js.map +1 -1
  84. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  85. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  86. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  87. package/dist/esm/features/check-glsl-extension.js.map +1 -1
  88. package/dist/esm/features/check-old-ie.js.map +1 -1
  89. package/dist/esm/features/features.js.map +1 -1
  90. package/dist/esm/features/index.js.map +1 -1
  91. package/dist/esm/features/limits.js.map +1 -1
  92. package/dist/esm/features/webgl-features-table.js.map +1 -1
  93. package/dist/esm/features/webgl-limits-table.js.map +1 -1
  94. package/dist/esm/glsl-utils/format-glsl-error.js.map +1 -1
  95. package/dist/esm/glsl-utils/get-shader-name.js.map +1 -1
  96. package/dist/esm/glsl-utils/get-shader-type-name.js.map +1 -1
  97. package/dist/esm/glsl-utils/get-shader-version.js.map +1 -1
  98. package/dist/esm/glsl-utils/index.js.map +1 -1
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/init.js +1 -1
  101. package/dist/esm/init.js.map +1 -1
  102. package/dist/esm/utils/array-utils-flat.js.map +1 -1
  103. package/dist/esm/utils/assert.js.map +1 -1
  104. package/dist/esm/utils/check-props.js.map +1 -1
  105. package/dist/esm/utils/format-value.js.map +1 -1
  106. package/dist/esm/utils/is-old-ie.js.map +1 -1
  107. package/dist/esm/utils/load-file.js.map +1 -1
  108. package/dist/esm/utils/stub-methods.js.map +1 -1
  109. package/dist/esm/utils/utils.js.map +1 -1
  110. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  111. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  112. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  113. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  114. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  115. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  116. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  117. package/package.json +4 -4
  118. package/src/classes/resource.js +21 -21
@@ -1,5 +1,5 @@
1
1
  import {isWebGL2, assertWebGLContext} from '@luma.gl/gltools';
2
- import {lumaStats, StatsManager} from '../init';
2
+ import {lumaStats} from '../init';
3
3
  import {getKey, getKeyValue} from '../webgl-utils/constants-to-keys';
4
4
  import {assert} from '../utils/assert';
5
5
  import {uid} from '../utils/utils';
@@ -44,7 +44,6 @@ export default class Resource {
44
44
  // Only meaningful for resources that allocate GPU memory
45
45
  this.byteLength = 0;
46
46
 
47
- this._initStats();
48
47
  this._addStats();
49
48
  }
50
49
 
@@ -279,10 +278,6 @@ export default class Resource {
279
278
  return this.gl.luma;
280
279
  }
281
280
 
282
- _initStats() {
283
- this.gl.stats = this.gl.stats || new StatsManager();
284
- }
285
-
286
281
  _addStats() {
287
282
  const name = this[Symbol.toStringTag];
288
283
  const stats = lumaStats.get('Resource Counts');
@@ -299,32 +294,37 @@ export default class Resource {
299
294
  stats.get(`${name}s Active`).decrementCount();
300
295
  }
301
296
 
297
+ /**
298
+ * Track common allocated memory and memory based on particular gl context.
299
+ * @param {number} bytes
300
+ * @param {string} name
301
+ */
302
302
  _trackAllocatedMemory(bytes, name = this[Symbol.toStringTag]) {
303
- this._doTrackAllocatedMemory(bytes, name);
304
- this._doTrackAllocatedMemory(bytes, name, this.gl.stats.get(`Memory Usage`));
303
+ this._trackAllocatedMemoryForContext(bytes, name);
304
+ this._trackAllocatedMemoryForContext(bytes, name, this.gl.canvas && this.gl.canvas.id);
305
+ this.byteLength = bytes;
305
306
  }
306
307
 
307
- _doTrackAllocatedMemory(
308
- bytes,
309
- name = this[Symbol.toStringTag],
310
- stats = lumaStats.get(`Memory Usage`)
311
- ) {
308
+ _trackAllocatedMemoryForContext(bytes, name = this[Symbol.toStringTag], id = '') {
309
+ const stats = lumaStats.get(`Memory Usage${id}`);
312
310
  stats.get('GPU Memory').addCount(bytes);
313
311
  stats.get(`${name} Memory`).addCount(bytes);
314
- this.byteLength = bytes;
315
312
  }
316
313
 
314
+ /**
315
+ * Deallocate memory for common statistic and for each gl context as well.
316
+ * @param {string} name
317
+ */
317
318
  _trackDeallocatedMemory(name = this[Symbol.toStringTag]) {
318
- this._doTrackDeallocatedMemory(name);
319
- this._doTrackDeallocatedMemory(name, this.gl.stats.get(`Memory Usage`));
319
+ this._trackDeallocatedMemoryForContext(name);
320
+ this._trackDeallocatedMemoryForContext(name, this.gl.canvas && this.gl.canvas.id);
321
+ this.byteLength = 0;
320
322
  }
321
323
 
322
- _doTrackDeallocatedMemory(
323
- name = this[Symbol.toStringTag],
324
- stats = lumaStats.get(`Memory Usage`)
325
- ) {
324
+ _trackDeallocatedMemoryForContext(name = this[Symbol.toStringTag], id = '') {
325
+ const stats = lumaStats.get(`Memory Usage${id}`);
326
+
326
327
  stats.get('GPU Memory').subtractCount(this.byteLength);
327
328
  stats.get(`${name} Memory`).subtractCount(this.byteLength);
328
- this.byteLength = 0;
329
329
  }
330
330
  }