@babylonjs/core 7.12.0 → 7.13.0

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 (510) hide show
  1. package/Animations/animation.js +1 -2
  2. package/Animations/animation.js.map +1 -1
  3. package/Animations/animationGroupMask.d.ts +1 -1
  4. package/Animations/animationGroupMask.js +2 -2
  5. package/Animations/animationGroupMask.js.map +1 -1
  6. package/Animations/animationKey.d.ts +1 -1
  7. package/Animations/animationKey.js.map +1 -1
  8. package/Behaviors/Meshes/handConstraintBehavior.d.ts +3 -3
  9. package/Behaviors/Meshes/handConstraintBehavior.js +16 -17
  10. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  11. package/Behaviors/Meshes/sixDofDragBehavior.js +2 -3
  12. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  13. package/Bones/bone.js +31 -32
  14. package/Bones/bone.js.map +1 -1
  15. package/Bones/boneIKController.js +5 -6
  16. package/Bones/boneIKController.js.map +1 -1
  17. package/Bones/boneLookController.js +13 -13
  18. package/Bones/boneLookController.js.map +1 -1
  19. package/Cameras/Inputs/freeCameraMouseWheelInput.js +5 -6
  20. package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
  21. package/Cameras/Inputs/freeCameraVirtualJoystickInput.js +5 -5
  22. package/Cameras/Inputs/freeCameraVirtualJoystickInput.js.map +1 -1
  23. package/Cameras/VR/vrExperienceHelper.js +8 -10
  24. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  25. package/Compute/computeEffect.js +2 -3
  26. package/Compute/computeEffect.js.map +1 -1
  27. package/Compute/computeShader.js +19 -20
  28. package/Compute/computeShader.js.map +1 -1
  29. package/Culling/Helper/IBoundingInfoHelperPlatform.d.ts +4 -0
  30. package/Culling/Helper/IBoundingInfoHelperPlatform.js.map +1 -1
  31. package/Culling/Helper/boundingInfoHelper.d.ts +26 -4
  32. package/Culling/Helper/boundingInfoHelper.js +41 -10
  33. package/Culling/Helper/boundingInfoHelper.js.map +1 -1
  34. package/Culling/Helper/computeShaderBoundingHelper.d.ts +12 -3
  35. package/Culling/Helper/computeShaderBoundingHelper.js +164 -76
  36. package/Culling/Helper/computeShaderBoundingHelper.js.map +1 -1
  37. package/Culling/Helper/transformFeedbackBoundingHelper.d.ts +11 -0
  38. package/Culling/Helper/transformFeedbackBoundingHelper.js +46 -14
  39. package/Culling/Helper/transformFeedbackBoundingHelper.js.map +1 -1
  40. package/Debug/debugLayer.d.ts +1 -1
  41. package/Debug/debugLayer.js.map +1 -1
  42. package/Decorators/nodeDecorator.d.ts +1 -1
  43. package/Decorators/nodeDecorator.js +1 -1
  44. package/Decorators/nodeDecorator.js.map +1 -1
  45. package/DeviceInput/InputDevices/deviceEnums.d.ts +5 -5
  46. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  47. package/DeviceInput/eventFactory.js +3 -3
  48. package/DeviceInput/eventFactory.js.map +1 -1
  49. package/Engines/AbstractEngine/abstractEngine.cubeTexture.js +2 -2
  50. package/Engines/AbstractEngine/abstractEngine.cubeTexture.js.map +1 -1
  51. package/Engines/Extensions/engine.computeShader.d.ts +1 -1
  52. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  53. package/Engines/Extensions/engine.cubeTexture.js +2 -2
  54. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  55. package/Engines/Extensions/engine.dynamicTexture.js +2 -2
  56. package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
  57. package/Engines/Extensions/engine.multiRender.js +3 -3
  58. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  59. package/Engines/Extensions/engine.multiview.js +2 -2
  60. package/Engines/Extensions/engine.multiview.js.map +1 -1
  61. package/Engines/Extensions/engine.prefilteredCubeTexture.js +3 -3
  62. package/Engines/Extensions/engine.prefilteredCubeTexture.js.map +1 -1
  63. package/Engines/Extensions/engine.rawTexture.js +4 -4
  64. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  65. package/Engines/Extensions/engine.renderTarget.js +3 -3
  66. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  67. package/Engines/Extensions/engine.renderTargetCube.js +2 -2
  68. package/Engines/Extensions/engine.renderTargetCube.js.map +1 -1
  69. package/Engines/Native/nativeShaderProcessors.js +1 -2
  70. package/Engines/Native/nativeShaderProcessors.js.map +1 -1
  71. package/Engines/Processors/shaderProcessor.js +2 -3
  72. package/Engines/Processors/shaderProcessor.js.map +1 -1
  73. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -2
  74. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  75. package/Engines/WebGL/webGLShaderProcessors.js +1 -2
  76. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  77. package/Engines/WebGPU/Extensions/engine.computeShader.js +1 -2
  78. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  79. package/Engines/WebGPU/Extensions/engine.cubeTexture.js +2 -2
  80. package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
  81. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +2 -2
  82. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  83. package/Engines/WebGPU/Extensions/engine.multiRender.js +2 -2
  84. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  85. package/Engines/WebGPU/Extensions/engine.rawTexture.js +5 -5
  86. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  87. package/Engines/WebGPU/Extensions/engine.renderTarget.js +3 -3
  88. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  89. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js +2 -2
  90. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
  91. package/Engines/WebGPU/webgpuBufferManager.js +1 -1
  92. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  93. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +81 -82
  94. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  95. package/Engines/WebGPU/webgpuCacheSampler.js +60 -64
  96. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  97. package/Engines/WebGPU/webgpuClearQuad.js +1 -2
  98. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  99. package/Engines/WebGPU/webgpuComputeContext.js +13 -15
  100. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  101. package/Engines/WebGPU/webgpuConstants.d.ts +39 -39
  102. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  103. package/Engines/WebGPU/webgpuHardwareTexture.js +6 -8
  104. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  105. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -2
  106. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  107. package/Engines/WebGPU/webgpuQuerySet.js +3 -3
  108. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  109. package/Engines/WebGPU/webgpuShaderProcessor.js +15 -19
  110. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  111. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +8 -10
  112. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  113. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +26 -28
  114. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  115. package/Engines/WebGPU/webgpuTextureHelper.js +413 -416
  116. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  117. package/Engines/WebGPU/webgpuTextureManager.js +50 -51
  118. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  119. package/Engines/WebGPU/webgpuTimestampQuery.js +1 -2
  120. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  121. package/Engines/abstractEngine.js +4 -4
  122. package/Engines/abstractEngine.js.map +1 -1
  123. package/Engines/engine.js +2 -2
  124. package/Engines/engine.js.map +1 -1
  125. package/Engines/nativeEngine.js +9 -9
  126. package/Engines/nativeEngine.js.map +1 -1
  127. package/Engines/nullEngine.js +5 -5
  128. package/Engines/nullEngine.js.map +1 -1
  129. package/Engines/renderTargetWrapper.js +1 -2
  130. package/Engines/renderTargetWrapper.js.map +1 -1
  131. package/Engines/shaderStore.js +6 -7
  132. package/Engines/shaderStore.js.map +1 -1
  133. package/Engines/thinEngine.js +4 -5
  134. package/Engines/thinEngine.js.map +1 -1
  135. package/Engines/webgpuEngine.d.ts +11 -0
  136. package/Engines/webgpuEngine.js +91 -72
  137. package/Engines/webgpuEngine.js.map +1 -1
  138. package/Events/deviceInputEvents.d.ts +1 -1
  139. package/Events/deviceInputEvents.js.map +1 -1
  140. package/FlowGraph/flowGraph.d.ts +1 -1
  141. package/FlowGraph/flowGraph.js +5 -5
  142. package/FlowGraph/flowGraph.js.map +1 -1
  143. package/FlowGraph/flowGraphBlock.js +2 -3
  144. package/FlowGraph/flowGraphBlock.js.map +1 -1
  145. package/FlowGraph/flowGraphConnection.d.ts +1 -1
  146. package/FlowGraph/flowGraphConnection.js.map +1 -1
  147. package/FlowGraph/flowGraphDataConnection.js +3 -3
  148. package/FlowGraph/flowGraphDataConnection.js.map +1 -1
  149. package/FlowGraph/flowGraphExecutionBlock.js +2 -3
  150. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
  151. package/FlowGraph/flowGraphSignalConnection.js +3 -3
  152. package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
  153. package/Gamepads/dualShockGamepad.d.ts +2 -2
  154. package/Gamepads/dualShockGamepad.js +14 -14
  155. package/Gamepads/dualShockGamepad.js.map +1 -1
  156. package/Gamepads/xboxGamepad.d.ts +2 -2
  157. package/Gamepads/xboxGamepad.js +14 -14
  158. package/Gamepads/xboxGamepad.js.map +1 -1
  159. package/Gizmos/gizmo.d.ts +2 -2
  160. package/Gizmos/gizmo.js +4 -4
  161. package/Gizmos/gizmo.js.map +1 -1
  162. package/Gizmos/gizmoManager.js +2 -2
  163. package/Gizmos/gizmoManager.js.map +1 -1
  164. package/Gizmos/scaleGizmo.js +3 -3
  165. package/Gizmos/scaleGizmo.js.map +1 -1
  166. package/Loading/sceneLoader.d.ts +1 -1
  167. package/Loading/sceneLoader.js +6 -6
  168. package/Loading/sceneLoader.js.map +1 -1
  169. package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +3 -3
  170. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js.map +1 -1
  171. package/Materials/GreasedLine/greasedLinePluginMaterial.js +10 -11
  172. package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -1
  173. package/Materials/GreasedLine/greasedLineSimpleMaterial.js +8 -9
  174. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
  175. package/Materials/Node/Blocks/Dual/currentScreenBlock.js +3 -4
  176. package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
  177. package/Materials/Node/Blocks/Dual/fogBlock.js +2 -3
  178. package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
  179. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +1 -2
  180. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  181. package/Materials/Node/Blocks/Dual/lightBlock.js +5 -6
  182. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  183. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +4 -5
  184. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  185. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +7 -8
  186. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
  187. package/Materials/Node/Blocks/Dual/textureBlock.js +4 -6
  188. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  189. package/Materials/Node/Blocks/Fragment/TBNBlock.js +2 -4
  190. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  191. package/Materials/Node/Blocks/Fragment/derivativeBlock.js +1 -2
  192. package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
  193. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +1 -2
  194. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
  195. package/Materials/Node/Blocks/Fragment/fragDepthBlock.js +1 -2
  196. package/Materials/Node/Blocks/Fragment/fragDepthBlock.js.map +1 -1
  197. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +5 -6
  198. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  199. package/Materials/Node/Blocks/Fragment/frontFacingBlock.js +1 -2
  200. package/Materials/Node/Blocks/Fragment/frontFacingBlock.js.map +1 -1
  201. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js +5 -6
  202. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
  203. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +3 -4
  204. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  205. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +7 -9
  206. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  207. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +1 -2
  208. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
  209. package/Materials/Node/Blocks/Input/inputBlock.js +19 -21
  210. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  211. package/Materials/Node/Blocks/Input/prePassTextureBlock.js +3 -4
  212. package/Materials/Node/Blocks/Input/prePassTextureBlock.js.map +1 -1
  213. package/Materials/Node/Blocks/PBR/anisotropyBlock.js +2 -3
  214. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  215. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +4 -5
  216. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  217. package/Materials/Node/Blocks/PBR/iridescenceBlock.js +1 -2
  218. package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
  219. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +28 -29
  220. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  221. package/Materials/Node/Blocks/PBR/reflectionBlock.js +4 -5
  222. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  223. package/Materials/Node/Blocks/PBR/refractionBlock.js +5 -6
  224. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  225. package/Materials/Node/Blocks/PBR/sheenBlock.js +4 -5
  226. package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
  227. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +2 -3
  228. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  229. package/Materials/Node/Blocks/Vertex/instancesBlock.js +1 -2
  230. package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
  231. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +1 -2
  232. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
  233. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +1 -2
  234. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  235. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +1 -2
  236. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
  237. package/Materials/Node/Blocks/arcTan2Block.js +1 -2
  238. package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
  239. package/Materials/Node/Blocks/biPlanarBlock.js +3 -4
  240. package/Materials/Node/Blocks/biPlanarBlock.js.map +1 -1
  241. package/Materials/Node/Blocks/clampBlock.js +4 -5
  242. package/Materials/Node/Blocks/clampBlock.js.map +1 -1
  243. package/Materials/Node/Blocks/cloudBlock.js +3 -4
  244. package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
  245. package/Materials/Node/Blocks/curveBlock.js +1 -2
  246. package/Materials/Node/Blocks/curveBlock.js.map +1 -1
  247. package/Materials/Node/Blocks/customBlock.js +1 -2
  248. package/Materials/Node/Blocks/customBlock.js.map +1 -1
  249. package/Materials/Node/Blocks/matrixBuilderBlock.js +1 -2
  250. package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
  251. package/Materials/Node/Blocks/meshAttributeExistsBlock.d.ts +1 -1
  252. package/Materials/Node/Blocks/meshAttributeExistsBlock.js +35 -35
  253. package/Materials/Node/Blocks/meshAttributeExistsBlock.js.map +1 -1
  254. package/Materials/Node/Blocks/modBlock.js +1 -2
  255. package/Materials/Node/Blocks/modBlock.js.map +1 -1
  256. package/Materials/Node/Blocks/remapBlock.js +3 -3
  257. package/Materials/Node/Blocks/remapBlock.js.map +1 -1
  258. package/Materials/Node/Blocks/simplexPerlin3DBlock.js +1 -2
  259. package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
  260. package/Materials/Node/Blocks/transformBlock.js +1 -2
  261. package/Materials/Node/Blocks/transformBlock.js.map +1 -1
  262. package/Materials/Node/Blocks/triPlanarBlock.js +10 -12
  263. package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
  264. package/Materials/Node/Blocks/voronoiNoiseBlock.js +3 -4
  265. package/Materials/Node/Blocks/voronoiNoiseBlock.js.map +1 -1
  266. package/Materials/Node/Blocks/waveBlock.d.ts +1 -1
  267. package/Materials/Node/Blocks/waveBlock.js +4 -4
  268. package/Materials/Node/Blocks/waveBlock.js.map +1 -1
  269. package/Materials/Node/Blocks/worleyNoise3DBlock.js +3 -4
  270. package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
  271. package/Materials/Node/Enums/nodeMaterialBlockConnectionPointMode.d.ts +1 -1
  272. package/Materials/Node/Enums/nodeMaterialBlockConnectionPointMode.js.map +1 -1
  273. package/Materials/Node/nodeMaterial.js +3 -4
  274. package/Materials/Node/nodeMaterial.js.map +1 -1
  275. package/Materials/Node/nodeMaterialBlock.js +5 -6
  276. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  277. package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +2 -2
  278. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +10 -10
  279. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  280. package/Materials/Node/nodeMaterialBuildState.js +18 -19
  281. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  282. package/Materials/Node/nodeMaterialConnectionPointCustomObject.js +3 -3
  283. package/Materials/Node/nodeMaterialConnectionPointCustomObject.js.map +1 -1
  284. package/Materials/PBR/pbrBaseMaterial.js +3 -4
  285. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  286. package/Materials/Textures/internalTexture.d.ts +1 -1
  287. package/Materials/Textures/internalTexture.js +13 -13
  288. package/Materials/Textures/internalTexture.js.map +1 -1
  289. package/Materials/Textures/ktx2decoderTypes.d.ts +1 -1
  290. package/Materials/Textures/ktx2decoderTypes.js.map +1 -1
  291. package/Materials/Textures/rawCubeTexture.js +1 -2
  292. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  293. package/Materials/effect.functions.js +2 -3
  294. package/Materials/effect.functions.js.map +1 -1
  295. package/Materials/effect.js +3 -4
  296. package/Materials/effect.js.map +1 -1
  297. package/Materials/effect.webgl.functions.js +1 -2
  298. package/Materials/effect.webgl.functions.js.map +1 -1
  299. package/Materials/material.js +7 -9
  300. package/Materials/material.js.map +1 -1
  301. package/Materials/materialPluginEvent.d.ts +1 -1
  302. package/Materials/materialPluginEvent.js.map +1 -1
  303. package/Materials/materialPluginManager.js +9 -11
  304. package/Materials/materialPluginManager.js.map +1 -1
  305. package/Materials/meshDebugPluginMaterial.d.ts +1 -1
  306. package/Materials/meshDebugPluginMaterial.js +2 -2
  307. package/Materials/meshDebugPluginMaterial.js.map +1 -1
  308. package/Materials/shaderLanguage.d.ts +1 -1
  309. package/Materials/shaderLanguage.js.map +1 -1
  310. package/Materials/shadowDepthWrapper.js +1 -2
  311. package/Materials/shadowDepthWrapper.js.map +1 -1
  312. package/Materials/standardMaterial.js +2 -3
  313. package/Materials/standardMaterial.js.map +1 -1
  314. package/Maths/math.axis.d.ts +2 -2
  315. package/Maths/math.axis.js.map +1 -1
  316. package/Maths/math.path.d.ts +1 -1
  317. package/Maths/math.path.js +3 -3
  318. package/Maths/math.path.js.map +1 -1
  319. package/Meshes/Builders/greasedLineBuilder.d.ts +2 -2
  320. package/Meshes/Builders/greasedLineBuilder.js +21 -23
  321. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  322. package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +3 -3
  323. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
  324. package/Meshes/GreasedLine/greasedLineRibbonMesh.js +14 -14
  325. package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -1
  326. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +2 -2
  327. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
  328. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js +2 -2
  329. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js.map +1 -1
  330. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js +3 -3
  331. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js.map +1 -1
  332. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js +3 -3
  333. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js.map +1 -1
  334. package/Meshes/Node/Blocks/Set/setColorsBlock.js +2 -2
  335. package/Meshes/Node/Blocks/Set/setColorsBlock.js.map +1 -1
  336. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js +2 -2
  337. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js.map +1 -1
  338. package/Meshes/Node/Blocks/Set/setNormalsBlock.js +2 -2
  339. package/Meshes/Node/Blocks/Set/setNormalsBlock.js.map +1 -1
  340. package/Meshes/Node/Blocks/Set/setPositionsBlock.js +2 -2
  341. package/Meshes/Node/Blocks/Set/setPositionsBlock.js.map +1 -1
  342. package/Meshes/Node/Blocks/Set/setTangentsBlock.js +2 -2
  343. package/Meshes/Node/Blocks/Set/setTangentsBlock.js.map +1 -1
  344. package/Meshes/Node/Blocks/Set/setUVsBlock.js +3 -3
  345. package/Meshes/Node/Blocks/Set/setUVsBlock.js.map +1 -1
  346. package/Meshes/Node/Blocks/Sources/boxBlock.js +2 -2
  347. package/Meshes/Node/Blocks/Sources/boxBlock.js.map +1 -1
  348. package/Meshes/Node/Blocks/Sources/capsuleBlock.js +2 -2
  349. package/Meshes/Node/Blocks/Sources/capsuleBlock.js.map +1 -1
  350. package/Meshes/Node/Blocks/Sources/cylinderBlock.js +2 -2
  351. package/Meshes/Node/Blocks/Sources/cylinderBlock.js.map +1 -1
  352. package/Meshes/Node/Blocks/Sources/discBlock.js +2 -2
  353. package/Meshes/Node/Blocks/Sources/discBlock.js.map +1 -1
  354. package/Meshes/Node/Blocks/Sources/gridBlock.js +2 -2
  355. package/Meshes/Node/Blocks/Sources/gridBlock.js.map +1 -1
  356. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js +2 -2
  357. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js.map +1 -1
  358. package/Meshes/Node/Blocks/Sources/meshBlock.js +2 -2
  359. package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -1
  360. package/Meshes/Node/Blocks/Sources/planeBlock.js +2 -2
  361. package/Meshes/Node/Blocks/Sources/planeBlock.js.map +1 -1
  362. package/Meshes/Node/Blocks/Sources/sphereBlock.js +2 -2
  363. package/Meshes/Node/Blocks/Sources/sphereBlock.js.map +1 -1
  364. package/Meshes/Node/Blocks/Sources/torusBlock.js +2 -2
  365. package/Meshes/Node/Blocks/Sources/torusBlock.js.map +1 -1
  366. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js +2 -2
  367. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js.map +1 -1
  368. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js +2 -2
  369. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js.map +1 -1
  370. package/Meshes/Node/Blocks/booleanGeometryBlock.js +3 -3
  371. package/Meshes/Node/Blocks/booleanGeometryBlock.js.map +1 -1
  372. package/Meshes/Node/Blocks/conditionBlock.js +2 -2
  373. package/Meshes/Node/Blocks/conditionBlock.js.map +1 -1
  374. package/Meshes/Node/Blocks/geometryClampBlock.js +3 -3
  375. package/Meshes/Node/Blocks/geometryClampBlock.js.map +1 -1
  376. package/Meshes/Node/Blocks/geometryCollectionBlock.js +2 -2
  377. package/Meshes/Node/Blocks/geometryCollectionBlock.js.map +1 -1
  378. package/Meshes/Node/Blocks/geometryCurveBlock.js +2 -2
  379. package/Meshes/Node/Blocks/geometryCurveBlock.js.map +1 -1
  380. package/Meshes/Node/Blocks/geometryOptimizeBlock.js +3 -3
  381. package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
  382. package/Meshes/Node/Blocks/geometryTransformBlock.js +2 -2
  383. package/Meshes/Node/Blocks/geometryTransformBlock.js.map +1 -1
  384. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js +2 -2
  385. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js.map +1 -1
  386. package/Meshes/Node/Blocks/mappingBlock.js +2 -2
  387. package/Meshes/Node/Blocks/mappingBlock.js.map +1 -1
  388. package/Meshes/Node/Blocks/mathBlock.js +2 -2
  389. package/Meshes/Node/Blocks/mathBlock.js.map +1 -1
  390. package/Meshes/Node/Blocks/mergeGeometryBlock.js +2 -2
  391. package/Meshes/Node/Blocks/mergeGeometryBlock.js.map +1 -1
  392. package/Meshes/Node/Blocks/randomBlock.js +2 -2
  393. package/Meshes/Node/Blocks/randomBlock.js.map +1 -1
  394. package/Meshes/Node/nodeGeometryBlock.js +3 -3
  395. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  396. package/Meshes/Node/nodeGeometryBlockConnectionPoint.d.ts +2 -2
  397. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js +7 -7
  398. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js.map +1 -1
  399. package/Meshes/abstractMesh.js +2 -3
  400. package/Meshes/abstractMesh.js.map +1 -1
  401. package/Meshes/mesh.js +1 -2
  402. package/Meshes/mesh.js.map +1 -1
  403. package/Meshes/meshSimplification.d.ts +1 -1
  404. package/Meshes/meshSimplification.js +1 -1
  405. package/Meshes/meshSimplification.js.map +1 -1
  406. package/Meshes/meshSimplificationSceneComponent.js +2 -2
  407. package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
  408. package/Meshes/transformNode.js +7 -8
  409. package/Meshes/transformNode.js.map +1 -1
  410. package/Misc/assetsManager.d.ts +1 -1
  411. package/Misc/assetsManager.js +9 -9
  412. package/Misc/assetsManager.js.map +1 -1
  413. package/Misc/basis.js +2 -2
  414. package/Misc/basis.js.map +1 -1
  415. package/Misc/copyTextureToTexture.d.ts +1 -1
  416. package/Misc/copyTextureToTexture.js +1 -1
  417. package/Misc/copyTextureToTexture.js.map +1 -1
  418. package/Misc/environmentTextureTools.js +3 -3
  419. package/Misc/environmentTextureTools.js.map +1 -1
  420. package/Misc/iInspectable.d.ts +1 -1
  421. package/Misc/iInspectable.js.map +1 -1
  422. package/Misc/khronosTextureContainer2.js +2 -2
  423. package/Misc/khronosTextureContainer2.js.map +1 -1
  424. package/Misc/timer.d.ts +1 -1
  425. package/Misc/timer.js +5 -5
  426. package/Misc/timer.js.map +1 -1
  427. package/Misc/virtualJoystick.d.ts +1 -1
  428. package/Misc/virtualJoystick.js +16 -16
  429. package/Misc/virtualJoystick.js.map +1 -1
  430. package/Particles/particleSystem.js +3 -3
  431. package/Particles/particleSystem.js.map +1 -1
  432. package/Particles/particleSystemComponent.js +1 -2
  433. package/Particles/particleSystemComponent.js.map +1 -1
  434. package/Particles/pointsCloudSystem.d.ts +1 -1
  435. package/Particles/pointsCloudSystem.js +14 -14
  436. package/Particles/pointsCloudSystem.js.map +1 -1
  437. package/Particles/subEmitter.d.ts +1 -1
  438. package/Particles/subEmitter.js +1 -1
  439. package/Particles/subEmitter.js.map +1 -1
  440. package/Physics/physicsHelper.d.ts +2 -2
  441. package/Physics/physicsHelper.js +6 -7
  442. package/Physics/physicsHelper.js.map +1 -1
  443. package/Physics/v1/physicsImpostor.js +4 -5
  444. package/Physics/v1/physicsImpostor.js.map +1 -1
  445. package/Physics/v2/IPhysicsEnginePlugin.d.ts +16 -8
  446. package/Physics/v2/IPhysicsEnginePlugin.js +9 -0
  447. package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
  448. package/Physics/v2/Plugins/havokPlugin.js +96 -79
  449. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  450. package/Physics/v2/physicsAggregate.js +8 -9
  451. package/Physics/v2/physicsAggregate.js.map +1 -1
  452. package/Physics/v2/physicsBody.d.ts +14 -2
  453. package/Physics/v2/physicsBody.js +30 -11
  454. package/Physics/v2/physicsBody.js.map +1 -1
  455. package/Physics/v2/physicsConstraint.js +8 -9
  456. package/Physics/v2/physicsConstraint.js.map +1 -1
  457. package/Physics/v2/physicsMaterial.d.ts +1 -1
  458. package/Physics/v2/physicsMaterial.js.map +1 -1
  459. package/Physics/v2/physicsShape.js +9 -10
  460. package/Physics/v2/physicsShape.js.map +1 -1
  461. package/Physics/v2/ragdoll.js +11 -12
  462. package/Physics/v2/ragdoll.js.map +1 -1
  463. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +2 -2
  464. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  465. package/PostProcesses/depthOfFieldEffect.d.ts +1 -1
  466. package/PostProcesses/depthOfFieldEffect.js +3 -3
  467. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  468. package/PostProcesses/postProcess.js +2 -3
  469. package/PostProcesses/postProcess.js.map +1 -1
  470. package/PostProcesses/tonemapPostProcess.d.ts +1 -1
  471. package/PostProcesses/tonemapPostProcess.js +4 -4
  472. package/PostProcesses/tonemapPostProcess.js.map +1 -1
  473. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +1 -1
  474. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +10 -10
  475. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
  476. package/Shaders/spriteMap.fragment.js +3 -2
  477. package/Shaders/spriteMap.fragment.js.map +1 -1
  478. package/ShadersWGSL/boundingInfo.compute.js +8 -8
  479. package/ShadersWGSL/boundingInfo.compute.js.map +1 -1
  480. package/XR/features/WebXRDepthSensing.js +2 -2
  481. package/XR/features/WebXRDepthSensing.js.map +1 -1
  482. package/XR/features/WebXRHandTracking.d.ts +2 -2
  483. package/XR/features/WebXRHandTracking.js +76 -76
  484. package/XR/features/WebXRHandTracking.js.map +1 -1
  485. package/XR/features/WebXRLightEstimation.js +2 -2
  486. package/XR/features/WebXRLightEstimation.js.map +1 -1
  487. package/XR/features/WebXRNearInteraction.d.ts +1 -1
  488. package/XR/features/WebXRNearInteraction.js +5 -5
  489. package/XR/features/WebXRNearInteraction.js.map +1 -1
  490. package/XR/features/WebXRRawCameraAccess.js +2 -2
  491. package/XR/features/WebXRRawCameraAccess.js.map +1 -1
  492. package/XR/motionController/webXRProfiledMotionController.js +2 -2
  493. package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
  494. package/XR/webXRCamera.js +3 -4
  495. package/XR/webXRCamera.js.map +1 -1
  496. package/XR/webXREnterExitUI.js +3 -4
  497. package/XR/webXREnterExitUI.js.map +1 -1
  498. package/XR/webXRExperienceHelper.js +12 -13
  499. package/XR/webXRExperienceHelper.js.map +1 -1
  500. package/XR/webXRManagedOutputCanvas.d.ts +1 -1
  501. package/XR/webXRManagedOutputCanvas.js +15 -6
  502. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  503. package/XR/webXRRenderTargetTextureProvider.js +2 -2
  504. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  505. package/XR/webXRTypes.d.ts +2 -2
  506. package/XR/webXRTypes.js.map +1 -1
  507. package/package.json +1 -1
  508. package/scene.d.ts +1 -1
  509. package/scene.js +4 -4
  510. package/scene.js.map +1 -1
@@ -1,10 +1,10 @@
1
1
  /** @internal */
2
- export declare enum PowerPreference {
2
+ export declare const enum PowerPreference {
3
3
  LowPower = "low-power",
4
4
  HighPerformance = "high-performance"
5
5
  }
6
6
  /** @internal */
7
- export declare enum FeatureName {
7
+ export declare const enum FeatureName {
8
8
  DepthClipControl = "depth-clip-control",
9
9
  Depth32FloatStencil8 = "depth32float-stencil8",
10
10
  TextureCompressionBC = "texture-compression-bc",
@@ -18,7 +18,7 @@ export declare enum FeatureName {
18
18
  Float32Filterable = "float32-filterable"
19
19
  }
20
20
  /** @internal */
21
- export declare enum BufferMapState {
21
+ export declare const enum BufferMapState {
22
22
  Unmapped = "unmapped",
23
23
  Pending = "pending",
24
24
  Mapped = "mapped"
@@ -37,18 +37,18 @@ export declare enum BufferUsage {
37
37
  QueryResolve = 512
38
38
  }
39
39
  /** @internal */
40
- export declare enum MapMode {
40
+ export declare const enum MapMode {
41
41
  Read = 1,
42
42
  Write = 2
43
43
  }
44
44
  /** @internal */
45
- export declare enum TextureDimension {
45
+ export declare const enum TextureDimension {
46
46
  E1d = "1d",
47
47
  E2d = "2d",
48
48
  E3d = "3d"
49
49
  }
50
50
  /** @internal */
51
- export declare enum TextureUsage {
51
+ export declare const enum TextureUsage {
52
52
  CopySrc = 1,
53
53
  CopyDst = 2,
54
54
  TextureBinding = 4,
@@ -56,7 +56,7 @@ export declare enum TextureUsage {
56
56
  RenderAttachment = 16
57
57
  }
58
58
  /** @internal */
59
- export declare enum TextureViewDimension {
59
+ export declare const enum TextureViewDimension {
60
60
  E1d = "1d",
61
61
  E2d = "2d",
62
62
  E2dArray = "2d-array",
@@ -65,7 +65,7 @@ export declare enum TextureViewDimension {
65
65
  E3d = "3d"
66
66
  }
67
67
  /** @internal */
68
- export declare enum TextureAspect {
68
+ export declare const enum TextureAspect {
69
69
  All = "all",
70
70
  StencilOnly = "stencil-only",
71
71
  DepthOnly = "depth-only"
@@ -74,7 +74,7 @@ export declare enum TextureAspect {
74
74
  * Comments taken from https://github.com/gfx-rs/wgpu/blob/master/wgpu-types/src/lib.rs
75
75
  * @internal
76
76
  */
77
- export declare enum TextureFormat {
77
+ export declare const enum TextureFormat {
78
78
  R8Unorm = "r8unorm",
79
79
  R8Snorm = "r8snorm",
80
80
  R8Uint = "r8uint",
@@ -172,23 +172,23 @@ export declare enum TextureFormat {
172
172
  Depth32FloatStencil8 = "depth32float-stencil8"
173
173
  }
174
174
  /** @internal */
175
- export declare enum AddressMode {
175
+ export declare const enum AddressMode {
176
176
  ClampToEdge = "clamp-to-edge",
177
177
  Repeat = "repeat",
178
178
  MirrorRepeat = "mirror-repeat"
179
179
  }
180
180
  /** @internal */
181
- export declare enum FilterMode {
181
+ export declare const enum FilterMode {
182
182
  Nearest = "nearest",
183
183
  Linear = "linear"
184
184
  }
185
185
  /** @internal */
186
- export declare enum MipmapFilterMode {
186
+ export declare const enum MipmapFilterMode {
187
187
  Nearest = "nearest",
188
188
  Linear = "linear"
189
189
  }
190
190
  /** @internal */
191
- export declare enum CompareFunction {
191
+ export declare const enum CompareFunction {
192
192
  Never = "never",
193
193
  Less = "less",
194
194
  Equal = "equal",
@@ -199,25 +199,25 @@ export declare enum CompareFunction {
199
199
  Always = "always"
200
200
  }
201
201
  /** @internal */
202
- export declare enum ShaderStage {
202
+ export declare const enum ShaderStage {
203
203
  Vertex = 1,
204
204
  Fragment = 2,
205
205
  Compute = 4
206
206
  }
207
207
  /** @internal */
208
- export declare enum BufferBindingType {
208
+ export declare const enum BufferBindingType {
209
209
  Uniform = "uniform",
210
210
  Storage = "storage",
211
211
  ReadOnlyStorage = "read-only-storage"
212
212
  }
213
213
  /** @internal */
214
- export declare enum SamplerBindingType {
214
+ export declare const enum SamplerBindingType {
215
215
  Filtering = "filtering",
216
216
  NonFiltering = "non-filtering",
217
217
  Comparison = "comparison"
218
218
  }
219
219
  /** @internal */
220
- export declare enum TextureSampleType {
220
+ export declare const enum TextureSampleType {
221
221
  Float = "float",
222
222
  UnfilterableFloat = "unfilterable-float",
223
223
  Depth = "depth",
@@ -225,28 +225,28 @@ export declare enum TextureSampleType {
225
225
  Uint = "uint"
226
226
  }
227
227
  /** @internal */
228
- export declare enum StorageTextureAccess {
228
+ export declare const enum StorageTextureAccess {
229
229
  WriteOnly = "write-only",
230
230
  ReadOnly = "read-only",
231
231
  ReadWrite = "read-write"
232
232
  }
233
233
  /** @internal */
234
- export declare enum CompilationMessageType {
234
+ export declare const enum CompilationMessageType {
235
235
  Error = "error",
236
236
  Warning = "warning",
237
237
  Info = "info"
238
238
  }
239
239
  /** @internal */
240
- export declare enum PipelineErrorReason {
240
+ export declare const enum PipelineErrorReason {
241
241
  Validation = "validation",
242
242
  Internal = "internal"
243
243
  }
244
244
  /** @internal */
245
- export declare enum AutoLayoutMode {
245
+ export declare const enum AutoLayoutMode {
246
246
  Auto = "auto"
247
247
  }
248
248
  /** @internal */
249
- export declare enum PrimitiveTopology {
249
+ export declare const enum PrimitiveTopology {
250
250
  PointList = "point-list",
251
251
  LineList = "line-list",
252
252
  LineStrip = "line-strip",
@@ -254,18 +254,18 @@ export declare enum PrimitiveTopology {
254
254
  TriangleStrip = "triangle-strip"
255
255
  }
256
256
  /** @internal */
257
- export declare enum FrontFace {
257
+ export declare const enum FrontFace {
258
258
  CCW = "ccw",
259
259
  CW = "cw"
260
260
  }
261
261
  /** @internal */
262
- export declare enum CullMode {
262
+ export declare const enum CullMode {
263
263
  None = "none",
264
264
  Front = "front",
265
265
  Back = "back"
266
266
  }
267
267
  /** @internal */
268
- export declare enum ColorWrite {
268
+ export declare const enum ColorWrite {
269
269
  Red = 1,
270
270
  Green = 2,
271
271
  Blue = 4,
@@ -273,7 +273,7 @@ export declare enum ColorWrite {
273
273
  All = 15
274
274
  }
275
275
  /** @internal */
276
- export declare enum BlendFactor {
276
+ export declare const enum BlendFactor {
277
277
  Zero = "zero",
278
278
  One = "one",
279
279
  Src = "src",
@@ -289,7 +289,7 @@ export declare enum BlendFactor {
289
289
  OneMinusConstant = "one-minus-constant"
290
290
  }
291
291
  /** @internal */
292
- export declare enum BlendOperation {
292
+ export declare const enum BlendOperation {
293
293
  Add = "add",
294
294
  Subtract = "subtract",
295
295
  ReverseSubtract = "reverse-subtract",
@@ -297,7 +297,7 @@ export declare enum BlendOperation {
297
297
  Max = "max"
298
298
  }
299
299
  /** @internal */
300
- export declare enum StencilOperation {
300
+ export declare const enum StencilOperation {
301
301
  Keep = "keep",
302
302
  Zero = "zero",
303
303
  Replace = "replace",
@@ -308,12 +308,12 @@ export declare enum StencilOperation {
308
308
  DecrementWrap = "decrement-wrap"
309
309
  }
310
310
  /** @internal */
311
- export declare enum IndexFormat {
311
+ export declare const enum IndexFormat {
312
312
  Uint16 = "uint16",
313
313
  Uint32 = "uint32"
314
314
  }
315
315
  /** @internal */
316
- export declare enum VertexFormat {
316
+ export declare const enum VertexFormat {
317
317
  Uint8x2 = "uint8x2",
318
318
  Uint8x4 = "uint8x4",
319
319
  Sint8x2 = "sint8x2",
@@ -347,47 +347,47 @@ export declare enum VertexFormat {
347
347
  UNORM10x10x10x2 = "unorm10-10-10-2"
348
348
  }
349
349
  /** @internal */
350
- export declare enum VertexStepMode {
350
+ export declare const enum VertexStepMode {
351
351
  Vertex = "vertex",
352
352
  Instance = "instance"
353
353
  }
354
354
  /** @internal */
355
- export declare enum ComputePassTimestampLocation {
355
+ export declare const enum ComputePassTimestampLocation {
356
356
  Beginning = "beginning",
357
357
  End = "end"
358
358
  }
359
359
  /** @internal */
360
- export declare enum RenderPassTimestampLocation {
360
+ export declare const enum RenderPassTimestampLocation {
361
361
  Beginning = "beginning",
362
362
  End = "end"
363
363
  }
364
364
  /** @internal */
365
- export declare enum LoadOp {
365
+ export declare const enum LoadOp {
366
366
  Load = "load",
367
367
  Clear = "clear"
368
368
  }
369
369
  /** @internal */
370
- export declare enum StoreOp {
370
+ export declare const enum StoreOp {
371
371
  Store = "store",
372
372
  Discard = "discard"
373
373
  }
374
374
  /** @internal */
375
- export declare enum QueryType {
375
+ export declare const enum QueryType {
376
376
  Occlusion = "occlusion",
377
377
  Timestamp = "timestamp"
378
378
  }
379
379
  /** @internal */
380
- export declare enum CanvasAlphaMode {
380
+ export declare const enum CanvasAlphaMode {
381
381
  Opaque = "opaque",
382
382
  Premultiplied = "premultiplied"
383
383
  }
384
384
  /** @internal */
385
- export declare enum DeviceLostReason {
385
+ export declare const enum DeviceLostReason {
386
386
  Unknown = "unknown",
387
387
  Destroyed = "destroyed"
388
388
  }
389
389
  /** @internal */
390
- export declare enum ErrorFilter {
390
+ export declare const enum ErrorFilter {
391
391
  Validation = "validation",
392
392
  OutOfMemory = "out-of-memory",
393
393
  Internal = "internal"
@@ -1 +1 @@
1
- {"version":3,"file":"webgpuConstants.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuConstants.ts"],"names":[],"mappings":"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","sourcesContent":["/** @internal */\r\n// eslint-disable-next-line import/export\r\nexport enum PowerPreference {\r\n LowPower = \"low-power\",\r\n HighPerformance = \"high-performance\",\r\n}\r\n\r\n/** @internal */\r\nexport enum FeatureName {\r\n DepthClipControl = \"depth-clip-control\",\r\n Depth32FloatStencil8 = \"depth32float-stencil8\",\r\n TextureCompressionBC = \"texture-compression-bc\",\r\n TextureCompressionETC2 = \"texture-compression-etc2\",\r\n TextureCompressionASTC = \"texture-compression-astc\",\r\n TimestampQuery = \"timestamp-query\",\r\n IndirectFirstInstance = \"indirect-first-instance\",\r\n ShaderF16 = \"shader-f16\",\r\n RG11B10UFloatRenderable = \"rg11b10ufloat-renderable\",\r\n BGRA8UnormStorage = \"bgra8unorm-storage\",\r\n Float32Filterable = \"float32-filterable\",\r\n}\r\n\r\n/** @internal */\r\nexport enum BufferMapState {\r\n Unmapped = \"unmapped\",\r\n Pending = \"pending\",\r\n Mapped = \"mapped\",\r\n}\r\n\r\n/** @internal */\r\nexport enum BufferUsage {\r\n MapRead = 1,\r\n MapWrite = 2,\r\n CopySrc = 4,\r\n CopyDst = 8,\r\n Index = 16,\r\n Vertex = 32,\r\n Uniform = 64,\r\n Storage = 128,\r\n Indirect = 256,\r\n QueryResolve = 512,\r\n}\r\n\r\n/** @internal */\r\nexport enum MapMode {\r\n Read = 1,\r\n Write = 2,\r\n}\r\n\r\n/** @internal */\r\nexport enum TextureDimension {\r\n E1d = \"1d\",\r\n E2d = \"2d\",\r\n E3d = \"3d\",\r\n}\r\n\r\n/** @internal */\r\nexport enum TextureUsage {\r\n CopySrc = 1,\r\n CopyDst = 2,\r\n TextureBinding = 4,\r\n StorageBinding = 8,\r\n RenderAttachment = 16,\r\n}\r\n\r\n/** @internal */\r\nexport enum TextureViewDimension {\r\n E1d = \"1d\",\r\n E2d = \"2d\",\r\n E2dArray = \"2d-array\",\r\n Cube = \"cube\",\r\n CubeArray = \"cube-array\",\r\n E3d = \"3d\",\r\n}\r\n\r\n/** @internal */\r\nexport enum TextureAspect {\r\n All = \"all\",\r\n StencilOnly = \"stencil-only\",\r\n DepthOnly = \"depth-only\",\r\n}\r\n\r\n/**\r\n * Comments taken from https://github.com/gfx-rs/wgpu/blob/master/wgpu-types/src/lib.rs\r\n * @internal\r\n */\r\nexport enum TextureFormat {\r\n // 8-bit formats\r\n R8Unorm = \"r8unorm\", // Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n R8Snorm = \"r8snorm\", // Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\r\n R8Uint = \"r8uint\", // Red channel only. 8 bit integer per channel. Unsigned in shader.\r\n R8Sint = \"r8sint\", // Red channel only. 8 bit integer per channel. Signed in shader.\r\n\r\n // 16-bit formats\r\n R16Uint = \"r16uint\", // Red channel only. 16 bit integer per channel. Unsigned in shader.\r\n R16Sint = \"r16sint\", // Red channel only. 16 bit integer per channel. Signed in shader.\r\n R16Float = \"r16float\", // Red channel only. 16 bit float per channel. Float in shader.\r\n RG8Unorm = \"rg8unorm\", // Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n RG8Snorm = \"rg8snorm\", // Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\r\n RG8Uint = \"rg8uint\", // Red and green channels. 8 bit integer per channel. Unsigned in shader.\r\n RG8Sint = \"rg8sint\", // Red and green channels. 8 bit integer per channel. Signed in shader.\r\n\r\n // 32-bit formats\r\n R32Uint = \"r32uint\", // Red channel only. 32 bit integer per channel. Unsigned in shader.\r\n R32Sint = \"r32sint\", // Red channel only. 32 bit integer per channel. Signed in shader.\r\n R32Float = \"r32float\", // Red channel only. 32 bit float per channel. Float in shader.\r\n RG16Uint = \"rg16uint\", // Red and green channels. 16 bit integer per channel. Unsigned in shader.\r\n RG16Sint = \"rg16sint\", // Red and green channels. 16 bit integer per channel. Signed in shader.\r\n RG16Float = \"rg16float\", // Red and green channels. 16 bit float per channel. Float in shader.\r\n RGBA8Unorm = \"rgba8unorm\", // Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n RGBA8UnormSRGB = \"rgba8unorm-srgb\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader.\r\n RGBA8Snorm = \"rgba8snorm\", // Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\r\n RGBA8Uint = \"rgba8uint\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader.\r\n RGBA8Sint = \"rgba8sint\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader.\r\n BGRA8Unorm = \"bgra8unorm\", // Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n BGRA8UnormSRGB = \"bgra8unorm-srgb\", // Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader.\r\n // Packed 32-bit formats\r\n RGB9E5UFloat = \"rgb9e5ufloat\", // Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent\r\n RGB10A2UINT = \"rgb10a2uint\", // Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha).\r\n RGB10A2Unorm = \"rgb10a2unorm\", // Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader.\r\n RG11B10UFloat = \"rg11b10ufloat\", // Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader.\r\n\r\n // 64-bit formats\r\n RG32Uint = \"rg32uint\", // Red and green channels. 32 bit integer per channel. Unsigned in shader.\r\n RG32Sint = \"rg32sint\", // Red and green channels. 32 bit integer per channel. Signed in shader.\r\n RG32Float = \"rg32float\", // Red and green channels. 32 bit float per channel. Float in shader.\r\n RGBA16Uint = \"rgba16uint\", // Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader.\r\n RGBA16Sint = \"rgba16sint\", // Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader.\r\n RGBA16Float = \"rgba16float\", // Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader.\r\n\r\n // 128-bit formats\r\n RGBA32Uint = \"rgba32uint\", // Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader.\r\n RGBA32Sint = \"rgba32sint\", // Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader.\r\n RGBA32Float = \"rgba32float\", // Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader.\r\n\r\n // Depth and stencil formats\r\n Stencil8 = \"stencil8\",\r\n Depth16Unorm = \"depth16unorm\",\r\n Depth24Plus = \"depth24plus\", // Special depth format with at least 24 bit integer depth.\r\n Depth24PlusStencil8 = \"depth24plus-stencil8\", // Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil.\r\n Depth32Float = \"depth32float\", // Special depth format with 32 bit floating point depth.\r\n\r\n // BC compressed formats usable if \"texture-compression-bc\" is both\r\n // supported by the device/user agent and enabled in requestDevice.\r\n BC1RGBAUnorm = \"bc1-rgba-unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. Also known as DXT1.\r\n BC1RGBAUnormSRGB = \"bc1-rgba-unorm-srgb\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. Also known as DXT1.\r\n BC2RGBAUnorm = \"bc2-rgba-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. Also known as DXT3.\r\n BC2RGBAUnormSRGB = \"bc2-rgba-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. Also known as DXT3.\r\n BC3RGBAUnorm = \"bc3-rgba-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. Also known as DXT5.\r\n BC3RGBAUnormSRGB = \"bc3-rgba-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. Also known as DXT5.\r\n BC4RUnorm = \"bc4-r-unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. Also known as RGTC1.\r\n BC4RSnorm = \"bc4-r-snorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. Also known as RGTC1.\r\n BC5RGUnorm = \"bc5-rg-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. Also known as RGTC2.\r\n BC5RGSnorm = \"bc5-rg-snorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. Also known as RGTC2.\r\n BC6HRGBUFloat = \"bc6h-rgb-ufloat\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. Also known as BPTC (float).\r\n BC6HRGBFloat = \"bc6h-rgb-float\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. Also known as BPTC (float).\r\n BC7RGBAUnorm = \"bc7-rgba-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. Also known as BPTC (unorm).\r\n BC7RGBAUnormSRGB = \"bc7-rgba-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. Also known as BPTC (unorm).\r\n\r\n // ETC2 compressed formats usable if \"texture-compression-etc2\" is both\r\n // supported by the device/user agent and enabled in requestDevice.\r\n ETC2RGB8Unorm = \"etc2-rgb8unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB.\r\n ETC2RGB8UnormSRGB = \"etc2-rgb8unorm-srgb\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB.\r\n ETC2RGB8A1Unorm = \"etc2-rgb8a1unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha.\r\n ETC2RGB8A1UnormSRGB = \"etc2-rgb8a1unorm-srgb\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha.\r\n ETC2RGBA8Unorm = \"etc2-rgba8unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha.\r\n ETC2RGBA8UnormSRGB = \"etc2-rgba8unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha.\r\n EACR11Unorm = \"eac-r11unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R.\r\n EACR11Snorm = \"eac-r11snorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R.\r\n EACRG11Unorm = \"eac-rg11unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G.\r\n EACRG11Snorm = \"eac-rg11snorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G.\r\n\r\n // ASTC compressed formats usable if \"texture-compression-astc\" is both\r\n // supported by the device/user agent and enabled in requestDevice.\r\n ASTC4x4Unorm = \"astc-4x4-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC4x4UnormSRGB = \"astc-4x4-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x4Unorm = \"astc-5x4-unorm\", // 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x4UnormSRGB = \"astc-5x4-unorm-srgb\", // 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x5Unorm = \"astc-5x5-unorm\", // 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x5UnormSRGB = \"astc-5x5-unorm-srgb\", // 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x5Unorm = \"astc-6x5-unorm\", // 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x5UnormSRGB = \"astc-6x5-unorm-srgb\", // 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x6Unorm = \"astc-6x6-unorm\", // 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x6UnormSRGB = \"astc-6x6-unorm-srgb\", // 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x5Unorm = \"astc-8x5-unorm\", // 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x5UnormSRGB = \"astc-8x5-unorm-srgb\", // 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x6Unorm = \"astc-8x6-unorm\", // 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x6UnormSRGB = \"astc-8x6-unorm-srgb\", // 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x8Unorm = \"astc-8x8-unorm\", // 8x8 block compressed texture. 16 bytes per block (2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x8UnormSRGB = \"astc-8x8-unorm-srgb\", // 8x8 block compressed texture. 16 bytes per block (2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x5Unorm = \"astc-10x5-unorm\", // 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x5UnormSRGB = \"astc-10x5-unorm-srgb\", // 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x6Unorm = \"astc-10x6-unorm\", // 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x6UnormSRGB = \"astc-10x6-unorm-srgb\", // 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x8Unorm = \"astc-10x8-unorm\", // 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x8UnormSRGB = \"astc-10x8-unorm-srgb\", // 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x10Unorm = \"astc-10x10-unorm\", // 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x10UnormSRGB = \"astc-10x10-unorm-srgb\", // 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x10Unorm = \"astc-12x10-unorm\", // 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x10UnormSRGB = \"astc-12x10-unorm-srgb\", // 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x12Unorm = \"astc-12x12-unorm\", // 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x12UnormSRGB = \"astc-12x12-unorm-srgb\", // 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). Complex pallet. 8 bit integer RGBA.\r\n\r\n // \"depth32float-stencil8\" feature\r\n Depth32FloatStencil8 = \"depth32float-stencil8\",\r\n}\r\n\r\n/** @internal */\r\nexport enum AddressMode {\r\n ClampToEdge = \"clamp-to-edge\",\r\n Repeat = \"repeat\",\r\n MirrorRepeat = \"mirror-repeat\",\r\n}\r\n\r\n/** @internal */\r\nexport enum FilterMode {\r\n Nearest = \"nearest\",\r\n Linear = \"linear\",\r\n}\r\n\r\n/** @internal */\r\nexport enum MipmapFilterMode {\r\n Nearest = \"nearest\",\r\n Linear = \"linear\",\r\n}\r\n\r\n/** @internal */\r\nexport enum CompareFunction {\r\n Never = \"never\",\r\n Less = \"less\",\r\n Equal = \"equal\",\r\n LessEqual = \"less-equal\",\r\n Greater = \"greater\",\r\n NotEqual = \"not-equal\",\r\n GreaterEqual = \"greater-equal\",\r\n Always = \"always\",\r\n}\r\n\r\n/** @internal */\r\nexport enum ShaderStage {\r\n Vertex = 1,\r\n Fragment = 2,\r\n Compute = 4,\r\n}\r\n\r\n/** @internal */\r\nexport enum BufferBindingType {\r\n Uniform = \"uniform\",\r\n Storage = \"storage\",\r\n ReadOnlyStorage = \"read-only-storage\",\r\n}\r\n\r\n/** @internal */\r\nexport enum SamplerBindingType {\r\n Filtering = \"filtering\",\r\n NonFiltering = \"non-filtering\",\r\n Comparison = \"comparison\",\r\n}\r\n\r\n/** @internal */\r\nexport enum TextureSampleType {\r\n Float = \"float\",\r\n UnfilterableFloat = \"unfilterable-float\",\r\n Depth = \"depth\",\r\n Sint = \"sint\",\r\n Uint = \"uint\",\r\n}\r\n\r\n/** @internal */\r\nexport enum StorageTextureAccess {\r\n WriteOnly = \"write-only\",\r\n ReadOnly = \"read-only\",\r\n ReadWrite = \"read-write\",\r\n}\r\n\r\n/** @internal */\r\nexport enum CompilationMessageType {\r\n Error = \"error\",\r\n Warning = \"warning\",\r\n Info = \"info\",\r\n}\r\n\r\n/** @internal */\r\nexport enum PipelineErrorReason {\r\n Validation = \"validation\",\r\n Internal = \"internal\",\r\n}\r\n\r\n/** @internal */\r\nexport enum AutoLayoutMode {\r\n Auto = \"auto\",\r\n}\r\n\r\n/** @internal */\r\nexport enum PrimitiveTopology {\r\n PointList = \"point-list\",\r\n LineList = \"line-list\",\r\n LineStrip = \"line-strip\",\r\n TriangleList = \"triangle-list\",\r\n TriangleStrip = \"triangle-strip\",\r\n}\r\n\r\n/** @internal */\r\nexport enum FrontFace {\r\n CCW = \"ccw\",\r\n CW = \"cw\",\r\n}\r\n\r\n/** @internal */\r\nexport enum CullMode {\r\n None = \"none\",\r\n Front = \"front\",\r\n Back = \"back\",\r\n}\r\n\r\n/** @internal */\r\nexport enum ColorWrite {\r\n Red = 1,\r\n Green = 2,\r\n Blue = 4,\r\n Alpha = 8,\r\n All = 15,\r\n}\r\n\r\n/** @internal */\r\nexport enum BlendFactor {\r\n Zero = \"zero\",\r\n One = \"one\",\r\n Src = \"src\",\r\n OneMinusSrc = \"one-minus-src\",\r\n SrcAlpha = \"src-alpha\",\r\n OneMinusSrcAlpha = \"one-minus-src-alpha\",\r\n Dst = \"dst\",\r\n OneMinusDst = \"one-minus-dst\",\r\n DstAlpha = \"dst-alpha\",\r\n OneMinusDstAlpha = \"one-minus-dst-alpha\",\r\n SrcAlphaSaturated = \"src-alpha-saturated\",\r\n Constant = \"constant\",\r\n OneMinusConstant = \"one-minus-constant\",\r\n}\r\n\r\n/** @internal */\r\nexport enum BlendOperation {\r\n Add = \"add\",\r\n Subtract = \"subtract\",\r\n ReverseSubtract = \"reverse-subtract\",\r\n Min = \"min\",\r\n Max = \"max\",\r\n}\r\n\r\n/** @internal */\r\nexport enum StencilOperation {\r\n Keep = \"keep\",\r\n Zero = \"zero\",\r\n Replace = \"replace\",\r\n Invert = \"invert\",\r\n IncrementClamp = \"increment-clamp\",\r\n DecrementClamp = \"decrement-clamp\",\r\n IncrementWrap = \"increment-wrap\",\r\n DecrementWrap = \"decrement-wrap\",\r\n}\r\n\r\n/** @internal */\r\nexport enum IndexFormat {\r\n Uint16 = \"uint16\",\r\n Uint32 = \"uint32\",\r\n}\r\n\r\n/** @internal */\r\nexport enum VertexFormat {\r\n Uint8x2 = \"uint8x2\",\r\n Uint8x4 = \"uint8x4\",\r\n Sint8x2 = \"sint8x2\",\r\n Sint8x4 = \"sint8x4\",\r\n Unorm8x2 = \"unorm8x2\",\r\n Unorm8x4 = \"unorm8x4\",\r\n Snorm8x2 = \"snorm8x2\",\r\n Snorm8x4 = \"snorm8x4\",\r\n Uint16x2 = \"uint16x2\",\r\n Uint16x4 = \"uint16x4\",\r\n Sint16x2 = \"sint16x2\",\r\n Sint16x4 = \"sint16x4\",\r\n Unorm16x2 = \"unorm16x2\",\r\n Unorm16x4 = \"unorm16x4\",\r\n Snorm16x2 = \"snorm16x2\",\r\n Snorm16x4 = \"snorm16x4\",\r\n Float16x2 = \"float16x2\",\r\n Float16x4 = \"float16x4\",\r\n Float32 = \"float32\",\r\n Float32x2 = \"float32x2\",\r\n Float32x3 = \"float32x3\",\r\n Float32x4 = \"float32x4\",\r\n Uint32 = \"uint32\",\r\n Uint32x2 = \"uint32x2\",\r\n Uint32x3 = \"uint32x3\",\r\n Uint32x4 = \"uint32x4\",\r\n Sint32 = \"sint32\",\r\n Sint32x2 = \"sint32x2\",\r\n Sint32x3 = \"sint32x3\",\r\n Sint32x4 = \"sint32x4\",\r\n UNORM10x10x10x2 = \"unorm10-10-10-2\",\r\n}\r\n\r\n/** @internal */\r\nexport enum VertexStepMode {\r\n Vertex = \"vertex\",\r\n Instance = \"instance\",\r\n}\r\n\r\n/** @internal */\r\nexport enum ComputePassTimestampLocation {\r\n Beginning = \"beginning\",\r\n End = \"end\",\r\n}\r\n\r\n/** @internal */\r\nexport enum RenderPassTimestampLocation {\r\n Beginning = \"beginning\",\r\n End = \"end\",\r\n}\r\n\r\n/** @internal */\r\nexport enum LoadOp {\r\n Load = \"load\",\r\n Clear = \"clear\",\r\n}\r\n\r\n/** @internal */\r\nexport enum StoreOp {\r\n Store = \"store\",\r\n Discard = \"discard\",\r\n}\r\n\r\n/** @internal */\r\nexport enum QueryType {\r\n Occlusion = \"occlusion\",\r\n Timestamp = \"timestamp\",\r\n}\r\n\r\n/** @internal */\r\nexport enum CanvasAlphaMode {\r\n Opaque = \"opaque\",\r\n Premultiplied = \"premultiplied\",\r\n}\r\n\r\n/** @internal */\r\nexport enum DeviceLostReason {\r\n Unknown = \"unknown\",\r\n Destroyed = \"destroyed\",\r\n}\r\n\r\n/** @internal */\r\nexport enum ErrorFilter {\r\n Validation = \"validation\",\r\n OutOfMemory = \"out-of-memory\",\r\n Internal = \"internal\",\r\n}\r\n"]}
1
+ {"version":3,"file":"webgpuConstants.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuConstants.ts"],"names":[],"mappings":"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","sourcesContent":["/** @internal */\r\n// eslint-disable-next-line import/export\r\nexport const enum PowerPreference {\r\n LowPower = \"low-power\",\r\n HighPerformance = \"high-performance\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum FeatureName {\r\n DepthClipControl = \"depth-clip-control\",\r\n Depth32FloatStencil8 = \"depth32float-stencil8\",\r\n TextureCompressionBC = \"texture-compression-bc\",\r\n TextureCompressionETC2 = \"texture-compression-etc2\",\r\n TextureCompressionASTC = \"texture-compression-astc\",\r\n TimestampQuery = \"timestamp-query\",\r\n IndirectFirstInstance = \"indirect-first-instance\",\r\n ShaderF16 = \"shader-f16\",\r\n RG11B10UFloatRenderable = \"rg11b10ufloat-renderable\",\r\n BGRA8UnormStorage = \"bgra8unorm-storage\",\r\n Float32Filterable = \"float32-filterable\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum BufferMapState {\r\n Unmapped = \"unmapped\",\r\n Pending = \"pending\",\r\n Mapped = \"mapped\",\r\n}\r\n\r\n/** @internal */\r\nexport enum BufferUsage {\r\n MapRead = 1,\r\n MapWrite = 2,\r\n CopySrc = 4,\r\n CopyDst = 8,\r\n Index = 16,\r\n Vertex = 32,\r\n Uniform = 64,\r\n Storage = 128,\r\n Indirect = 256,\r\n QueryResolve = 512,\r\n}\r\n\r\n/** @internal */\r\nexport const enum MapMode {\r\n Read = 1,\r\n Write = 2,\r\n}\r\n\r\n/** @internal */\r\nexport const enum TextureDimension {\r\n E1d = \"1d\",\r\n E2d = \"2d\",\r\n E3d = \"3d\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum TextureUsage {\r\n CopySrc = 1,\r\n CopyDst = 2,\r\n TextureBinding = 4,\r\n StorageBinding = 8,\r\n RenderAttachment = 16,\r\n}\r\n\r\n/** @internal */\r\nexport const enum TextureViewDimension {\r\n E1d = \"1d\",\r\n E2d = \"2d\",\r\n E2dArray = \"2d-array\",\r\n Cube = \"cube\",\r\n CubeArray = \"cube-array\",\r\n E3d = \"3d\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum TextureAspect {\r\n All = \"all\",\r\n StencilOnly = \"stencil-only\",\r\n DepthOnly = \"depth-only\",\r\n}\r\n\r\n/**\r\n * Comments taken from https://github.com/gfx-rs/wgpu/blob/master/wgpu-types/src/lib.rs\r\n * @internal\r\n */\r\nexport const enum TextureFormat {\r\n // 8-bit formats\r\n R8Unorm = \"r8unorm\", // Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n R8Snorm = \"r8snorm\", // Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\r\n R8Uint = \"r8uint\", // Red channel only. 8 bit integer per channel. Unsigned in shader.\r\n R8Sint = \"r8sint\", // Red channel only. 8 bit integer per channel. Signed in shader.\r\n\r\n // 16-bit formats\r\n R16Uint = \"r16uint\", // Red channel only. 16 bit integer per channel. Unsigned in shader.\r\n R16Sint = \"r16sint\", // Red channel only. 16 bit integer per channel. Signed in shader.\r\n R16Float = \"r16float\", // Red channel only. 16 bit float per channel. Float in shader.\r\n RG8Unorm = \"rg8unorm\", // Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n RG8Snorm = \"rg8snorm\", // Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\r\n RG8Uint = \"rg8uint\", // Red and green channels. 8 bit integer per channel. Unsigned in shader.\r\n RG8Sint = \"rg8sint\", // Red and green channels. 8 bit integer per channel. Signed in shader.\r\n\r\n // 32-bit formats\r\n R32Uint = \"r32uint\", // Red channel only. 32 bit integer per channel. Unsigned in shader.\r\n R32Sint = \"r32sint\", // Red channel only. 32 bit integer per channel. Signed in shader.\r\n R32Float = \"r32float\", // Red channel only. 32 bit float per channel. Float in shader.\r\n RG16Uint = \"rg16uint\", // Red and green channels. 16 bit integer per channel. Unsigned in shader.\r\n RG16Sint = \"rg16sint\", // Red and green channels. 16 bit integer per channel. Signed in shader.\r\n RG16Float = \"rg16float\", // Red and green channels. 16 bit float per channel. Float in shader.\r\n RGBA8Unorm = \"rgba8unorm\", // Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n RGBA8UnormSRGB = \"rgba8unorm-srgb\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader.\r\n RGBA8Snorm = \"rgba8snorm\", // Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\r\n RGBA8Uint = \"rgba8uint\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader.\r\n RGBA8Sint = \"rgba8sint\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader.\r\n BGRA8Unorm = \"bgra8unorm\", // Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\r\n BGRA8UnormSRGB = \"bgra8unorm-srgb\", // Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader.\r\n // Packed 32-bit formats\r\n RGB9E5UFloat = \"rgb9e5ufloat\", // Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent\r\n RGB10A2UINT = \"rgb10a2uint\", // Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha).\r\n RGB10A2Unorm = \"rgb10a2unorm\", // Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader.\r\n RG11B10UFloat = \"rg11b10ufloat\", // Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader.\r\n\r\n // 64-bit formats\r\n RG32Uint = \"rg32uint\", // Red and green channels. 32 bit integer per channel. Unsigned in shader.\r\n RG32Sint = \"rg32sint\", // Red and green channels. 32 bit integer per channel. Signed in shader.\r\n RG32Float = \"rg32float\", // Red and green channels. 32 bit float per channel. Float in shader.\r\n RGBA16Uint = \"rgba16uint\", // Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader.\r\n RGBA16Sint = \"rgba16sint\", // Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader.\r\n RGBA16Float = \"rgba16float\", // Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader.\r\n\r\n // 128-bit formats\r\n RGBA32Uint = \"rgba32uint\", // Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader.\r\n RGBA32Sint = \"rgba32sint\", // Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader.\r\n RGBA32Float = \"rgba32float\", // Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader.\r\n\r\n // Depth and stencil formats\r\n Stencil8 = \"stencil8\",\r\n Depth16Unorm = \"depth16unorm\",\r\n Depth24Plus = \"depth24plus\", // Special depth format with at least 24 bit integer depth.\r\n Depth24PlusStencil8 = \"depth24plus-stencil8\", // Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil.\r\n Depth32Float = \"depth32float\", // Special depth format with 32 bit floating point depth.\r\n\r\n // BC compressed formats usable if \"texture-compression-bc\" is both\r\n // supported by the device/user agent and enabled in requestDevice.\r\n BC1RGBAUnorm = \"bc1-rgba-unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. Also known as DXT1.\r\n BC1RGBAUnormSRGB = \"bc1-rgba-unorm-srgb\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. Also known as DXT1.\r\n BC2RGBAUnorm = \"bc2-rgba-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. Also known as DXT3.\r\n BC2RGBAUnormSRGB = \"bc2-rgba-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. Also known as DXT3.\r\n BC3RGBAUnorm = \"bc3-rgba-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. Also known as DXT5.\r\n BC3RGBAUnormSRGB = \"bc3-rgba-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. Also known as DXT5.\r\n BC4RUnorm = \"bc4-r-unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. Also known as RGTC1.\r\n BC4RSnorm = \"bc4-r-snorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. Also known as RGTC1.\r\n BC5RGUnorm = \"bc5-rg-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. Also known as RGTC2.\r\n BC5RGSnorm = \"bc5-rg-snorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. Also known as RGTC2.\r\n BC6HRGBUFloat = \"bc6h-rgb-ufloat\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. Also known as BPTC (float).\r\n BC6HRGBFloat = \"bc6h-rgb-float\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. Also known as BPTC (float).\r\n BC7RGBAUnorm = \"bc7-rgba-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. Also known as BPTC (unorm).\r\n BC7RGBAUnormSRGB = \"bc7-rgba-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. Also known as BPTC (unorm).\r\n\r\n // ETC2 compressed formats usable if \"texture-compression-etc2\" is both\r\n // supported by the device/user agent and enabled in requestDevice.\r\n ETC2RGB8Unorm = \"etc2-rgb8unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB.\r\n ETC2RGB8UnormSRGB = \"etc2-rgb8unorm-srgb\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB.\r\n ETC2RGB8A1Unorm = \"etc2-rgb8a1unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha.\r\n ETC2RGB8A1UnormSRGB = \"etc2-rgb8a1unorm-srgb\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha.\r\n ETC2RGBA8Unorm = \"etc2-rgba8unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha.\r\n ETC2RGBA8UnormSRGB = \"etc2-rgba8unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha.\r\n EACR11Unorm = \"eac-r11unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R.\r\n EACR11Snorm = \"eac-r11snorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R.\r\n EACRG11Unorm = \"eac-rg11unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G.\r\n EACRG11Snorm = \"eac-rg11snorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G.\r\n\r\n // ASTC compressed formats usable if \"texture-compression-astc\" is both\r\n // supported by the device/user agent and enabled in requestDevice.\r\n ASTC4x4Unorm = \"astc-4x4-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC4x4UnormSRGB = \"astc-4x4-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x4Unorm = \"astc-5x4-unorm\", // 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x4UnormSRGB = \"astc-5x4-unorm-srgb\", // 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x5Unorm = \"astc-5x5-unorm\", // 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC5x5UnormSRGB = \"astc-5x5-unorm-srgb\", // 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x5Unorm = \"astc-6x5-unorm\", // 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x5UnormSRGB = \"astc-6x5-unorm-srgb\", // 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x6Unorm = \"astc-6x6-unorm\", // 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC6x6UnormSRGB = \"astc-6x6-unorm-srgb\", // 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x5Unorm = \"astc-8x5-unorm\", // 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x5UnormSRGB = \"astc-8x5-unorm-srgb\", // 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x6Unorm = \"astc-8x6-unorm\", // 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x6UnormSRGB = \"astc-8x6-unorm-srgb\", // 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x8Unorm = \"astc-8x8-unorm\", // 8x8 block compressed texture. 16 bytes per block (2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC8x8UnormSRGB = \"astc-8x8-unorm-srgb\", // 8x8 block compressed texture. 16 bytes per block (2 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x5Unorm = \"astc-10x5-unorm\", // 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x5UnormSRGB = \"astc-10x5-unorm-srgb\", // 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x6Unorm = \"astc-10x6-unorm\", // 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x6UnormSRGB = \"astc-10x6-unorm-srgb\", // 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x8Unorm = \"astc-10x8-unorm\", // 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x8UnormSRGB = \"astc-10x8-unorm-srgb\", // 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x10Unorm = \"astc-10x10-unorm\", // 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC10x10UnormSRGB = \"astc-10x10-unorm-srgb\", // 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x10Unorm = \"astc-12x10-unorm\", // 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x10UnormSRGB = \"astc-12x10-unorm-srgb\", // 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x12Unorm = \"astc-12x12-unorm\", // 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). Complex pallet. 8 bit integer RGBA.\r\n ASTC12x12UnormSRGB = \"astc-12x12-unorm-srgb\", // 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). Complex pallet. 8 bit integer RGBA.\r\n\r\n // \"depth32float-stencil8\" feature\r\n Depth32FloatStencil8 = \"depth32float-stencil8\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum AddressMode {\r\n ClampToEdge = \"clamp-to-edge\",\r\n Repeat = \"repeat\",\r\n MirrorRepeat = \"mirror-repeat\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum FilterMode {\r\n Nearest = \"nearest\",\r\n Linear = \"linear\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum MipmapFilterMode {\r\n Nearest = \"nearest\",\r\n Linear = \"linear\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum CompareFunction {\r\n Never = \"never\",\r\n Less = \"less\",\r\n Equal = \"equal\",\r\n LessEqual = \"less-equal\",\r\n Greater = \"greater\",\r\n NotEqual = \"not-equal\",\r\n GreaterEqual = \"greater-equal\",\r\n Always = \"always\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum ShaderStage {\r\n Vertex = 1,\r\n Fragment = 2,\r\n Compute = 4,\r\n}\r\n\r\n/** @internal */\r\nexport const enum BufferBindingType {\r\n Uniform = \"uniform\",\r\n Storage = \"storage\",\r\n ReadOnlyStorage = \"read-only-storage\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum SamplerBindingType {\r\n Filtering = \"filtering\",\r\n NonFiltering = \"non-filtering\",\r\n Comparison = \"comparison\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum TextureSampleType {\r\n Float = \"float\",\r\n UnfilterableFloat = \"unfilterable-float\",\r\n Depth = \"depth\",\r\n Sint = \"sint\",\r\n Uint = \"uint\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum StorageTextureAccess {\r\n WriteOnly = \"write-only\",\r\n ReadOnly = \"read-only\",\r\n ReadWrite = \"read-write\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum CompilationMessageType {\r\n Error = \"error\",\r\n Warning = \"warning\",\r\n Info = \"info\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum PipelineErrorReason {\r\n Validation = \"validation\",\r\n Internal = \"internal\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum AutoLayoutMode {\r\n Auto = \"auto\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum PrimitiveTopology {\r\n PointList = \"point-list\",\r\n LineList = \"line-list\",\r\n LineStrip = \"line-strip\",\r\n TriangleList = \"triangle-list\",\r\n TriangleStrip = \"triangle-strip\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum FrontFace {\r\n CCW = \"ccw\",\r\n CW = \"cw\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum CullMode {\r\n None = \"none\",\r\n Front = \"front\",\r\n Back = \"back\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum ColorWrite {\r\n Red = 1,\r\n Green = 2,\r\n Blue = 4,\r\n Alpha = 8,\r\n All = 15,\r\n}\r\n\r\n/** @internal */\r\nexport const enum BlendFactor {\r\n Zero = \"zero\",\r\n One = \"one\",\r\n Src = \"src\",\r\n OneMinusSrc = \"one-minus-src\",\r\n SrcAlpha = \"src-alpha\",\r\n OneMinusSrcAlpha = \"one-minus-src-alpha\",\r\n Dst = \"dst\",\r\n OneMinusDst = \"one-minus-dst\",\r\n DstAlpha = \"dst-alpha\",\r\n OneMinusDstAlpha = \"one-minus-dst-alpha\",\r\n SrcAlphaSaturated = \"src-alpha-saturated\",\r\n Constant = \"constant\",\r\n OneMinusConstant = \"one-minus-constant\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum BlendOperation {\r\n Add = \"add\",\r\n Subtract = \"subtract\",\r\n ReverseSubtract = \"reverse-subtract\",\r\n Min = \"min\",\r\n Max = \"max\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum StencilOperation {\r\n Keep = \"keep\",\r\n Zero = \"zero\",\r\n Replace = \"replace\",\r\n Invert = \"invert\",\r\n IncrementClamp = \"increment-clamp\",\r\n DecrementClamp = \"decrement-clamp\",\r\n IncrementWrap = \"increment-wrap\",\r\n DecrementWrap = \"decrement-wrap\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum IndexFormat {\r\n Uint16 = \"uint16\",\r\n Uint32 = \"uint32\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum VertexFormat {\r\n Uint8x2 = \"uint8x2\",\r\n Uint8x4 = \"uint8x4\",\r\n Sint8x2 = \"sint8x2\",\r\n Sint8x4 = \"sint8x4\",\r\n Unorm8x2 = \"unorm8x2\",\r\n Unorm8x4 = \"unorm8x4\",\r\n Snorm8x2 = \"snorm8x2\",\r\n Snorm8x4 = \"snorm8x4\",\r\n Uint16x2 = \"uint16x2\",\r\n Uint16x4 = \"uint16x4\",\r\n Sint16x2 = \"sint16x2\",\r\n Sint16x4 = \"sint16x4\",\r\n Unorm16x2 = \"unorm16x2\",\r\n Unorm16x4 = \"unorm16x4\",\r\n Snorm16x2 = \"snorm16x2\",\r\n Snorm16x4 = \"snorm16x4\",\r\n Float16x2 = \"float16x2\",\r\n Float16x4 = \"float16x4\",\r\n Float32 = \"float32\",\r\n Float32x2 = \"float32x2\",\r\n Float32x3 = \"float32x3\",\r\n Float32x4 = \"float32x4\",\r\n Uint32 = \"uint32\",\r\n Uint32x2 = \"uint32x2\",\r\n Uint32x3 = \"uint32x3\",\r\n Uint32x4 = \"uint32x4\",\r\n Sint32 = \"sint32\",\r\n Sint32x2 = \"sint32x2\",\r\n Sint32x3 = \"sint32x3\",\r\n Sint32x4 = \"sint32x4\",\r\n UNORM10x10x10x2 = \"unorm10-10-10-2\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum VertexStepMode {\r\n Vertex = \"vertex\",\r\n Instance = \"instance\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum ComputePassTimestampLocation {\r\n Beginning = \"beginning\",\r\n End = \"end\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum RenderPassTimestampLocation {\r\n Beginning = \"beginning\",\r\n End = \"end\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum LoadOp {\r\n Load = \"load\",\r\n Clear = \"clear\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum StoreOp {\r\n Store = \"store\",\r\n Discard = \"discard\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum QueryType {\r\n Occlusion = \"occlusion\",\r\n Timestamp = \"timestamp\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum CanvasAlphaMode {\r\n Opaque = \"opaque\",\r\n Premultiplied = \"premultiplied\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum DeviceLostReason {\r\n Unknown = \"unknown\",\r\n Destroyed = \"destroyed\",\r\n}\r\n\r\n/** @internal */\r\nexport const enum ErrorFilter {\r\n Validation = \"validation\",\r\n OutOfMemory = \"out-of-memory\",\r\n Internal = \"internal\",\r\n}\r\n"]}
@@ -1,6 +1,4 @@
1
1
  import { Scalar } from "../../Maths/math.scalar.js";
2
- // eslint-disable-next-line @typescript-eslint/naming-convention
3
- import * as WebGPUConstants from "./webgpuConstants.js";
4
2
  import { WebGPUTextureHelper } from "./webgpuTextureHelper.js";
5
3
  /** @internal */
6
4
  export class WebGPUHardwareTexture {
@@ -30,7 +28,7 @@ export class WebGPUHardwareTexture {
30
28
  constructor(existingTexture = null) {
31
29
  /** @internal */
32
30
  this._originalFormatIsRGB = false;
33
- this.format = WebGPUConstants.TextureFormat.RGBA8Unorm;
31
+ this.format = "rgba8unorm" /* WebGPUConstants.TextureFormat.RGBA8Unorm */;
34
32
  this.textureUsages = 0;
35
33
  this.textureAdditionalUsages = 0;
36
34
  this._webgpuTexture = existingTexture;
@@ -42,22 +40,22 @@ export class WebGPUHardwareTexture {
42
40
  this._webgpuTexture = hardwareTexture;
43
41
  }
44
42
  setUsage(_textureSource, generateMipMaps, is2DArray, isCube, is3D, width, height, depth) {
45
- let viewDimension = WebGPUConstants.TextureViewDimension.E2d;
43
+ let viewDimension = "2d" /* WebGPUConstants.TextureViewDimension.E2d */;
46
44
  let arrayLayerCount = 1;
47
45
  if (isCube) {
48
- viewDimension = is2DArray ? WebGPUConstants.TextureViewDimension.CubeArray : WebGPUConstants.TextureViewDimension.Cube;
46
+ viewDimension = is2DArray ? "cube-array" /* WebGPUConstants.TextureViewDimension.CubeArray */ : "cube" /* WebGPUConstants.TextureViewDimension.Cube */;
49
47
  arrayLayerCount = 6 * (depth || 1);
50
48
  }
51
49
  else if (is3D) {
52
- viewDimension = WebGPUConstants.TextureViewDimension.E3d;
50
+ viewDimension = "3d" /* WebGPUConstants.TextureViewDimension.E3d */;
53
51
  arrayLayerCount = 1;
54
52
  }
55
53
  else if (is2DArray) {
56
- viewDimension = WebGPUConstants.TextureViewDimension.E2dArray;
54
+ viewDimension = "2d-array" /* WebGPUConstants.TextureViewDimension.E2dArray */;
57
55
  arrayLayerCount = depth;
58
56
  }
59
57
  const format = WebGPUTextureHelper.GetDepthFormatOnly(this.format);
60
- const aspect = WebGPUTextureHelper.HasDepthAndStencilAspects(this.format) ? WebGPUConstants.TextureAspect.DepthOnly : WebGPUConstants.TextureAspect.All;
58
+ const aspect = WebGPUTextureHelper.HasDepthAndStencilAspects(this.format) ? "depth-only" /* WebGPUConstants.TextureAspect.DepthOnly */ : "all" /* WebGPUConstants.TextureAspect.All */;
61
59
  this.createView({
62
60
  label: `TextureView${is3D ? "3D" : isCube ? "Cube" : "2D"}${is2DArray ? "_Array" + arrayLayerCount : ""}_${width}x${height}_${generateMipMaps ? "wmips" : "womips"}_${this.format}_${viewDimension}`,
63
61
  format,
@@ -1 +1 @@
1
- {"version":3,"file":"webgpuHardwareTexture.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuHardwareTexture.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,gEAAgE;AAChE,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,gBAAgB;AAChB,MAAM,OAAO,qBAAqB;IA6B9B,IAAW,kBAAkB;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAEM,cAAc,CAAC,KAAK,GAAG,CAAC;QAC3B,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACpD,CAAC;IAEM,cAAc,CAAC,OAAmB,EAAE,KAAK,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAChC;QAED,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;SAC1C;QAED,IAAI,CAAC,kBAAmB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAC9C,CAAC;IAEM,kBAAkB;QACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3C,OAAO,EAAE,OAAO,EAAE,CAAC;aACtB;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAClC;IACL,CAAC;IAQD,YAAY,kBAAwC,IAAI;QA3CxD,gBAAgB;QACT,yBAAoB,GAAG,KAAK,CAAC;QAsC7B,WAAM,GAAqB,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;QACpE,kBAAa,GAAG,CAAC,CAAC;QAClB,4BAAuB,GAAG,CAAC,CAAC;QAG/B,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEM,GAAG,CAAC,eAA2B;QAClC,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC;IAC1C,CAAC;IAEM,QAAQ,CAAC,cAAsB,EAAE,eAAwB,EAAE,SAAkB,EAAE,MAAe,EAAE,IAAa,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa;QAC9J,IAAI,aAAa,GAA4B,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC;QACtF,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,MAAM,EAAE;YACR,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC;YACvH,eAAe,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;SACtC;aAAM,IAAI,IAAI,EAAE;YACb,aAAa,GAAG,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC;YACzD,eAAe,GAAG,CAAC,CAAC;SACvB;aAAM,IAAI,SAAS,EAAE;YAClB,aAAa,GAAG,eAAe,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YAC9D,eAAe,GAAG,KAAK,CAAC;SAC3B;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC;QAExJ,IAAI,CAAC,UAAU,CAAC;YACZ,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAC9J,IAAI,CAAC,MACT,IAAI,aAAa,EAAE;YACnB,MAAM;YACN,SAAS,EAAE,aAAa;YACxB,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,eAAe;YACf,MAAM;SACT,CAAC,CAAC;IACP,CAAC;IAEM,UAAU,CAAC,UAAqC,EAAE,oBAAoB,GAAG,KAAK;QACjF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,oBAAoB,IAAI,UAAU,EAAE;YACpC,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;YAChD,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAClE,UAAU,CAAC,aAAa,GAAG,cAAc,CAAC;SAC7C;IACL,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,uBAAuB,EAAE,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACJ","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\r\n/* eslint-disable babylonjs/available */\r\nimport type { HardwareTextureWrapper } from \"../../Materials/Textures/hardwareTextureWrapper\";\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\nimport type { Nullable } from \"../../types\";\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nimport * as WebGPUConstants from \"./webgpuConstants\";\r\nimport { WebGPUTextureHelper } from \"./webgpuTextureHelper\";\r\n\r\n/** @internal */\r\nexport class WebGPUHardwareTexture implements HardwareTextureWrapper {\r\n /**\r\n * Cache of RenderPassDescriptor and BindGroup used when generating mipmaps (see WebGPUTextureHelper.generateMipmaps)\r\n * @internal\r\n */\r\n public _mipmapGenRenderPassDescr: GPURenderPassDescriptor[][];\r\n /** @internal */\r\n public _mipmapGenBindGroup: GPUBindGroup[][];\r\n\r\n /**\r\n * Cache for the invertYPreMultiplyAlpha function (see WebGPUTextureHelper)\r\n * @internal\r\n */\r\n public _copyInvertYTempTexture?: GPUTexture;\r\n /** @internal */\r\n public _copyInvertYRenderPassDescr: GPURenderPassDescriptor;\r\n /** @internal */\r\n public _copyInvertYBindGroup: GPUBindGroup;\r\n /** @internal */\r\n public _copyInvertYBindGroupWithOfst: GPUBindGroup;\r\n\r\n /** @internal */\r\n public _originalFormatIsRGB = false;\r\n\r\n private _webgpuTexture: Nullable<GPUTexture>;\r\n // There can be multiple MSAA textures for a single WebGPU texture because different layers of a 2DArrayTexture / 3DTexture\r\n // or different faces of a cube texture can be bound to different render targets at the same time (in a multi RenderTargetWrapper)\r\n private _webgpuMSAATexture: Nullable<GPUTexture[]>;\r\n\r\n public get underlyingResource(): Nullable<GPUTexture> {\r\n return this._webgpuTexture;\r\n }\r\n\r\n public getMSAATexture(index = 0): Nullable<GPUTexture> {\r\n return this._webgpuMSAATexture?.[index] ?? null;\r\n }\r\n\r\n public setMSAATexture(texture: GPUTexture, index = -1) {\r\n if (!this._webgpuMSAATexture) {\r\n this._webgpuMSAATexture = [];\r\n }\r\n\r\n if (index === -1) {\r\n index = this._webgpuMSAATexture.length;\r\n }\r\n\r\n this._webgpuMSAATexture![index] = texture;\r\n }\r\n\r\n public releaseMSAATexture() {\r\n if (this._webgpuMSAATexture) {\r\n for (const texture of this._webgpuMSAATexture) {\r\n texture?.destroy();\r\n }\r\n this._webgpuMSAATexture = null;\r\n }\r\n }\r\n\r\n public view: Nullable<GPUTextureView>;\r\n public viewForWriting: Nullable<GPUTextureView>;\r\n public format: GPUTextureFormat = WebGPUConstants.TextureFormat.RGBA8Unorm;\r\n public textureUsages = 0;\r\n public textureAdditionalUsages = 0;\r\n\r\n constructor(existingTexture: Nullable<GPUTexture> = null) {\r\n this._webgpuTexture = existingTexture;\r\n this._webgpuMSAATexture = null;\r\n this.view = null;\r\n this.viewForWriting = null;\r\n }\r\n\r\n public set(hardwareTexture: GPUTexture): void {\r\n this._webgpuTexture = hardwareTexture;\r\n }\r\n\r\n public setUsage(_textureSource: number, generateMipMaps: boolean, is2DArray: boolean, isCube: boolean, is3D: boolean, width: number, height: number, depth: number): void {\r\n let viewDimension: GPUTextureViewDimension = WebGPUConstants.TextureViewDimension.E2d;\r\n let arrayLayerCount = 1;\r\n if (isCube) {\r\n viewDimension = is2DArray ? WebGPUConstants.TextureViewDimension.CubeArray : WebGPUConstants.TextureViewDimension.Cube;\r\n arrayLayerCount = 6 * (depth || 1);\r\n } else if (is3D) {\r\n viewDimension = WebGPUConstants.TextureViewDimension.E3d;\r\n arrayLayerCount = 1;\r\n } else if (is2DArray) {\r\n viewDimension = WebGPUConstants.TextureViewDimension.E2dArray;\r\n arrayLayerCount = depth;\r\n }\r\n\r\n const format = WebGPUTextureHelper.GetDepthFormatOnly(this.format);\r\n const aspect = WebGPUTextureHelper.HasDepthAndStencilAspects(this.format) ? WebGPUConstants.TextureAspect.DepthOnly : WebGPUConstants.TextureAspect.All;\r\n\r\n this.createView({\r\n label: `TextureView${is3D ? \"3D\" : isCube ? \"Cube\" : \"2D\"}${is2DArray ? \"_Array\" + arrayLayerCount : \"\"}_${width}x${height}_${generateMipMaps ? \"wmips\" : \"womips\"}_${\r\n this.format\r\n }_${viewDimension}`,\r\n format,\r\n dimension: viewDimension,\r\n mipLevelCount: generateMipMaps ? Scalar.ILog2(Math.max(width, height)) + 1 : 1,\r\n baseArrayLayer: 0,\r\n baseMipLevel: 0,\r\n arrayLayerCount,\r\n aspect,\r\n });\r\n }\r\n\r\n public createView(descriptor?: GPUTextureViewDescriptor, createViewForWriting = false): void {\r\n this.view = this._webgpuTexture!.createView(descriptor);\r\n if (createViewForWriting && descriptor) {\r\n const saveNumMipMaps = descriptor.mipLevelCount;\r\n descriptor.mipLevelCount = 1;\r\n this.viewForWriting = this._webgpuTexture!.createView(descriptor);\r\n descriptor.mipLevelCount = saveNumMipMaps;\r\n }\r\n }\r\n\r\n public reset(): void {\r\n this._webgpuTexture = null;\r\n this._webgpuMSAATexture = null;\r\n this.view = null;\r\n this.viewForWriting = null;\r\n }\r\n\r\n public release(): void {\r\n this._webgpuTexture?.destroy();\r\n this.releaseMSAATexture();\r\n this._copyInvertYTempTexture?.destroy();\r\n this.reset();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"webgpuHardwareTexture.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuHardwareTexture.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\r\n/* eslint-disable babylonjs/available */\r\nimport type { HardwareTextureWrapper } from \"../../Materials/Textures/hardwareTextureWrapper\";\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\nimport type { Nullable } from \"../../types\";\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nimport * as WebGPUConstants from \"./webgpuConstants\";\r\nimport { WebGPUTextureHelper } from \"./webgpuTextureHelper\";\r\n\r\n/** @internal */\r\nexport class WebGPUHardwareTexture implements HardwareTextureWrapper {\r\n /**\r\n * Cache of RenderPassDescriptor and BindGroup used when generating mipmaps (see WebGPUTextureHelper.generateMipmaps)\r\n * @internal\r\n */\r\n public _mipmapGenRenderPassDescr: GPURenderPassDescriptor[][];\r\n /** @internal */\r\n public _mipmapGenBindGroup: GPUBindGroup[][];\r\n\r\n /**\r\n * Cache for the invertYPreMultiplyAlpha function (see WebGPUTextureHelper)\r\n * @internal\r\n */\r\n public _copyInvertYTempTexture?: GPUTexture;\r\n /** @internal */\r\n public _copyInvertYRenderPassDescr: GPURenderPassDescriptor;\r\n /** @internal */\r\n public _copyInvertYBindGroup: GPUBindGroup;\r\n /** @internal */\r\n public _copyInvertYBindGroupWithOfst: GPUBindGroup;\r\n\r\n /** @internal */\r\n public _originalFormatIsRGB = false;\r\n\r\n private _webgpuTexture: Nullable<GPUTexture>;\r\n // There can be multiple MSAA textures for a single WebGPU texture because different layers of a 2DArrayTexture / 3DTexture\r\n // or different faces of a cube texture can be bound to different render targets at the same time (in a multi RenderTargetWrapper)\r\n private _webgpuMSAATexture: Nullable<GPUTexture[]>;\r\n\r\n public get underlyingResource(): Nullable<GPUTexture> {\r\n return this._webgpuTexture;\r\n }\r\n\r\n public getMSAATexture(index = 0): Nullable<GPUTexture> {\r\n return this._webgpuMSAATexture?.[index] ?? null;\r\n }\r\n\r\n public setMSAATexture(texture: GPUTexture, index = -1) {\r\n if (!this._webgpuMSAATexture) {\r\n this._webgpuMSAATexture = [];\r\n }\r\n\r\n if (index === -1) {\r\n index = this._webgpuMSAATexture.length;\r\n }\r\n\r\n this._webgpuMSAATexture![index] = texture;\r\n }\r\n\r\n public releaseMSAATexture() {\r\n if (this._webgpuMSAATexture) {\r\n for (const texture of this._webgpuMSAATexture) {\r\n texture?.destroy();\r\n }\r\n this._webgpuMSAATexture = null;\r\n }\r\n }\r\n\r\n public view: Nullable<GPUTextureView>;\r\n public viewForWriting: Nullable<GPUTextureView>;\r\n public format: GPUTextureFormat = WebGPUConstants.TextureFormat.RGBA8Unorm;\r\n public textureUsages = 0;\r\n public textureAdditionalUsages = 0;\r\n\r\n constructor(existingTexture: Nullable<GPUTexture> = null) {\r\n this._webgpuTexture = existingTexture;\r\n this._webgpuMSAATexture = null;\r\n this.view = null;\r\n this.viewForWriting = null;\r\n }\r\n\r\n public set(hardwareTexture: GPUTexture): void {\r\n this._webgpuTexture = hardwareTexture;\r\n }\r\n\r\n public setUsage(_textureSource: number, generateMipMaps: boolean, is2DArray: boolean, isCube: boolean, is3D: boolean, width: number, height: number, depth: number): void {\r\n let viewDimension: GPUTextureViewDimension = WebGPUConstants.TextureViewDimension.E2d;\r\n let arrayLayerCount = 1;\r\n if (isCube) {\r\n viewDimension = is2DArray ? WebGPUConstants.TextureViewDimension.CubeArray : WebGPUConstants.TextureViewDimension.Cube;\r\n arrayLayerCount = 6 * (depth || 1);\r\n } else if (is3D) {\r\n viewDimension = WebGPUConstants.TextureViewDimension.E3d;\r\n arrayLayerCount = 1;\r\n } else if (is2DArray) {\r\n viewDimension = WebGPUConstants.TextureViewDimension.E2dArray;\r\n arrayLayerCount = depth;\r\n }\r\n\r\n const format = WebGPUTextureHelper.GetDepthFormatOnly(this.format);\r\n const aspect = WebGPUTextureHelper.HasDepthAndStencilAspects(this.format) ? WebGPUConstants.TextureAspect.DepthOnly : WebGPUConstants.TextureAspect.All;\r\n\r\n this.createView({\r\n label: `TextureView${is3D ? \"3D\" : isCube ? \"Cube\" : \"2D\"}${is2DArray ? \"_Array\" + arrayLayerCount : \"\"}_${width}x${height}_${generateMipMaps ? \"wmips\" : \"womips\"}_${\r\n this.format\r\n }_${viewDimension}`,\r\n format,\r\n dimension: viewDimension,\r\n mipLevelCount: generateMipMaps ? Scalar.ILog2(Math.max(width, height)) + 1 : 1,\r\n baseArrayLayer: 0,\r\n baseMipLevel: 0,\r\n arrayLayerCount,\r\n aspect,\r\n });\r\n }\r\n\r\n public createView(descriptor?: GPUTextureViewDescriptor, createViewForWriting = false): void {\r\n this.view = this._webgpuTexture!.createView(descriptor);\r\n if (createViewForWriting && descriptor) {\r\n const saveNumMipMaps = descriptor.mipLevelCount;\r\n descriptor.mipLevelCount = 1;\r\n this.viewForWriting = this._webgpuTexture!.createView(descriptor);\r\n descriptor.mipLevelCount = saveNumMipMaps;\r\n }\r\n }\r\n\r\n public reset(): void {\r\n this._webgpuTexture = null;\r\n this._webgpuMSAATexture = null;\r\n this.view = null;\r\n this.viewForWriting = null;\r\n }\r\n\r\n public release(): void {\r\n this._webgpuTexture?.destroy();\r\n this.releaseMSAATexture();\r\n this._copyInvertYTempTexture?.destroy();\r\n this.reset();\r\n }\r\n}\r\n"]}
@@ -1,4 +1,3 @@
1
- import * as WebGPUConstants from "./webgpuConstants.js";
2
1
  import { WebGPUQuerySet } from "./webgpuQuerySet.js";
3
2
  /** @internal */
4
3
  export class WebGPUOcclusionQuery {
@@ -66,7 +65,7 @@ export class WebGPUOcclusionQuery {
66
65
  this._availableIndices.push(this._currentTotalIndices + i);
67
66
  }
68
67
  this._currentTotalIndices += numIndices;
69
- this._querySet = new WebGPUQuerySet(this._engine, this._currentTotalIndices, WebGPUConstants.QueryType.Occlusion, this._device, this._bufferManager, false, "QuerySet_OcclusionQuery_count_" + this._currentTotalIndices);
68
+ this._querySet = new WebGPUQuerySet(this._engine, this._currentTotalIndices, "occlusion" /* WebGPUConstants.QueryType.Occlusion */, this._device, this._bufferManager, false, "QuerySet_OcclusionQuery_count_" + this._currentTotalIndices);
70
69
  this._frameQuerySetIsDirty = this._engine.frameId;
71
70
  }
72
71
  _delayQuerySetDispose() {
@@ -1 +1 @@
1
- {"version":3,"file":"webgpuOcclusionQuery.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuOcclusionQuery.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport type { WebGPUEngine } from \"../webgpuEngine\";\r\nimport type { WebGPUBufferManager } from \"./webgpuBufferManager\";\r\nimport * as WebGPUConstants from \"./webgpuConstants\";\r\nimport { WebGPUQuerySet } from \"./webgpuQuerySet\";\r\n\r\n/** @internal */\r\nexport class WebGPUOcclusionQuery {\r\n private _engine: WebGPUEngine;\r\n private _device: GPUDevice;\r\n private _bufferManager: WebGPUBufferManager;\r\n\r\n private _currentTotalIndices: number;\r\n private _countIncrement: number;\r\n private _querySet: WebGPUQuerySet;\r\n private _availableIndices: number[] = [];\r\n private _lastBuffer: Nullable<BigUint64Array>;\r\n private _frameLastBuffer: number;\r\n private _frameQuerySetIsDirty = -1;\r\n private _queryFrameId: number[] = [];\r\n\r\n public get querySet(): GPUQuerySet {\r\n return this._querySet.querySet;\r\n }\r\n\r\n public get hasQueries(): boolean {\r\n return this._currentTotalIndices !== this._availableIndices.length;\r\n }\r\n\r\n public canBeginQuery(index: number): boolean {\r\n if (this._frameQuerySetIsDirty === this._engine.frameId || this._queryFrameId[index] === this._engine.frameId) {\r\n return false;\r\n }\r\n\r\n const canBegin = this._engine._getCurrentRenderPassWrapper().renderPassDescriptor!.occlusionQuerySet !== undefined;\r\n\r\n if (canBegin) {\r\n this._queryFrameId[index] = this._engine.frameId;\r\n }\r\n\r\n return canBegin;\r\n }\r\n\r\n constructor(engine: WebGPUEngine, device: GPUDevice, bufferManager: WebGPUBufferManager, startCount = 50, incrementCount = 100) {\r\n this._engine = engine;\r\n this._device = device;\r\n this._bufferManager = bufferManager;\r\n\r\n this._frameLastBuffer = -1;\r\n this._currentTotalIndices = 0;\r\n this._countIncrement = incrementCount;\r\n\r\n this._allocateNewIndices(startCount);\r\n }\r\n\r\n public createQuery(): number {\r\n if (this._availableIndices.length === 0) {\r\n this._allocateNewIndices();\r\n }\r\n\r\n const index = this._availableIndices[this._availableIndices.length - 1];\r\n this._availableIndices.length--;\r\n\r\n return index;\r\n }\r\n\r\n public deleteQuery(index: number): void {\r\n this._availableIndices[this._availableIndices.length] = index;\r\n }\r\n\r\n public isQueryResultAvailable(index: number): boolean {\r\n this._retrieveQueryBuffer();\r\n\r\n return !!this._lastBuffer && index < this._lastBuffer.length;\r\n }\r\n\r\n public getQueryResult(index: number): number {\r\n return Number(this._lastBuffer?.[index] ?? -1);\r\n }\r\n\r\n private _retrieveQueryBuffer(): void {\r\n if (this._lastBuffer && this._frameLastBuffer === this._engine.frameId) {\r\n return;\r\n }\r\n\r\n if (this._frameLastBuffer !== this._engine.frameId) {\r\n this._frameLastBuffer = this._engine.frameId;\r\n this._querySet.readValues(0, this._currentTotalIndices).then((arrayBuffer) => {\r\n this._lastBuffer = arrayBuffer;\r\n });\r\n }\r\n }\r\n\r\n private _allocateNewIndices(numIndices?: number): void {\r\n numIndices = numIndices ?? this._countIncrement;\r\n\r\n this._delayQuerySetDispose();\r\n\r\n for (let i = 0; i < numIndices; ++i) {\r\n this._availableIndices.push(this._currentTotalIndices + i);\r\n }\r\n\r\n this._currentTotalIndices += numIndices;\r\n this._querySet = new WebGPUQuerySet(\r\n this._engine,\r\n this._currentTotalIndices,\r\n WebGPUConstants.QueryType.Occlusion,\r\n this._device,\r\n this._bufferManager,\r\n false,\r\n \"QuerySet_OcclusionQuery_count_\" + this._currentTotalIndices\r\n );\r\n\r\n this._frameQuerySetIsDirty = this._engine.frameId;\r\n }\r\n\r\n private _delayQuerySetDispose(): void {\r\n const querySet = this._querySet;\r\n if (querySet) {\r\n // Wait a bit before disposing of the queryset, in case some queries are still running for it\r\n setTimeout(() => querySet.dispose, 1000);\r\n }\r\n }\r\n\r\n public dispose(): void {\r\n this._querySet?.dispose();\r\n this._availableIndices.length = 0;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"webgpuOcclusionQuery.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuOcclusionQuery.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport type { WebGPUEngine } from \"../webgpuEngine\";\r\nimport type { WebGPUBufferManager } from \"./webgpuBufferManager\";\r\nimport * as WebGPUConstants from \"./webgpuConstants\";\r\nimport { WebGPUQuerySet } from \"./webgpuQuerySet\";\r\n\r\n/** @internal */\r\nexport class WebGPUOcclusionQuery {\r\n private _engine: WebGPUEngine;\r\n private _device: GPUDevice;\r\n private _bufferManager: WebGPUBufferManager;\r\n\r\n private _currentTotalIndices: number;\r\n private _countIncrement: number;\r\n private _querySet: WebGPUQuerySet;\r\n private _availableIndices: number[] = [];\r\n private _lastBuffer: Nullable<BigUint64Array>;\r\n private _frameLastBuffer: number;\r\n private _frameQuerySetIsDirty = -1;\r\n private _queryFrameId: number[] = [];\r\n\r\n public get querySet(): GPUQuerySet {\r\n return this._querySet.querySet;\r\n }\r\n\r\n public get hasQueries(): boolean {\r\n return this._currentTotalIndices !== this._availableIndices.length;\r\n }\r\n\r\n public canBeginQuery(index: number): boolean {\r\n if (this._frameQuerySetIsDirty === this._engine.frameId || this._queryFrameId[index] === this._engine.frameId) {\r\n return false;\r\n }\r\n\r\n const canBegin = this._engine._getCurrentRenderPassWrapper().renderPassDescriptor!.occlusionQuerySet !== undefined;\r\n\r\n if (canBegin) {\r\n this._queryFrameId[index] = this._engine.frameId;\r\n }\r\n\r\n return canBegin;\r\n }\r\n\r\n constructor(engine: WebGPUEngine, device: GPUDevice, bufferManager: WebGPUBufferManager, startCount = 50, incrementCount = 100) {\r\n this._engine = engine;\r\n this._device = device;\r\n this._bufferManager = bufferManager;\r\n\r\n this._frameLastBuffer = -1;\r\n this._currentTotalIndices = 0;\r\n this._countIncrement = incrementCount;\r\n\r\n this._allocateNewIndices(startCount);\r\n }\r\n\r\n public createQuery(): number {\r\n if (this._availableIndices.length === 0) {\r\n this._allocateNewIndices();\r\n }\r\n\r\n const index = this._availableIndices[this._availableIndices.length - 1];\r\n this._availableIndices.length--;\r\n\r\n return index;\r\n }\r\n\r\n public deleteQuery(index: number): void {\r\n this._availableIndices[this._availableIndices.length] = index;\r\n }\r\n\r\n public isQueryResultAvailable(index: number): boolean {\r\n this._retrieveQueryBuffer();\r\n\r\n return !!this._lastBuffer && index < this._lastBuffer.length;\r\n }\r\n\r\n public getQueryResult(index: number): number {\r\n return Number(this._lastBuffer?.[index] ?? -1);\r\n }\r\n\r\n private _retrieveQueryBuffer(): void {\r\n if (this._lastBuffer && this._frameLastBuffer === this._engine.frameId) {\r\n return;\r\n }\r\n\r\n if (this._frameLastBuffer !== this._engine.frameId) {\r\n this._frameLastBuffer = this._engine.frameId;\r\n this._querySet.readValues(0, this._currentTotalIndices).then((arrayBuffer) => {\r\n this._lastBuffer = arrayBuffer;\r\n });\r\n }\r\n }\r\n\r\n private _allocateNewIndices(numIndices?: number): void {\r\n numIndices = numIndices ?? this._countIncrement;\r\n\r\n this._delayQuerySetDispose();\r\n\r\n for (let i = 0; i < numIndices; ++i) {\r\n this._availableIndices.push(this._currentTotalIndices + i);\r\n }\r\n\r\n this._currentTotalIndices += numIndices;\r\n this._querySet = new WebGPUQuerySet(\r\n this._engine,\r\n this._currentTotalIndices,\r\n WebGPUConstants.QueryType.Occlusion,\r\n this._device,\r\n this._bufferManager,\r\n false,\r\n \"QuerySet_OcclusionQuery_count_\" + this._currentTotalIndices\r\n );\r\n\r\n this._frameQuerySetIsDirty = this._engine.frameId;\r\n }\r\n\r\n private _delayQuerySetDispose(): void {\r\n const querySet = this._querySet;\r\n if (querySet) {\r\n // Wait a bit before disposing of the queryset, in case some queries are still running for it\r\n setTimeout(() => querySet.dispose, 1000);\r\n }\r\n }\r\n\r\n public dispose(): void {\r\n this._querySet?.dispose();\r\n this._availableIndices.length = 0;\r\n }\r\n}\r\n"]}
@@ -45,7 +45,7 @@ export class WebGPUQuerySet {
45
45
  return null;
46
46
  }
47
47
  const engineId = this._engine.uniqueId;
48
- return buffer.mapAsync(WebGPUConstants.MapMode.Read).then(() => {
48
+ return buffer.mapAsync(1 /* WebGPUConstants.MapMode.Read */).then(() => {
49
49
  const arrayBuf = new BigUint64Array(buffer.getMappedRange()).slice();
50
50
  buffer.unmap();
51
51
  this._dstBuffers[this._dstBuffers.length] = buffer;
@@ -64,7 +64,7 @@ export class WebGPUQuerySet {
64
64
  return null;
65
65
  }
66
66
  const engineId = this._engine.uniqueId;
67
- return buffer.mapAsync(WebGPUConstants.MapMode.Read).then(() => {
67
+ return buffer.mapAsync(1 /* WebGPUConstants.MapMode.Read */).then(() => {
68
68
  const arrayBuf = new BigUint64Array(buffer.getMappedRange());
69
69
  const value = Number(arrayBuf[0]);
70
70
  buffer.unmap();
@@ -84,7 +84,7 @@ export class WebGPUQuerySet {
84
84
  return null;
85
85
  }
86
86
  const engineId = this._engine.uniqueId;
87
- return buffer.mapAsync(WebGPUConstants.MapMode.Read).then(() => {
87
+ return buffer.mapAsync(1 /* WebGPUConstants.MapMode.Read */).then(() => {
88
88
  const arrayBuf = new BigUint64Array(buffer.getMappedRange());
89
89
  const value = Number(arrayBuf[1] - arrayBuf[0]);
90
90
  buffer.unmap();