@luma.gl/webgl 9.1.0-beta.9 → 9.2.0-alpha.1

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 (189) hide show
  1. package/dist/adapter/converters/device-parameters.js +14 -9
  2. package/dist/adapter/converters/device-parameters.js.map +1 -1
  3. package/dist/adapter/converters/shader-formats.d.ts +67 -8
  4. package/dist/adapter/converters/shader-formats.d.ts.map +1 -1
  5. package/dist/adapter/converters/shader-formats.js +82 -52
  6. package/dist/adapter/converters/shader-formats.js.map +1 -1
  7. package/dist/adapter/converters/webgl-shadertypes.d.ts +20 -0
  8. package/dist/adapter/converters/webgl-shadertypes.d.ts.map +1 -0
  9. package/dist/adapter/converters/webgl-shadertypes.js +123 -0
  10. package/dist/adapter/converters/webgl-shadertypes.js.map +1 -0
  11. package/dist/adapter/converters/webgl-texture-table.js +6 -6
  12. package/dist/adapter/converters/webgl-texture-table.js.map +1 -1
  13. package/dist/adapter/converters/{vertex-formats.d.ts → webgl-vertex-formats.d.ts} +4 -4
  14. package/dist/adapter/converters/webgl-vertex-formats.d.ts.map +1 -0
  15. package/dist/adapter/converters/{vertex-formats.js → webgl-vertex-formats.js} +1 -1
  16. package/dist/adapter/converters/webgl-vertex-formats.js.map +1 -0
  17. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
  18. package/dist/adapter/device-helpers/webgl-device-features.js.map +1 -1
  19. package/dist/adapter/device-helpers/webgl-device-limits.d.ts +1 -1
  20. package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -1
  21. package/dist/adapter/device-helpers/webgl-device-limits.js +1 -1
  22. package/dist/adapter/device-helpers/webgl-device-limits.js.map +1 -1
  23. package/dist/adapter/helpers/format-utils.d.ts +3 -2
  24. package/dist/adapter/helpers/format-utils.d.ts.map +1 -1
  25. package/dist/adapter/helpers/format-utils.js.map +1 -1
  26. package/dist/adapter/helpers/{get-shader-layout.d.ts → get-shader-layout-from-glsl.d.ts} +1 -1
  27. package/dist/adapter/helpers/get-shader-layout-from-glsl.d.ts.map +1 -0
  28. package/dist/adapter/helpers/{get-shader-layout.js → get-shader-layout-from-glsl.js} +12 -35
  29. package/dist/adapter/helpers/get-shader-layout-from-glsl.js.map +1 -0
  30. package/dist/adapter/helpers/set-uniform.d.ts +2 -2
  31. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  32. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  33. package/dist/adapter/helpers/webgl-texture-utils.d.ts +2 -25
  34. package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
  35. package/dist/adapter/helpers/webgl-texture-utils.js +10 -99
  36. package/dist/adapter/helpers/webgl-texture-utils.js.map +1 -1
  37. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  38. package/dist/adapter/resources/webgl-buffer.js +5 -3
  39. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  40. package/dist/adapter/resources/webgl-command-buffer.d.ts +2 -2
  41. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  42. package/dist/adapter/resources/webgl-command-buffer.js +4 -4
  43. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  44. package/dist/adapter/resources/webgl-command-encoder.d.ts +6 -2
  45. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  46. package/dist/adapter/resources/webgl-command-encoder.js +9 -4
  47. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  48. package/dist/adapter/resources/webgl-external-texture.js +1 -0
  49. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  50. package/dist/adapter/resources/webgl-framebuffer.js +2 -2
  51. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  52. package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -1
  53. package/dist/adapter/resources/webgl-query-set.js +5 -1
  54. package/dist/adapter/resources/webgl-query-set.js.map +1 -1
  55. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  56. package/dist/adapter/resources/webgl-render-pass.js +11 -6
  57. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  58. package/dist/adapter/resources/webgl-render-pipeline.d.ts +3 -3
  59. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-render-pipeline.js +27 -24
  61. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  62. package/dist/adapter/resources/webgl-sampler.js +1 -1
  63. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  64. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  65. package/dist/adapter/resources/webgl-shader.js +9 -2
  66. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  67. package/dist/adapter/resources/webgl-texture-view.js +1 -1
  68. package/dist/adapter/resources/webgl-texture-view.js.map +1 -1
  69. package/dist/adapter/resources/webgl-texture.d.ts +21 -66
  70. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  71. package/dist/adapter/resources/webgl-texture.js +148 -319
  72. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  73. package/dist/adapter/resources/webgl-transform-feedback.d.ts +1 -1
  74. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-transform-feedback.js +1 -1
  76. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -1
  77. package/dist/adapter/resources/webgl-vertex-array.d.ts +1 -1
  78. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-vertex-array.js +3 -2
  80. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -1
  81. package/dist/adapter/webgl-adapter.d.ts +4 -3
  82. package/dist/adapter/webgl-adapter.d.ts.map +1 -1
  83. package/dist/adapter/webgl-adapter.js +16 -7
  84. package/dist/adapter/webgl-adapter.js.map +1 -1
  85. package/dist/adapter/webgl-canvas-context.d.ts +3 -24
  86. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  87. package/dist/adapter/webgl-canvas-context.js +5 -44
  88. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  89. package/dist/adapter/webgl-device.d.ts +17 -20
  90. package/dist/adapter/webgl-device.d.ts.map +1 -1
  91. package/dist/adapter/webgl-device.js +30 -28
  92. package/dist/adapter/webgl-device.js.map +1 -1
  93. package/dist/context/debug/spector-types.d.ts.map +1 -1
  94. package/dist/context/debug/spector-types.js +3 -0
  95. package/dist/context/debug/spector-types.js.map +1 -1
  96. package/dist/context/debug/spector.js.map +1 -1
  97. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  98. package/dist/context/helpers/webgl-extensions.d.ts.map +1 -1
  99. package/dist/context/helpers/webgl-extensions.js +3 -0
  100. package/dist/context/helpers/webgl-extensions.js.map +1 -1
  101. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  102. package/dist/context/parameters/unified-parameter-api.js +7 -0
  103. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  104. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  105. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  106. package/dist/context/parameters/webgl-parameter-tables.js +1 -0
  107. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  108. package/dist/context/polyfills/polyfill-webgl1-extensions.d.ts.map +1 -1
  109. package/dist/context/polyfills/polyfill-webgl1-extensions.js +1 -0
  110. package/dist/context/polyfills/polyfill-webgl1-extensions.js.map +1 -1
  111. package/dist/context/state-tracker/deep-array-equal.d.ts +2 -1
  112. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  113. package/dist/context/state-tracker/deep-array-equal.js +4 -5
  114. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  115. package/dist/context/state-tracker/webgl-state-tracker.d.ts.map +1 -1
  116. package/dist/context/state-tracker/webgl-state-tracker.js +4 -1
  117. package/dist/context/state-tracker/webgl-state-tracker.js.map +1 -1
  118. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  119. package/dist/dist.dev.js +4720 -4771
  120. package/dist/dist.min.js +2 -2
  121. package/dist/index.cjs +3849 -3938
  122. package/dist/index.cjs.map +4 -4
  123. package/dist/index.d.ts +1 -3
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +1 -3
  126. package/dist/index.js.map +1 -1
  127. package/package.json +4 -4
  128. package/src/adapter/converters/device-parameters.ts +19 -9
  129. package/src/adapter/converters/shader-formats.ts +50 -24
  130. package/src/adapter/converters/webgl-shadertypes.ts +152 -0
  131. package/src/adapter/converters/webgl-texture-table.ts +9 -9
  132. package/src/adapter/converters/{vertex-formats.ts → webgl-vertex-formats.ts} +3 -3
  133. package/src/adapter/device-helpers/webgl-device-features.ts +1 -1
  134. package/src/adapter/device-helpers/webgl-device-limits.ts +1 -1
  135. package/src/adapter/helpers/format-utils.ts +2 -2
  136. package/src/adapter/helpers/{get-shader-layout.ts → get-shader-layout-from-glsl.ts} +20 -50
  137. package/src/adapter/helpers/set-uniform.ts +2 -2
  138. package/src/adapter/helpers/webgl-texture-utils.ts +12 -127
  139. package/src/adapter/resources/webgl-buffer.ts +5 -3
  140. package/src/adapter/resources/webgl-command-buffer.ts +5 -5
  141. package/src/adapter/resources/webgl-command-encoder.ts +17 -8
  142. package/src/adapter/resources/webgl-framebuffer.ts +2 -2
  143. package/src/adapter/resources/webgl-query-set.ts +5 -1
  144. package/src/adapter/resources/webgl-render-pass.ts +15 -9
  145. package/src/adapter/resources/webgl-render-pipeline.ts +32 -35
  146. package/src/adapter/resources/webgl-sampler.ts +1 -1
  147. package/src/adapter/resources/webgl-shader.ts +11 -2
  148. package/src/adapter/resources/webgl-texture-view.ts +1 -1
  149. package/src/adapter/resources/webgl-texture.ts +180 -393
  150. package/src/adapter/resources/webgl-transform-feedback.ts +2 -2
  151. package/src/adapter/resources/webgl-vertex-array.ts +4 -3
  152. package/src/adapter/webgl-adapter.ts +20 -8
  153. package/src/adapter/webgl-canvas-context.ts +7 -47
  154. package/src/adapter/webgl-device.ts +46 -41
  155. package/src/context/debug/spector-types.ts +5 -0
  156. package/src/context/debug/spector.ts +1 -1
  157. package/src/context/debug/webgl-developer-tools.ts +8 -3
  158. package/src/context/helpers/webgl-extensions.ts +3 -0
  159. package/src/context/parameters/unified-parameter-api.ts +9 -2
  160. package/src/context/parameters/webgl-parameter-tables.ts +2 -0
  161. package/src/context/polyfills/polyfill-webgl1-extensions.ts +1 -0
  162. package/src/context/state-tracker/deep-array-equal.ts +11 -6
  163. package/src/context/state-tracker/webgl-state-tracker.ts +5 -1
  164. package/src/context/state-tracker/with-parameters.ts +1 -1
  165. package/src/index.ts +1 -5
  166. package/dist/adapter/converters/vertex-formats.d.ts.map +0 -1
  167. package/dist/adapter/converters/vertex-formats.js.map +0 -1
  168. package/dist/adapter/helpers/decode-webgl-types.d.ts +0 -26
  169. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +0 -1
  170. package/dist/adapter/helpers/decode-webgl-types.js +0 -102
  171. package/dist/adapter/helpers/decode-webgl-types.js.map +0 -1
  172. package/dist/adapter/helpers/get-shader-layout.d.ts.map +0 -1
  173. package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
  174. package/dist/adapter/helpers/typed-array-utils.d.ts +0 -44
  175. package/dist/adapter/helpers/typed-array-utils.d.ts.map +0 -1
  176. package/dist/adapter/helpers/typed-array-utils.js +0 -107
  177. package/dist/adapter/helpers/typed-array-utils.js.map +0 -1
  178. package/dist/deprecated/accessor.d.ts +0 -53
  179. package/dist/deprecated/accessor.d.ts.map +0 -1
  180. package/dist/deprecated/accessor.js +0 -177
  181. package/dist/deprecated/accessor.js.map +0 -1
  182. package/dist/utils/split-uniforms-and-bindings.d.ts +0 -9
  183. package/dist/utils/split-uniforms-and-bindings.d.ts.map +0 -1
  184. package/dist/utils/split-uniforms-and-bindings.js +0 -21
  185. package/dist/utils/split-uniforms-and-bindings.js.map +0 -1
  186. package/src/adapter/helpers/decode-webgl-types.ts +0 -134
  187. package/src/adapter/helpers/typed-array-utils.ts +0 -129
  188. package/src/deprecated/accessor.ts +0 -225
  189. package/src/utils/split-uniforms-and-bindings.ts +0 -31
@@ -5,13 +5,8 @@ import { Texture, log } from '@luma.gl/core';
5
5
  import { GL } from '@luma.gl/constants';
6
6
  import { getTextureFormatWebGL } from "../converters/webgl-texture-table.js";
7
7
  import { convertSamplerParametersToWebGL } from "../converters/sampler-parameters.js";
8
- import { WEBGLSampler } from "./webgl-sampler.js";
8
+ import { withGLParameters } from "../../context/state-tracker/with-parameters.js";
9
9
  import { WEBGLTextureView } from "./webgl-texture-view.js";
10
- import { initializeTextureStorage,
11
- // clearMipLevel,
12
- copyExternalImageToMipLevel, copyCPUDataToMipLevel,
13
- // copyGPUBufferToMipLevel,
14
- getWebGLTextureTarget } from "../helpers/webgl-texture-utils.js";
15
10
  /**
16
11
  * WebGL... the texture API from hell... hopefully made simpler
17
12
  */
@@ -20,12 +15,9 @@ export class WEBGLTexture extends Texture {
20
15
  device;
21
16
  gl;
22
17
  handle;
23
- sampler = undefined; // TODO - currently unused in WebGL. Create dummy sampler?
24
- view = undefined; // TODO - currently unused in WebGL. Create dummy view?
25
- mipmaps;
26
- // Texture type
27
- /** Whether the internal format is compressed */
28
- compressed;
18
+ // @ts-ignore TODO - currently unused in WebGL. Create dummy sampler?
19
+ sampler = undefined;
20
+ view;
29
21
  /**
30
22
  * The WebGL target corresponding to the texture type
31
23
  * @note `target` cannot be modified by bind:
@@ -42,77 +34,52 @@ export class WEBGLTexture extends Texture {
42
34
  glType;
43
35
  /** The WebGL constant corresponding to the WebGPU style constant in format */
44
36
  glInternalFormat;
37
+ /** Whether the internal format is compressed */
38
+ compressed;
45
39
  // state
46
40
  /** Texture binding slot - TODO - move to texture view? */
47
- textureUnit = 0;
41
+ _textureUnit = 0;
48
42
  constructor(device, props) {
49
43
  super(device, props);
50
- // Texture base class strips out the data prop, so we need to add it back in
51
- const propsWithData = { ...this.props };
52
- propsWithData.data = props.data;
53
44
  this.device = device;
54
45
  this.gl = this.device.gl;
46
+ const formatInfo = getTextureFormatWebGL(this.props.format);
55
47
  // Note: In WebGL the texture target defines the type of texture on first bind.
56
48
  this.glTarget = getWebGLTextureTarget(this.props.dimension);
57
- // The target format of this texture
58
- const formatInfo = getTextureFormatWebGL(this.props.format);
59
49
  this.glInternalFormat = formatInfo.internalFormat;
60
50
  this.glFormat = formatInfo.format;
61
51
  this.glType = formatInfo.type;
62
52
  this.compressed = formatInfo.compressed;
63
- this.mipmaps = Boolean(this.props.mipmaps);
64
- this._initialize(propsWithData);
65
- Object.seal(this);
66
- }
67
- /** Initialize texture with supplied props */
68
- // eslint-disable-next-line max-statements
69
- _initialize(propsWithData) {
70
53
  this.handle = this.props.handle || this.gl.createTexture();
71
- this.device.setSpectorMetadata(this.handle, { ...this.props, data: propsWithData.data });
72
- let { width, height } = propsWithData;
73
- if (!width || !height) {
74
- const textureSize = Texture.getTextureDataSize(propsWithData.data);
75
- width = textureSize?.width || 1;
76
- height = textureSize?.height || 1;
54
+ this.device._setWebGLDebugMetadata(this.handle, this, { spector: this.props });
55
+ /**
56
+ * Use WebGL immutable texture storage to allocate and clear texture memory.
57
+ * - texStorage2D should be considered a preferred alternative to texImage2D. It may have lower memory costs than texImage2D in some implementations.
58
+ * - Once texStorage*D has been called, the texture is immutable and can only be updated with texSubImage*(), not texImage()
59
+ * @see https://registry.khronos.org/webgl/specs/latest/2.0/ WebGL 2 spec section 3.7.6
60
+ */
61
+ this.gl.bindTexture(this.glTarget, this.handle);
62
+ const { dimension, width, height, depth, mipLevels, glTarget, glInternalFormat } = this;
63
+ switch (dimension) {
64
+ case '2d':
65
+ case 'cube':
66
+ this.gl.texStorage2D(glTarget, mipLevels, glInternalFormat, width, height);
67
+ break;
68
+ case '2d-array':
69
+ case '3d':
70
+ this.gl.texStorage3D(glTarget, mipLevels, glInternalFormat, width, height, depth);
71
+ break;
72
+ default:
73
+ throw new Error(dimension);
77
74
  }
78
- // Store opts for accessors
79
- this.width = width;
80
- this.height = height;
81
- this.depth = propsWithData.depth;
75
+ this.gl.bindTexture(this.glTarget, null);
76
+ // Set data
77
+ this._initializeData(props.data);
82
78
  // Set texture sampler parameters
83
- this.setSampler(propsWithData.sampler);
79
+ this.setSampler(this.props.sampler);
84
80
  // @ts-ignore TODO - fix types
85
81
  this.view = new WEBGLTextureView(this.device, { ...this.props, texture: this });
86
- this.bind();
87
- initializeTextureStorage(this.gl, this.mipLevels, this);
88
- if (propsWithData.data) {
89
- // prettier-ignore
90
- switch (propsWithData.dimension) {
91
- case '1d':
92
- this.setTexture1DData(propsWithData.data);
93
- break;
94
- case '2d':
95
- this.setTexture2DData(propsWithData.data);
96
- break;
97
- case '3d':
98
- this.setTexture3DData(propsWithData.data);
99
- break;
100
- case 'cube':
101
- this.setTextureCubeData(propsWithData.data);
102
- break;
103
- case '2d-array':
104
- this.setTextureArrayData(propsWithData.data);
105
- break;
106
- case 'cube-array':
107
- this.setTextureCubeArrayData(propsWithData.data);
108
- break;
109
- // @ts-expect-error
110
- default: throw new Error(propsWithData.dimension);
111
- }
112
- }
113
- if (this.mipmaps) {
114
- this.generateMipmap();
115
- }
82
+ Object.seal(this);
116
83
  }
117
84
  destroy() {
118
85
  if (this.handle) {
@@ -127,20 +94,86 @@ export class WEBGLTexture extends Texture {
127
94
  return new WEBGLTextureView(this.device, { ...props, texture: this });
128
95
  }
129
96
  setSampler(sampler = {}) {
130
- let samplerProps;
131
- if (sampler instanceof WEBGLSampler) {
132
- this.sampler = sampler;
133
- samplerProps = sampler.props;
134
- }
135
- else {
136
- this.sampler = new WEBGLSampler(this.device, sampler);
137
- samplerProps = sampler;
138
- }
139
- const parameters = convertSamplerParametersToWebGL(samplerProps);
97
+ super.setSampler(sampler);
98
+ // Apply sampler parameters to texture
99
+ const parameters = convertSamplerParametersToWebGL(this.sampler.props);
140
100
  this._setSamplerParameters(parameters);
141
101
  }
142
- // Call to regenerate mipmaps after modifying texture(s)
143
- generateMipmap(options) {
102
+ copyImageData(options_) {
103
+ const options = this._normalizeCopyImageDataOptions(options_);
104
+ const typedArray = options.data;
105
+ const { width, height, depth } = this;
106
+ const { mipLevel = 0, byteOffset = 0, x = 0, y = 0, z = 0 } = options;
107
+ const { glFormat, glType, compressed } = this;
108
+ const glTarget = getWebGLCubeFaceTarget(this.glTarget, this.dimension, depth);
109
+ const glParameters = {
110
+ [3314]: options.bytesPerRow,
111
+ [32878]: options.rowsPerImage
112
+ };
113
+ this.gl.bindTexture(glTarget, this.handle);
114
+ withGLParameters(this.gl, glParameters, () => {
115
+ switch (this.dimension) {
116
+ case '2d':
117
+ case 'cube':
118
+ if (compressed) {
119
+ // prettier-ignore
120
+ this.gl.compressedTexSubImage2D(glTarget, mipLevel, x, y, width, height, glFormat, typedArray, byteOffset); // , byteLength
121
+ }
122
+ else {
123
+ // prettier-ignore
124
+ this.gl.texSubImage2D(glTarget, mipLevel, x, y, width, height, glFormat, glType, typedArray, byteOffset); // , byteLength
125
+ }
126
+ break;
127
+ case '2d-array':
128
+ case '3d':
129
+ if (compressed) {
130
+ // prettier-ignore
131
+ this.gl.compressedTexSubImage3D(glTarget, mipLevel, x, y, z, width, height, depth, glFormat, typedArray, byteOffset); // , byteLength
132
+ }
133
+ else {
134
+ // prettier-ignore
135
+ this.gl.texSubImage3D(glTarget, mipLevel, x, y, z, width, height, depth, glFormat, glType, typedArray, byteOffset); // , byteLength
136
+ }
137
+ break;
138
+ default:
139
+ // Can never happen in WebGL
140
+ }
141
+ });
142
+ this.gl.bindTexture(glTarget, null);
143
+ }
144
+ copyExternalImage(options_) {
145
+ const options = this._normalizeCopyExternalImageOptions(options_);
146
+ if (options.sourceX || options.sourceY) {
147
+ // requires copyTexSubImage2D from a framebuffer'
148
+ throw new Error('WebGL does not support sourceX/sourceY)');
149
+ }
150
+ const { glFormat, glType } = this;
151
+ const { image, depth, mipLevel, x, y, z, width, height } = options;
152
+ // WebGL cube maps specify faces by overriding target instead of using the depth parameter
153
+ const glTarget = getWebGLCubeFaceTarget(this.glTarget, this.dimension, depth);
154
+ const glParameters = options.flipY ? { [37440]: true } : {};
155
+ this.gl.bindTexture(this.glTarget, this.handle);
156
+ withGLParameters(this.gl, glParameters, () => {
157
+ switch (this.dimension) {
158
+ case '2d':
159
+ case 'cube':
160
+ // prettier-ignore
161
+ this.gl.texSubImage2D(glTarget, mipLevel, x, y, width, height, glFormat, glType, image);
162
+ break;
163
+ case '2d-array':
164
+ case '3d':
165
+ // prettier-ignore
166
+ this.gl.texSubImage3D(glTarget, mipLevel, x, y, z, width, height, depth, glFormat, glType, image);
167
+ break;
168
+ default:
169
+ // Can never happen in WebGL
170
+ }
171
+ });
172
+ this.gl.bindTexture(this.glTarget, null);
173
+ return { width: options.width, height: options.height };
174
+ }
175
+ // WEBGL SPECIFIC
176
+ generateMipmapsWebGL(options) {
144
177
  const isFilterableAndRenderable = this.device.isTextureFormatRenderable(this.props.format) &&
145
178
  this.device.isTextureFormatFilterable(this.props.format);
146
179
  if (!isFilterableAndRenderable) {
@@ -160,149 +193,7 @@ export class WEBGLTexture extends Texture {
160
193
  this.gl.bindTexture(this.glTarget, null);
161
194
  }
162
195
  }
163
- // Image Data Setters
164
- copyExternalImage(options) {
165
- const size = Texture.getExternalImageSize(options.image);
166
- const opts = { ...Texture.defaultCopyExternalImageOptions, ...size, ...options };
167
- const { image, depth, mipLevel, x, y, z, flipY } = opts;
168
- let { width, height } = opts;
169
- const { dimension, glTarget, glFormat, glInternalFormat, glType } = this;
170
- // WebGL will error if we try to copy outside the bounds of the texture
171
- width = Math.min(width, this.width - x);
172
- height = Math.min(height, this.height - y);
173
- if (options.sourceX || options.sourceY) {
174
- // requires copyTexSubImage2D from a framebuffer'
175
- throw new Error('WebGL does not support sourceX/sourceY)');
176
- }
177
- copyExternalImageToMipLevel(this.device.gl, this.handle, image, {
178
- dimension,
179
- mipLevel,
180
- x,
181
- y,
182
- z,
183
- width,
184
- height,
185
- depth,
186
- glFormat,
187
- glInternalFormat,
188
- glType,
189
- glTarget,
190
- flipY
191
- });
192
- return { width: opts.width, height: opts.height };
193
- }
194
- setTexture1DData(data) {
195
- throw new Error('setTexture1DData not supported in WebGL.');
196
- }
197
- /** Set a simple texture */
198
- setTexture2DData(lodData, depth = 0) {
199
- this.bind();
200
- const lodArray = Texture.normalizeTextureData(lodData, this);
201
- // If the user provides multiple LODs, then automatic mipmap
202
- // generation generateMipmap() should be disabled to avoid overwriting them.
203
- if (lodArray.length > 1 && this.props.mipmaps !== false) {
204
- log.warn(`Texture ${this.id} mipmap and multiple LODs.`)();
205
- }
206
- for (let lodLevel = 0; lodLevel < lodArray.length; lodLevel++) {
207
- const imageData = lodArray[lodLevel];
208
- this._setMipLevel(depth, lodLevel, imageData);
209
- }
210
- this.unbind();
211
- }
212
- /**
213
- * Sets a 3D texture
214
- * @param data
215
- */
216
- setTexture3DData(data) {
217
- if (this.props.dimension !== '3d') {
218
- throw new Error(this.id);
219
- }
220
- if (ArrayBuffer.isView(data)) {
221
- this.bind();
222
- copyCPUDataToMipLevel(this.device.gl, data, this);
223
- this.unbind();
224
- }
225
- }
226
- /**
227
- * Set a Texture Cube Data
228
- * @todo - could support TextureCubeArray with depth
229
- * @param data
230
- * @param index
231
- */
232
- setTextureCubeData(data, depth = 0) {
233
- if (this.props.dimension !== 'cube') {
234
- throw new Error(this.id);
235
- }
236
- for (const face of Texture.CubeFaces) {
237
- this.setTextureCubeFaceData(data[face], face);
238
- }
239
- }
240
- /**
241
- * Sets an entire texture array
242
- * @param data
243
- */
244
- setTextureArrayData(data) {
245
- if (this.props.dimension !== '2d-array') {
246
- throw new Error(this.id);
247
- }
248
- throw new Error('setTextureArrayData not implemented.');
249
- }
250
- /**
251
- * Sets an entire texture cube array
252
- * @param data
253
- */
254
- setTextureCubeArrayData(data) {
255
- throw new Error('setTextureCubeArrayData not supported in WebGL2.');
256
- }
257
- setTextureCubeFaceData(lodData, face, depth = 0) {
258
- // assert(this.props.dimension === 'cube');
259
- // If the user provides multiple LODs, then automatic mipmap
260
- // generation generateMipmap() should be disabled to avoid overwriting them.
261
- if (Array.isArray(lodData) && lodData.length > 1 && this.props.mipmaps !== false) {
262
- log.warn(`${this.id} has mipmap and multiple LODs.`)();
263
- }
264
- const faceDepth = Texture.CubeFaces.indexOf(face);
265
- this.setTexture2DData(lodData, faceDepth);
266
- }
267
- // DEPRECATED METHODS
268
- /** Update external texture (video frame or canvas) @deprecated Use ExternalTexture */
269
- update() {
270
- throw new Error('Texture.update() not implemented. Use ExternalTexture');
271
- }
272
- // INTERNAL METHODS
273
- /** @todo update this method to accept LODs */
274
- setImageDataForFace(options) {
275
- const { face, width, height, pixels, data, format = 6408, type = 5121
276
- // generateMipmap = false // TODO
277
- } = options;
278
- const { gl } = this;
279
- const imageData = pixels || data;
280
- this.bind();
281
- if (imageData instanceof Promise) {
282
- imageData.then(resolvedImageData => this.setImageDataForFace(Object.assign({}, options, {
283
- face,
284
- data: resolvedImageData,
285
- pixels: resolvedImageData
286
- })));
287
- }
288
- else if (this.width || this.height) {
289
- gl.texImage2D(face, 0, format, width, height, 0 /* border*/, format, type, imageData);
290
- }
291
- else {
292
- gl.texImage2D(face, 0, format, format, type, imageData);
293
- }
294
- }
295
- _getImageDataMap(faceData) {
296
- for (let i = 0; i < Texture.CubeFaces.length; ++i) {
297
- const faceName = Texture.CubeFaces[i];
298
- if (faceData[faceName]) {
299
- faceData[34069 + i] = faceData[faceName];
300
- delete faceData[faceName];
301
- }
302
- }
303
- return faceData;
304
- }
305
- // RESOURCE METHODS
196
+ // INTERNAL
306
197
  /**
307
198
  * Sets sampler parameters on texture
308
199
  */
@@ -319,11 +210,13 @@ export class WEBGLTexture extends Texture {
319
210
  case 33083:
320
211
  this.gl.texParameterf(this.glTarget, param, value);
321
212
  break;
213
+ case 10240:
322
214
  case 10241:
323
215
  this.gl.texParameteri(this.glTarget, param, value);
324
216
  break;
325
217
  case 10242:
326
218
  case 10243:
219
+ case 32882:
327
220
  this.gl.texParameteri(this.glTarget, param, value);
328
221
  break;
329
222
  case 34046:
@@ -332,121 +225,57 @@ export class WEBGLTexture extends Texture {
332
225
  this.gl.texParameteri(this.glTarget, param, value);
333
226
  }
334
227
  break;
335
- default:
228
+ case 34892:
229
+ case 34893:
336
230
  this.gl.texParameteri(this.glTarget, param, value);
337
231
  break;
338
232
  }
339
233
  }
340
234
  this.gl.bindTexture(this.glTarget, null);
341
235
  }
342
- // INTERNAL SETTERS
343
- /**
344
- * Copy a region of data from a CPU memory buffer into this texture.
345
- * @todo - GLUnpackParameters parameters
346
- */
347
- _setMipLevel(depth, mipLevel, textureData, glTarget = this.glTarget) {
348
- // if (!textureData) {
349
- // clearMipLevel(this.device.gl, {...this, depth, level});
350
- // return;
351
- // }
352
- if (Texture.isExternalImage(textureData)) {
353
- copyExternalImageToMipLevel(this.device.gl, this.handle, textureData, {
354
- ...this,
355
- depth,
356
- mipLevel,
357
- glTarget,
358
- flipY: this.props.flipY
359
- });
360
- return;
361
- }
362
- // @ts-expect-error
363
- if (Texture.isTextureLevelData(textureData)) {
364
- copyCPUDataToMipLevel(this.device.gl, textureData.data, {
365
- ...this,
366
- depth,
367
- mipLevel,
368
- glTarget
369
- });
370
- return;
371
- }
372
- throw new Error('Texture: invalid image data');
373
- }
374
- // HELPERS
375
- getActiveUnit() {
236
+ _getActiveUnit() {
376
237
  return this.gl.getParameter(34016) - 33984;
377
238
  }
378
- bind(textureUnit) {
239
+ _bind(_textureUnit) {
379
240
  const { gl } = this;
380
- if (textureUnit !== undefined) {
381
- this.textureUnit = textureUnit;
382
- gl.activeTexture(33984 + textureUnit);
241
+ if (_textureUnit !== undefined) {
242
+ this._textureUnit = _textureUnit;
243
+ gl.activeTexture(33984 + _textureUnit);
383
244
  }
384
245
  gl.bindTexture(this.glTarget, this.handle);
385
- return textureUnit;
246
+ // @ts-ignore TODO fix types
247
+ return _textureUnit;
386
248
  }
387
- unbind(textureUnit) {
249
+ _unbind(_textureUnit) {
388
250
  const { gl } = this;
389
- if (textureUnit !== undefined) {
390
- this.textureUnit = textureUnit;
391
- gl.activeTexture(33984 + textureUnit);
251
+ if (_textureUnit !== undefined) {
252
+ this._textureUnit = _textureUnit;
253
+ gl.activeTexture(33984 + _textureUnit);
392
254
  }
393
255
  gl.bindTexture(this.glTarget, null);
394
- return textureUnit;
256
+ return _textureUnit;
395
257
  }
396
258
  }
397
- // TODO - Remove when texture refactor is complete
398
- /*
399
- setCubeMapData(options: {
400
- width: number;
401
- height: number;
402
- data: Record<GL, Texture2DData> | Record<TextureCubeFace, Texture2DData>;
403
- format?: any;
404
- type?: any;
405
- /** @deprecated Use .data *
406
- pixels: any;
407
- }): void {
408
- const {gl} = this;
409
-
410
- const {width, height, pixels, data, format = GL.RGBA, type = GL.UNSIGNED_BYTE} = options;
411
-
412
- // pixel data (imageDataMap) is an Object from Face to Image or Promise.
413
- // For example:
414
- // {
415
- // GL.TEXTURE_CUBE_MAP_POSITIVE_X : Image-or-Promise,
416
- // GL.TEXTURE_CUBE_MAP_NEGATIVE_X : Image-or-Promise,
417
- // ... }
418
- // To provide multiple level-of-details (LODs) this can be Face to Array
419
- // of Image or Promise, like this
420
- // {
421
- // GL.TEXTURE_CUBE_MAP_POSITIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
422
- // GL.TEXTURE_CUBE_MAP_NEGATIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
423
- // ... }
424
-
425
- const imageDataMap = this._getImageDataMap(pixels || data);
426
-
427
- const resolvedFaces = WEBGLTexture.FACES.map(face => {
428
- const facePixels = imageDataMap[face];
429
- return Array.isArray(facePixels) ? facePixels : [facePixels];
430
- });
431
- this.bind();
432
-
433
- WEBGLTexture.FACES.forEach((face, index) => {
434
- if (resolvedFaces[index].length > 1 && this.props.mipmaps !== false) {
435
- // If the user provides multiple LODs, then automatic mipmap
436
- // generation generateMipmap() should be disabled to avoid overwritting them.
437
- log.warn(`${this.id} has mipmap and multiple LODs.`)();
259
+ // INTERNAL HELPERS
260
+ /** Convert a WebGPU style texture constant to a WebGL style texture constant */
261
+ export function getWebGLTextureTarget(dimension) {
262
+ // prettier-ignore
263
+ switch (dimension) {
264
+ case '1d': break; // not supported in any WebGL version
265
+ case '2d': return 3553; // supported in WebGL1
266
+ case '3d': return 32879; // supported in WebGL2
267
+ case 'cube': return 34067; // supported in WebGL1
268
+ case '2d-array': return 35866; // supported in WebGL2
269
+ case 'cube-array': break; // not supported in any WebGL version
438
270
  }
439
- resolvedFaces[index].forEach((image, lodLevel) => {
440
- // TODO: adjust width & height for LOD!
441
- if (width && height) {
442
- gl.texImage2D(face, lodLevel, format, width, height, 0 /* border*, format, type, image);
443
- } else {
444
- gl.texImage2D(face, lodLevel, format, format, type, image);
445
- }
446
- });
447
- });
448
-
449
- this.unbind();
271
+ throw new Error(dimension);
272
+ }
273
+ /**
274
+ * In WebGL, cube maps specify faces by overriding target instead of using the depth parameter.
275
+ * @note We still bind the texture using GL.TEXTURE_CUBE_MAP, but we need to use the face-specific target when setting mip levels.
276
+ * @returns glTarget unchanged, if dimension !== 'cube'.
277
+ */
278
+ export function getWebGLCubeFaceTarget(glTarget, dimension, level) {
279
+ return dimension === 'cube' ? 34069 + level : glTarget;
450
280
  }
451
- */
452
281
  //# sourceMappingURL=webgl-texture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare class WEBGLTransformFeedback extends TransformFeedback {
27
27
  setBuffers(buffers: Record<string, Buffer | BufferRange>): void;
28
28
  setBuffer(locationOrName: string | number, bufferOrRange: Buffer | BufferRange): void;
29
29
  getBuffer(locationOrName: string | number): Buffer | BufferRange | null;
30
- bind(funcOrHandle?: WebGLTransformFeedback): unknown;
30
+ bind(funcOrHandle?: (() => void) | WebGLTransformFeedback | null): unknown;
31
31
  unbind(): void;
32
32
  /** Extract offsets for bindBufferRange */
33
33
  protected _getBufferRange(bufferOrRange: Buffer | {
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-transform-feedback.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-transform-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,YAAY,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAM,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAI5C,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC3C;;;;OAIG;IACH,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB;IAerD,OAAO,IAAI,IAAI;IAKxB,KAAK,CAAC,QAAQ,GAAE,iBAAgC,GAAG,IAAI;IAQvD,GAAG,IAAI,IAAI;IAUX,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI;IAW/D,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAmBrF,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IAQvE,IAAI,CAAC,YAAY,yBAAc;IAqB/B,MAAM;IAMN,0CAA0C;IAC1C,SAAS,CAAC,eAAe,CACvB,aAAa,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,GACjF,QAAQ,CAAC,WAAW,CAAC;IAWxB,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAcnE;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAO9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAMhC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAQhG"}
1
+ {"version":3,"file":"webgl-transform-feedback.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-transform-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,YAAY,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAM,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAI5C,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC3C;;;;OAIG;IACH,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB;IAerD,OAAO,IAAI,IAAI;IAKxB,KAAK,CAAC,QAAQ,GAAE,iBAAgC,GAAG,IAAI;IAQvD,GAAG,IAAI,IAAI;IAUX,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI;IAW/D,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAmBrF,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IAQvE,IAAI,CAAC,YAAY,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,sBAAsB,GAAG,IAAkB;IAqB7E,MAAM;IAMN,0CAA0C;IAC1C,SAAS,CAAC,eAAe,CACvB,aAAa,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,GACjF,QAAQ,CAAC,WAAW,CAAC;IAWxB,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAcnE;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAO9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAMhC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAQhG"}
@@ -118,7 +118,7 @@ export class WEBGLTransformFeedback extends TransformFeedback {
118
118
  if (isIndex(locationOrName)) {
119
119
  return Number(locationOrName);
120
120
  }
121
- for (const varying of this.layout.varyings) {
121
+ for (const varying of this.layout.varyings || []) {
122
122
  if (locationOrName === varying.name) {
123
123
  return varying.location;
124
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-transform-feedback.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-transform-feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-transform-feedback.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-transform-feedback.ts"],"names":[],"mappings":"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"}