@luma.gl/webgpu 9.0.0-alpha.15 → 9.0.0-alpha.16

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 (179) hide show
  1. package/dist/adapter/helpers/accessor-to-format.js +100 -1
  2. package/dist/adapter/helpers/convert-texture-format.js +5 -6
  3. package/dist/adapter/helpers/generate-mipmaps.js +88 -92
  4. package/dist/adapter/helpers/get-bind-group.js +54 -48
  5. package/dist/adapter/helpers/get-vertex-buffer-layout.js +97 -84
  6. package/dist/adapter/helpers/webgpu-parameters.d.ts.map +1 -1
  7. package/dist/adapter/helpers/webgpu-parameters.js +181 -129
  8. package/dist/adapter/resources/webgpu-buffer.js +57 -73
  9. package/dist/adapter/resources/webgpu-command-encoder.d.ts.map +1 -1
  10. package/dist/adapter/resources/webgpu-command-encoder.js +47 -63
  11. package/dist/adapter/resources/webgpu-compute-pass.d.ts +1 -1
  12. package/dist/adapter/resources/webgpu-compute-pass.d.ts.map +1 -1
  13. package/dist/adapter/resources/webgpu-compute-pass.js +51 -55
  14. package/dist/adapter/resources/webgpu-compute-pipeline.d.ts.map +1 -1
  15. package/dist/adapter/resources/webgpu-compute-pipeline.js +22 -24
  16. package/dist/adapter/resources/webgpu-external-texture.js +26 -27
  17. package/dist/adapter/resources/webgpu-framebuffer.d.ts.map +1 -1
  18. package/dist/adapter/resources/webgpu-framebuffer.js +89 -103
  19. package/dist/adapter/resources/webgpu-query.js +42 -1
  20. package/dist/adapter/resources/webgpu-render-pass.d.ts +1 -1
  21. package/dist/adapter/resources/webgpu-render-pass.d.ts.map +1 -1
  22. package/dist/adapter/resources/webgpu-render-pass.js +64 -89
  23. package/dist/adapter/resources/webgpu-render-pipeline.d.ts.map +1 -1
  24. package/dist/adapter/resources/webgpu-render-pipeline.js +158 -154
  25. package/dist/adapter/resources/webgpu-sampler.d.ts +1 -1
  26. package/dist/adapter/resources/webgpu-sampler.d.ts.map +1 -1
  27. package/dist/adapter/resources/webgpu-sampler.js +16 -22
  28. package/dist/adapter/resources/webgpu-shader.d.ts +1 -1
  29. package/dist/adapter/resources/webgpu-shader.d.ts.map +1 -1
  30. package/dist/adapter/resources/webgpu-shader.js +47 -58
  31. package/dist/adapter/resources/webgpu-texture.d.ts +0 -1
  32. package/dist/adapter/resources/webgpu-texture.d.ts.map +1 -1
  33. package/dist/adapter/resources/webgpu-texture.js +100 -103
  34. package/dist/adapter/webgpu-canvas-context.d.ts.map +1 -1
  35. package/dist/adapter/webgpu-canvas-context.js +77 -90
  36. package/dist/adapter/webgpu-device.js +215 -242
  37. package/dist/adapter/webgpu-types.js +0 -2
  38. package/dist/bundle.js +1 -2
  39. package/dist/dist.js +8051 -0
  40. package/dist/dist.min.js +1 -0
  41. package/dist/es5/adapter/helpers/accessor-to-format.js +2 -0
  42. package/dist/es5/adapter/helpers/accessor-to-format.js.map +1 -0
  43. package/dist/es5/adapter/helpers/convert-texture-format.js +13 -0
  44. package/dist/es5/adapter/helpers/convert-texture-format.js.map +1 -0
  45. package/dist/es5/adapter/helpers/generate-mipmaps.js +103 -0
  46. package/dist/es5/adapter/helpers/generate-mipmaps.js.map +1 -0
  47. package/dist/es5/adapter/helpers/get-bind-group.js +66 -0
  48. package/dist/es5/adapter/helpers/get-bind-group.js.map +1 -0
  49. package/dist/es5/adapter/helpers/get-vertex-buffer-layout.js +149 -0
  50. package/dist/es5/adapter/helpers/get-vertex-buffer-layout.js.map +1 -0
  51. package/dist/es5/adapter/helpers/webgpu-parameters.js +150 -0
  52. package/dist/es5/adapter/helpers/webgpu-parameters.js.map +1 -0
  53. package/dist/es5/adapter/resources/webgpu-buffer.js +131 -0
  54. package/dist/es5/adapter/resources/webgpu-buffer.js.map +1 -0
  55. package/dist/es5/adapter/resources/webgpu-command-encoder.js +90 -0
  56. package/dist/es5/adapter/resources/webgpu-command-encoder.js.map +1 -0
  57. package/dist/es5/adapter/resources/webgpu-compute-pass.js +85 -0
  58. package/dist/es5/adapter/resources/webgpu-compute-pass.js.map +1 -0
  59. package/dist/es5/adapter/resources/webgpu-compute-pipeline.js +48 -0
  60. package/dist/es5/adapter/resources/webgpu-compute-pipeline.js.map +1 -0
  61. package/dist/es5/adapter/resources/webgpu-external-texture.js +50 -0
  62. package/dist/es5/adapter/resources/webgpu-external-texture.js.map +1 -0
  63. package/dist/es5/adapter/resources/webgpu-framebuffer.js +126 -0
  64. package/dist/es5/adapter/resources/webgpu-framebuffer.js.map +1 -0
  65. package/dist/es5/adapter/resources/webgpu-query.js +2 -0
  66. package/dist/es5/adapter/resources/webgpu-query.js.map +1 -0
  67. package/dist/es5/adapter/resources/webgpu-render-pass.js +124 -0
  68. package/dist/es5/adapter/resources/webgpu-render-pass.js.map +1 -0
  69. package/dist/es5/adapter/resources/webgpu-render-pipeline.js +185 -0
  70. package/dist/es5/adapter/resources/webgpu-render-pipeline.js.map +1 -0
  71. package/dist/es5/adapter/resources/webgpu-sampler.js +45 -0
  72. package/dist/es5/adapter/resources/webgpu-sampler.js.map +1 -0
  73. package/dist/es5/adapter/resources/webgpu-shader.js +125 -0
  74. package/dist/es5/adapter/resources/webgpu-shader.js.map +1 -0
  75. package/dist/es5/adapter/resources/webgpu-texture.js +138 -0
  76. package/dist/es5/adapter/resources/webgpu-texture.js.map +1 -0
  77. package/dist/es5/adapter/webgpu-canvas-context.js +111 -0
  78. package/dist/es5/adapter/webgpu-canvas-context.js.map +1 -0
  79. package/dist/es5/adapter/webgpu-device.js +317 -0
  80. package/dist/es5/adapter/webgpu-device.js.map +1 -0
  81. package/dist/es5/adapter/webgpu-types.js +2 -0
  82. package/dist/es5/adapter/webgpu-types.js.map +1 -0
  83. package/dist/es5/bundle.js +6 -0
  84. package/dist/es5/bundle.js.map +1 -0
  85. package/dist/es5/glsl/glsllang.js +47 -0
  86. package/dist/es5/glsl/glsllang.js.map +1 -0
  87. package/dist/es5/index.js +44 -0
  88. package/dist/es5/index.js.map +1 -0
  89. package/dist/es5/init.js +7 -0
  90. package/dist/es5/init.js.map +1 -0
  91. package/dist/esm/adapter/helpers/accessor-to-format.js +2 -0
  92. package/dist/esm/adapter/helpers/accessor-to-format.js.map +1 -0
  93. package/dist/esm/adapter/helpers/convert-texture-format.js +7 -0
  94. package/dist/esm/adapter/helpers/convert-texture-format.js.map +1 -0
  95. package/dist/esm/adapter/helpers/generate-mipmaps.js +88 -0
  96. package/dist/esm/adapter/helpers/generate-mipmaps.js.map +1 -0
  97. package/dist/esm/adapter/helpers/get-bind-group.js +51 -0
  98. package/dist/esm/adapter/helpers/get-bind-group.js.map +1 -0
  99. package/dist/esm/adapter/helpers/get-vertex-buffer-layout.js +83 -0
  100. package/dist/esm/adapter/helpers/get-vertex-buffer-layout.js.map +1 -0
  101. package/dist/esm/adapter/helpers/webgpu-parameters.js +137 -0
  102. package/dist/esm/adapter/helpers/webgpu-parameters.js.map +1 -0
  103. package/dist/esm/adapter/resources/webgpu-buffer.js +70 -0
  104. package/dist/esm/adapter/resources/webgpu-buffer.js.map +1 -0
  105. package/dist/esm/adapter/resources/webgpu-command-encoder.js +49 -0
  106. package/dist/esm/adapter/resources/webgpu-command-encoder.js.map +1 -0
  107. package/dist/esm/adapter/resources/webgpu-compute-pass.js +44 -0
  108. package/dist/esm/adapter/resources/webgpu-compute-pass.js.map +1 -0
  109. package/dist/esm/adapter/resources/webgpu-compute-pipeline.js +23 -0
  110. package/dist/esm/adapter/resources/webgpu-compute-pipeline.js.map +1 -0
  111. package/dist/esm/adapter/resources/webgpu-external-texture.js +23 -0
  112. package/dist/esm/adapter/resources/webgpu-external-texture.js.map +1 -0
  113. package/dist/esm/adapter/resources/webgpu-framebuffer.js +93 -0
  114. package/dist/esm/adapter/resources/webgpu-framebuffer.js.map +1 -0
  115. package/dist/esm/adapter/resources/webgpu-query.js +2 -0
  116. package/dist/esm/adapter/resources/webgpu-query.js.map +1 -0
  117. package/dist/esm/adapter/resources/webgpu-render-pass.js +79 -0
  118. package/dist/esm/adapter/resources/webgpu-render-pass.js.map +1 -0
  119. package/dist/esm/adapter/resources/webgpu-render-pipeline.js +130 -0
  120. package/dist/esm/adapter/resources/webgpu-render-pipeline.js.map +1 -0
  121. package/dist/esm/adapter/resources/webgpu-sampler.js +20 -0
  122. package/dist/esm/adapter/resources/webgpu-sampler.js.map +1 -0
  123. package/dist/esm/adapter/resources/webgpu-shader.js +50 -0
  124. package/dist/esm/adapter/resources/webgpu-shader.js.map +1 -0
  125. package/dist/esm/adapter/resources/webgpu-texture.js +95 -0
  126. package/dist/esm/adapter/resources/webgpu-texture.js.map +1 -0
  127. package/dist/esm/adapter/webgpu-canvas-context.js +74 -0
  128. package/dist/esm/adapter/webgpu-canvas-context.js.map +1 -0
  129. package/dist/esm/adapter/webgpu-device.js +196 -0
  130. package/dist/esm/adapter/webgpu-device.js.map +1 -0
  131. package/dist/esm/adapter/webgpu-types.js +2 -0
  132. package/dist/esm/adapter/webgpu-types.js.map +1 -0
  133. package/dist/esm/bundle.js +4 -0
  134. package/dist/esm/bundle.js.map +1 -0
  135. package/dist/esm/glsl/glsllang.js +9 -0
  136. package/dist/esm/glsl/glsllang.js.map +1 -0
  137. package/dist/esm/index.js +8 -0
  138. package/dist/esm/index.js.map +1 -0
  139. package/dist/esm/init.js +4 -0
  140. package/dist/esm/init.js.map +1 -0
  141. package/dist/glsl/glsllang.js +9 -7
  142. package/dist/index.js +8 -6
  143. package/dist/init.js +1 -2
  144. package/package.json +8 -8
  145. package/src/adapter/helpers/webgpu-parameters.ts +7 -2
  146. package/src/adapter/resources/webgpu-command-encoder.ts +2 -1
  147. package/src/adapter/resources/webgpu-compute-pass.ts +4 -4
  148. package/src/adapter/resources/webgpu-compute-pipeline.ts +2 -1
  149. package/src/adapter/resources/webgpu-framebuffer.ts +3 -2
  150. package/src/adapter/resources/webgpu-render-pass.ts +2 -2
  151. package/src/adapter/resources/webgpu-render-pipeline.ts +2 -1
  152. package/src/adapter/resources/webgpu-shader.ts +1 -1
  153. package/src/adapter/webgpu-canvas-context.ts +3 -2
  154. package/src/adapter/webgpu-device.ts +2 -2
  155. package/dist/adapter/helpers/accessor-to-format.js.map +0 -1
  156. package/dist/adapter/helpers/convert-texture-format.js.map +0 -1
  157. package/dist/adapter/helpers/generate-mipmaps.js.map +0 -1
  158. package/dist/adapter/helpers/get-bind-group.js.map +0 -1
  159. package/dist/adapter/helpers/get-vertex-buffer-layout.js.map +0 -1
  160. package/dist/adapter/helpers/webgpu-parameters.js.map +0 -1
  161. package/dist/adapter/resources/webgpu-buffer.js.map +0 -1
  162. package/dist/adapter/resources/webgpu-command-encoder.js.map +0 -1
  163. package/dist/adapter/resources/webgpu-compute-pass.js.map +0 -1
  164. package/dist/adapter/resources/webgpu-compute-pipeline.js.map +0 -1
  165. package/dist/adapter/resources/webgpu-external-texture.js.map +0 -1
  166. package/dist/adapter/resources/webgpu-framebuffer.js.map +0 -1
  167. package/dist/adapter/resources/webgpu-query.js.map +0 -1
  168. package/dist/adapter/resources/webgpu-render-pass.js.map +0 -1
  169. package/dist/adapter/resources/webgpu-render-pipeline.js.map +0 -1
  170. package/dist/adapter/resources/webgpu-sampler.js.map +0 -1
  171. package/dist/adapter/resources/webgpu-shader.js.map +0 -1
  172. package/dist/adapter/resources/webgpu-texture.js.map +0 -1
  173. package/dist/adapter/webgpu-canvas-context.js.map +0 -1
  174. package/dist/adapter/webgpu-device.js.map +0 -1
  175. package/dist/adapter/webgpu-types.js.map +0 -1
  176. package/dist/bundle.js.map +0 -1
  177. package/dist/glsl/glsllang.js.map +0 -1
  178. package/dist/index.js.map +0 -1
  179. package/dist/init.js.map +0 -1
@@ -1,142 +1,194 @@
1
1
  function addDepthStencil(descriptor) {
2
- descriptor.depthStencil = descriptor.depthStencil || {
3
- format: 'depth24plus',
4
- stencilFront: {},
5
- stencilBack: {}
6
- };
7
- return descriptor.depthStencil;
2
+ descriptor.depthStencil = descriptor.depthStencil || {
3
+ // required, set something
4
+ format: 'depth24plus',
5
+ stencilFront: {},
6
+ stencilBack: {},
7
+ // TODO can this cause trouble? Should we set to WebGPU defaults? Are there defaults?
8
+ depthWriteEnabled: undefined,
9
+ depthCompare: undefined
10
+ };
11
+ return descriptor.depthStencil;
8
12
  }
9
-
13
+ /**
14
+ * Supports for luma.gl's flat parameter space
15
+ * Populates the corresponding sub-objects in a GPURenderPipelineDescriptor
16
+ */
17
+ // @ts-expect-error
10
18
  export const PARAMETER_TABLE = {
11
- cullMode: (parameter, value, descriptor) => {
12
- descriptor.primitive = descriptor.primitive || {};
13
- descriptor.primitive.cullMode = value;
14
- },
15
- frontFace: (parameter, value, descriptor) => {
16
- descriptor.primitive = descriptor.primitive || {};
17
- descriptor.primitive.frontFace = value;
18
- },
19
- depthWriteEnabled: (parameter, value, descriptor) => {
20
- const depthStencil = addDepthStencil(descriptor);
21
- depthStencil.depthWriteEnabled = value;
22
- },
23
- depthCompare: (parameter, value, descriptor) => {
24
- const depthStencil = addDepthStencil(descriptor);
25
- depthStencil.depthCompare = value;
26
- },
27
- depthFormat: (parameter, value, descriptor) => {
28
- const depthStencil = addDepthStencil(descriptor);
29
- depthStencil.format = value;
30
- },
31
- depthBias: (parameter, value, descriptor) => {
32
- const depthStencil = addDepthStencil(descriptor);
33
- depthStencil.depthBias = value;
34
- },
35
- depthBiasSlopeScale: (parameter, value, descriptor) => {
36
- const depthStencil = addDepthStencil(descriptor);
37
- depthStencil.depthBiasSlopeScale = value;
38
- },
39
- depthBiasClamp: (parameter, value, descriptor) => {
40
- const depthStencil = addDepthStencil(descriptor);
41
- depthStencil.depthBiasClamp = value;
42
- },
43
- stencilReadMask: (parameter, value, descriptor) => {
44
- const depthStencil = addDepthStencil(descriptor);
45
- depthStencil.stencilReadMask = value;
46
- },
47
- stencilWriteMask: (parameter, value, descriptor) => {
48
- const depthStencil = addDepthStencil(descriptor);
49
- depthStencil.stencilWriteMask = value;
50
- },
51
- stencilCompare: (parameter, value, descriptor) => {
52
- const depthStencil = addDepthStencil(descriptor);
53
- depthStencil.stencilFront.compare = value;
54
- depthStencil.stencilBack.compare = value;
55
- },
56
- stencilPassOperation: (parameter, value, descriptor) => {
57
- const depthStencil = addDepthStencil(descriptor);
58
- depthStencil.stencilFront.passOp = value;
59
- depthStencil.stencilBack.passOp = value;
60
- },
61
- stencilFailOperation: (parameter, value, descriptor) => {
62
- const depthStencil = addDepthStencil(descriptor);
63
- depthStencil.stencilFront.failOp = value;
64
- depthStencil.stencilBack.failOp = value;
65
- },
66
- stencilDepthFailOperation: (parameter, value, descriptor) => {
67
- const depthStencil = addDepthStencil(descriptor);
68
- depthStencil.stencilFront.depthFailOp = value;
69
- depthStencil.stencilBack.depthFailOp = value;
70
- },
71
- sampleCount: (parameter, value, descriptor) => {
72
- descriptor.multisample = descriptor.multisample || {};
73
- descriptor.multisample.count = value;
74
- },
75
- sampleMask: (parameter, value, descriptor) => {
76
- descriptor.multisample = descriptor.multisample || {};
77
- descriptor.multisample.mask = value;
78
- },
79
- sampleAlphaToCoverageEnabled: (parameter, value, descriptor) => {
80
- descriptor.multisample = descriptor.multisample || {};
81
- descriptor.multisample.alphaToCoverageEnabled = value;
82
- },
83
- colorMask: (parameter, value, descriptor) => {
84
- const targets = addColorState(descriptor);
85
- targets[0].writeMask = value;
86
- },
87
- blendColorOperation: (parameter, value, descriptor) => {
88
- addColorState(descriptor);
89
- }
19
+ // RASTERIZATION PARAMETERS
20
+ cullMode: (parameter, value, descriptor) => {
21
+ descriptor.primitive = descriptor.primitive || {};
22
+ descriptor.primitive.cullMode = value;
23
+ },
24
+ frontFace: (parameter, value, descriptor) => {
25
+ descriptor.primitive = descriptor.primitive || {};
26
+ descriptor.primitive.frontFace = value;
27
+ },
28
+ // DEPTH
29
+ depthWriteEnabled: (parameter, value, descriptor) => {
30
+ const depthStencil = addDepthStencil(descriptor);
31
+ depthStencil.depthWriteEnabled = value;
32
+ },
33
+ depthCompare: (parameter, value, descriptor) => {
34
+ const depthStencil = addDepthStencil(descriptor);
35
+ depthStencil.depthCompare = value;
36
+ },
37
+ depthFormat: (parameter, value, descriptor) => {
38
+ const depthStencil = addDepthStencil(descriptor);
39
+ depthStencil.format = value;
40
+ },
41
+ depthBias: (parameter, value, descriptor) => {
42
+ const depthStencil = addDepthStencil(descriptor);
43
+ depthStencil.depthBias = value;
44
+ },
45
+ depthBiasSlopeScale: (parameter, value, descriptor) => {
46
+ const depthStencil = addDepthStencil(descriptor);
47
+ depthStencil.depthBiasSlopeScale = value;
48
+ },
49
+ depthBiasClamp: (parameter, value, descriptor) => {
50
+ const depthStencil = addDepthStencil(descriptor);
51
+ depthStencil.depthBiasClamp = value;
52
+ },
53
+ // STENCIL
54
+ stencilReadMask: (parameter, value, descriptor) => {
55
+ const depthStencil = addDepthStencil(descriptor);
56
+ depthStencil.stencilReadMask = value;
57
+ },
58
+ stencilWriteMask: (parameter, value, descriptor) => {
59
+ const depthStencil = addDepthStencil(descriptor);
60
+ depthStencil.stencilWriteMask = value;
61
+ },
62
+ stencilCompare: (parameter, value, descriptor) => {
63
+ const depthStencil = addDepthStencil(descriptor);
64
+ depthStencil.stencilFront.compare = value;
65
+ depthStencil.stencilBack.compare = value;
66
+ },
67
+ stencilPassOperation: (parameter, value, descriptor) => {
68
+ const depthStencil = addDepthStencil(descriptor);
69
+ depthStencil.stencilFront.passOp = value;
70
+ depthStencil.stencilBack.passOp = value;
71
+ },
72
+ stencilFailOperation: (parameter, value, descriptor) => {
73
+ const depthStencil = addDepthStencil(descriptor);
74
+ depthStencil.stencilFront.failOp = value;
75
+ depthStencil.stencilBack.failOp = value;
76
+ },
77
+ stencilDepthFailOperation: (parameter, value, descriptor) => {
78
+ const depthStencil = addDepthStencil(descriptor);
79
+ depthStencil.stencilFront.depthFailOp = value;
80
+ depthStencil.stencilBack.depthFailOp = value;
81
+ },
82
+ // MULTISAMPLE
83
+ sampleCount: (parameter, value, descriptor) => {
84
+ descriptor.multisample = descriptor.multisample || {};
85
+ descriptor.multisample.count = value;
86
+ },
87
+ sampleMask: (parameter, value, descriptor) => {
88
+ descriptor.multisample = descriptor.multisample || {};
89
+ descriptor.multisample.mask = value;
90
+ },
91
+ sampleAlphaToCoverageEnabled: (parameter, value, descriptor) => {
92
+ descriptor.multisample = descriptor.multisample || {};
93
+ descriptor.multisample.alphaToCoverageEnabled = value;
94
+ },
95
+ // COLOR
96
+ colorMask: (parameter, value, descriptor) => {
97
+ const targets = addColorState(descriptor);
98
+ targets[0].writeMask = value;
99
+ },
100
+ blendColorOperation: (parameter, value, descriptor) => {
101
+ addColorState(descriptor);
102
+ // const targets = addColorState(descriptor);
103
+ // const target = targets[0];
104
+ // const blend: GPUBlendState = target.blend || {color: {alpha: 0}};
105
+ // blend.color = blend.color || {};
106
+ // target.blend.color.operation = value;
107
+ }
108
+ /*
109
+ blendColorSrcTarget: (parameter, value, descriptor: GPURenderPipelineDescriptor) => {
110
+ addColorState(descriptor);
111
+ targets[0].blend = targets[0].blend || {};
112
+ targets[0].blend.color = targets[0].blend.color || {};
113
+ targets[0].blend.color.srcTarget = value;
114
+ },
115
+
116
+ blendColorDstTarget: (parameter, value, descriptor: GPURenderPipelineDescriptor) => {
117
+ addColorState(descriptor);
118
+ targets[0].blend = targets[0].blend || {};
119
+ targets[0].blend.color = targets[0].blend.color || {};
120
+ targets[0].blend.color.dstTarget = value;
121
+ },
122
+
123
+ blendAlphaOperation: (parameter, value, descriptor: GPURenderPipelineDescriptor) => {
124
+ addColorState(descriptor);
125
+ targets[0].blend = targets[0].blend || {};
126
+ targets[0].blend.alpha = targets[0].blend.alpha || {};
127
+ targets[0].blend.alpha.operation = value;
128
+ },
129
+
130
+ blendAlphaSrcTarget: (parameter, value, descriptor: GPURenderPipelineDescriptor) => {
131
+ addColorState(descriptor);
132
+ targets[0].blend = targets[0].blend || {};
133
+ targets[0].blend.alpha = targets[0].blend.alpha || {};
134
+ targets[0].blend.alpha.srcTarget = value;
135
+ },
136
+
137
+ blendAlphaDstTarget: (parameter, value, descriptor: GPURenderPipelineDescriptor) => {
138
+ addColorState(descriptor);
139
+ targets[0].blend = targets[0].blend || {};
140
+ targets[0].blend.alpha = targets[0].blend.alpha || {};
141
+ targets[0].blend.alpha.dstTarget = value;
142
+ },
143
+ */
90
144
  };
91
145
  const DEFAULT_PIPELINE_DESCRIPTOR = {
92
- primitive: {
93
- cullMode: 'back',
94
- topology: 'triangle-list'
95
- },
96
- vertex: {
97
- module: undefined,
98
- entryPoint: 'main'
99
- },
100
- fragment: {
101
- module: undefined,
102
- entryPoint: 'main',
103
- targets: []
104
- }
146
+ // depthStencil: {
147
+ // stencilFront: {},
148
+ // stencilBack: {},
149
+ // // depthWriteEnabled: true,
150
+ // // depthCompare: 'less',
151
+ // // format: 'depth24plus-stencil8',
152
+ // },
153
+ primitive: {
154
+ cullMode: 'back',
155
+ topology: 'triangle-list'
156
+ },
157
+ vertex: {
158
+ module: undefined,
159
+ entryPoint: 'main'
160
+ },
161
+ fragment: {
162
+ module: undefined,
163
+ entryPoint: 'main',
164
+ targets: [
165
+ // { format: props.color0Format || 'bgra8unorm' }
166
+ ]
167
+ },
168
+ layout: 'auto'
105
169
  };
106
170
  export function applyParametersToRenderPipelineDescriptor(pipelineDescriptor, parameters = {}) {
107
- Object.assign(pipelineDescriptor, { ...DEFAULT_PIPELINE_DESCRIPTOR,
108
- ...pipelineDescriptor
109
- });
110
- setParameters(pipelineDescriptor, parameters);
171
+ // Apply defaults
172
+ Object.assign(pipelineDescriptor, { ...DEFAULT_PIPELINE_DESCRIPTOR, ...pipelineDescriptor });
173
+ setParameters(pipelineDescriptor, parameters);
111
174
  }
112
-
175
+ // Apply any supplied parameters
113
176
  function setParameters(pipelineDescriptor, parameters) {
114
- for (const [key, value] of Object.entries(parameters)) {
115
- const setterFunction = PARAMETER_TABLE[key];
116
-
117
- if (!setterFunction) {
118
- throw new Error("Illegal parameter ".concat(key));
177
+ for (const [key, value] of Object.entries(parameters)) {
178
+ const setterFunction = PARAMETER_TABLE[key];
179
+ if (!setterFunction) {
180
+ throw new Error(`Illegal parameter ${key}`);
181
+ }
182
+ setterFunction(key, value, pipelineDescriptor);
119
183
  }
120
-
121
- setterFunction(key, value, pipelineDescriptor);
122
- }
123
184
  }
124
-
125
185
  function addColorState(descriptor) {
126
- var _descriptor$fragment, _descriptor$fragment2, _descriptor$fragment3, _descriptor$fragment4, _descriptor$fragment5;
127
-
128
- descriptor.fragment.targets = ((_descriptor$fragment = descriptor.fragment) === null || _descriptor$fragment === void 0 ? void 0 : _descriptor$fragment.targets) || [];
129
-
130
- if (!Array.isArray((_descriptor$fragment2 = descriptor.fragment) === null || _descriptor$fragment2 === void 0 ? void 0 : _descriptor$fragment2.targets)) {
131
- throw new Error('colorstate');
132
- }
133
-
134
- if (((_descriptor$fragment3 = descriptor.fragment) === null || _descriptor$fragment3 === void 0 ? void 0 : (_descriptor$fragment4 = _descriptor$fragment3.targets) === null || _descriptor$fragment4 === void 0 ? void 0 : _descriptor$fragment4.length) === 0) {
135
- var _descriptor$fragment$;
136
-
137
- (_descriptor$fragment$ = descriptor.fragment.targets) === null || _descriptor$fragment$ === void 0 ? void 0 : _descriptor$fragment$.push({});
138
- }
139
-
140
- return (_descriptor$fragment5 = descriptor.fragment) === null || _descriptor$fragment5 === void 0 ? void 0 : _descriptor$fragment5.targets;
186
+ descriptor.fragment.targets = descriptor.fragment?.targets || [];
187
+ if (!Array.isArray(descriptor.fragment?.targets)) {
188
+ throw new Error('colorstate');
189
+ }
190
+ if (descriptor.fragment?.targets?.length === 0) {
191
+ descriptor.fragment.targets?.push({});
192
+ }
193
+ return descriptor.fragment?.targets;
141
194
  }
142
- //# sourceMappingURL=webgpu-parameters.js.map
@@ -1,80 +1,64 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ // WEBGPU Buffer implementation
2
2
  import { Buffer } from '@luma.gl/api';
3
-
4
3
  function getByteLength(props) {
5
- var _props$data;
6
-
7
- return props.byteLength || ((_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.byteLength) || 0;
4
+ return props.byteLength || props.data?.byteLength || 0;
8
5
  }
9
-
10
6
  export default class WebGPUBuffer extends Buffer {
11
- constructor(device, props) {
12
- super(device, props);
13
-
14
- _defineProperty(this, "device", void 0);
15
-
16
- _defineProperty(this, "handle", void 0);
17
-
18
- _defineProperty(this, "byteLength", void 0);
19
-
20
- this.device = device;
21
- this.byteLength = getByteLength(props);
22
- const mapBuffer = Boolean(props.data);
23
- this.handle = this.props.handle || this.device.handle.createBuffer({
24
- size: this.byteLength,
25
- usage: this.props.usage || GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,
26
- mappedAtCreation: this.props.mappedAtCreation || mapBuffer,
27
- label: this.props.id
28
- });
29
-
30
- if (props.data) {
31
- this._writeMapped(props.data);
7
+ constructor(device, props) {
8
+ super(device, props);
9
+ this.device = device;
10
+ this.byteLength = getByteLength(props);
11
+ const mapBuffer = Boolean(props.data);
12
+ this.handle = this.props.handle || this.device.handle.createBuffer({
13
+ size: this.byteLength,
14
+ // usage defaults to vertex
15
+ usage: this.props.usage || (GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST),
16
+ mappedAtCreation: this.props.mappedAtCreation || mapBuffer,
17
+ label: this.props.id
18
+ });
19
+ if (props.data) {
20
+ this._writeMapped(props.data);
21
+ // this.handle.writeAsync({data: props.data, map: false, unmap: false});
22
+ }
23
+ if (mapBuffer && !props.mappedAtCreation) {
24
+ this.handle.unmap();
25
+ }
32
26
  }
33
-
34
- if (mapBuffer && !props.mappedAtCreation) {
35
- this.handle.unmap();
27
+ destroy() {
28
+ this.handle.destroy();
29
+ }
30
+ // WebGPU provides multiple ways to write a buffer...
31
+ write(data, byteOffset = 0) {
32
+ this.device.handle.queue.writeBuffer(this.handle, byteOffset, data.buffer, data.byteOffset, data.byteLength);
33
+ }
34
+ async readAsync(byteOffset = 0, byteLength = this.byteLength) {
35
+ // We need MAP_READ flag, but only COPY_DST buffers can have MAP_READ flag, so we need to create a temp buffer
36
+ const tempBuffer = new WebGPUBuffer(this.device, { usage: Buffer.MAP_READ | Buffer.COPY_DST, byteLength });
37
+ // Now do a GPU-side copy into the temp buffer we can actually read.
38
+ // TODO - we are spinning up an independent command queue here, what does this mean
39
+ const commandEncoder = this.device.handle.createCommandEncoder();
40
+ commandEncoder.copyBufferToBuffer(this.handle, byteOffset, tempBuffer.handle, 0, byteLength);
41
+ this.device.handle.queue.submit([commandEncoder.finish()]);
42
+ // Map the temp buffer and read the data.
43
+ await tempBuffer.handle.mapAsync(GPUMapMode.READ, byteOffset, byteLength);
44
+ const arrayBuffer = tempBuffer.handle.getMappedRange().slice(0);
45
+ tempBuffer.handle.unmap();
46
+ tempBuffer.destroy();
47
+ return arrayBuffer;
48
+ }
49
+ _writeMapped(typedArray) {
50
+ const arrayBuffer = this.handle.getMappedRange();
51
+ // @ts-expect-error
52
+ new typedArray.constructor(arrayBuffer).set(typedArray);
53
+ }
54
+ // WEBGPU API
55
+ mapAsync(mode, offset = 0, size) {
56
+ return this.handle.mapAsync(mode, offset, size);
57
+ }
58
+ getMappedRange(offset = 0, size) {
59
+ return this.handle.getMappedRange(offset, size);
60
+ }
61
+ unmap() {
62
+ this.handle.unmap();
36
63
  }
37
- }
38
-
39
- destroy() {
40
- this.handle.destroy();
41
- }
42
-
43
- write(data, byteOffset = 0) {
44
- this.device.handle.queue.writeBuffer(this.handle, byteOffset, data.buffer, data.byteOffset, data.byteLength);
45
- }
46
-
47
- async readAsync(byteOffset = 0, byteLength = this.byteLength) {
48
- const tempBuffer = new WebGPUBuffer(this.device, {
49
- usage: Buffer.MAP_READ | Buffer.COPY_DST,
50
- byteLength
51
- });
52
- const commandEncoder = this.device.handle.createCommandEncoder();
53
- commandEncoder.copyBufferToBuffer(this.handle, byteOffset, tempBuffer.handle, 0, byteLength);
54
- this.device.handle.queue.submit([commandEncoder.finish()]);
55
- await tempBuffer.handle.mapAsync(GPUMapMode.READ, byteOffset, byteLength);
56
- const arrayBuffer = tempBuffer.handle.getMappedRange().slice(0);
57
- tempBuffer.handle.unmap();
58
- tempBuffer.destroy();
59
- return arrayBuffer;
60
- }
61
-
62
- _writeMapped(typedArray) {
63
- const arrayBuffer = this.handle.getMappedRange();
64
- new typedArray.constructor(arrayBuffer).set(typedArray);
65
- }
66
-
67
- mapAsync(mode, offset = 0, size) {
68
- return this.handle.mapAsync(mode, offset, size);
69
- }
70
-
71
- getMappedRange(offset = 0, size) {
72
- return this.handle.getMappedRange(offset, size);
73
- }
74
-
75
- unmap() {
76
- this.handle.unmap();
77
- }
78
-
79
64
  }
80
- //# sourceMappingURL=webgpu-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-command-encoder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAO,MAAM,cAAc,CAAC;AACxF,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,cAAc;IAC9D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB;IASnD,OAAO,IAAI,IAAI;IAExB,MAAM,CAAC,OAAO,CAAC,EAAE;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,gBAAgB;IAOjD,kBAAkB,CAAC,OAAO,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,GAAG,IAAI;IAUR,mBAAmB,CAAC,OAAO,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QAErB,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;QAE/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAC7C,GAAG,IAAI;IAuBR,mBAAmB,CAAC,OAAO,EAAE;QAC3B,MAAM,EAAE,mBAAmB,CAAC;QAC5B,WAAW,EAAE,kBAAkB,CAAC;QAChC,QAAQ,EAAE,WAAW,CAAA;KACtB,GAAG,IAAI;IAER,oBAAoB,CAAC,OAAO,EAAE;QAC5B,MAAM,EAAE,mBAAmB,CAAE;QAC7B,WAAW,EAAE,mBAAmB,CAAC;QACjC,QAAQ,EAAE,WAAW,CAAA;KACtB,GAAG,IAAI;IAEC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,aAAa,IAAI,IAAI;IAIrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAatD"}
1
+ {"version":3,"file":"webgpu-command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-command-encoder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAO,MAAM,cAAc,CAAC;AACxF,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,cAAc;IAC9D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB;IAUnD,OAAO,IAAI,IAAI;IAExB,MAAM,CAAC,OAAO,CAAC,EAAE;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,gBAAgB;IAOjD,kBAAkB,CAAC,OAAO,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,GAAG,IAAI;IAUR,mBAAmB,CAAC,OAAO,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QAErB,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;QAE/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAC7C,GAAG,IAAI;IAuBR,mBAAmB,CAAC,OAAO,EAAE;QAC3B,MAAM,EAAE,mBAAmB,CAAC;QAC5B,WAAW,EAAE,kBAAkB,CAAC;QAChC,QAAQ,EAAE,WAAW,CAAA;KACtB,GAAG,IAAI;IAER,oBAAoB,CAAC,OAAO,EAAE;QAC5B,MAAM,EAAE,mBAAmB,CAAE;QAC7B,WAAW,EAAE,mBAAmB,CAAC;QACjC,QAAQ,EAAE,WAAW,CAAA;KACtB,GAAG,IAAI;IAEC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,aAAa,IAAI,IAAI;IAIrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAatD"}
@@ -1,66 +1,50 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  import { CommandEncoder, cast } from '@luma.gl/api';
3
2
  export default class WebGPUCommandEncoder extends CommandEncoder {
4
- constructor(device, props) {
5
- super(props);
6
-
7
- _defineProperty(this, "device", void 0);
8
-
9
- _defineProperty(this, "handle", void 0);
10
-
11
- this.device = device;
12
- this.handle = props.handle || this.device.handle.createCommandEncoder({
13
- measureExecutionTime: this.props.measureExecutionTime
14
- });
15
- this.handle.label = this.props.id;
16
- }
17
-
18
- destroy() {}
19
-
20
- finish(options) {
21
- return this.finish(options);
22
- }
23
-
24
- copyBufferToBuffer(options) {
25
- var _options$sourceOffset, _options$destinationO, _options$size;
26
-
27
- this.handle.copyBufferToBuffer(cast(options.source).handle, (_options$sourceOffset = options.sourceOffset) !== null && _options$sourceOffset !== void 0 ? _options$sourceOffset : 0, cast(options.destination).handle, (_options$destinationO = options.destinationOffset) !== null && _options$destinationO !== void 0 ? _options$destinationO : 0, (_options$size = options.size) !== null && _options$size !== void 0 ? _options$size : 0);
28
- }
29
-
30
- copyBufferToTexture(options) {
31
- var _options$offset, _options$mipLevel, _options$origin;
32
-
33
- this.handle.copyBufferToTexture({
34
- buffer: cast(options.source).handle,
35
- offset: (_options$offset = options.offset) !== null && _options$offset !== void 0 ? _options$offset : 0,
36
- bytesPerRow: options.bytesPerRow,
37
- rowsPerImage: options.rowsPerImage
38
- }, {
39
- texture: cast(options.destination).handle,
40
- mipLevel: (_options$mipLevel = options.mipLevel) !== null && _options$mipLevel !== void 0 ? _options$mipLevel : 0,
41
- origin: (_options$origin = options.origin) !== null && _options$origin !== void 0 ? _options$origin : {}
42
- }, {
43
- width: options.extent[0],
44
- height: options.extent[1],
45
- depthOrArrayLayers: options.extent[2]
46
- });
47
- }
48
-
49
- copyTextureToBuffer(options) {}
50
-
51
- copyTextureToTexture(options) {}
52
-
53
- pushDebugGroup(groupLabel) {
54
- this.handle.pushDebugGroup(groupLabel);
55
- }
56
-
57
- popDebugGroup() {
58
- this.handle.popDebugGroup();
59
- }
60
-
61
- insertDebugMarker(markerLabel) {
62
- this.handle.insertDebugMarker(markerLabel);
63
- }
64
-
3
+ constructor(device, props) {
4
+ super(props);
5
+ this.device = device;
6
+ this.handle = props.handle || this.device.handle.createCommandEncoder({
7
+ // TODO was this removed in standard?
8
+ // measureExecutionTime: this.props.measureExecutionTime
9
+ });
10
+ this.handle.label = this.props.id;
11
+ }
12
+ destroy() { }
13
+ finish(options) {
14
+ return this.finish(options);
15
+ }
16
+ // beginRenderPass(GPURenderPassDescriptor descriptor): GPURenderPassEncoder;
17
+ // beginComputePass(optional GPUComputePassDescriptor descriptor = {}): GPUComputePassEncoder;
18
+ copyBufferToBuffer(options) {
19
+ this.handle.copyBufferToBuffer(cast(options.source).handle, options.sourceOffset ?? 0, cast(options.destination).handle, options.destinationOffset ?? 0, options.size ?? 0);
20
+ }
21
+ copyBufferToTexture(options) {
22
+ this.handle.copyBufferToTexture({
23
+ buffer: cast(options.source).handle,
24
+ offset: options.offset ?? 0,
25
+ bytesPerRow: options.bytesPerRow,
26
+ rowsPerImage: options.rowsPerImage,
27
+ }, {
28
+ texture: cast(options.destination).handle,
29
+ mipLevel: options.mipLevel ?? 0,
30
+ origin: options.origin ?? {},
31
+ // aspect: options.aspect
32
+ }, {
33
+ // TODO exclamation mark hack
34
+ width: options.extent[0],
35
+ height: options.extent[1],
36
+ depthOrArrayLayers: options.extent[2]
37
+ });
38
+ }
39
+ copyTextureToBuffer(options) { }
40
+ copyTextureToTexture(options) { }
41
+ pushDebugGroup(groupLabel) {
42
+ this.handle.pushDebugGroup(groupLabel);
43
+ }
44
+ popDebugGroup() {
45
+ this.handle.popDebugGroup();
46
+ }
47
+ insertDebugMarker(markerLabel) {
48
+ this.handle.insertDebugMarker(markerLabel);
49
+ }
65
50
  }
66
- //# sourceMappingURL=webgpu-command-encoder.js.map
@@ -8,7 +8,7 @@ export default class WebGPUComputePass extends ComputePass {
8
8
  constructor(device: WebGPUDevice, props: ComputePassProps);
9
9
  /** @note no WebGPU destroy method, just gc */
10
10
  destroy(): void;
11
- endPass(): void;
11
+ end(): void;
12
12
  setPipeline(pipeline: ComputePipeline): void;
13
13
  /** Sets an array of bindings (uniform buffers, samplers, textures, ...) */
14
14
  setBindings(bindings: Binding[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-compute-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-compute-pass.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAO,MAAM,cAAc,CAAC;AACnG,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAK5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,gBAAgB,EAAE,kBAAkB,GAAG,IAAI,CAAQ;gBAEvC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAUzD,8CAA8C;IACrC,OAAO,IAAI,IAAI;IAExB,OAAO,IAAI,IAAI;IAIf,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAM5C,2EAA2E;IAC3E,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMtC;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD;;;;OAIG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,GAAG,IAAI;IAI1E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGxC,aAAa,IAAI,IAAI;IAGrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAO7C"}
1
+ {"version":3,"file":"webgpu-compute-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-compute-pass.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAO,MAAM,cAAc,CAAC;AACnG,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAK5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,gBAAgB,EAAE,kBAAkB,GAAG,IAAI,CAAQ;gBAEvC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAUzD,8CAA8C;IACrC,OAAO,IAAI,IAAI;IAExB,GAAG,IAAI,IAAI;IAIX,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAM5C,2EAA2E;IAC3E,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMtC;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD;;;;OAIG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,GAAG,IAAI;IAI1E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGxC,aAAa,IAAI,IAAI;IAGrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAO7C"}