@luma.gl/core 9.3.0-alpha.4 → 9.3.0-alpha.8

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 (252) hide show
  1. package/dist/adapter/canvas-context.d.ts +6 -182
  2. package/dist/adapter/canvas-context.d.ts.map +1 -1
  3. package/dist/adapter/canvas-context.js +5 -481
  4. package/dist/adapter/canvas-context.js.map +1 -1
  5. package/dist/adapter/canvas-observer.d.ts +32 -0
  6. package/dist/adapter/canvas-observer.d.ts.map +1 -0
  7. package/dist/adapter/canvas-observer.js +90 -0
  8. package/dist/adapter/canvas-observer.js.map +1 -0
  9. package/dist/adapter/canvas-surface.d.ts +150 -0
  10. package/dist/adapter/canvas-surface.d.ts.map +1 -0
  11. package/dist/adapter/canvas-surface.js +392 -0
  12. package/dist/adapter/canvas-surface.js.map +1 -0
  13. package/dist/adapter/device.d.ts +76 -11
  14. package/dist/adapter/device.d.ts.map +1 -1
  15. package/dist/adapter/device.js +180 -9
  16. package/dist/adapter/device.js.map +1 -1
  17. package/dist/adapter/luma.js +1 -1
  18. package/dist/adapter/presentation-context.d.ts +11 -0
  19. package/dist/adapter/presentation-context.d.ts.map +1 -0
  20. package/dist/adapter/presentation-context.js +12 -0
  21. package/dist/adapter/presentation-context.js.map +1 -0
  22. package/dist/adapter/resources/buffer.d.ts +1 -1
  23. package/dist/adapter/resources/buffer.d.ts.map +1 -1
  24. package/dist/adapter/resources/buffer.js +14 -6
  25. package/dist/adapter/resources/buffer.js.map +1 -1
  26. package/dist/adapter/resources/command-buffer.d.ts +3 -1
  27. package/dist/adapter/resources/command-buffer.d.ts.map +1 -1
  28. package/dist/adapter/resources/command-buffer.js +3 -1
  29. package/dist/adapter/resources/command-buffer.js.map +1 -1
  30. package/dist/adapter/resources/command-encoder.d.ts +25 -2
  31. package/dist/adapter/resources/command-encoder.d.ts.map +1 -1
  32. package/dist/adapter/resources/command-encoder.js +68 -2
  33. package/dist/adapter/resources/command-encoder.js.map +1 -1
  34. package/dist/adapter/resources/compute-pipeline.d.ts +2 -2
  35. package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -1
  36. package/dist/adapter/resources/fence.d.ts +1 -1
  37. package/dist/adapter/resources/fence.d.ts.map +1 -1
  38. package/dist/adapter/resources/fence.js +3 -1
  39. package/dist/adapter/resources/fence.js.map +1 -1
  40. package/dist/adapter/resources/framebuffer.d.ts +1 -1
  41. package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
  42. package/dist/adapter/resources/query-set.d.ts +17 -1
  43. package/dist/adapter/resources/query-set.d.ts.map +1 -1
  44. package/dist/adapter/resources/query-set.js.map +1 -1
  45. package/dist/adapter/resources/render-pipeline.d.ts +28 -10
  46. package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
  47. package/dist/adapter/resources/render-pipeline.js +21 -2
  48. package/dist/adapter/resources/render-pipeline.js.map +1 -1
  49. package/dist/adapter/resources/resource.d.ts +8 -0
  50. package/dist/adapter/resources/resource.d.ts.map +1 -1
  51. package/dist/adapter/resources/resource.js +240 -14
  52. package/dist/adapter/resources/resource.js.map +1 -1
  53. package/dist/adapter/resources/shared-render-pipeline.d.ts +22 -0
  54. package/dist/adapter/resources/shared-render-pipeline.d.ts.map +1 -0
  55. package/dist/adapter/resources/shared-render-pipeline.js +25 -0
  56. package/dist/adapter/resources/shared-render-pipeline.js.map +1 -0
  57. package/dist/adapter/resources/texture-view.d.ts +1 -1
  58. package/dist/adapter/resources/texture-view.d.ts.map +1 -1
  59. package/dist/adapter/resources/texture.d.ts +82 -15
  60. package/dist/adapter/resources/texture.d.ts.map +1 -1
  61. package/dist/adapter/resources/texture.js +186 -33
  62. package/dist/adapter/resources/texture.js.map +1 -1
  63. package/dist/adapter/types/attachments.d.ts +1 -1
  64. package/dist/adapter/types/attachments.d.ts.map +1 -1
  65. package/dist/adapter/types/buffer-layout.d.ts +1 -1
  66. package/dist/adapter/types/buffer-layout.d.ts.map +1 -1
  67. package/dist/adapter/types/parameters.d.ts +3 -1
  68. package/dist/adapter/types/parameters.d.ts.map +1 -1
  69. package/dist/adapter/types/parameters.js +1 -0
  70. package/dist/adapter/types/parameters.js.map +1 -1
  71. package/dist/adapter/types/shader-layout.d.ts +10 -6
  72. package/dist/adapter/types/shader-layout.d.ts.map +1 -1
  73. package/dist/adapter/types/uniforms.d.ts +6 -0
  74. package/dist/adapter/types/uniforms.d.ts.map +1 -1
  75. package/dist/adapter-utils/bind-groups.d.ts +9 -0
  76. package/dist/adapter-utils/bind-groups.d.ts.map +1 -0
  77. package/dist/adapter-utils/bind-groups.js +41 -0
  78. package/dist/adapter-utils/bind-groups.js.map +1 -0
  79. package/dist/adapter-utils/get-attribute-from-layouts.d.ts +2 -2
  80. package/dist/adapter-utils/get-attribute-from-layouts.d.ts.map +1 -1
  81. package/dist/adapter-utils/get-attribute-from-layouts.js +6 -6
  82. package/dist/adapter-utils/get-attribute-from-layouts.js.map +1 -1
  83. package/dist/dist.dev.js +1934 -415
  84. package/dist/dist.min.js +6 -6
  85. package/dist/factories/bind-group-factory.d.ts +20 -0
  86. package/dist/factories/bind-group-factory.d.ts.map +1 -0
  87. package/dist/factories/bind-group-factory.js +79 -0
  88. package/dist/factories/bind-group-factory.js.map +1 -0
  89. package/dist/factories/core-module-state.d.ts +7 -0
  90. package/dist/factories/core-module-state.d.ts.map +1 -0
  91. package/dist/{shadertypes/data-types/shader-types.js → factories/core-module-state.js} +1 -1
  92. package/dist/factories/core-module-state.js.map +1 -0
  93. package/dist/factories/pipeline-factory.d.ts +54 -0
  94. package/dist/factories/pipeline-factory.d.ts.map +1 -0
  95. package/dist/factories/pipeline-factory.js +270 -0
  96. package/dist/factories/pipeline-factory.js.map +1 -0
  97. package/dist/factories/shader-factory.d.ts +20 -0
  98. package/dist/factories/shader-factory.d.ts.map +1 -0
  99. package/dist/factories/shader-factory.js +84 -0
  100. package/dist/factories/shader-factory.js.map +1 -0
  101. package/dist/index.cjs +1858 -409
  102. package/dist/index.cjs.map +4 -4
  103. package/dist/index.d.ts +25 -14
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +15 -9
  106. package/dist/index.js.map +1 -1
  107. package/dist/portable/uniform-block.d.ts +1 -1
  108. package/dist/portable/uniform-block.d.ts.map +1 -1
  109. package/dist/portable/uniform-buffer-layout.d.ts +20 -15
  110. package/dist/portable/uniform-buffer-layout.d.ts.map +1 -1
  111. package/dist/portable/uniform-buffer-layout.js +188 -43
  112. package/dist/portable/uniform-buffer-layout.js.map +1 -1
  113. package/dist/portable/uniform-store.d.ts +5 -6
  114. package/dist/portable/uniform-store.d.ts.map +1 -1
  115. package/dist/portable/uniform-store.js +6 -3
  116. package/dist/portable/uniform-store.js.map +1 -1
  117. package/dist/shadertypes/data-types/data-type-decoder.d.ts +20 -0
  118. package/dist/shadertypes/data-types/data-type-decoder.d.ts.map +1 -0
  119. package/dist/shadertypes/data-types/data-type-decoder.js +79 -0
  120. package/dist/shadertypes/data-types/data-type-decoder.js.map +1 -0
  121. package/dist/shadertypes/data-types/data-types.d.ts +31 -12
  122. package/dist/shadertypes/data-types/data-types.d.ts.map +1 -1
  123. package/dist/{image-utils → shadertypes/image-types}/image-types.d.ts +0 -6
  124. package/dist/shadertypes/image-types/image-types.d.ts.map +1 -0
  125. package/dist/shadertypes/image-types/image-types.js.map +1 -0
  126. package/dist/shadertypes/shader-types/shader-type-decoder.d.ts +41 -0
  127. package/dist/shadertypes/shader-types/shader-type-decoder.d.ts.map +1 -0
  128. package/dist/shadertypes/{data-types/decode-shader-types.js → shader-types/shader-type-decoder.js} +43 -4
  129. package/dist/shadertypes/shader-types/shader-type-decoder.js.map +1 -0
  130. package/dist/shadertypes/shader-types/shader-types.d.ts +101 -0
  131. package/dist/shadertypes/shader-types/shader-types.d.ts.map +1 -0
  132. package/dist/shadertypes/shader-types/shader-types.js +30 -0
  133. package/dist/shadertypes/shader-types/shader-types.js.map +1 -0
  134. package/dist/shadertypes/texture-types/pixel-utils.d.ts.map +1 -0
  135. package/dist/shadertypes/texture-types/pixel-utils.js.map +1 -0
  136. package/dist/shadertypes/{textures → texture-types}/texture-format-decoder.d.ts +1 -0
  137. package/dist/shadertypes/texture-types/texture-format-decoder.d.ts.map +1 -0
  138. package/dist/shadertypes/{textures → texture-types}/texture-format-decoder.js +55 -9
  139. package/dist/shadertypes/texture-types/texture-format-decoder.js.map +1 -0
  140. package/dist/shadertypes/texture-types/texture-format-generics.d.ts +34 -0
  141. package/dist/shadertypes/texture-types/texture-format-generics.d.ts.map +1 -0
  142. package/dist/shadertypes/texture-types/texture-format-generics.js.map +1 -0
  143. package/dist/shadertypes/texture-types/texture-format-table.d.ts.map +1 -0
  144. package/dist/shadertypes/{textures → texture-types}/texture-format-table.js +10 -9
  145. package/dist/shadertypes/texture-types/texture-format-table.js.map +1 -0
  146. package/dist/shadertypes/{textures → texture-types}/texture-formats.d.ts +10 -3
  147. package/dist/shadertypes/texture-types/texture-formats.d.ts.map +1 -0
  148. package/dist/shadertypes/{textures → texture-types}/texture-formats.js +1 -0
  149. package/dist/shadertypes/texture-types/texture-formats.js.map +1 -0
  150. package/dist/shadertypes/{textures → texture-types}/texture-layout.d.ts +1 -1
  151. package/dist/shadertypes/texture-types/texture-layout.d.ts.map +1 -0
  152. package/dist/shadertypes/texture-types/texture-layout.js.map +1 -0
  153. package/dist/shadertypes/vertex-types/vertex-format-decoder.d.ts +24 -0
  154. package/dist/shadertypes/vertex-types/vertex-format-decoder.d.ts.map +1 -0
  155. package/dist/shadertypes/vertex-types/vertex-format-decoder.js +106 -0
  156. package/dist/shadertypes/vertex-types/vertex-format-decoder.js.map +1 -0
  157. package/dist/shadertypes/vertex-types/vertex-formats.d.ts +50 -0
  158. package/dist/shadertypes/vertex-types/vertex-formats.d.ts.map +1 -0
  159. package/dist/shadertypes/vertex-types/vertex-formats.js.map +1 -0
  160. package/dist/utils/array-equal.d.ts +1 -1
  161. package/dist/utils/array-equal.d.ts.map +1 -1
  162. package/dist/utils/array-equal.js +15 -9
  163. package/dist/utils/array-equal.js.map +1 -1
  164. package/dist/utils/stats-manager.d.ts.map +1 -1
  165. package/dist/utils/stats-manager.js +61 -1
  166. package/dist/utils/stats-manager.js.map +1 -1
  167. package/package.json +3 -3
  168. package/src/adapter/canvas-context.ts +7 -623
  169. package/src/adapter/canvas-observer.ts +130 -0
  170. package/src/adapter/canvas-surface.ts +521 -0
  171. package/src/adapter/device.ts +287 -21
  172. package/src/adapter/presentation-context.ts +16 -0
  173. package/src/adapter/resources/buffer.ts +13 -5
  174. package/src/adapter/resources/command-buffer.ts +3 -1
  175. package/src/adapter/resources/command-encoder.ts +94 -3
  176. package/src/adapter/resources/compute-pipeline.ts +2 -2
  177. package/src/adapter/resources/fence.ts +3 -1
  178. package/src/adapter/resources/framebuffer.ts +1 -1
  179. package/src/adapter/resources/query-set.ts +17 -1
  180. package/src/adapter/resources/render-pipeline.ts +52 -16
  181. package/src/adapter/resources/resource.ts +284 -14
  182. package/src/adapter/resources/shared-render-pipeline.ts +40 -0
  183. package/src/adapter/resources/texture-view.ts +1 -1
  184. package/src/adapter/resources/texture.ts +273 -43
  185. package/src/adapter/types/attachments.ts +1 -1
  186. package/src/adapter/types/buffer-layout.ts +1 -1
  187. package/src/adapter/types/parameters.ts +4 -1
  188. package/src/adapter/types/shader-layout.ts +15 -9
  189. package/src/adapter/types/uniforms.ts +12 -0
  190. package/src/adapter-utils/bind-groups.ts +71 -0
  191. package/src/adapter-utils/get-attribute-from-layouts.ts +8 -11
  192. package/src/factories/bind-group-factory.ts +139 -0
  193. package/src/factories/core-module-state.ts +11 -0
  194. package/src/factories/pipeline-factory.ts +328 -0
  195. package/src/factories/shader-factory.ts +103 -0
  196. package/src/index.ts +54 -26
  197. package/src/portable/uniform-block.ts +1 -1
  198. package/src/portable/uniform-buffer-layout.ts +269 -62
  199. package/src/portable/uniform-store.ts +14 -11
  200. package/src/shadertypes/data-types/data-type-decoder.ts +105 -0
  201. package/src/shadertypes/data-types/data-types.ts +100 -48
  202. package/src/{image-utils → shadertypes/image-types}/image-types.ts +0 -7
  203. package/src/shadertypes/{data-types/decode-shader-types.ts → shader-types/shader-type-decoder.ts} +88 -14
  204. package/src/shadertypes/shader-types/shader-types.ts +207 -0
  205. package/src/shadertypes/{textures → texture-types}/texture-format-decoder.ts +75 -9
  206. package/src/shadertypes/{textures → texture-types}/texture-format-generics.ts +42 -48
  207. package/src/shadertypes/{textures → texture-types}/texture-format-table.ts +10 -9
  208. package/src/shadertypes/{textures → texture-types}/texture-formats.ts +20 -3
  209. package/src/shadertypes/vertex-types/vertex-format-decoder.ts +131 -0
  210. package/src/shadertypes/vertex-types/vertex-formats.ts +183 -0
  211. package/src/utils/array-equal.ts +21 -9
  212. package/src/utils/stats-manager.ts +76 -2
  213. package/dist/image-utils/image-types.d.ts.map +0 -1
  214. package/dist/image-utils/image-types.js.map +0 -1
  215. package/dist/shadertypes/data-types/decode-shader-types.d.ts +0 -17
  216. package/dist/shadertypes/data-types/decode-shader-types.d.ts.map +0 -1
  217. package/dist/shadertypes/data-types/decode-shader-types.js.map +0 -1
  218. package/dist/shadertypes/data-types/shader-types.d.ts +0 -43
  219. package/dist/shadertypes/data-types/shader-types.d.ts.map +0 -1
  220. package/dist/shadertypes/data-types/shader-types.js.map +0 -1
  221. package/dist/shadertypes/textures/pixel-utils.d.ts.map +0 -1
  222. package/dist/shadertypes/textures/pixel-utils.js.map +0 -1
  223. package/dist/shadertypes/textures/texture-format-decoder.d.ts.map +0 -1
  224. package/dist/shadertypes/textures/texture-format-decoder.js.map +0 -1
  225. package/dist/shadertypes/textures/texture-format-generics.d.ts +0 -33
  226. package/dist/shadertypes/textures/texture-format-generics.d.ts.map +0 -1
  227. package/dist/shadertypes/textures/texture-format-generics.js.map +0 -1
  228. package/dist/shadertypes/textures/texture-format-table.d.ts.map +0 -1
  229. package/dist/shadertypes/textures/texture-format-table.js.map +0 -1
  230. package/dist/shadertypes/textures/texture-formats.d.ts.map +0 -1
  231. package/dist/shadertypes/textures/texture-formats.js.map +0 -1
  232. package/dist/shadertypes/textures/texture-layout.d.ts.map +0 -1
  233. package/dist/shadertypes/textures/texture-layout.js.map +0 -1
  234. package/dist/shadertypes/vertex-arrays/decode-vertex-format.d.ts +0 -18
  235. package/dist/shadertypes/vertex-arrays/decode-vertex-format.d.ts.map +0 -1
  236. package/dist/shadertypes/vertex-arrays/decode-vertex-format.js +0 -100
  237. package/dist/shadertypes/vertex-arrays/decode-vertex-format.js.map +0 -1
  238. package/dist/shadertypes/vertex-arrays/vertex-formats.d.ts +0 -27
  239. package/dist/shadertypes/vertex-arrays/vertex-formats.d.ts.map +0 -1
  240. package/dist/shadertypes/vertex-arrays/vertex-formats.js.map +0 -1
  241. package/src/shadertypes/data-types/shader-types.ts +0 -94
  242. package/src/shadertypes/vertex-arrays/decode-vertex-format.ts +0 -124
  243. package/src/shadertypes/vertex-arrays/vertex-formats.ts +0 -91
  244. /package/dist/{image-utils → shadertypes/image-types}/image-types.js +0 -0
  245. /package/dist/shadertypes/{textures → texture-types}/pixel-utils.d.ts +0 -0
  246. /package/dist/shadertypes/{textures → texture-types}/pixel-utils.js +0 -0
  247. /package/dist/shadertypes/{textures → texture-types}/texture-format-generics.js +0 -0
  248. /package/dist/shadertypes/{textures → texture-types}/texture-format-table.d.ts +0 -0
  249. /package/dist/shadertypes/{textures → texture-types}/texture-layout.js +0 -0
  250. /package/dist/shadertypes/{vertex-arrays → vertex-types}/vertex-formats.js +0 -0
  251. /package/src/shadertypes/{textures → texture-types}/pixel-utils.ts +0 -0
  252. /package/src/shadertypes/{textures → texture-types}/texture-layout.ts +0 -0
@@ -4,7 +4,7 @@
4
4
  import { Resource } from "./resource.js";
5
5
  import { Sampler } from "./sampler.js";
6
6
  import { log } from "../../utils/log.js";
7
- import { textureFormatDecoder } from "../../shadertypes/textures/texture-format-decoder.js";
7
+ import { textureFormatDecoder } from "../../shadertypes/texture-types/texture-format-decoder.js";
8
8
  const BASE_DIMENSIONS = {
9
9
  '1d': '1d',
10
10
  '2d': '2d',
@@ -47,6 +47,8 @@ export class Texture extends Resource {
47
47
  depth;
48
48
  /** mip levels in this texture */
49
49
  mipLevels;
50
+ /** sample count */
51
+ samples;
50
52
  /** Rows are multiples of this length, padded with extra bytes if needed */
51
53
  byteAlignment;
52
54
  /** The ready promise is always resolved. It is provided for type compatibility with DynamicTexture. */
@@ -73,6 +75,7 @@ export class Texture extends Resource {
73
75
  this.height = this.props.height;
74
76
  this.depth = this.props.depth;
75
77
  this.mipLevels = this.props.mipLevels;
78
+ this.samples = this.props.samples || 1;
76
79
  if (this.dimension === 'cube') {
77
80
  this.depth = 6;
78
81
  }
@@ -107,9 +110,25 @@ export class Texture extends Resource {
107
110
  setSampler(sampler) {
108
111
  this.sampler = sampler instanceof Sampler ? sampler : this.device.createSampler(sampler);
109
112
  }
113
+ /**
114
+ * Copy raw image data (bytes) into the texture.
115
+ *
116
+ * @note Deprecated compatibility wrapper over {@link writeData}.
117
+ * @note Uses the same layout defaults and alignment rules as {@link writeData}.
118
+ * @note Tightly packed CPU uploads can omit `bytesPerRow` and `rowsPerImage`.
119
+ * @note If the CPU source rows are padded, pass explicit `bytesPerRow` and `rowsPerImage`.
120
+ * @deprecated Use writeData()
121
+ */
122
+ copyImageData(options) {
123
+ const { data, depth, ...writeOptions } = options;
124
+ this.writeData(data, {
125
+ ...writeOptions,
126
+ depthOrArrayLayers: writeOptions.depthOrArrayLayers ?? depth
127
+ });
128
+ }
110
129
  /**
111
130
  * Calculates the memory layout of the texture, required when reading and writing data.
112
- * @return the memory layout of the texture, in particular bytesPerRow which includes required padding
131
+ * @return the backend-aligned linear layout, in particular bytesPerRow which includes any required padding for buffer copy/read paths
113
132
  */
114
133
  computeMemoryLayout(options_ = {}) {
115
134
  const options = this._normalizeTextureReadOptions(options_);
@@ -130,9 +149,11 @@ export class Texture extends Resource {
130
149
  * @returns A Buffer containing the texture data.
131
150
  *
132
151
  * @note The memory layout of the texture data is determined by the texture format and dimensions.
133
- * @note The application can call Texture.computeMemoryLayout() to compute the layout.
134
- * @note The application can call Buffer.readAsync()
135
- * @note If not supplied a buffer will be created and the application needs to call Buffer.destroy
152
+ * @note The application can call Texture.computeMemoryLayout() to compute the backend-aligned layout.
153
+ * @note The application can call Buffer.readAsync() to read the returned buffer on the CPU.
154
+ * @note The destination buffer must be supplied by the caller and must be large enough for the requested region.
155
+ * @note On WebGPU this corresponds to a texture-to-buffer copy and uses buffer-copy alignment rules.
156
+ * @note On WebGL, luma.gl emulates the same logical readback behavior.
136
157
  */
137
158
  readBuffer(options, buffer) {
138
159
  throw new Error('readBuffer not implemented');
@@ -143,15 +164,20 @@ export class Texture extends Resource {
143
164
  *
144
165
  * @note The memory layout of the texture data is determined by the texture format and dimensions.
145
166
  * @note The application can call Texture.computeMemoryLayout() to compute the layout.
167
+ * @deprecated Use Texture.readBuffer() with an explicit destination buffer, or DynamicTexture.readAsync() for convenience readback.
146
168
  */
147
169
  readDataAsync(options) {
148
170
  throw new Error('readBuffer not implemented');
149
171
  }
150
172
  /**
151
- * Writes an GPU Buffer into a texture.
173
+ * Writes a GPU Buffer into a texture.
152
174
  *
175
+ * @param buffer - Source GPU buffer.
176
+ * @param options - Destination subresource, extent, and source layout options.
153
177
  * @note The memory layout of the texture data is determined by the texture format and dimensions.
154
- * @note The application can call Texture.computeMemoryLayout() to compute the layout.
178
+ * @note The application can call Texture.computeMemoryLayout() to compute the backend-aligned layout.
179
+ * @note On WebGPU this corresponds to a buffer-to-texture copy and uses buffer-copy alignment rules.
180
+ * @note On WebGL, luma.gl emulates the same destination and layout semantics.
155
181
  */
156
182
  writeBuffer(buffer, options) {
157
183
  throw new Error('readBuffer not implemented');
@@ -159,8 +185,11 @@ export class Texture extends Resource {
159
185
  /**
160
186
  * Writes an array buffer into a texture.
161
187
  *
162
- * @note The memory layout of the texture data is determined by the texture format and dimensions.
163
- * @note The application can call Texture.computeMemoryLayout() to compute the layout.
188
+ * @param data - Source texel data.
189
+ * @param options - Destination subresource, extent, and source layout options.
190
+ * @note If `bytesPerRow` and `rowsPerImage` are omitted, luma.gl computes a tightly packed CPU-memory layout for the requested region.
191
+ * @note On WebGPU this corresponds to `GPUQueue.writeTexture()` and does not implicitly pad rows to 256 bytes.
192
+ * @note On WebGL, padded CPU data is supported via the same `bytesPerRow` and `rowsPerImage` options.
164
193
  */
165
194
  writeData(data, options) {
166
195
  throw new Error('readBuffer not implemented');
@@ -226,43 +255,150 @@ export class Texture extends Resource {
226
255
  }
227
256
  }
228
257
  _normalizeCopyImageDataOptions(options_) {
229
- const { width, height, depth } = this;
230
- const options = { ...Texture.defaultCopyDataOptions, width, height, depth, ...options_ };
231
- const info = this.device.getTextureFormatInfo(this.format);
232
- if (!options_.bytesPerRow && !info.bytesPerPixel) {
233
- throw new Error(`bytesPerRow must be provided for texture format ${this.format}`);
234
- }
235
- options.bytesPerRow = options_.bytesPerRow || width * (info.bytesPerPixel || 4);
236
- options.rowsPerImage = options_.rowsPerImage || height;
237
- // WebGL will error if we try to copy outside the bounds of the texture
238
- // options.width = Math.min(options.width, this.width - options.x);
239
- // options.height = Math.min(options.height, this.height - options.y);
240
- return options;
258
+ const { data, depth, ...writeOptions } = options_;
259
+ const options = this._normalizeTextureWriteOptions({
260
+ ...writeOptions,
261
+ depthOrArrayLayers: writeOptions.depthOrArrayLayers ?? depth
262
+ });
263
+ return { data, depth: options.depthOrArrayLayers, ...options };
241
264
  }
242
265
  _normalizeCopyExternalImageOptions(options_) {
266
+ const optionsWithoutUndefined = Texture._omitUndefined(options_);
267
+ const mipLevel = optionsWithoutUndefined.mipLevel ?? 0;
268
+ const mipLevelSize = this._getMipLevelSize(mipLevel);
243
269
  const size = this.device.getExternalImageSize(options_.image);
244
- const options = { ...Texture.defaultCopyExternalImageOptions, ...size, ...options_ };
270
+ const options = {
271
+ ...Texture.defaultCopyExternalImageOptions,
272
+ ...mipLevelSize,
273
+ ...size,
274
+ ...optionsWithoutUndefined
275
+ };
245
276
  // WebGL will error if we try to copy outside the bounds of the texture
246
- options.width = Math.min(options.width, this.width - options.x);
247
- options.height = Math.min(options.height, this.height - options.y);
277
+ options.width = Math.min(options.width, mipLevelSize.width - options.x);
278
+ options.height = Math.min(options.height, mipLevelSize.height - options.y);
279
+ options.depth = Math.min(options.depth, mipLevelSize.depthOrArrayLayers - options.z);
248
280
  return options;
249
281
  }
250
282
  _normalizeTextureReadOptions(options_) {
251
- const { width, height } = this;
252
- const options = { ...Texture.defaultTextureReadOptions, width, height, ...options_ };
283
+ const optionsWithoutUndefined = Texture._omitUndefined(options_);
284
+ const mipLevel = optionsWithoutUndefined.mipLevel ?? 0;
285
+ const mipLevelSize = this._getMipLevelSize(mipLevel);
286
+ const options = {
287
+ ...Texture.defaultTextureReadOptions,
288
+ ...mipLevelSize,
289
+ ...optionsWithoutUndefined
290
+ };
253
291
  // WebGL will error if we try to copy outside the bounds of the texture
254
- options.width = Math.min(options.width, this.width - options.x);
255
- options.height = Math.min(options.height, this.height - options.y);
292
+ options.width = Math.min(options.width, mipLevelSize.width - options.x);
293
+ options.height = Math.min(options.height, mipLevelSize.height - options.y);
294
+ options.depthOrArrayLayers = Math.min(options.depthOrArrayLayers, mipLevelSize.depthOrArrayLayers - options.z);
256
295
  return options;
257
296
  }
297
+ /**
298
+ * Normalizes a texture read request and validates the color-only readback contract used by the
299
+ * current texture read APIs. Supported dimensions are `2d`, `cube`, `cube-array`,
300
+ * `2d-array`, and `3d`.
301
+ *
302
+ * @throws if the texture format, aspect, or dimension is not supported by the first-pass
303
+ * color-read implementation.
304
+ */
305
+ _getSupportedColorReadOptions(options_) {
306
+ const options = this._normalizeTextureReadOptions(options_);
307
+ const formatInfo = textureFormatDecoder.getInfo(this.format);
308
+ this._validateColorReadAspect(options);
309
+ this._validateColorReadFormat(formatInfo);
310
+ switch (this.dimension) {
311
+ case '2d':
312
+ case 'cube':
313
+ case 'cube-array':
314
+ case '2d-array':
315
+ case '3d':
316
+ return options;
317
+ default:
318
+ throw new Error(`${this} color readback does not support ${this.dimension} textures`);
319
+ }
320
+ }
321
+ /** Validates that a read request targets the full color aspect of the texture. */
322
+ _validateColorReadAspect(options) {
323
+ if (options.aspect !== 'all') {
324
+ throw new Error(`${this} color readback only supports aspect 'all'`);
325
+ }
326
+ }
327
+ /** Validates that a read request targets an uncompressed color-renderable texture format. */
328
+ _validateColorReadFormat(formatInfo) {
329
+ if (formatInfo.compressed) {
330
+ throw new Error(`${this} color readback does not support compressed formats (${this.format})`);
331
+ }
332
+ switch (formatInfo.attachment) {
333
+ case 'color':
334
+ return;
335
+ case 'depth':
336
+ throw new Error(`${this} color readback does not support depth formats (${this.format})`);
337
+ case 'stencil':
338
+ throw new Error(`${this} color readback does not support stencil formats (${this.format})`);
339
+ case 'depth-stencil':
340
+ throw new Error(`${this} color readback does not support depth-stencil formats (${this.format})`);
341
+ default:
342
+ throw new Error(`${this} color readback does not support format ${this.format}`);
343
+ }
344
+ }
258
345
  _normalizeTextureWriteOptions(options_) {
259
- const { width, height } = this;
260
- const options = { ...Texture.defaultTextureReadOptions, width, height, ...options_ };
261
- // WebGL will error if we try to copy outside the bounds of the texture
262
- options.width = Math.min(options.width, this.width - options.x);
263
- options.height = Math.min(options.height, this.height - options.y);
346
+ const optionsWithoutUndefined = Texture._omitUndefined(options_);
347
+ const mipLevel = optionsWithoutUndefined.mipLevel ?? 0;
348
+ const mipLevelSize = this._getMipLevelSize(mipLevel);
349
+ const options = {
350
+ ...Texture.defaultTextureWriteOptions,
351
+ ...mipLevelSize,
352
+ ...optionsWithoutUndefined
353
+ };
354
+ options.width = Math.min(options.width, mipLevelSize.width - options.x);
355
+ options.height = Math.min(options.height, mipLevelSize.height - options.y);
356
+ options.depthOrArrayLayers = Math.min(options.depthOrArrayLayers, mipLevelSize.depthOrArrayLayers - options.z);
357
+ const layout = textureFormatDecoder.computeMemoryLayout({
358
+ format: this.format,
359
+ width: options.width,
360
+ height: options.height,
361
+ depth: options.depthOrArrayLayers,
362
+ byteAlignment: this.byteAlignment
363
+ });
364
+ const minimumBytesPerRow = layout.bytesPerPixel * options.width;
365
+ options.bytesPerRow = optionsWithoutUndefined.bytesPerRow ?? layout.bytesPerRow;
366
+ options.rowsPerImage = optionsWithoutUndefined.rowsPerImage ?? options.height;
367
+ if (options.bytesPerRow < minimumBytesPerRow) {
368
+ throw new Error(`bytesPerRow (${options.bytesPerRow}) must be at least ${minimumBytesPerRow} for ${this.format}`);
369
+ }
370
+ if (options.rowsPerImage < options.height) {
371
+ throw new Error(`rowsPerImage (${options.rowsPerImage}) must be at least ${options.height} for ${this.format}`);
372
+ }
373
+ const bytesPerPixel = this.device.getTextureFormatInfo(this.format).bytesPerPixel;
374
+ if (bytesPerPixel && options.bytesPerRow % bytesPerPixel !== 0) {
375
+ throw new Error(`bytesPerRow (${options.bytesPerRow}) must be a multiple of bytesPerPixel (${bytesPerPixel}) for ${this.format}`);
376
+ }
264
377
  return options;
265
378
  }
379
+ _getMipLevelSize(mipLevel) {
380
+ const width = Math.max(1, this.width >> mipLevel);
381
+ const height = this.baseDimension === '1d' ? 1 : Math.max(1, this.height >> mipLevel);
382
+ const depthOrArrayLayers = this.dimension === '3d' ? Math.max(1, this.depth >> mipLevel) : this.depth;
383
+ return { width, height, depthOrArrayLayers };
384
+ }
385
+ getAllocatedByteLength() {
386
+ let allocatedByteLength = 0;
387
+ for (let mipLevel = 0; mipLevel < this.mipLevels; mipLevel++) {
388
+ const { width, height, depthOrArrayLayers } = this._getMipLevelSize(mipLevel);
389
+ allocatedByteLength += textureFormatDecoder.computeMemoryLayout({
390
+ format: this.format,
391
+ width,
392
+ height,
393
+ depth: depthOrArrayLayers,
394
+ byteAlignment: 1
395
+ }).byteLength;
396
+ }
397
+ return allocatedByteLength * this.samples;
398
+ }
399
+ static _omitUndefined(options) {
400
+ return Object.fromEntries(Object.entries(options).filter(([, value]) => value !== undefined));
401
+ }
266
402
  static defaultProps = {
267
403
  ...Resource.defaultProps,
268
404
  data: null,
@@ -282,6 +418,10 @@ export class Texture extends Resource {
282
418
  byteOffset: 0,
283
419
  bytesPerRow: undefined,
284
420
  rowsPerImage: undefined,
421
+ width: undefined,
422
+ height: undefined,
423
+ depthOrArrayLayers: undefined,
424
+ depth: 1,
285
425
  mipLevel: 0,
286
426
  x: 0,
287
427
  y: 0,
@@ -315,5 +455,18 @@ export class Texture extends Resource {
315
455
  mipLevel: 0,
316
456
  aspect: 'all'
317
457
  };
458
+ static defaultTextureWriteOptions = {
459
+ byteOffset: 0,
460
+ bytesPerRow: undefined,
461
+ rowsPerImage: undefined,
462
+ x: 0,
463
+ y: 0,
464
+ z: 0,
465
+ width: undefined,
466
+ height: undefined,
467
+ depthOrArrayLayers: 1,
468
+ mipLevel: 0,
469
+ aspect: 'all'
470
+ };
318
471
  }
319
472
  //# sourceMappingURL=texture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/texture.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TextureFormatColor, TextureFormatDepthStencil, TextureFormat } from "../../shadertypes/textures/texture-formats.js";
1
+ import type { TextureFormatColor, TextureFormatDepthStencil, TextureFormat } from "../../shadertypes/texture-types/texture-formats.js";
2
2
  import type { Texture } from "../resources/texture.js";
3
3
  import type { TextureView } from "../resources/texture-view.js";
4
4
  /** Describes a buffer binding layout */
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/attachments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACd,sDAAmD;AACpD,OAAO,KAAK,EAAC,OAAO,EAAC,gCAA6B;AAClD,OAAO,KAAK,EAAC,WAAW,EAAC,qCAAkC;AAM3D,wCAAwC;AACxC,KAAK,mBAAmB,GAAG;IACzB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,mBAAmB,CAAC;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,kCAAkC;AAClC,KAAK,oBAAoB,GAAG;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACxE,UAAU,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,0CAA0C;AAC1C,KAAK,2BAA2B,GAAG;IACjC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,CAAC;AAIhC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,kFAAkF;IAClF,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAI5B,qHAAqH;IACrH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,gHAAgH;IAChH,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,kFAAkF;IAClF,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,gHAAgH;IAChH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kHAAkH;IAClH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,uGAAuG;IACvG,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qHAAqH;IACrH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/attachments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACd,2DAAwD;AACzD,OAAO,KAAK,EAAC,OAAO,EAAC,gCAA6B;AAClD,OAAO,KAAK,EAAC,WAAW,EAAC,qCAAkC;AAM3D,wCAAwC;AACxC,KAAK,mBAAmB,GAAG;IACzB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,mBAAmB,CAAC;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,kCAAkC;AAClC,KAAK,oBAAoB,GAAG;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACxE,UAAU,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,0CAA0C;AAC1C,KAAK,2BAA2B,GAAG;IACjC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,CAAC;AAIhC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,kFAAkF;IAClF,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAI5B,qHAAqH;IACrH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,gHAAgH;IAChH,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,kFAAkF;IAClF,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,gHAAgH;IAChH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kHAAkH;IAClH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,uGAAuG;IACvG,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qHAAqH;IACrH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { VertexFormat } from "../../shadertypes/vertex-arrays/vertex-formats.js";
1
+ import type { VertexFormat } from "../../shadertypes/vertex-types/vertex-formats.js";
2
2
  /**
3
3
  * Provides specific details about the memory layout of the actual buffers
4
4
  * that will be provided to a `RenderPipeline`.
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/buffer-layout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,0DAAuD;AAEjF;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;;;IAuBI;AACJ,MAAM,MAAM,YAAY,GAAG;IACzB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACrC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,MAAM,EAAE,YAAY,CAAC;IACrB,+FAA+F;IAC/F,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"buffer-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/buffer-layout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,yDAAsD;AAEhF;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;;;IAuBI;AACJ,MAAM,MAAM,YAAY,GAAG;IACzB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACrC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,MAAM,EAAE,YAAY,CAAC;IACrB,+FAA+F;IAC/F,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { NumberArray4, NumberArray6 } from '@math.gl/types';
2
- import { TextureFormatDepthStencil } from "../../shadertypes/textures/texture-formats.js";
2
+ import { TextureFormatDepthStencil } from "../../shadertypes/texture-types/texture-formats.js";
3
3
  export type CompareFunction = 'never' | 'less' | 'equal' | 'less-equal' | 'greater' | 'not-equal' | 'greater-equal' | 'always';
4
4
  export type PrimitiveTopology = 'point-list' | 'line-list' | 'line-strip' | 'triangle-list' | 'triangle-strip';
5
5
  export type IndexFormat = 'uint16' | 'uint32';
@@ -58,6 +58,8 @@ export type DepthStencilParameters = {
58
58
  depthCompare?: CompareFunction;
59
59
  /** The format of depthStencilAttachment this GPURenderPipeline will be compatible with. */
60
60
  depthFormat?: TextureFormatDepthStencil;
61
+ /** Depth value used when clearing depth buffers. */
62
+ clearDepth?: number;
61
63
  /** Bitmask controlling which depthStencilAttachment stencil value bits are read when performing stencil comparison tests. */
62
64
  stencilReadMask?: number;
63
65
  /** Bitmask controlling which depthStencilAttachment stencil value bits are written to when performing stencil operations. */
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/parameters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAC,yBAAyB,EAAC,sDAAmD;AAErF,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,MAAM,GACN,OAAO,GACP,YAAY,GACZ,SAAS,GACT,WAAW,GACX,eAAe,GACf,QAAQ,CAAC;AAIb,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AACrC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAI/C,KAAK,iBAAiB,GAAG;IACvB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gHAAgH;IAChH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,8GAA8G;IAC9G,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACxD,mGAAmG;IACnG,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,sPAAsP;IACtP,gBAAgB,CAAC,EAAE,WAAW,CAAC;CAChC,CAAC;AAIF,2FAA2F;AAC3F,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,MAAM,GACN,SAAS,GACT,QAAQ,GACR,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,MAAM,MAAM,sBAAsB,GAAG;IACnC,qFAAqF;IACrF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kHAAkH;IAClH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,yBAAyB,CAAC;IAExC,6HAA6H;IAC7H,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6HAA6H;IAC7H,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qGAAqG;IACrG,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IACxC,0GAA0G;IAC1G,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IACxC,6GAA6G;IAC7G,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;CAC9C,CAAC;AAIF,yFAAyF;AACzF,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,KAAK,GACL,KAAK,GACL,eAAe,GACf,WAAW,GACX,qBAAqB,GACrB,KAAK,GACL,eAAe,GACf,WAAW,GACX,qBAAqB,GACrB,qBAAqB,GACrB,UAAU,GACV,oBAAoB,GACpB,MAAM,GACN,gBAAgB,GAChB,YAAY,GACZ,sBAAsB,CAAC;AAE3B,iGAAiG;AACjG,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,kBAAkB,GAAG,KAAK,GAAG,KAAK,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,sGAAsG;IACtG,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAClC,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAElC,sGAAsG;IACtG,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAClC,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAElC,iHAAiH;IACjH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,kBAAkB;AAClB,MAAM,MAAM,qBAAqB,GAAG;IAClC,+HAA+H;IAC/H,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6GAA6G;IAC7G,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF,yFAAyF;AACzF,MAAM,MAAM,oBAAoB,GAAG;IACjC,sHAAsH;IACtH,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACvC,0HAA0H;IAC1H,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,8GAA8G;IAC9G,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAC5D,sBAAsB,GACtB,eAAe,GACf,qBAAqB,CAAC;AAExB,MAAM,MAAM,UAAU,GAAG,iBAAiB,GACxC,sBAAsB,GACtB,eAAe,GACf,qBAAqB,CAAC;AAIxB,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CA2DnD,CAAC"}
1
+ {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/parameters.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export const DEFAULT_PARAMETERS = {
10
10
  depthWriteEnabled: false,
11
11
  depthCompare: 'always',
12
12
  depthFormat: 'depth24plus',
13
+ clearDepth: 1,
13
14
  depthBias: 0,
14
15
  depthBiasSlopeScale: 0,
15
16
  depthBiasClamp: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../src/adapter/types/parameters.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AA4MpC,+CAA+C;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAyB;IACtD,2BAA2B;IAE3B,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,KAAK;IAEhB,mBAAmB;IAEnB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,aAAa;IAE1B,SAAS,EAAE,CAAC;IACZ,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC;IAEjB,qBAAqB;IAErB,eAAe,EAAE,UAAU;IAC3B,gBAAgB,EAAE,UAAU;IAE5B,cAAc,EAAE,QAAQ;IACxB,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,MAAM;IAC5B,yBAAyB,EAAE,MAAM;IAEjC,yBAAyB;IACzB,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,UAAU;IACtB,4BAA4B,EAAE,KAAK;IAEnC,6BAA6B;IAC7B,KAAK,EAAE,KAAK;IAEZ,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,MAAM;IAE3B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,MAAM;IAE3B,SAAS,EAAE,GAAG;IAEd,aAAa;IAEb,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,MAAM;IACnB,iBAAiB,EAAE,KAAK;IAExB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;CAC1B,CAAC"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../src/adapter/types/parameters.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AA8MpC,+CAA+C;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAyB;IACtD,2BAA2B;IAE3B,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,KAAK;IAEhB,mBAAmB;IAEnB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE,CAAC;IACZ,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC;IAEjB,qBAAqB;IAErB,eAAe,EAAE,UAAU;IAC3B,gBAAgB,EAAE,UAAU;IAE5B,cAAc,EAAE,QAAQ;IACxB,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,MAAM;IAC5B,yBAAyB,EAAE,MAAM;IAEjC,yBAAyB;IACzB,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,UAAU;IACtB,4BAA4B,EAAE,KAAK;IAEnC,6BAA6B;IAC7B,KAAK,EAAE,KAAK;IAEZ,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,MAAM;IAE3B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,MAAM;IAE3B,SAAS,EAAE,GAAG;IAEd,aAAa;IAEb,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,MAAM;IACnB,iBAAiB,EAAE,KAAK;IAExB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;IACzB,aAAa,EAAE,SAAU;CAC1B,CAAC"}
@@ -1,9 +1,9 @@
1
- import type { TextureFormat } from "../../shadertypes/textures/texture-formats.js";
2
- import type { VariableShaderType, AttributeShaderType } from "../../shadertypes/data-types/shader-types.js";
3
- import type { Buffer } from "../resources/buffer.js";
4
- import type { Sampler } from "../resources/sampler.js";
5
- import type { Texture } from "../resources/texture.js";
6
- import type { TextureView } from "../resources/texture-view.js";
1
+ import { type TextureFormat } from "../../shadertypes/texture-types/texture-formats.js";
2
+ import { type VariableShaderType, type AttributeShaderType } from "../../shadertypes/shader-types/shader-types.js";
3
+ import { type Buffer } from "../resources/buffer.js";
4
+ import { type Sampler } from "../resources/sampler.js";
5
+ import { type Texture } from "../resources/texture.js";
6
+ import { type TextureView } from "../resources/texture-view.js";
7
7
  /**
8
8
  * Describes all shader binding points for a `RenderPipeline` or `ComputePipeline`
9
9
  * A ShaderLayout describes the static structure of a shader pipeline.
@@ -137,6 +137,10 @@ export type Binding = TextureView | Texture | Sampler | Buffer | {
137
137
  offset?: number;
138
138
  size?: number;
139
139
  };
140
+ /** Named binding map */
141
+ export type Bindings = Record<string, Binding>;
142
+ /** Bindings partitioned by bind-group index */
143
+ export type BindingsByGroup = Partial<Record<number, Bindings>>;
140
144
  /**
141
145
  * Describes a varying binding for a program
142
146
  * @deprecated Varyings are WebGL-only
@@ -1 +1 @@
1
- {"version":3,"file":"shader-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/shader-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shader-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/shader-layout.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import { NumericArray } from '@math.gl/types';
2
2
  /** Valid values for uniforms. @note boolean values get converted to 0 or 1 before setting */
3
3
  export type UniformValue = number | boolean | Readonly<NumericArray>;
4
+ /** Recursive uniform value tree used by uniform-buffer packing utilities. */
5
+ export type CompositeUniformValue = UniformValue | CompositeUniformValueStruct | CompositeUniformValueArray;
6
+ export type CompositeUniformValueStruct = {
7
+ [name: string]: CompositeUniformValue | undefined;
8
+ };
9
+ export type CompositeUniformValueArray = ReadonlyArray<CompositeUniformValue | undefined>;
4
10
  //# sourceMappingURL=uniforms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/uniforms.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAI5C,6FAA6F;AAC7F,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/uniforms.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAI5C,6FAA6F;AAC7F,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAErE,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,2BAA2B,GAC3B,0BAA0B,CAAC;AAE/B,MAAM,MAAM,2BAA2B,GAAG;IACxC,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,aAAa,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { BindingDeclaration, Bindings, BindingsByGroup, ComputeShaderLayout, ShaderLayout } from "../adapter/types/shader-layout.js";
2
+ type AnyShaderLayout = Pick<ShaderLayout | ComputeShaderLayout, 'bindings'>;
3
+ export declare function getShaderLayoutBinding(shaderLayout: AnyShaderLayout, bindingName: string, options?: {
4
+ ignoreWarnings?: boolean;
5
+ }): BindingDeclaration | null;
6
+ export declare function normalizeBindingsByGroup(shaderLayout: AnyShaderLayout, bindingsOrBindGroups?: Bindings | BindingsByGroup): BindingsByGroup;
7
+ export declare function flattenBindingsByGroup(bindGroups: BindingsByGroup): Bindings;
8
+ export {};
9
+ //# sourceMappingURL=bind-groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-groups.d.ts","sourceRoot":"","sources":["../../src/adapter-utils/bind-groups.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,YAAY,EACb,0CAAuC;AAGxC,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,GAAG,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAE5E,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,eAAe,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAC,GACnC,kBAAkB,GAAG,IAAI,CAY3B;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,eAAe,EAC7B,oBAAoB,CAAC,EAAE,QAAQ,GAAG,eAAe,GAChD,eAAe,CAqBjB;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,QAAQ,CAM5E"}
@@ -0,0 +1,41 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { log } from "../utils/log.js";
5
+ export function getShaderLayoutBinding(shaderLayout, bindingName, options) {
6
+ const bindingLayout = shaderLayout.bindings.find(binding => binding.name === bindingName ||
7
+ `${binding.name.toLocaleLowerCase()}uniforms` === bindingName.toLocaleLowerCase());
8
+ if (!bindingLayout && !options?.ignoreWarnings) {
9
+ log.warn(`Binding ${bindingName} not set: Not found in shader layout.`)();
10
+ }
11
+ return bindingLayout || null;
12
+ }
13
+ export function normalizeBindingsByGroup(shaderLayout, bindingsOrBindGroups) {
14
+ if (!bindingsOrBindGroups) {
15
+ return {};
16
+ }
17
+ if (areBindingsGrouped(bindingsOrBindGroups)) {
18
+ const bindGroups = bindingsOrBindGroups;
19
+ return Object.fromEntries(Object.entries(bindGroups).map(([group, bindings]) => [Number(group), { ...bindings }]));
20
+ }
21
+ const bindGroups = {};
22
+ for (const [bindingName, binding] of Object.entries(bindingsOrBindGroups)) {
23
+ const bindingLayout = getShaderLayoutBinding(shaderLayout, bindingName);
24
+ const group = bindingLayout?.group ?? 0;
25
+ bindGroups[group] ||= {};
26
+ bindGroups[group][bindingName] = binding;
27
+ }
28
+ return bindGroups;
29
+ }
30
+ export function flattenBindingsByGroup(bindGroups) {
31
+ const bindings = {};
32
+ for (const groupBindings of Object.values(bindGroups)) {
33
+ Object.assign(bindings, groupBindings);
34
+ }
35
+ return bindings;
36
+ }
37
+ function areBindingsGrouped(bindingsOrBindGroups) {
38
+ const keys = Object.keys(bindingsOrBindGroups);
39
+ return keys.length > 0 && keys.every(key => /^\d+$/.test(key));
40
+ }
41
+ //# sourceMappingURL=bind-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-groups.js","sourceRoot":"","sources":["../../src/adapter-utils/bind-groups.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AASpC,OAAO,EAAC,GAAG,EAAC,wBAAqB;AAIjC,MAAM,UAAU,sBAAsB,CACpC,YAA6B,EAC7B,WAAmB,EACnB,OAAoC;IAEpC,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAC9C,OAAO,CAAC,EAAE,CACR,OAAO,CAAC,IAAI,KAAK,WAAW;QAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,KAAK,WAAW,CAAC,iBAAiB,EAAE,CACpF,CAAC;IAEF,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,WAAW,WAAW,uCAAuC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,aAAa,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,YAA6B,EAC7B,oBAAiD;IAEjD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,oBAAuC,CAAC;QAC3D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAC,GAAG,QAAQ,EAAC,CAAC,CAAC,CACnE,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAgC,CAAC,EAAE,CAAC;QACtF,MAAM,aAAa,GAAG,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC;QACxC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IAC3C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAA2B;IAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,oBAAgD;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { PrimitiveDataType, NormalizedDataType } from "../shadertypes/data-types/data-types.js";
2
- import type { AttributeShaderType } from "../shadertypes/data-types/shader-types.js";
3
- import type { VertexFormat } from "../shadertypes/vertex-arrays/vertex-formats.js";
2
+ import type { AttributeShaderType } from "../shadertypes/shader-types/shader-types.js";
3
+ import type { VertexFormat } from "../shadertypes/vertex-types/vertex-formats.js";
4
4
  import type { ShaderLayout } from "../adapter/types/shader-layout.js";
5
5
  import type { BufferLayout } from "../adapter/types/buffer-layout.js";
6
6
  /** Resolved info for a buffer / attribute combination to help backend configure it correctly */
@@ -1 +1 @@
1
- {"version":3,"file":"get-attribute-from-layouts.d.ts","sourceRoot":"","sources":["../../src/adapter-utils/get-attribute-from-layouts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,gDAA6C;AAChG,OAAO,KAAK,EAAC,mBAAmB,EAAC,kDAA+C;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,uDAAoD;AAM9E,OAAO,KAAK,EAAC,YAAY,EAAuB,0CAAuC;AACvF,OAAO,KAAK,EAAC,YAAY,EAAC,0CAAuC;AAEjE,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG;IAC1B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,EAAE,mBAAmB,CAAC;IAChC,+EAA+E;IAC/E,aAAa,EAAE,iBAAiB,CAAC;IACjC,yFAAyF;IACzF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,0GAA0G;IAC1G,OAAO,EAAE,OAAO,CAAC;IAEjB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,6DAA6D;IAC7D,cAAc,EAAE,kBAAkB,CAAC;IACnC,iFAAiF;IACjF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IAEpB,mHAAmH;IACnH,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEhC,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAS/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,EAC5B,mBAAmB,GAAE,MAAW,GAC/B,aAAa,EAAE,CAOjB"}
1
+ {"version":3,"file":"get-attribute-from-layouts.d.ts","sourceRoot":"","sources":["../../src/adapter-utils/get-attribute-from-layouts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,gDAA6C;AAChG,OAAO,KAAK,EAAC,mBAAmB,EAAC,oDAAiD;AAClF,OAAO,KAAK,EAAC,YAAY,EAAC,sDAAmD;AAG7E,OAAO,KAAK,EAAC,YAAY,EAAuB,0CAAuC;AACvF,OAAO,KAAK,EAAC,YAAY,EAAC,0CAAuC;AAEjE,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG;IAC1B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,EAAE,mBAAmB,CAAC;IAChC,+EAA+E;IAC/E,aAAa,EAAE,iBAAiB,CAAC;IACjC,yFAAyF;IACzF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,0GAA0G;IAC1G,OAAO,EAAE,OAAO,CAAC;IAEjB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,6DAA6D;IAC7D,cAAc,EAAE,kBAAkB,CAAC;IACnC,iFAAiF;IACjF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IAEpB,mHAAmH;IACnH,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEhC,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAS/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,EAC5B,mBAAmB,GAAE,MAAW,GAC/B,aAAa,EAAE,CAOjB"}