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

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 (165) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +1 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +9 -9
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/sampler-parameters.d.ts +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  9. package/dist/adapter/converters/texture-formats.d.ts +29 -40
  10. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  11. package/dist/adapter/converters/texture-formats.js +152 -114
  12. package/dist/adapter/converters/texture-formats.js.map +1 -1
  13. package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
  14. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  15. package/dist/adapter/helpers/attribute-utils.d.ts +1 -1
  16. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
  17. package/dist/adapter/helpers/attribute-utils.js +1 -1
  18. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  19. package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
  20. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
  21. package/dist/adapter/helpers/get-shader-info.js.map +1 -1
  22. package/dist/adapter/helpers/uniforms.d.ts +7 -8
  23. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  24. package/dist/adapter/helpers/uniforms.js +4 -4
  25. package/dist/adapter/helpers/uniforms.js.map +1 -1
  26. package/dist/adapter/objects/constants-to-keys.d.ts +0 -2
  27. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  28. package/dist/adapter/objects/constants-to-keys.js +0 -20
  29. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  30. package/dist/adapter/objects/webgl-renderbuffer.d.ts +12 -9
  31. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  32. package/dist/adapter/objects/webgl-renderbuffer.js +29 -19
  33. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  34. package/dist/adapter/objects/webgl-resource.d.ts +0 -1
  35. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  36. package/dist/adapter/objects/webgl-resource.js +4 -7
  37. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  38. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  39. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  40. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  41. package/dist/adapter/resources/webgl-buffer.js +3 -2
  42. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  43. package/dist/adapter/resources/webgl-command-buffer.d.ts +13 -7
  44. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  45. package/dist/adapter/resources/webgl-command-buffer.js +168 -25
  46. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  47. package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -2
  48. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  49. package/dist/adapter/resources/webgl-command-encoder.js +6 -2
  50. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  51. package/dist/adapter/resources/webgl-framebuffer.d.ts +11 -14
  52. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  53. package/dist/adapter/resources/webgl-framebuffer.js +29 -79
  54. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  55. package/dist/adapter/resources/webgl-render-pass.d.ts +16 -1
  56. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  57. package/dist/adapter/resources/webgl-render-pass.js +80 -0
  58. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  59. package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
  60. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  61. package/dist/adapter/resources/webgl-render-pipeline.js +5 -5
  62. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  63. package/dist/adapter/resources/webgl-sampler.d.ts +1 -1
  64. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  65. package/dist/adapter/resources/webgl-sampler.js +1 -1
  66. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  67. package/dist/adapter/resources/webgl-texture.d.ts +43 -23
  68. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  69. package/dist/adapter/resources/webgl-texture.js +32 -30
  70. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  71. package/dist/adapter/webgl-canvas-context.d.ts +1 -2
  72. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  73. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  74. package/dist/adapter/webgl-device.d.ts +13 -6
  75. package/dist/adapter/webgl-device.d.ts.map +1 -1
  76. package/dist/adapter/webgl-device.js +20 -2
  77. package/dist/adapter/webgl-device.js.map +1 -1
  78. package/dist/classic/buffer.d.ts +1 -2
  79. package/dist/classic/buffer.d.ts.map +1 -1
  80. package/dist/classic/buffer.js +0 -6
  81. package/dist/classic/buffer.js.map +1 -1
  82. package/dist/classic/clear.d.ts +22 -0
  83. package/dist/classic/clear.d.ts.map +1 -0
  84. package/dist/classic/clear.js +88 -0
  85. package/dist/classic/clear.js.map +1 -0
  86. package/dist/classic/copy-and-blit.d.ts +45 -0
  87. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  88. package/dist/classic/copy-and-blit.js +136 -0
  89. package/dist/classic/copy-and-blit.js.map +1 -0
  90. package/dist/classic/format-utils.d.ts +3 -0
  91. package/dist/classic/format-utils.d.ts.map +1 -0
  92. package/dist/classic/format-utils.js +38 -0
  93. package/dist/classic/format-utils.js.map +1 -0
  94. package/dist/classic/typed-array-utils.d.ts +15 -17
  95. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  96. package/dist/classic/typed-array-utils.js +1 -1
  97. package/dist/classic/typed-array-utils.js.map +1 -1
  98. package/dist/context/context/create-browser-context.d.ts +17 -19
  99. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  100. package/dist/context/context/create-browser-context.js +4 -4
  101. package/dist/context/context/create-browser-context.js.map +1 -1
  102. package/dist/context/context/create-headless-context.d.ts +1 -1
  103. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  104. package/dist/context/debug/spector.d.ts +1 -3
  105. package/dist/context/debug/spector.d.ts.map +1 -1
  106. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  107. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  108. package/dist/context/parameters/unified-parameter-api.d.ts +1 -1
  109. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  110. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  111. package/dist/context/parameters/webgl-parameter-tables.d.ts +2 -3
  112. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  113. package/dist/context/parameters/webgl-parameter-tables.js +1 -1
  114. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  115. package/dist/dist.dev.js +1306 -659
  116. package/dist/index.cjs +1269 -897
  117. package/dist/index.d.ts +5 -2
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +4 -1
  120. package/dist/index.js.map +1 -1
  121. package/dist/types.d.ts +1 -1
  122. package/dist/types.d.ts.map +1 -1
  123. package/dist.min.js +22 -21
  124. package/package.json +7 -4
  125. package/src/adapter/converters/device-parameters.ts +46 -22
  126. package/src/adapter/converters/sampler-parameters.ts +1 -2
  127. package/src/adapter/converters/texture-formats.ts +242 -161
  128. package/src/adapter/helpers/attribute-utils.ts +1 -2
  129. package/src/adapter/helpers/get-shader-info.ts +3 -0
  130. package/src/adapter/helpers/uniforms.ts +9 -10
  131. package/src/adapter/objects/constants-to-keys.ts +0 -25
  132. package/src/adapter/objects/webgl-renderbuffer.ts +32 -29
  133. package/src/adapter/objects/webgl-resource.ts +4 -8
  134. package/src/adapter/resources/webgl-buffer.ts +4 -5
  135. package/src/adapter/resources/webgl-command-buffer.ts +328 -21
  136. package/src/adapter/resources/webgl-command-encoder.ts +7 -2
  137. package/src/adapter/resources/webgl-framebuffer.ts +63 -111
  138. package/src/adapter/resources/webgl-render-pass.ts +146 -2
  139. package/src/adapter/resources/webgl-render-pipeline.ts +7 -4
  140. package/src/adapter/resources/webgl-sampler.ts +1 -2
  141. package/src/adapter/resources/webgl-texture.ts +61 -43
  142. package/src/adapter/webgl-canvas-context.ts +2 -2
  143. package/src/adapter/webgl-device.ts +37 -8
  144. package/src/classic/buffer.ts +3 -3
  145. package/src/classic/clear.ts +110 -0
  146. package/src/classic/copy-and-blit.ts +189 -0
  147. package/src/classic/format-utils.ts +43 -0
  148. package/src/classic/typed-array-utils.ts +15 -26
  149. package/src/context/context/create-browser-context.ts +37 -30
  150. package/src/context/parameters/unified-parameter-api.ts +1 -1
  151. package/src/context/parameters/webgl-parameter-tables.ts +2 -2
  152. package/src/index.ts +10 -3
  153. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  154. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  155. package/dist/adapter/converters/renderbuffer-formats.js +0 -180
  156. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  157. package/dist/types/webgl.d.ts +0 -145
  158. package/dist/types/webgl.d.ts.map +0 -1
  159. package/dist/types/webgl.js +0 -2
  160. package/dist/types/webgl.js.map +0 -1
  161. package/src/.DS_Store +0 -0
  162. package/src/adapter/.DS_Store +0 -0
  163. package/src/adapter/converters/renderbuffer-formats.ts +0 -90
  164. package/src/context/.DS_Store +0 -0
  165. package/src/types/webgl.ts +0 -286
@@ -1,19 +1,42 @@
1
1
  import { Device, TextureProps, Sampler, SamplerProps, TypedArray } from '@luma.gl/api';
2
2
  import { Texture } from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import type { GLSamplerParameters } from '../../types/webgl';
3
+ import { GL, GLSamplerParameters } from '@luma.gl/constants';
5
4
  import { WebGLDevice } from '../webgl-device';
6
5
  import { WEBGLSampler } from './webgl-sampler';
7
- export type { TextureProps };
8
- export declare type TextureSourceData = TypedArray | ImageData | HTMLImageElement | HTMLCanvasElement | ImageBitmap | HTMLVideoElement;
9
- declare type SetImageDataOptions = {
6
+ export type WEBGLTextureProps = TextureProps & {
7
+ /** @deprecated use props.sampler */
8
+ parameters?: Record<number, number>;
9
+ /** @deprecated use props.data */
10
+ pixels?: any;
11
+ /** @deprecated use props.format */
12
+ dataFormat?: number | null;
13
+ /** @deprecated rarely supported */
14
+ border?: number;
15
+ /** @deprecated WebGL only. */
16
+ pixelStore?: object;
17
+ /** @deprecated WebGL only. */
18
+ textureUnit?: number;
19
+ /** @deprecated WebGL only. Use dimension. */
20
+ target?: number;
21
+ };
22
+ export declare const DEFAULT_WEBGL_TEXTURE_PROPS: {
23
+ parameters: {};
24
+ pixelStore: {};
25
+ pixels: any;
26
+ border: number;
27
+ dataFormat: any;
28
+ textureUnit: any;
29
+ target: any;
30
+ };
31
+ export type TextureSourceData = TypedArray | ImageData | HTMLImageElement | HTMLCanvasElement | ImageBitmap | HTMLVideoElement;
32
+ type SetImageDataOptions = {
10
33
  target?: number;
11
34
  level?: number;
12
35
  dataFormat?: any;
13
36
  width?: number;
14
37
  height?: number;
15
38
  depth?: number;
16
- format?: any;
39
+ glFormat?: GL;
17
40
  type?: any;
18
41
  offset?: number;
19
42
  data: any;
@@ -44,14 +67,14 @@ declare type SetImageDataOptions = {
44
67
  * @param {Number} offset - (WEBGL2) offset from start of buffer
45
68
  * @parameters - temporary settings to be applied, can be used to supply pixel store settings.
46
69
  */
47
- declare type SetSubImageDataOptions = {
70
+ type SetSubImageDataOptions = {
48
71
  target?: number;
49
72
  level?: number;
50
73
  dataFormat?: any;
51
74
  width?: number;
52
75
  height?: number;
53
76
  depth?: number;
54
- format?: any;
77
+ glFormat?: any;
55
78
  type?: any;
56
79
  offset?: number;
57
80
  data: any;
@@ -62,7 +85,7 @@ declare type SetSubImageDataOptions = {
62
85
  /** @deprecated */
63
86
  pixels?: any;
64
87
  };
65
- declare type SetImageData3DOptions = {
88
+ type SetImageData3DOptions = {
66
89
  level?: number;
67
90
  dataFormat?: any;
68
91
  width?: number;
@@ -74,18 +97,16 @@ declare type SetImageData3DOptions = {
74
97
  data: any;
75
98
  parameters?: Record<GL, any>;
76
99
  };
77
- export declare class WEBGLTexture extends Texture {
100
+ export declare class WEBGLTexture extends Texture<WEBGLTextureProps> {
78
101
  static FACES: number[];
79
102
  readonly MAX_ATTRIBUTES: number;
80
103
  readonly device: WebGLDevice;
81
104
  readonly gl: WebGLRenderingContext;
82
105
  readonly gl2: WebGL2RenderingContext | null;
83
106
  readonly handle: WebGLTexture;
84
- data: any;
85
- width: number;
86
- height: number;
87
- depth: number;
88
- format: GL;
107
+ /** Sampler object (currently unused) */
108
+ sampler: WEBGLSampler;
109
+ glFormat: GL;
89
110
  type: GL;
90
111
  dataFormat: GL;
91
112
  mipmaps: boolean;
@@ -100,8 +121,6 @@ export declare class WEBGLTexture extends Texture {
100
121
  * */
101
122
  target: GL;
102
123
  textureUnit: number;
103
- /** Sampler object (currently unused) */
104
- sampler: WEBGLSampler;
105
124
  /**
106
125
  * Program.draw() checks the loaded flag of all textures to avoid
107
126
  * Textures that are still loading from promises
@@ -113,11 +132,11 @@ export declare class WEBGLTexture extends Texture {
113
132
  parameters: any;
114
133
  lastTime: number;
115
134
  };
116
- constructor(device: Device, props: TextureProps);
135
+ constructor(device: Device, props: WEBGLTextureProps);
117
136
  destroy(): void;
118
137
  toString(): string;
119
- initialize(props?: TextureProps): this;
120
- initializeCube(props?: TextureProps): this;
138
+ initialize(props?: WEBGLTextureProps): this;
139
+ initializeCube(props?: WEBGLTextureProps): this;
121
140
  setSampler(sampler?: Sampler | SamplerProps): this;
122
141
  /**
123
142
  * If size has changed, reinitializes with current format
@@ -137,7 +156,7 @@ export declare class WEBGLTexture extends Texture {
137
156
  * Note: does not allocate storage
138
157
  * Redefines an area of an existing texture
139
158
  */
140
- setSubImageData({ target, pixels, data, x, y, width, height, level, format, type, dataFormat, compressed, offset, parameters }: SetSubImageDataOptions): void;
159
+ setSubImageData({ target, pixels, data, x, y, width, height, level, glFormat, type, dataFormat, compressed, offset, parameters }: SetSubImageDataOptions): void;
141
160
  /**
142
161
  * Defines a two-dimensional texture image or cube-map texture image with
143
162
  * pixels from the current framebuffer (rather than from client memory).
@@ -157,13 +176,13 @@ export declare class WEBGLTexture extends Texture {
157
176
  data: any;
158
177
  dataType: string;
159
178
  };
160
- _deduceParameters(opts: TextureProps): {
179
+ _deduceParameters(opts: WEBGLTextureProps): {
161
180
  dataFormat: number;
162
181
  type: number;
163
182
  compressed: boolean;
164
183
  width: number;
165
184
  height: number;
166
- format: number | import("@luma.gl/api").TextureFormat;
185
+ format: import("@luma.gl/api").TextureFormat;
167
186
  data: string | HTMLVideoElement | import("@luma.gl/api").TextureData | Promise<import("@luma.gl/api").TextureData> | import("modules/api/dist/adapter/resources/texture").CubeTextureData;
168
187
  };
169
188
  _deduceImageSize(data: any, width: any, height: any): {
@@ -190,4 +209,5 @@ export declare class WEBGLTexture extends Texture {
190
209
  /** @deprecated For LegacyTexture subclass */
191
210
  protected _getWebGL1NPOTParameterOverride(pname: number, value: number): number;
192
211
  }
212
+ export {};
193
213
  //# sourceMappingURL=webgl-texture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,27 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import { isObjectEmpty } from '@luma.gl/api';
3
3
  import { Texture, cast, log, assert, isPowerOfTwo, loadImage } from '@luma.gl/api';
4
- import GL from '@luma.gl/constants';
4
+ import { GL } from '@luma.gl/constants';
5
5
  import { withParameters } from "../../context/state-tracker/with-parameters.js";
6
- import { getWebGLTextureFormat, getWebGLTextureParameters, getTextureFormatBytesPerPixel } from "../converters/texture-formats.js";
6
+ import { convertTextureFormatToGL, getWebGLTextureParameters, getTextureFormatBytesPerPixel } from "../converters/texture-formats.js";
7
7
  import { convertSamplerParametersToWebGL, updateSamplerParametersForNPOT } from "../converters/sampler-parameters.js";
8
8
  import { WEBGLBuffer } from "./webgl-buffer.js";
9
9
  import { WEBGLSampler } from "./webgl-sampler.js";
10
+ export const DEFAULT_WEBGL_TEXTURE_PROPS = {
11
+ parameters: {},
12
+ pixelStore: {},
13
+ pixels: null,
14
+ border: 0,
15
+ dataFormat: undefined,
16
+ textureUnit: undefined,
17
+ target: undefined
18
+ };
10
19
  export class WEBGLTexture extends Texture {
11
20
  constructor(device, props) {
12
21
  var _this$props;
13
22
  super(device, {
14
- format: GL.RGBA,
23
+ ...DEFAULT_WEBGL_TEXTURE_PROPS,
24
+ format: 'rgba8unorm',
15
25
  ...props
16
26
  });
17
27
  _defineProperty(this, "MAX_ATTRIBUTES", void 0);
@@ -19,17 +29,13 @@ export class WEBGLTexture extends Texture {
19
29
  _defineProperty(this, "gl", void 0);
20
30
  _defineProperty(this, "gl2", void 0);
21
31
  _defineProperty(this, "handle", void 0);
22
- _defineProperty(this, "data", void 0);
23
- _defineProperty(this, "width", undefined);
24
- _defineProperty(this, "height", undefined);
25
- _defineProperty(this, "depth", undefined);
26
- _defineProperty(this, "format", undefined);
32
+ _defineProperty(this, "sampler", undefined);
33
+ _defineProperty(this, "glFormat", undefined);
27
34
  _defineProperty(this, "type", undefined);
28
35
  _defineProperty(this, "dataFormat", undefined);
29
36
  _defineProperty(this, "mipmaps", undefined);
30
37
  _defineProperty(this, "target", void 0);
31
38
  _defineProperty(this, "textureUnit", undefined);
32
- _defineProperty(this, "sampler", undefined);
33
39
  _defineProperty(this, "loaded", false);
34
40
  _defineProperty(this, "_video", void 0);
35
41
  this.device = cast(device);
@@ -40,6 +46,7 @@ export class WEBGLTexture extends Texture {
40
46
  ...this.props,
41
47
  data: typeof this.props.data
42
48
  });
49
+ this.glFormat = GL.RGBA;
43
50
  this.target = getWebGLTextureTarget(this.props);
44
51
  this.loaded = false;
45
52
  if (typeof ((_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.data) === 'string') {
@@ -85,7 +92,6 @@ export class WEBGLTexture extends Texture {
85
92
  } = props;
86
93
  const {
87
94
  pixels = null,
88
- recreate = false,
89
95
  pixelStore = {},
90
96
  textureUnit = undefined
91
97
  } = props;
@@ -103,6 +109,7 @@ export class WEBGLTexture extends Texture {
103
109
  const {
104
110
  depth = 0
105
111
  } = props;
112
+ const glFormat = convertTextureFormatToGL(props.format, this.device.isWebGL2);
106
113
  ({
107
114
  width,
108
115
  height,
@@ -118,11 +125,9 @@ export class WEBGLTexture extends Texture {
118
125
  width,
119
126
  height
120
127
  }));
121
- const format = getWebGLTextureFormat(this.gl, props.format);
122
128
  this.width = width;
123
129
  this.height = height;
124
- this.depth = depth;
125
- this.format = format;
130
+ this.glFormat = glFormat;
126
131
  this.type = type;
127
132
  this.dataFormat = dataFormat;
128
133
  this.textureUnit = textureUnit;
@@ -140,7 +145,7 @@ export class WEBGLTexture extends Texture {
140
145
  width,
141
146
  height,
142
147
  depth,
143
- format,
148
+ format: glFormat,
144
149
  type,
145
150
  dataFormat,
146
151
  parameters: pixelStore,
@@ -151,9 +156,6 @@ export class WEBGLTexture extends Texture {
151
156
  if (mipmaps) {
152
157
  this.generateMipmap();
153
158
  }
154
- if (recreate) {
155
- this.data = data;
156
- }
157
159
  if (isVideo) {
158
160
  this._video = {
159
161
  video: data,
@@ -245,7 +247,7 @@ export class WEBGLTexture extends Texture {
245
247
  return this;
246
248
  }
247
249
  setImageData(options) {
248
- if (this.props.dimension === '3d') {
250
+ if (this.props.dimension === '3d' || this.props.dimension === '2d-array') {
249
251
  return this.setImageData3D(options);
250
252
  }
251
253
  this.trackDeallocatedMemory('Texture');
@@ -253,7 +255,7 @@ export class WEBGLTexture extends Texture {
253
255
  target = this.target,
254
256
  pixels = null,
255
257
  level = 0,
256
- format = this.format,
258
+ glFormat = this.glFormat,
257
259
  offset = 0,
258
260
  parameters = {}
259
261
  } = options;
@@ -299,22 +301,22 @@ export class WEBGLTexture extends Texture {
299
301
  withParameters(this.gl, parameters, () => {
300
302
  switch (dataType) {
301
303
  case 'null':
302
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
304
+ gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data);
303
305
  break;
304
306
  case 'typed-array':
305
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data, offset);
307
+ gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data, offset);
306
308
  break;
307
309
  case 'buffer':
308
310
  gl2 = this.device.assertWebGL2();
309
311
  gl2.bindBuffer(GL.PIXEL_UNPACK_BUFFER, data.handle || data);
310
- gl2.texImage2D(target, level, format, width, height, 0, dataFormat, type, offset);
312
+ gl2.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, offset);
311
313
  gl2.bindBuffer(GL.PIXEL_UNPACK_BUFFER, null);
312
314
  break;
313
315
  case 'browser-object':
314
316
  if (this.device.isWebGL2) {
315
- gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
317
+ gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data);
316
318
  } else {
317
- gl.texImage2D(target, level, format, dataFormat, type, data);
319
+ gl.texImage2D(target, level, glFormat, dataFormat, type, data);
318
320
  }
319
321
  break;
320
322
  case 'compressed':
@@ -329,7 +331,7 @@ export class WEBGLTexture extends Texture {
329
331
  if (data && data.byteLength) {
330
332
  this.trackAllocatedMemory(data.byteLength, 'Texture');
331
333
  } else {
332
- const bytesPerPixel = getTextureFormatBytesPerPixel(this.gl, this.props.format);
334
+ const bytesPerPixel = getTextureFormatBytesPerPixel(this.props.format, this.device.isWebGL2);
333
335
  this.trackAllocatedMemory(this.width * this.height * bytesPerPixel, 'Texture');
334
336
  }
335
337
  this.loaded = true;
@@ -345,7 +347,7 @@ export class WEBGLTexture extends Texture {
345
347
  width = this.width,
346
348
  height = this.height,
347
349
  level = 0,
348
- format = this.format,
350
+ glFormat = this.glFormat,
349
351
  type = this.type,
350
352
  dataFormat = this.dataFormat,
351
353
  compressed = false,
@@ -383,7 +385,7 @@ export class WEBGLTexture extends Texture {
383
385
  this.gl.bindTexture(this.target, this.handle);
384
386
  withParameters(this.gl, parameters, () => {
385
387
  if (compressed) {
386
- this.gl.compressedTexSubImage2D(target, level, x, y, width, height, format, data);
388
+ this.gl.compressedTexSubImage2D(target, level, x, y, width, height, glFormat, data);
387
389
  } else if (data === null) {
388
390
  this.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, null);
389
391
  } else if (ArrayBuffer.isView(data)) {
@@ -486,7 +488,7 @@ export class WEBGLTexture extends Texture {
486
488
  type,
487
489
  compressed
488
490
  } = opts;
489
- const parameters = getWebGLTextureParameters(this.gl, format);
491
+ const parameters = getWebGLTextureParameters(format, this.device.isWebGL2);
490
492
  dataFormat = dataFormat || parameters.dataFormat;
491
493
  type = type || parameters.type;
492
494
  compressed = compressed || parameters.compressed;
@@ -622,7 +624,7 @@ export class WEBGLTexture extends Texture {
622
624
  } = options;
623
625
  this.trackDeallocatedMemory('Texture');
624
626
  this.gl.bindTexture(this.target, this.handle);
625
- const webglTextureFormat = getWebGLTextureParameters(this.gl, format);
627
+ const webglTextureFormat = getWebGLTextureParameters(format, this.device.isWebGL2);
626
628
  withParameters(this.gl, parameters, () => {
627
629
  if (ArrayBuffer.isView(data)) {
628
630
  this.gl.texImage3D(this.target, level, webglTextureFormat.format, width, height, depth, 0, webglTextureFormat.dataFormat, webglTextureFormat.type, data);
@@ -635,7 +637,7 @@ export class WEBGLTexture extends Texture {
635
637
  if (data && data.byteLength) {
636
638
  this.trackAllocatedMemory(data.byteLength, 'Texture');
637
639
  } else {
638
- const bytesPerPixel = getTextureFormatBytesPerPixel(this.gl, this.props.format);
640
+ const bytesPerPixel = getTextureFormatBytesPerPixel(this.props.format, this.device.isWebGL2);
639
641
  this.trackAllocatedMemory(this.width * this.height * this.depth * bytesPerPixel, 'Texture');
640
642
  }
641
643
  this.loaded = true;