@babylonjs/core 5.0.0-alpha.61 → 5.0.0-alpha.62
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.
- package/Audio/sound.js +1 -1
- package/Audio/sound.js.map +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.d.ts +5 -0
- package/Behaviors/Cameras/autoRotationBehavior.js +7 -0
- package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
- package/Cameras/camera.js +1 -1
- package/Cameras/camera.js.map +1 -1
- package/DeviceInput/Implementations/webDeviceInputSystem.js +9 -9
- package/DeviceInput/Implementations/webDeviceInputSystem.js.map +1 -1
- package/Engines/Extensions/engine.dynamicTexture.d.ts +2 -1
- package/Engines/Extensions/engine.dynamicTexture.js +2 -1
- package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +3 -11
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.js +0 -4
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +0 -4
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +42 -61
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +6 -4
- package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
- package/Engines/WebGPU/webgpuConstants.d.ts +57 -13
- package/Engines/WebGPU/webgpuConstants.js +62 -13
- package/Engines/WebGPU/webgpuConstants.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.d.ts +22 -3
- package/Engines/WebGPU/webgpuHardwareTexture.js +2 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +2 -2
- package/Engines/WebGPU/webgpuTextureHelper.js +233 -63
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/engine.d.ts +82 -39
- package/Engines/engine.js +10 -1
- package/Engines/engine.js.map +1 -1
- package/Engines/nativeEngine.js +30 -10
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/thinEngine.js +2 -2
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +2 -4
- package/Engines/webgpuEngine.js.map +1 -1
- package/Lights/pointLight.js +1 -1
- package/Lights/pointLight.js.map +1 -1
- package/Lights/spotLight.js +1 -1
- package/Lights/spotLight.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/index.d.ts +1 -0
- package/Materials/Node/Blocks/Fragment/index.js +1 -0
- package/Materials/Node/Blocks/Fragment/index.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +1 -3
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/twirlBlock.d.ts +49 -0
- package/Materials/Node/Blocks/Fragment/twirlBlock.js +145 -0
- package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -0
- package/Materials/Node/Blocks/customBlock.d.ts +31 -0
- package/Materials/Node/Blocks/customBlock.js +144 -0
- package/Materials/Node/Blocks/customBlock.js.map +1 -0
- package/Materials/Node/Blocks/index.d.ts +1 -0
- package/Materials/Node/Blocks/index.js +1 -0
- package/Materials/Node/Blocks/index.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +1 -1
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +2 -1
- package/Materials/Textures/dynamicTexture.js +4 -2
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/thinRenderTargetTexture.js +1 -1
- package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
- package/Materials/Textures/thinTexture.d.ts +1 -2
- package/Materials/Textures/thinTexture.js +2 -4
- package/Materials/Textures/thinTexture.js.map +1 -1
- package/Materials/shaderMaterial.js +12 -0
- package/Materials/shaderMaterial.js.map +1 -1
- package/Maths/math.vector.d.ts +12 -8
- package/Maths/math.vector.js +22 -14
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/abstractMesh.js +23 -22
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/geometry.js +2 -2
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/mesh.d.ts +12 -0
- package/Meshes/mesh.js +182 -113
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +6 -1
- package/Meshes/mesh.vertexData.js +295 -114
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +1 -0
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +13 -8
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.js +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
- package/Misc/coroutine.d.ts +45 -0
- package/Misc/coroutine.js +123 -0
- package/Misc/coroutine.js.map +1 -0
- package/Misc/index.d.ts +1 -0
- package/Misc/index.js +1 -0
- package/Misc/index.js.map +1 -1
- package/Misc/observableCoroutine.d.ts +9 -10
- package/Misc/observableCoroutine.js +31 -39
- package/Misc/observableCoroutine.js.map +1 -1
- package/Particles/subEmitter.js +1 -0
- package/Particles/subEmitter.js.map +1 -1
- package/XR/features/WebXRControllerPointerSelection.d.ts +14 -0
- package/XR/features/WebXRControllerPointerSelection.js +38 -10
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/package.json +10 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuCacheSampler.js","sourceRoot":"","sources":["../../../../sourceES6/core/Engines/WebGPU/webgpuCacheSampler.ts"],"names":[],"mappings":"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","sourcesContent":["import * as WebGPUConstants from './webgpuConstants';\r\n\r\nimport { WebGPUTextureHelper } from \"./webgpuTextureHelper\";\r\nimport { TextureSampler } from \"../../Materials/Textures/textureSampler\";\r\n\r\nconst filterToBits = [\r\n 0 | 0 << 1 | 0 << 2, // not used\r\n 0 | 0 << 1 | 0 << 2, // TEXTURE_NEAREST_SAMPLINGMODE / TEXTURE_NEAREST_NEAREST\r\n 1 | 1 << 1 | 0 << 2, // TEXTURE_BILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR\r\n 1 | 1 << 1 | 1 << 2, // TEXTURE_TRILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR_MIPLINEAR\r\n 0 | 0 << 1 | 0 << 2, // TEXTURE_NEAREST_NEAREST_MIPNEAREST\r\n 0 | 1 << 1 | 0 << 2, // TEXTURE_NEAREST_LINEAR_MIPNEAREST\r\n 0 | 1 << 1 | 1 << 2, // TEXTURE_NEAREST_LINEAR_MIPLINEAR\r\n 0 | 1 << 1 | 0 << 2, // TEXTURE_NEAREST_LINEAR\r\n 0 | 0 << 1 | 1 << 2, // TEXTURE_NEAREST_NEAREST_MIPLINEAR\r\n 1 | 0 << 1 | 0 << 2, // TEXTURE_LINEAR_NEAREST_MIPNEAREST\r\n 1 | 0 << 1 | 1 << 2, // TEXTURE_LINEAR_NEAREST_MIPLINEAR\r\n 1 | 1 << 1 | 0 << 2, // TEXTURE_LINEAR_LINEAR_MIPNEAREST\r\n 1 | 0 << 1 | 0 << 2, // TEXTURE_LINEAR_NEAREST\r\n];\r\n\r\n// subtract 0x01FF from the comparison function value before indexing this array!\r\nconst comparisonFunctionToBits = [\r\n 0 << 3 | 0 << 4 | 0 << 5 | 0 << 6, // undefined\r\n 0 << 3 | 0 << 4 | 0 << 5 | 1 << 6, // NEVER\r\n 0 << 3 | 0 << 4 | 1 << 5 | 0 << 6, // LESS\r\n 0 << 3 | 0 << 4 | 1 << 5 | 1 << 6, // EQUAL\r\n 0 << 3 | 1 << 4 | 0 << 5 | 0 << 6, // LEQUAL\r\n 0 << 3 | 1 << 4 | 0 << 5 | 1 << 6, // GREATER\r\n 0 << 3 | 1 << 4 | 1 << 5 | 0 << 6, // NOTEQUAL\r\n 0 << 3 | 1 << 4 | 1 << 5 | 1 << 6, // GEQUAL\r\n 1 << 3 | 0 << 4 | 0 << 5 | 0 << 6, // ALWAYS\r\n];\r\n\r\nconst filterNoMipToBits = [\r\n 0 << 7, // not used\r\n 1 << 7, // TEXTURE_NEAREST_SAMPLINGMODE / TEXTURE_NEAREST_NEAREST\r\n 1 << 7, // TEXTURE_BILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR\r\n 0 << 7, // TEXTURE_TRILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR_MIPLINEAR\r\n 0 << 7, // TEXTURE_NEAREST_NEAREST_MIPNEAREST\r\n 0 << 7, // TEXTURE_NEAREST_LINEAR_MIPNEAREST\r\n 0 << 7, // TEXTURE_NEAREST_LINEAR_MIPLINEAR\r\n 1 << 7, // TEXTURE_NEAREST_LINEAR\r\n 0 << 7, // TEXTURE_NEAREST_NEAREST_MIPLINEAR\r\n 0 << 7, // TEXTURE_LINEAR_NEAREST_MIPNEAREST\r\n 0 << 7, // TEXTURE_LINEAR_NEAREST_MIPLINEAR\r\n 0 << 7, // TEXTURE_LINEAR_LINEAR_MIPNEAREST\r\n 1 << 7, // TEXTURE_LINEAR_NEAREST\r\n];\r\n\r\n/** @hidden */\r\nexport class WebGPUCacheSampler {\r\n\r\n private _samplers: { [hash: number]: GPUSampler } = {};\r\n private _device: GPUDevice;\r\n\r\n public disabled: boolean;\r\n\r\n constructor(device: GPUDevice) {\r\n this._device = device;\r\n this.disabled = false;\r\n }\r\n\r\n public static GetSamplerHashCode(sampler: TextureSampler): number {\r\n let code =\r\n filterToBits[sampler.samplingMode] +\r\n comparisonFunctionToBits[(sampler._comparisonFunction || 0x0202) - 0x0200 + 1] +\r\n filterNoMipToBits[sampler.samplingMode] + // handle the lodMinClamp = lodMaxClamp = 0 case when no filter used for mip mapping\r\n ((sampler._cachedWrapU ?? 1) << 8) +\r\n ((sampler._cachedWrapV ?? 1) << 10) +\r\n ((sampler._cachedWrapR ?? 1) << 12) +\r\n ((sampler.useMipMaps ? 1 : 0) << 14) + // need to factor this in because _getSamplerFilterDescriptor depends on samplingMode AND useMipMaps!\r\n ((sampler._cachedAnisotropicFilteringLevel ?? 1) << 15);\r\n\r\n return code;\r\n }\r\n\r\n private static _GetSamplerFilterDescriptor(sampler: TextureSampler, anisotropy: number): {\r\n magFilter: GPUFilterMode,\r\n minFilter: GPUFilterMode,\r\n mipmapFilter: GPUFilterMode,\r\n lodMinClamp?: number,\r\n lodMaxClamp?: number,\r\n anisotropyEnabled?: boolean,\r\n } {\r\n let magFilter: GPUFilterMode, minFilter: GPUFilterMode, mipmapFilter: GPUFilterMode, lodMinClamp: number | undefined, lodMaxClamp: number | undefined;\r\n const useMipMaps = sampler.useMipMaps;\r\n switch (sampler.samplingMode) {\r\n case 11:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 3:\r\n case 3:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 8:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 4:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 5:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 6:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 7:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n case 1:\r\n case 1:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n case 9:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 10:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 2:\r\n case 2:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n case 12:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n default:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n }\r\n\r\n if (anisotropy > 1 && (lodMinClamp !== 0 || lodMaxClamp !== 0)) {\r\n return {\r\n magFilter: WebGPUConstants.FilterMode.Linear,\r\n minFilter: WebGPUConstants.FilterMode.Linear,\r\n mipmapFilter: WebGPUConstants.FilterMode.Linear,\r\n anisotropyEnabled: true,\r\n };\r\n }\r\n\r\n return {\r\n magFilter,\r\n minFilter,\r\n mipmapFilter,\r\n lodMinClamp,\r\n lodMaxClamp,\r\n };\r\n }\r\n\r\n private static _GetWrappingMode(mode: number): GPUAddressMode {\r\n switch (mode) {\r\n case 1:\r\n return WebGPUConstants.AddressMode.Repeat;\r\n case 0:\r\n return WebGPUConstants.AddressMode.ClampToEdge;\r\n case 2:\r\n return WebGPUConstants.AddressMode.MirrorRepeat;\r\n }\r\n return WebGPUConstants.AddressMode.Repeat;\r\n }\r\n\r\n private static _GetSamplerWrappingDescriptor(sampler: TextureSampler): {\r\n addressModeU: GPUAddressMode,\r\n addressModeV: GPUAddressMode,\r\n addressModeW: GPUAddressMode\r\n } {\r\n return {\r\n addressModeU: this._GetWrappingMode(sampler._cachedWrapU!),\r\n addressModeV: this._GetWrappingMode(sampler._cachedWrapV!),\r\n addressModeW: this._GetWrappingMode(sampler._cachedWrapR!),\r\n };\r\n }\r\n\r\n private static _GetSamplerDescriptor(sampler: TextureSampler): GPUSamplerDescriptor {\r\n const anisotropy = sampler.useMipMaps ? (sampler._cachedAnisotropicFilteringLevel ?? 1) : 1;\r\n const filterDescriptor = this._GetSamplerFilterDescriptor(sampler, anisotropy);\r\n return {\r\n ...filterDescriptor,\r\n ...this._GetSamplerWrappingDescriptor(sampler),\r\n compare: sampler._comparisonFunction ? WebGPUTextureHelper.GetCompareFunction(sampler._comparisonFunction) : undefined,\r\n maxAnisotropy: filterDescriptor.anisotropyEnabled ? anisotropy : 1,\r\n };\r\n }\r\n\r\n public getSampler(sampler: TextureSampler, bypassCache = false, hash = 0): GPUSampler {\r\n if (this.disabled) {\r\n return this._device.createSampler(WebGPUCacheSampler._GetSamplerDescriptor(sampler));\r\n }\r\n\r\n if (bypassCache) {\r\n hash = 0;\r\n } else if (hash === 0) {\r\n hash = WebGPUCacheSampler.GetSamplerHashCode(sampler);\r\n }\r\n\r\n let gpuSampler = bypassCache ? undefined : this._samplers[hash];\r\n if (!gpuSampler) {\r\n gpuSampler = this._device.createSampler(WebGPUCacheSampler._GetSamplerDescriptor(sampler));\r\n if (!bypassCache) {\r\n this._samplers[hash] = gpuSampler;\r\n }\r\n }\r\n\r\n return gpuSampler;\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"webgpuCacheSampler.js","sourceRoot":"","sources":["../../../../sourceES6/core/Engines/WebGPU/webgpuCacheSampler.ts"],"names":[],"mappings":"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","sourcesContent":["import * as WebGPUConstants from './webgpuConstants';\r\n\r\nimport { WebGPUTextureHelper } from \"./webgpuTextureHelper\";\r\nimport { TextureSampler } from \"../../Materials/Textures/textureSampler\";\r\n\r\nconst filterToBits = [\r\n 0 | 0 << 1 | 0 << 2, // not used\r\n 0 | 0 << 1 | 0 << 2, // TEXTURE_NEAREST_SAMPLINGMODE / TEXTURE_NEAREST_NEAREST\r\n 1 | 1 << 1 | 0 << 2, // TEXTURE_BILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR\r\n 1 | 1 << 1 | 1 << 2, // TEXTURE_TRILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR_MIPLINEAR\r\n 0 | 0 << 1 | 0 << 2, // TEXTURE_NEAREST_NEAREST_MIPNEAREST\r\n 0 | 1 << 1 | 0 << 2, // TEXTURE_NEAREST_LINEAR_MIPNEAREST\r\n 0 | 1 << 1 | 1 << 2, // TEXTURE_NEAREST_LINEAR_MIPLINEAR\r\n 0 | 1 << 1 | 0 << 2, // TEXTURE_NEAREST_LINEAR\r\n 0 | 0 << 1 | 1 << 2, // TEXTURE_NEAREST_NEAREST_MIPLINEAR\r\n 1 | 0 << 1 | 0 << 2, // TEXTURE_LINEAR_NEAREST_MIPNEAREST\r\n 1 | 0 << 1 | 1 << 2, // TEXTURE_LINEAR_NEAREST_MIPLINEAR\r\n 1 | 1 << 1 | 0 << 2, // TEXTURE_LINEAR_LINEAR_MIPNEAREST\r\n 1 | 0 << 1 | 0 << 2, // TEXTURE_LINEAR_NEAREST\r\n];\r\n\r\n// subtract 0x01FF from the comparison function value before indexing this array!\r\nconst comparisonFunctionToBits = [\r\n 0 << 3 | 0 << 4 | 0 << 5 | 0 << 6, // undefined\r\n 0 << 3 | 0 << 4 | 0 << 5 | 1 << 6, // NEVER\r\n 0 << 3 | 0 << 4 | 1 << 5 | 0 << 6, // LESS\r\n 0 << 3 | 0 << 4 | 1 << 5 | 1 << 6, // EQUAL\r\n 0 << 3 | 1 << 4 | 0 << 5 | 0 << 6, // LEQUAL\r\n 0 << 3 | 1 << 4 | 0 << 5 | 1 << 6, // GREATER\r\n 0 << 3 | 1 << 4 | 1 << 5 | 0 << 6, // NOTEQUAL\r\n 0 << 3 | 1 << 4 | 1 << 5 | 1 << 6, // GEQUAL\r\n 1 << 3 | 0 << 4 | 0 << 5 | 0 << 6, // ALWAYS\r\n];\r\n\r\nconst filterNoMipToBits = [\r\n 0 << 7, // not used\r\n 1 << 7, // TEXTURE_NEAREST_SAMPLINGMODE / TEXTURE_NEAREST_NEAREST\r\n 1 << 7, // TEXTURE_BILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR\r\n 0 << 7, // TEXTURE_TRILINEAR_SAMPLINGMODE / TEXTURE_LINEAR_LINEAR_MIPLINEAR\r\n 0 << 7, // TEXTURE_NEAREST_NEAREST_MIPNEAREST\r\n 0 << 7, // TEXTURE_NEAREST_LINEAR_MIPNEAREST\r\n 0 << 7, // TEXTURE_NEAREST_LINEAR_MIPLINEAR\r\n 1 << 7, // TEXTURE_NEAREST_LINEAR\r\n 0 << 7, // TEXTURE_NEAREST_NEAREST_MIPLINEAR\r\n 0 << 7, // TEXTURE_LINEAR_NEAREST_MIPNEAREST\r\n 0 << 7, // TEXTURE_LINEAR_NEAREST_MIPLINEAR\r\n 0 << 7, // TEXTURE_LINEAR_LINEAR_MIPNEAREST\r\n 1 << 7, // TEXTURE_LINEAR_NEAREST\r\n];\r\n\r\n/** @hidden */\r\nexport class WebGPUCacheSampler {\r\n\r\n private _samplers: { [hash: number]: GPUSampler } = {};\r\n private _device: GPUDevice;\r\n\r\n public disabled: boolean;\r\n\r\n constructor(device: GPUDevice) {\r\n this._device = device;\r\n this.disabled = false;\r\n }\r\n\r\n public static GetSamplerHashCode(sampler: TextureSampler): number {\r\n // The WebGPU spec currently only allows values 1 and 4 for anisotropy\r\n const anisotropy = sampler._cachedAnisotropicFilteringLevel && sampler._cachedAnisotropicFilteringLevel > 1 ? 4 : 1;\r\n let code =\r\n filterToBits[sampler.samplingMode] +\r\n comparisonFunctionToBits[(sampler._comparisonFunction || 0x0202) - 0x0200 + 1] +\r\n filterNoMipToBits[sampler.samplingMode] + // handle the lodMinClamp = lodMaxClamp = 0 case when no filter used for mip mapping\r\n ((sampler._cachedWrapU ?? 1) << 8) +\r\n ((sampler._cachedWrapV ?? 1) << 10) +\r\n ((sampler._cachedWrapR ?? 1) << 12) +\r\n ((sampler.useMipMaps ? 1 : 0) << 14) + // need to factor this in because _getSamplerFilterDescriptor depends on samplingMode AND useMipMaps!\r\n (anisotropy << 15);\r\n\r\n return code;\r\n }\r\n\r\n private static _GetSamplerFilterDescriptor(sampler: TextureSampler, anisotropy: number): {\r\n magFilter: GPUFilterMode,\r\n minFilter: GPUFilterMode,\r\n mipmapFilter: GPUFilterMode,\r\n lodMinClamp?: number,\r\n lodMaxClamp?: number,\r\n anisotropyEnabled?: boolean,\r\n } {\r\n let magFilter: GPUFilterMode, minFilter: GPUFilterMode, mipmapFilter: GPUFilterMode, lodMinClamp: number | undefined, lodMaxClamp: number | undefined;\r\n const useMipMaps = sampler.useMipMaps;\r\n switch (sampler.samplingMode) {\r\n case 11:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 3:\r\n case 3:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 8:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 4:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 5:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 6:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 7:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n case 1:\r\n case 1:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n case 9:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n lodMinClamp = lodMaxClamp = 0;\r\n }\r\n break;\r\n case 10:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n if (!useMipMaps) {\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n } else {\r\n mipmapFilter = WebGPUConstants.FilterMode.Linear;\r\n }\r\n break;\r\n case 2:\r\n case 2:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Linear;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n case 12:\r\n magFilter = WebGPUConstants.FilterMode.Linear;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n default:\r\n magFilter = WebGPUConstants.FilterMode.Nearest;\r\n minFilter = WebGPUConstants.FilterMode.Nearest;\r\n mipmapFilter = WebGPUConstants.FilterMode.Nearest;\r\n lodMinClamp = lodMaxClamp = 0;\r\n break;\r\n }\r\n\r\n if (anisotropy > 1 && (lodMinClamp !== 0 || lodMaxClamp !== 0)) {\r\n return {\r\n magFilter: WebGPUConstants.FilterMode.Linear,\r\n minFilter: WebGPUConstants.FilterMode.Linear,\r\n mipmapFilter: WebGPUConstants.FilterMode.Linear,\r\n anisotropyEnabled: true,\r\n };\r\n }\r\n\r\n return {\r\n magFilter,\r\n minFilter,\r\n mipmapFilter,\r\n lodMinClamp,\r\n lodMaxClamp,\r\n };\r\n }\r\n\r\n private static _GetWrappingMode(mode: number): GPUAddressMode {\r\n switch (mode) {\r\n case 1:\r\n return WebGPUConstants.AddressMode.Repeat;\r\n case 0:\r\n return WebGPUConstants.AddressMode.ClampToEdge;\r\n case 2:\r\n return WebGPUConstants.AddressMode.MirrorRepeat;\r\n }\r\n return WebGPUConstants.AddressMode.Repeat;\r\n }\r\n\r\n private static _GetSamplerWrappingDescriptor(sampler: TextureSampler): {\r\n addressModeU: GPUAddressMode,\r\n addressModeV: GPUAddressMode,\r\n addressModeW: GPUAddressMode\r\n } {\r\n return {\r\n addressModeU: this._GetWrappingMode(sampler._cachedWrapU!),\r\n addressModeV: this._GetWrappingMode(sampler._cachedWrapV!),\r\n addressModeW: this._GetWrappingMode(sampler._cachedWrapR!),\r\n };\r\n }\r\n\r\n private static _GetSamplerDescriptor(sampler: TextureSampler): GPUSamplerDescriptor {\r\n // The WebGPU spec currently only allows values 1 and 4 for anisotropy\r\n const anisotropy = sampler.useMipMaps && sampler._cachedAnisotropicFilteringLevel && sampler._cachedAnisotropicFilteringLevel > 1 ? 4 : 1;\r\n const filterDescriptor = this._GetSamplerFilterDescriptor(sampler, anisotropy);\r\n return {\r\n ...filterDescriptor,\r\n ...this._GetSamplerWrappingDescriptor(sampler),\r\n compare: sampler._comparisonFunction ? WebGPUTextureHelper.GetCompareFunction(sampler._comparisonFunction) : undefined,\r\n maxAnisotropy: filterDescriptor.anisotropyEnabled ? anisotropy : 1,\r\n };\r\n }\r\n\r\n public getSampler(sampler: TextureSampler, bypassCache = false, hash = 0): GPUSampler {\r\n if (this.disabled) {\r\n return this._device.createSampler(WebGPUCacheSampler._GetSamplerDescriptor(sampler));\r\n }\r\n\r\n if (bypassCache) {\r\n hash = 0;\r\n } else if (hash === 0) {\r\n hash = WebGPUCacheSampler.GetSamplerHashCode(sampler);\r\n }\r\n\r\n let gpuSampler = bypassCache ? undefined : this._samplers[hash];\r\n if (!gpuSampler) {\r\n gpuSampler = this._device.createSampler(WebGPUCacheSampler._GetSamplerDescriptor(sampler));\r\n if (!bypassCache) {\r\n this._samplers[hash] = gpuSampler;\r\n }\r\n }\r\n\r\n return gpuSampler;\r\n }\r\n}"]}
|
|
@@ -9,12 +9,14 @@ export declare enum PowerPreference {
|
|
|
9
9
|
}
|
|
10
10
|
/** @hidden */
|
|
11
11
|
export declare enum FeatureName {
|
|
12
|
-
|
|
12
|
+
DepthClipControl = "depth-clip-control",
|
|
13
13
|
Depth24UnormStencil8 = "depth24unorm-stencil8",
|
|
14
14
|
Depth32FloatStencil8 = "depth32float-stencil8",
|
|
15
|
-
PipelineStatisticsQuery = "pipeline-statistics-query",
|
|
16
15
|
TextureCompressionBC = "texture-compression-bc",
|
|
17
|
-
|
|
16
|
+
TextureCompressionETC2 = "texture-compression-etc2",
|
|
17
|
+
TextureCompressionASTC = "texture-compression-astc",
|
|
18
|
+
TimestampQuery = "timestamp-query",
|
|
19
|
+
IndirectFirstInstance = "indirect-first-instance"
|
|
18
20
|
}
|
|
19
21
|
/** @hidden */
|
|
20
22
|
export declare enum BufferUsage {
|
|
@@ -63,7 +65,10 @@ export declare enum TextureAspect {
|
|
|
63
65
|
StencilOnly = "stencil-only",
|
|
64
66
|
DepthOnly = "depth-only"
|
|
65
67
|
}
|
|
66
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Comments taken from https://github.com/gfx-rs/wgpu/blob/master/wgpu-types/src/lib.rs
|
|
70
|
+
* @hidden
|
|
71
|
+
*/
|
|
67
72
|
export declare enum TextureFormat {
|
|
68
73
|
R8Unorm = "r8unorm",
|
|
69
74
|
R8Snorm = "r8snorm",
|
|
@@ -120,6 +125,44 @@ export declare enum TextureFormat {
|
|
|
120
125
|
BC6HRGBFloat = "bc6h-rgb-float",
|
|
121
126
|
BC7RGBAUnorm = "bc7-rgba-unorm",
|
|
122
127
|
BC7RGBAUnormSRGB = "bc7-rgba-unorm-srgb",
|
|
128
|
+
ETC2RGB8Unorm = "etc2-rgb8unorm",
|
|
129
|
+
ETC2RGB8UnormSRGB = "etc2-rgb8unorm-srgb",
|
|
130
|
+
ETC2RGB8A1Unorm = "etc2-rgb8a1unorm",
|
|
131
|
+
ETC2RGB8A1UnormSRGB = "etc2-rgb8a1unorm-srgb",
|
|
132
|
+
ETC2RGBA8Unorm = "etc2-rgba8unorm",
|
|
133
|
+
ETC2RGBA8UnormSRGB = "etc2-rgba8unorm-srgb",
|
|
134
|
+
EACR11Unorm = "eac-r11unorm",
|
|
135
|
+
EACR11Snorm = "eac-r11snorm",
|
|
136
|
+
EACRG11Unorm = "eac-rg11unorm",
|
|
137
|
+
EACRG11Snorm = "eac-rg11snorm",
|
|
138
|
+
ASTC4x4Unorm = "astc-4x4-unorm",
|
|
139
|
+
ASTC4x4UnormSRGB = "astc-4x4-unorm-srgb",
|
|
140
|
+
ASTC5x4Unorm = "astc-5x4-unorm",
|
|
141
|
+
ASTC5x4UnormSRGB = "astc-5x4-unorm-srgb",
|
|
142
|
+
ASTC5x5Unorm = "astc-5x5-unorm",
|
|
143
|
+
ASTC5x5UnormSRGB = "astc-5x5-unorm-srgb",
|
|
144
|
+
ASTC6x5Unorm = "astc-6x5-unorm",
|
|
145
|
+
ASTC6x5UnormSRGB = "astc-6x5-unorm-srgb",
|
|
146
|
+
ASTC6x6Unorm = "astc-6x6-unorm",
|
|
147
|
+
ASTC6x6UnormSRGB = "astc-6x6-unorm-srgb",
|
|
148
|
+
ASTC8x5Unorm = "astc-8x5-unorm",
|
|
149
|
+
ASTC8x5UnormSRGB = "astc-8x5-unorm-srgb",
|
|
150
|
+
ASTC8x6Unorm = "astc-8x6-unorm",
|
|
151
|
+
ASTC8x6UnormSRGB = "astc-8x6-unorm-srgb",
|
|
152
|
+
ASTC8x8Unorm = "astc-8x8-unorm",
|
|
153
|
+
ASTC8x8UnormSRGB = "astc-8x8-unorm-srgb",
|
|
154
|
+
ASTC10x5Unorm = "astc-10x5-unorm",
|
|
155
|
+
ASTC10x5UnormSRGB = "astc-10x5-unorm-srgb",
|
|
156
|
+
ASTC10x6Unorm = "astc-10x6-unorm",
|
|
157
|
+
ASTC10x6UnormSRGB = "astc-10x6-unorm-srgb",
|
|
158
|
+
ASTC10x8Unorm = "astc-10x8-unorm",
|
|
159
|
+
ASTC10x8UnormSRGB = "astc-10x8-unorm-srgb",
|
|
160
|
+
ASTC10x10Unorm = "astc-10x10-unorm",
|
|
161
|
+
ASTC10x10UnormSRGB = "astc-10x10-unorm-srgb",
|
|
162
|
+
ASTC12x10Unorm = "astc-12x10-unorm",
|
|
163
|
+
ASTC12x10UnormSRGB = "astc-12x10-unorm-srgb",
|
|
164
|
+
ASTC12x12Unorm = "astc-12x12-unorm",
|
|
165
|
+
ASTC12x12UnormSRGB = "astc-12x12-unorm-srgb",
|
|
123
166
|
Depth24UnormStencil8 = "depth24unorm-stencil8",
|
|
124
167
|
Depth32FloatStencil8 = "depth32float-stencil8"
|
|
125
168
|
}
|
|
@@ -287,6 +330,16 @@ export declare enum InputStepMode {
|
|
|
287
330
|
Instance = "instance"
|
|
288
331
|
}
|
|
289
332
|
/** @hidden */
|
|
333
|
+
export declare enum ComputePassTimestampLocation {
|
|
334
|
+
Beginning = "beginning",
|
|
335
|
+
End = "end"
|
|
336
|
+
}
|
|
337
|
+
/** @hidden */
|
|
338
|
+
export declare enum RenderPassTimestampLocation {
|
|
339
|
+
Beginning = "beginning",
|
|
340
|
+
End = "end"
|
|
341
|
+
}
|
|
342
|
+
/** @hidden */
|
|
290
343
|
export declare enum LoadOp {
|
|
291
344
|
Load = "load"
|
|
292
345
|
}
|
|
@@ -298,18 +351,9 @@ export declare enum StoreOp {
|
|
|
298
351
|
/** @hidden */
|
|
299
352
|
export declare enum QueryType {
|
|
300
353
|
Occlusion = "occlusion",
|
|
301
|
-
PipelineStatistics = "pipeline-statistics",
|
|
302
354
|
Timestamp = "timestamp"
|
|
303
355
|
}
|
|
304
356
|
/** @hidden */
|
|
305
|
-
export declare enum PipelineStatisticName {
|
|
306
|
-
VertexShaderInvocations = "vertex-shader-invocations",
|
|
307
|
-
ClipperInvocations = "clipper-invocations",
|
|
308
|
-
ClipperPrimitivesOut = "clipper-primitives-out",
|
|
309
|
-
FragmentShaderInvocations = "fragment-shader-invocations",
|
|
310
|
-
ComputeShaderInvocations = "compute-shader-invocations"
|
|
311
|
-
}
|
|
312
|
-
/** @hidden */
|
|
313
357
|
export declare enum CanvasCompositingAlphaMode {
|
|
314
358
|
Opaque = "opaque",
|
|
315
359
|
Premultiplied = "premultiplied"
|
|
@@ -11,12 +11,14 @@ export var PowerPreference;
|
|
|
11
11
|
/** @hidden */
|
|
12
12
|
export var FeatureName;
|
|
13
13
|
(function (FeatureName) {
|
|
14
|
-
FeatureName["
|
|
14
|
+
FeatureName["DepthClipControl"] = "depth-clip-control";
|
|
15
15
|
FeatureName["Depth24UnormStencil8"] = "depth24unorm-stencil8";
|
|
16
16
|
FeatureName["Depth32FloatStencil8"] = "depth32float-stencil8";
|
|
17
|
-
FeatureName["PipelineStatisticsQuery"] = "pipeline-statistics-query";
|
|
18
17
|
FeatureName["TextureCompressionBC"] = "texture-compression-bc";
|
|
18
|
+
FeatureName["TextureCompressionETC2"] = "texture-compression-etc2";
|
|
19
|
+
FeatureName["TextureCompressionASTC"] = "texture-compression-astc";
|
|
19
20
|
FeatureName["TimestampQuery"] = "timestamp-query";
|
|
21
|
+
FeatureName["IndirectFirstInstance"] = "indirect-first-instance";
|
|
20
22
|
})(FeatureName || (FeatureName = {}));
|
|
21
23
|
/** @hidden */
|
|
22
24
|
export var BufferUsage;
|
|
@@ -71,7 +73,10 @@ export var TextureAspect;
|
|
|
71
73
|
TextureAspect["StencilOnly"] = "stencil-only";
|
|
72
74
|
TextureAspect["DepthOnly"] = "depth-only";
|
|
73
75
|
})(TextureAspect || (TextureAspect = {}));
|
|
74
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Comments taken from https://github.com/gfx-rs/wgpu/blob/master/wgpu-types/src/lib.rs
|
|
78
|
+
* @hidden
|
|
79
|
+
*/
|
|
75
80
|
export var TextureFormat;
|
|
76
81
|
(function (TextureFormat) {
|
|
77
82
|
// 8-bit formats
|
|
@@ -138,6 +143,48 @@ export var TextureFormat;
|
|
|
138
143
|
TextureFormat["BC6HRGBFloat"] = "bc6h-rgb-float";
|
|
139
144
|
TextureFormat["BC7RGBAUnorm"] = "bc7-rgba-unorm";
|
|
140
145
|
TextureFormat["BC7RGBAUnormSRGB"] = "bc7-rgba-unorm-srgb";
|
|
146
|
+
// ETC2 compressed formats usable if "texture-compression-etc2" is both
|
|
147
|
+
// supported by the device/user agent and enabled in requestDevice.
|
|
148
|
+
TextureFormat["ETC2RGB8Unorm"] = "etc2-rgb8unorm";
|
|
149
|
+
TextureFormat["ETC2RGB8UnormSRGB"] = "etc2-rgb8unorm-srgb";
|
|
150
|
+
TextureFormat["ETC2RGB8A1Unorm"] = "etc2-rgb8a1unorm";
|
|
151
|
+
TextureFormat["ETC2RGB8A1UnormSRGB"] = "etc2-rgb8a1unorm-srgb";
|
|
152
|
+
TextureFormat["ETC2RGBA8Unorm"] = "etc2-rgba8unorm";
|
|
153
|
+
TextureFormat["ETC2RGBA8UnormSRGB"] = "etc2-rgba8unorm-srgb";
|
|
154
|
+
TextureFormat["EACR11Unorm"] = "eac-r11unorm";
|
|
155
|
+
TextureFormat["EACR11Snorm"] = "eac-r11snorm";
|
|
156
|
+
TextureFormat["EACRG11Unorm"] = "eac-rg11unorm";
|
|
157
|
+
TextureFormat["EACRG11Snorm"] = "eac-rg11snorm";
|
|
158
|
+
// ASTC compressed formats usable if "texture-compression-astc" is both
|
|
159
|
+
// supported by the device/user agent and enabled in requestDevice.
|
|
160
|
+
TextureFormat["ASTC4x4Unorm"] = "astc-4x4-unorm";
|
|
161
|
+
TextureFormat["ASTC4x4UnormSRGB"] = "astc-4x4-unorm-srgb";
|
|
162
|
+
TextureFormat["ASTC5x4Unorm"] = "astc-5x4-unorm";
|
|
163
|
+
TextureFormat["ASTC5x4UnormSRGB"] = "astc-5x4-unorm-srgb";
|
|
164
|
+
TextureFormat["ASTC5x5Unorm"] = "astc-5x5-unorm";
|
|
165
|
+
TextureFormat["ASTC5x5UnormSRGB"] = "astc-5x5-unorm-srgb";
|
|
166
|
+
TextureFormat["ASTC6x5Unorm"] = "astc-6x5-unorm";
|
|
167
|
+
TextureFormat["ASTC6x5UnormSRGB"] = "astc-6x5-unorm-srgb";
|
|
168
|
+
TextureFormat["ASTC6x6Unorm"] = "astc-6x6-unorm";
|
|
169
|
+
TextureFormat["ASTC6x6UnormSRGB"] = "astc-6x6-unorm-srgb";
|
|
170
|
+
TextureFormat["ASTC8x5Unorm"] = "astc-8x5-unorm";
|
|
171
|
+
TextureFormat["ASTC8x5UnormSRGB"] = "astc-8x5-unorm-srgb";
|
|
172
|
+
TextureFormat["ASTC8x6Unorm"] = "astc-8x6-unorm";
|
|
173
|
+
TextureFormat["ASTC8x6UnormSRGB"] = "astc-8x6-unorm-srgb";
|
|
174
|
+
TextureFormat["ASTC8x8Unorm"] = "astc-8x8-unorm";
|
|
175
|
+
TextureFormat["ASTC8x8UnormSRGB"] = "astc-8x8-unorm-srgb";
|
|
176
|
+
TextureFormat["ASTC10x5Unorm"] = "astc-10x5-unorm";
|
|
177
|
+
TextureFormat["ASTC10x5UnormSRGB"] = "astc-10x5-unorm-srgb";
|
|
178
|
+
TextureFormat["ASTC10x6Unorm"] = "astc-10x6-unorm";
|
|
179
|
+
TextureFormat["ASTC10x6UnormSRGB"] = "astc-10x6-unorm-srgb";
|
|
180
|
+
TextureFormat["ASTC10x8Unorm"] = "astc-10x8-unorm";
|
|
181
|
+
TextureFormat["ASTC10x8UnormSRGB"] = "astc-10x8-unorm-srgb";
|
|
182
|
+
TextureFormat["ASTC10x10Unorm"] = "astc-10x10-unorm";
|
|
183
|
+
TextureFormat["ASTC10x10UnormSRGB"] = "astc-10x10-unorm-srgb";
|
|
184
|
+
TextureFormat["ASTC12x10Unorm"] = "astc-12x10-unorm";
|
|
185
|
+
TextureFormat["ASTC12x10UnormSRGB"] = "astc-12x10-unorm-srgb";
|
|
186
|
+
TextureFormat["ASTC12x12Unorm"] = "astc-12x12-unorm";
|
|
187
|
+
TextureFormat["ASTC12x12UnormSRGB"] = "astc-12x12-unorm-srgb";
|
|
141
188
|
// "depth24unorm-stencil8" feature
|
|
142
189
|
TextureFormat["Depth24UnormStencil8"] = "depth24unorm-stencil8";
|
|
143
190
|
// "depth32float-stencil8" feature
|
|
@@ -326,6 +373,18 @@ export var InputStepMode;
|
|
|
326
373
|
InputStepMode["Instance"] = "instance";
|
|
327
374
|
})(InputStepMode || (InputStepMode = {}));
|
|
328
375
|
/** @hidden */
|
|
376
|
+
export var ComputePassTimestampLocation;
|
|
377
|
+
(function (ComputePassTimestampLocation) {
|
|
378
|
+
ComputePassTimestampLocation["Beginning"] = "beginning";
|
|
379
|
+
ComputePassTimestampLocation["End"] = "end";
|
|
380
|
+
})(ComputePassTimestampLocation || (ComputePassTimestampLocation = {}));
|
|
381
|
+
/** @hidden */
|
|
382
|
+
export var RenderPassTimestampLocation;
|
|
383
|
+
(function (RenderPassTimestampLocation) {
|
|
384
|
+
RenderPassTimestampLocation["Beginning"] = "beginning";
|
|
385
|
+
RenderPassTimestampLocation["End"] = "end";
|
|
386
|
+
})(RenderPassTimestampLocation || (RenderPassTimestampLocation = {}));
|
|
387
|
+
/** @hidden */
|
|
329
388
|
export var LoadOp;
|
|
330
389
|
(function (LoadOp) {
|
|
331
390
|
LoadOp["Load"] = "load";
|
|
@@ -340,19 +399,9 @@ export var StoreOp;
|
|
|
340
399
|
export var QueryType;
|
|
341
400
|
(function (QueryType) {
|
|
342
401
|
QueryType["Occlusion"] = "occlusion";
|
|
343
|
-
QueryType["PipelineStatistics"] = "pipeline-statistics";
|
|
344
402
|
QueryType["Timestamp"] = "timestamp";
|
|
345
403
|
})(QueryType || (QueryType = {}));
|
|
346
404
|
/** @hidden */
|
|
347
|
-
export var PipelineStatisticName;
|
|
348
|
-
(function (PipelineStatisticName) {
|
|
349
|
-
PipelineStatisticName["VertexShaderInvocations"] = "vertex-shader-invocations";
|
|
350
|
-
PipelineStatisticName["ClipperInvocations"] = "clipper-invocations";
|
|
351
|
-
PipelineStatisticName["ClipperPrimitivesOut"] = "clipper-primitives-out";
|
|
352
|
-
PipelineStatisticName["FragmentShaderInvocations"] = "fragment-shader-invocations";
|
|
353
|
-
PipelineStatisticName["ComputeShaderInvocations"] = "compute-shader-invocations";
|
|
354
|
-
})(PipelineStatisticName || (PipelineStatisticName = {}));
|
|
355
|
-
/** @hidden */
|
|
356
405
|
export var CanvasCompositingAlphaMode;
|
|
357
406
|
(function (CanvasCompositingAlphaMode) {
|
|
358
407
|
CanvasCompositingAlphaMode["Opaque"] = "opaque";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuConstants.js","sourceRoot":"","sources":["../../../../sourceES6/core/Engines/WebGPU/webgpuConstants.ts"],"names":[],"mappings":"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","sourcesContent":["/** @hidden */\nexport enum PowerPreference {\n SRGB = \"srgb\"\n}\n\n/** @hidden */\nexport enum PowerPreference {\n LowPower = \"low-power\",\n HighPerformance = \"high-performance\"\n}\n\n/** @hidden */\nexport enum FeatureName {\n DepthClamping = \"depth-clamping\",\n Depth24UnormStencil8 = \"depth24unorm-stencil8\",\n Depth32FloatStencil8 = \"depth32float-stencil8\",\n PipelineStatisticsQuery = \"pipeline-statistics-query\",\n TextureCompressionBC = \"texture-compression-bc\",\n TimestampQuery = \"timestamp-query\"\n}\n\n/** @hidden */\nexport enum BufferUsage {\n MapRead = 1,\n MapWrite = 2,\n CopySrc = 4,\n CopyDst = 8,\n Index = 16,\n Vertex = 32,\n Uniform = 64,\n Storage = 128,\n Indirect = 256,\n QueryResolve = 512\n}\n\n/** @hidden */\nexport enum MapMode {\n Read = 1,\n Write = 2\n}\n\n/** @hidden */\nexport enum TextureDimension {\n E1d = \"1d\",\n E2d = \"2d\",\n E3d = \"3d\"\n}\n\n/** @hidden */\nexport enum TextureUsage {\n CopySrc = 1,\n CopyDst = 2,\n TextureBinding = 4,\n StorageBinding = 8,\n RenderAttachment = 16\n}\n\n/** @hidden */\nexport enum TextureViewDimension {\n E1d = \"1d\",\n E2d = \"2d\",\n E2dArray = \"2d-array\",\n Cube = \"cube\",\n CubeArray = \"cube-array\",\n E3d = \"3d\"\n}\n\n/** @hidden */\nexport enum TextureAspect {\n All = \"all\",\n StencilOnly = \"stencil-only\",\n DepthOnly = \"depth-only\"\n}\n\n/** @hidden */\nexport enum TextureFormat {\n // 8-bit formats\n R8Unorm = \"r8unorm\",\n R8Snorm = \"r8snorm\",\n R8Uint = \"r8uint\",\n R8Sint = \"r8sint\",\n\n // 16-bit formats\n R16Uint = \"r16uint\",\n R16Sint = \"r16sint\",\n R16Float = \"r16float\",\n RG8Unorm = \"rg8unorm\",\n RG8Snorm = \"rg8snorm\",\n RG8Uint = \"rg8uint\",\n RG8Sint = \"rg8sint\",\n\n // 32-bit formats\n R32Uint = \"r32uint\",\n R32Sint = \"r32sint\",\n R32Float = \"r32float\",\n RG16Uint = \"rg16uint\",\n RG16Sint = \"rg16sint\",\n RG16Float = \"rg16float\",\n RGBA8Unorm = \"rgba8unorm\",\n RGBA8UnormSRGB = \"rgba8unorm-srgb\",\n RGBA8Snorm = \"rgba8snorm\",\n RGBA8Uint = \"rgba8uint\",\n RGBA8Sint = \"rgba8sint\",\n BGRA8Unorm = \"bgra8unorm\",\n BGRA8UnormSRGB = \"bgra8unorm-srgb\",\n // Packed 32-bit formats\n RGB9E5UFloat = \"rgb9e5ufloat\",\n RGB10A2Unorm = \"rgb10a2unorm\",\n RG11B10UFloat = \"rg11b10ufloat\",\n\n // 64-bit formats\n RG32Uint = \"rg32uint\",\n RG32Sint = \"rg32sint\",\n RG32Float = \"rg32float\",\n RGBA16Uint = \"rgba16uint\",\n RGBA16Sint = \"rgba16sint\",\n RGBA16Float = \"rgba16float\",\n\n // 128-bit formats\n RGBA32Uint = \"rgba32uint\",\n RGBA32Sint = \"rgba32sint\",\n RGBA32Float = \"rgba32float\",\n\n // Depth and stencil formats\n Stencil8 = \"stencil8\",\n Depth16Unorm = \"depth16unorm\",\n Depth24Plus = \"depth24plus\",\n Depth24PlusStencil8 = \"depth24plus-stencil8\",\n Depth32Float = \"depth32float\",\n\n // BC compressed formats usable if \"texture-compression-bc\" is both\n // supported by the device/user agent and enabled in requestDevice.\n BC1RGBAUnorm = \"bc1-rgba-unorm\",\n BC1RGBAUnormSRGB = \"bc1-rgba-unorm-srgb\",\n BC2RGBAUnorm = \"bc2-rgba-unorm\",\n BC2RGBAUnormSRGB = \"bc2-rgba-unorm-srgb\",\n BC3RGBAUnorm = \"bc3-rgba-unorm\",\n BC3RGBAUnormSRGB = \"bc3-rgba-unorm-srgb\",\n BC4RUnorm = \"bc4-r-unorm\",\n BC4RSnorm = \"bc4-r-snorm\",\n BC5RGUnorm = \"bc5-rg-unorm\",\n BC5RGSnorm = \"bc5-rg-snorm\",\n BC6HRGBUFloat = \"bc6h-rgb-ufloat\",\n BC6HRGBFloat = \"bc6h-rgb-float\",\n BC7RGBAUnorm = \"bc7-rgba-unorm\",\n BC7RGBAUnormSRGB = \"bc7-rgba-unorm-srgb\",\n\n // \"depth24unorm-stencil8\" feature\n Depth24UnormStencil8 = \"depth24unorm-stencil8\",\n\n // \"depth32float-stencil8\" feature\n Depth32FloatStencil8 = \"depth32float-stencil8\"\n}\n\n/** @hidden */\nexport enum AddressMode {\n ClampToEdge = \"clamp-to-edge\",\n Repeat = \"repeat\",\n MirrorRepeat = \"mirror-repeat\"\n}\n\n/** @hidden */\nexport enum FilterMode {\n Nearest = \"nearest\",\n Linear = \"linear\"\n}\n\n/** @hidden */\nexport enum CompareFunction {\n Never = \"never\",\n Less = \"less\",\n Equal = \"equal\",\n LessEqual = \"less-equal\",\n Greater = \"greater\",\n NotEqual = \"not-equal\",\n GreaterEqual = \"greater-equal\",\n Always = \"always\"\n}\n\n/** @hidden */\nexport enum ShaderStage {\n Vertex = 1,\n Fragment = 2,\n Compute = 4\n}\n\n/** @hidden */\nexport enum BufferBindingType {\n Uniform = \"uniform\",\n Storage = \"storage\",\n ReadOnlyStorage = \"read-only-storage\"\n}\n\n/** @hidden */\nexport enum SamplerBindingType {\n Filtering = \"filtering\",\n NonFiltering = \"non-filtering\",\n Comparison = \"comparison\"\n}\n\n/** @hidden */\nexport enum TextureSampleType {\n Float = \"float\",\n UnfilterableFloat = \"unfilterable-float\",\n Depth = \"depth\",\n Sint = \"sint\",\n Uint = \"uint\"\n}\n\n/** @hidden */\nexport enum StorageTextureAccess {\n WriteOnly = \"write-only\"\n}\n\n/** @hidden */\nexport enum CompilationMessageType {\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\"\n}\n\n/** @hidden */\nexport enum PrimitiveTopology {\n PointList = \"point-list\",\n LineList = \"line-list\",\n LineStrip = \"line-strip\",\n TriangleList = \"triangle-list\",\n TriangleStrip = \"triangle-strip\"\n}\n\n/** @hidden */\nexport enum FrontFace {\n CCW = \"ccw\",\n CW = \"cw\"\n}\n\n/** @hidden */\nexport enum CullMode {\n None = \"none\",\n Front = \"front\",\n Back = \"back\"\n}\n\n/** @hidden */\nexport enum ColorWrite {\n Red = 1,\n Green = 2,\n Blue = 4,\n Alpha = 8,\n All = 15\n}\n\n/** @hidden */\nexport enum BlendFactor {\n Zero = \"zero\",\n One = \"one\",\n Src = \"src\",\n OneMinusSrc = \"one-minus-src\",\n SrcAlpha = \"src-alpha\",\n OneMinusSrcAlpha = \"one-minus-src-alpha\",\n Dst = \"dst\",\n OneMinusDst = \"one-minus-dst\",\n DstAlpha = \"dst-alpha\",\n OneMinusDstAlpha = \"one-minus-dst-alpha\",\n SrcAlphaSaturated = \"src-alpha-saturated\",\n Constant = \"constant\",\n OneMinusConstant = \"one-minus-constant\"\n}\n\n/** @hidden */\nexport enum BlendOperation {\n Add = \"add\",\n Subtract = \"subtract\",\n ReverseSubtract = \"reverse-subtract\",\n Min = \"min\",\n Max = \"max\"\n}\n\n/** @hidden */\nexport enum StencilOperation {\n Keep = \"keep\",\n Zero = \"zero\",\n Replace = \"replace\",\n Invert = \"invert\",\n IncrementClamp = \"increment-clamp\",\n DecrementClamp = \"decrement-clamp\",\n IncrementWrap = \"increment-wrap\",\n DecrementWrap = \"decrement-wrap\"\n}\n\n/** @hidden */\nexport enum IndexFormat {\n Uint16 = \"uint16\",\n Uint32 = \"uint32\"\n}\n\n/** @hidden */\nexport enum VertexFormat {\n Uint8x2 = \"uint8x2\",\n Uint8x4 = \"uint8x4\",\n Sint8x2 = \"sint8x2\",\n Sint8x4 = \"sint8x4\",\n Unorm8x2 = \"unorm8x2\",\n Unorm8x4 = \"unorm8x4\",\n Snorm8x2 = \"snorm8x2\",\n Snorm8x4 = \"snorm8x4\",\n Uint16x2 = \"uint16x2\",\n Uint16x4 = \"uint16x4\",\n Sint16x2 = \"sint16x2\",\n Sint16x4 = \"sint16x4\",\n Unorm16x2 = \"unorm16x2\",\n Unorm16x4 = \"unorm16x4\",\n Snorm16x2 = \"snorm16x2\",\n Snorm16x4 = \"snorm16x4\",\n Float16x2 = \"float16x2\",\n Float16x4 = \"float16x4\",\n Float32 = \"float32\",\n Float32x2 = \"float32x2\",\n Float32x3 = \"float32x3\",\n Float32x4 = \"float32x4\",\n Uint32 = \"uint32\",\n Uint32x2 = \"uint32x2\",\n Uint32x3 = \"uint32x3\",\n Uint32x4 = \"uint32x4\",\n Sint32 = \"sint32\",\n Sint32x2 = \"sint32x2\",\n Sint32x3 = \"sint32x3\",\n Sint32x4 = \"sint32x4\"\n}\n\n/** @hidden */\nexport enum InputStepMode {\n Vertex = \"vertex\",\n Instance = \"instance\"\n}\n\n/** @hidden */\nexport enum LoadOp {\n Load = \"load\"\n}\n\n/** @hidden */\nexport enum StoreOp {\n Store = \"store\",\n Discard = \"discard\"\n}\n\n/** @hidden */\nexport enum QueryType {\n Occlusion = \"occlusion\",\n PipelineStatistics = \"pipeline-statistics\",\n Timestamp = \"timestamp\"\n}\n\n/** @hidden */\nexport enum PipelineStatisticName {\n VertexShaderInvocations = \"vertex-shader-invocations\",\n ClipperInvocations = \"clipper-invocations\",\n ClipperPrimitivesOut = \"clipper-primitives-out\",\n FragmentShaderInvocations = \"fragment-shader-invocations\",\n ComputeShaderInvocations = \"compute-shader-invocations\"\n}\n\n/** @hidden */\nexport enum CanvasCompositingAlphaMode {\n Opaque = \"opaque\",\n Premultiplied = \"premultiplied\"\n}\n\n/** @hidden */\nexport enum DeviceLostReason {\n Destroyed = \"destroyed\"\n}\n\n/** @hidden */\nexport enum ErrorFilter {\n OutOfMemory = \"out-of-memory\",\n Validation = \"validation\"\n}\n"]}
|
|
1
|
+
{"version":3,"file":"webgpuConstants.js","sourceRoot":"","sources":["../../../../sourceES6/core/Engines/WebGPU/webgpuConstants.ts"],"names":[],"mappings":"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","sourcesContent":["/** @hidden */\nexport enum PowerPreference {\n SRGB = \"srgb\"\n}\n\n/** @hidden */\nexport enum PowerPreference {\n LowPower = \"low-power\",\n HighPerformance = \"high-performance\"\n}\n\n/** @hidden */\nexport enum FeatureName {\n DepthClipControl = \"depth-clip-control\",\n Depth24UnormStencil8 = \"depth24unorm-stencil8\",\n Depth32FloatStencil8 = \"depth32float-stencil8\",\n TextureCompressionBC = \"texture-compression-bc\",\n TextureCompressionETC2 = \"texture-compression-etc2\",\n TextureCompressionASTC = \"texture-compression-astc\",\n TimestampQuery = \"timestamp-query\",\n IndirectFirstInstance = \"indirect-first-instance\",\n}\n\n/** @hidden */\nexport enum BufferUsage {\n MapRead = 1,\n MapWrite = 2,\n CopySrc = 4,\n CopyDst = 8,\n Index = 16,\n Vertex = 32,\n Uniform = 64,\n Storage = 128,\n Indirect = 256,\n QueryResolve = 512\n}\n\n/** @hidden */\nexport enum MapMode {\n Read = 1,\n Write = 2\n}\n\n/** @hidden */\nexport enum TextureDimension {\n E1d = \"1d\",\n E2d = \"2d\",\n E3d = \"3d\"\n}\n\n/** @hidden */\nexport enum TextureUsage {\n CopySrc = 1,\n CopyDst = 2,\n TextureBinding = 4,\n StorageBinding = 8,\n RenderAttachment = 16\n}\n\n/** @hidden */\nexport enum TextureViewDimension {\n E1d = \"1d\",\n E2d = \"2d\",\n E2dArray = \"2d-array\",\n Cube = \"cube\",\n CubeArray = \"cube-array\",\n E3d = \"3d\"\n}\n\n/** @hidden */\nexport enum TextureAspect {\n All = \"all\",\n StencilOnly = \"stencil-only\",\n DepthOnly = \"depth-only\"\n}\n\n/**\n * Comments taken from https://github.com/gfx-rs/wgpu/blob/master/wgpu-types/src/lib.rs\n * @hidden\n */\nexport enum TextureFormat {\n // 8-bit formats\n R8Unorm = \"r8unorm\", // Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\n R8Snorm = \"r8snorm\", // Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\n R8Uint = \"r8uint\", // Red channel only. 8 bit integer per channel. Unsigned in shader.\n R8Sint = \"r8sint\", // Red channel only. 8 bit integer per channel. Signed in shader.\n\n // 16-bit formats\n R16Uint = \"r16uint\", // Red channel only. 16 bit integer per channel. Unsigned in shader.\n R16Sint = \"r16sint\", // Red channel only. 16 bit integer per channel. Signed in shader.\n R16Float = \"r16float\", // Red channel only. 16 bit float per channel. Float in shader.\n RG8Unorm = \"rg8unorm\", // Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\n RG8Snorm = \"rg8snorm\", // Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\n RG8Uint = \"rg8uint\", // Red and green channels. 8 bit integer per channel. Unsigned in shader.\n RG8Sint = \"rg8sint\", // Red and green channels. 8 bit integer per channel. Signed in shader.\n\n // 32-bit formats\n R32Uint = \"r32uint\", // Red channel only. 32 bit integer per channel. Unsigned in shader.\n R32Sint = \"r32sint\", // Red channel only. 32 bit integer per channel. Signed in shader.\n R32Float = \"r32float\", // Red channel only. 32 bit float per channel. Float in shader.\n RG16Uint = \"rg16uint\", // Red and green channels. 16 bit integer per channel. Unsigned in shader.\n RG16Sint = \"rg16sint\", // Red and green channels. 16 bit integer per channel. Signed in shader.\n RG16Float = \"rg16float\", // Red and green channels. 16 bit float per channel. Float in shader.\n RGBA8Unorm = \"rgba8unorm\", // Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\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.\n RGBA8Snorm = \"rgba8snorm\", // Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader.\n RGBA8Uint = \"rgba8uint\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader.\n RGBA8Sint = \"rgba8sint\", // Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader.\n BGRA8Unorm = \"bgra8unorm\", // Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader.\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.\n // Packed 32-bit formats\n RGB9E5UFloat = \"rgb9e5ufloat\", // Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent\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.\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.\n\n // 64-bit formats\n RG32Uint = \"rg32uint\", // Red and green channels. 32 bit integer per channel. Unsigned in shader.\n RG32Sint = \"rg32sint\", // Red and green channels. 32 bit integer per channel. Signed in shader.\n RG32Float = \"rg32float\", // Red and green channels. 32 bit float per channel. Float in shader.\n RGBA16Uint = \"rgba16uint\", // Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader.\n RGBA16Sint = \"rgba16sint\", // Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader.\n RGBA16Float = \"rgba16float\", // Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader.\n\n // 128-bit formats\n RGBA32Uint = \"rgba32uint\", // Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader.\n RGBA32Sint = \"rgba32sint\", // Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader.\n RGBA32Float = \"rgba32float\", // Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader.\n\n // Depth and stencil formats\n Stencil8 = \"stencil8\",\n Depth16Unorm = \"depth16unorm\",\n Depth24Plus = \"depth24plus\", // Special depth format with at least 24 bit integer depth.\n Depth24PlusStencil8 = \"depth24plus-stencil8\", // Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil.\n Depth32Float = \"depth32float\", // Special depth format with 32 bit floating point depth.\n\n // BC compressed formats usable if \"texture-compression-bc\" is both\n // supported by the device/user agent and enabled in requestDevice.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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).\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).\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).\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).\n\n // ETC2 compressed formats usable if \"texture-compression-etc2\" is both\n // supported by the device/user agent and enabled in requestDevice.\n ETC2RGB8Unorm = \"etc2-rgb8unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB.\n ETC2RGB8UnormSRGB = \"etc2-rgb8unorm-srgb\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB.\n ETC2RGB8A1Unorm = \"etc2-rgb8a1unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha.\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.\n ETC2RGBA8Unorm = \"etc2-rgba8unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha.\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.\n EACR11Unorm = \"eac-r11unorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R.\n EACR11Snorm = \"eac-r11snorm\", // 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer 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.\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.\n\n // ASTC compressed formats usable if \"texture-compression-astc\" is both\n // supported by the device/user agent and enabled in requestDevice.\n ASTC4x4Unorm = \"astc-4x4-unorm\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC4x4UnormSRGB = \"astc-4x4-unorm-srgb\", // 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC5x4Unorm = \"astc-5x4-unorm\", // 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC5x4UnormSRGB = \"astc-5x4-unorm-srgb\", // 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC5x5Unorm = \"astc-5x5-unorm\", // 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC5x5UnormSRGB = \"astc-5x5-unorm-srgb\", // 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC6x5Unorm = \"astc-6x5-unorm\", // 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC6x5UnormSRGB = \"astc-6x5-unorm-srgb\", // 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC6x6Unorm = \"astc-6x6-unorm\", // 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC6x6UnormSRGB = \"astc-6x6-unorm-srgb\", // 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC8x5Unorm = \"astc-8x5-unorm\", // 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC8x5UnormSRGB = \"astc-8x5-unorm-srgb\", // 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC8x6Unorm = \"astc-8x6-unorm\", // 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC8x6UnormSRGB = \"astc-8x6-unorm-srgb\", // 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC8x8Unorm = \"astc-8x8-unorm\", // 8x8 block compressed texture. 16 bytes per block (2 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC8x8UnormSRGB = \"astc-8x8-unorm-srgb\", // 8x8 block compressed texture. 16 bytes per block (2 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x5Unorm = \"astc-10x5-unorm\", // 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x5UnormSRGB = \"astc-10x5-unorm-srgb\", // 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x6Unorm = \"astc-10x6-unorm\", // 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x6UnormSRGB = \"astc-10x6-unorm-srgb\", // 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x8Unorm = \"astc-10x8-unorm\", // 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x8UnormSRGB = \"astc-10x8-unorm-srgb\", // 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x10Unorm = \"astc-10x10-unorm\", // 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC10x10UnormSRGB = \"astc-10x10-unorm-srgb\", // 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC12x10Unorm = \"astc-12x10-unorm\", // 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC12x10UnormSRGB = \"astc-12x10-unorm-srgb\", // 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC12x12Unorm = \"astc-12x12-unorm\", // 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). Complex pallet. 8 bit integer RGBA.\n ASTC12x12UnormSRGB = \"astc-12x12-unorm-srgb\", // 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). Complex pallet. 8 bit integer RGBA.\n\n // \"depth24unorm-stencil8\" feature\n Depth24UnormStencil8 = \"depth24unorm-stencil8\",\n\n // \"depth32float-stencil8\" feature\n Depth32FloatStencil8 = \"depth32float-stencil8\"\n}\n\n/** @hidden */\nexport enum AddressMode {\n ClampToEdge = \"clamp-to-edge\",\n Repeat = \"repeat\",\n MirrorRepeat = \"mirror-repeat\"\n}\n\n/** @hidden */\nexport enum FilterMode {\n Nearest = \"nearest\",\n Linear = \"linear\"\n}\n\n/** @hidden */\nexport enum CompareFunction {\n Never = \"never\",\n Less = \"less\",\n Equal = \"equal\",\n LessEqual = \"less-equal\",\n Greater = \"greater\",\n NotEqual = \"not-equal\",\n GreaterEqual = \"greater-equal\",\n Always = \"always\"\n}\n\n/** @hidden */\nexport enum ShaderStage {\n Vertex = 1,\n Fragment = 2,\n Compute = 4\n}\n\n/** @hidden */\nexport enum BufferBindingType {\n Uniform = \"uniform\",\n Storage = \"storage\",\n ReadOnlyStorage = \"read-only-storage\"\n}\n\n/** @hidden */\nexport enum SamplerBindingType {\n Filtering = \"filtering\",\n NonFiltering = \"non-filtering\",\n Comparison = \"comparison\"\n}\n\n/** @hidden */\nexport enum TextureSampleType {\n Float = \"float\",\n UnfilterableFloat = \"unfilterable-float\",\n Depth = \"depth\",\n Sint = \"sint\",\n Uint = \"uint\"\n}\n\n/** @hidden */\nexport enum StorageTextureAccess {\n WriteOnly = \"write-only\"\n}\n\n/** @hidden */\nexport enum CompilationMessageType {\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\"\n}\n\n/** @hidden */\nexport enum PrimitiveTopology {\n PointList = \"point-list\",\n LineList = \"line-list\",\n LineStrip = \"line-strip\",\n TriangleList = \"triangle-list\",\n TriangleStrip = \"triangle-strip\"\n}\n\n/** @hidden */\nexport enum FrontFace {\n CCW = \"ccw\",\n CW = \"cw\"\n}\n\n/** @hidden */\nexport enum CullMode {\n None = \"none\",\n Front = \"front\",\n Back = \"back\"\n}\n\n/** @hidden */\nexport enum ColorWrite {\n Red = 1,\n Green = 2,\n Blue = 4,\n Alpha = 8,\n All = 15\n}\n\n/** @hidden */\nexport enum BlendFactor {\n Zero = \"zero\",\n One = \"one\",\n Src = \"src\",\n OneMinusSrc = \"one-minus-src\",\n SrcAlpha = \"src-alpha\",\n OneMinusSrcAlpha = \"one-minus-src-alpha\",\n Dst = \"dst\",\n OneMinusDst = \"one-minus-dst\",\n DstAlpha = \"dst-alpha\",\n OneMinusDstAlpha = \"one-minus-dst-alpha\",\n SrcAlphaSaturated = \"src-alpha-saturated\",\n Constant = \"constant\",\n OneMinusConstant = \"one-minus-constant\"\n}\n\n/** @hidden */\nexport enum BlendOperation {\n Add = \"add\",\n Subtract = \"subtract\",\n ReverseSubtract = \"reverse-subtract\",\n Min = \"min\",\n Max = \"max\"\n}\n\n/** @hidden */\nexport enum StencilOperation {\n Keep = \"keep\",\n Zero = \"zero\",\n Replace = \"replace\",\n Invert = \"invert\",\n IncrementClamp = \"increment-clamp\",\n DecrementClamp = \"decrement-clamp\",\n IncrementWrap = \"increment-wrap\",\n DecrementWrap = \"decrement-wrap\"\n}\n\n/** @hidden */\nexport enum IndexFormat {\n Uint16 = \"uint16\",\n Uint32 = \"uint32\"\n}\n\n/** @hidden */\nexport enum VertexFormat {\n Uint8x2 = \"uint8x2\",\n Uint8x4 = \"uint8x4\",\n Sint8x2 = \"sint8x2\",\n Sint8x4 = \"sint8x4\",\n Unorm8x2 = \"unorm8x2\",\n Unorm8x4 = \"unorm8x4\",\n Snorm8x2 = \"snorm8x2\",\n Snorm8x4 = \"snorm8x4\",\n Uint16x2 = \"uint16x2\",\n Uint16x4 = \"uint16x4\",\n Sint16x2 = \"sint16x2\",\n Sint16x4 = \"sint16x4\",\n Unorm16x2 = \"unorm16x2\",\n Unorm16x4 = \"unorm16x4\",\n Snorm16x2 = \"snorm16x2\",\n Snorm16x4 = \"snorm16x4\",\n Float16x2 = \"float16x2\",\n Float16x4 = \"float16x4\",\n Float32 = \"float32\",\n Float32x2 = \"float32x2\",\n Float32x3 = \"float32x3\",\n Float32x4 = \"float32x4\",\n Uint32 = \"uint32\",\n Uint32x2 = \"uint32x2\",\n Uint32x3 = \"uint32x3\",\n Uint32x4 = \"uint32x4\",\n Sint32 = \"sint32\",\n Sint32x2 = \"sint32x2\",\n Sint32x3 = \"sint32x3\",\n Sint32x4 = \"sint32x4\"\n}\n\n/** @hidden */\nexport enum InputStepMode {\n Vertex = \"vertex\",\n Instance = \"instance\"\n}\n\n/** @hidden */\nexport enum ComputePassTimestampLocation {\n Beginning = \"beginning\",\n End = \"end\"\n}\n\n/** @hidden */\nexport enum RenderPassTimestampLocation {\n Beginning = \"beginning\",\n End = \"end\"\n}\n\n/** @hidden */\nexport enum LoadOp {\n Load = \"load\"\n}\n\n/** @hidden */\nexport enum StoreOp {\n Store = \"store\",\n Discard = \"discard\"\n}\n\n/** @hidden */\nexport enum QueryType {\n Occlusion = \"occlusion\",\n Timestamp = \"timestamp\"\n}\n\n/** @hidden */\nexport enum CanvasCompositingAlphaMode {\n Opaque = \"opaque\",\n Premultiplied = \"premultiplied\"\n}\n\n/** @hidden */\nexport enum DeviceLostReason {\n Destroyed = \"destroyed\"\n}\n\n/** @hidden */\nexport enum ErrorFilter {\n OutOfMemory = \"out-of-memory\",\n Validation = \"validation\"\n}\n"]}
|
|
@@ -3,14 +3,33 @@ import { Nullable } from '../../types';
|
|
|
3
3
|
declare type WebGPUBundleList = import("./webgpuBundleList").WebGPUBundleList;
|
|
4
4
|
/** @hidden */
|
|
5
5
|
export declare class WebGPUHardwareTexture implements HardwareTextureWrapper {
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* List of bundles collected in the snapshot rendering mode when the texture is a render target texture
|
|
8
|
+
* The index in this array is the current layer we are rendering into
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
7
11
|
_bundleLists: WebGPUBundleList[];
|
|
8
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Current layer we are rendering into when in snapshot rendering mode (if the texture is a render target texture)
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
9
16
|
_currentLayer: number;
|
|
10
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Cache of RenderPassDescriptor and BindGroup used when generating mipmaps (see WebGPUTextureHelper.generateMipmaps)
|
|
19
|
+
* @hidden
|
|
20
|
+
*/
|
|
11
21
|
_mipmapGenRenderPassDescr: GPURenderPassDescriptor[][];
|
|
12
22
|
/** @hidden */
|
|
13
23
|
_mipmapGenBindGroup: GPUBindGroup[][];
|
|
24
|
+
/**
|
|
25
|
+
* Cache for the invertYPreMultiplyAlpha function (see WebGPUTextureHelper)
|
|
26
|
+
* @hidden
|
|
27
|
+
*/
|
|
28
|
+
_copyInvertYTempTexture?: GPUTexture;
|
|
29
|
+
/** @hidden */
|
|
30
|
+
_copyInvertYRenderPassDescr: GPURenderPassDescriptor;
|
|
31
|
+
/** @hidden */
|
|
32
|
+
_copyInvertYBindGroupd: GPUBindGroup;
|
|
14
33
|
private _webgpuTexture;
|
|
15
34
|
private _webgpuMSAATexture;
|
|
16
35
|
get underlyingResource(): Nullable<GPUTexture>;
|
|
@@ -56,9 +56,10 @@ var WebGPUHardwareTexture = /** @class */ (function () {
|
|
|
56
56
|
this.view = null;
|
|
57
57
|
};
|
|
58
58
|
WebGPUHardwareTexture.prototype.release = function () {
|
|
59
|
-
var _a, _b;
|
|
59
|
+
var _a, _b, _c;
|
|
60
60
|
(_a = this._webgpuTexture) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
61
61
|
(_b = this._webgpuMSAATexture) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
62
|
+
(_c = this._copyInvertYTempTexture) === null || _c === void 0 ? void 0 : _c.destroy();
|
|
62
63
|
this.reset();
|
|
63
64
|
};
|
|
64
65
|
return WebGPUHardwareTexture;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuHardwareTexture.js","sourceRoot":"","sources":["../../../../sourceES6/core/Engines/WebGPU/webgpuHardwareTexture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AAIrD,cAAc;AACd;
|
|
1
|
+
{"version":3,"file":"webgpuHardwareTexture.js","sourceRoot":"","sources":["../../../../sourceES6/core/Engines/WebGPU/webgpuHardwareTexture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AAIrD,cAAc;AACd;IAoDI,+BAAY,eAA4C;QAA5C,gCAAA,EAAA,sBAA4C;QAJjD,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;IACrB,CAAC;IArBD,sBAAW,qDAAkB;aAA7B;YACI,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAW,8CAAW;aAAtB;YACI,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACnC,CAAC;aAED,UAAuB,OAA6B;YAChD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QACtC,CAAC;;;OAJA;IAiBM,mCAAG,GAAV,UAAW,eAA2B;QAClC,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC;IAC1C,CAAC;IAEM,8CAAc,GAArB,UAAsB,eAA2B;QAC7C,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC;IAC9C,CAAC;IAEM,wCAAQ,GAAf,UAAgB,aAAqB,EAAE,eAAwB,EAAE,MAAe,EAAE,KAAa,EAAE,MAAc;QAC3G,eAAe,GAAG,aAAa,KAAK,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;QAEjG,IAAI,CAAC,UAAU,CAAC;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG;YACxG,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,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,GAAG;SAC5C,CAAC,CAAC;IACP,CAAC;IAEM,0CAAU,GAAjB,UAAkB,UAAqC;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEM,qCAAK,GAAZ;QACI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,uCAAO,GAAd;;QACI,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,EAAE,CAAC;QAC/B,MAAA,IAAI,CAAC,kBAAkB,0CAAE,OAAO,EAAE,CAAC;QACnC,MAAA,IAAI,CAAC,uBAAuB,0CAAE,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IACL,4BAAC;AAAD,CAAC,AAhGD,IAgGC","sourcesContent":["import { HardwareTextureWrapper } from '../../Materials/Textures/hardwareTextureWrapper';\r\nimport { InternalTextureSource } from '../../Materials/Textures/internalTexture';\r\nimport { Scalar } from '../../Maths/math.scalar';\r\nimport { Nullable } from '../../types';\r\nimport * as WebGPUConstants from './webgpuConstants';\r\n\r\ndeclare type WebGPUBundleList = import(\"./webgpuBundleList\").WebGPUBundleList;\r\n\r\n/** @hidden */\r\nexport class WebGPUHardwareTexture implements HardwareTextureWrapper {\r\n\r\n /**\r\n * List of bundles collected in the snapshot rendering mode when the texture is a render target texture\r\n * The index in this array is the current layer we are rendering into\r\n * @hidden\r\n */\r\n public _bundleLists: WebGPUBundleList[];\r\n /**\r\n * Current layer we are rendering into when in snapshot rendering mode (if the texture is a render target texture)\r\n * @hidden\r\n */\r\n public _currentLayer: number;\r\n\r\n /**\r\n * Cache of RenderPassDescriptor and BindGroup used when generating mipmaps (see WebGPUTextureHelper.generateMipmaps)\r\n * @hidden\r\n */\r\n public _mipmapGenRenderPassDescr: GPURenderPassDescriptor[][];\r\n /** @hidden */\r\n public _mipmapGenBindGroup: GPUBindGroup[][];\r\n\r\n /**\r\n * Cache for the invertYPreMultiplyAlpha function (see WebGPUTextureHelper)\r\n * @hidden\r\n */\r\n public _copyInvertYTempTexture?: GPUTexture;\r\n /** @hidden */\r\n public _copyInvertYRenderPassDescr: GPURenderPassDescriptor;\r\n /** @hidden */\r\n public _copyInvertYBindGroupd: GPUBindGroup;\r\n\r\n private _webgpuTexture: Nullable<GPUTexture>;\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 get msaaTexture(): Nullable<GPUTexture> {\r\n return this._webgpuMSAATexture;\r\n }\r\n\r\n public set msaaTexture(texture: Nullable<GPUTexture>) {\r\n this._webgpuMSAATexture = texture;\r\n }\r\n\r\n public view: 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 }\r\n\r\n public set(hardwareTexture: GPUTexture): void {\r\n this._webgpuTexture = hardwareTexture;\r\n }\r\n\r\n public setMSAATexture(hardwareTexture: GPUTexture): void {\r\n this._webgpuMSAATexture = hardwareTexture;\r\n }\r\n\r\n public setUsage(textureSource: number, generateMipMaps: boolean, isCube: boolean, width: number, height: number): void {\r\n generateMipMaps = textureSource === InternalTextureSource.RenderTarget ? false : generateMipMaps;\r\n\r\n this.createView({\r\n format: this.format,\r\n dimension: isCube ? WebGPUConstants.TextureViewDimension.Cube : WebGPUConstants.TextureViewDimension.E2d,\r\n mipLevelCount: generateMipMaps ? Scalar.ILog2(Math.max(width, height)) + 1 : 1,\r\n baseArrayLayer: 0,\r\n baseMipLevel: 0,\r\n arrayLayerCount: isCube ? 6 : 1,\r\n aspect: WebGPUConstants.TextureAspect.All\r\n });\r\n }\r\n\r\n public createView(descriptor?: GPUTextureViewDescriptor): void {\r\n this.view = this._webgpuTexture!.createView(descriptor);\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 }\r\n\r\n public release(): void {\r\n this._webgpuTexture?.destroy();\r\n this._webgpuMSAATexture?.destroy();\r\n this._copyInvertYTempTexture?.destroy();\r\n this.reset();\r\n }\r\n}\r\n"]}
|
|
@@ -34,7 +34,7 @@ export declare class WebGPUTextureHelper {
|
|
|
34
34
|
static IsCompressedFormat(format: GPUTextureFormat): boolean;
|
|
35
35
|
static GetWebGPUTextureFormat(type: number, format: number, useSRGBBuffer?: boolean): GPUTextureFormat;
|
|
36
36
|
static GetNumChannelsFromWebGPUTextureFormat(format: GPUTextureFormat): number;
|
|
37
|
-
invertYPreMultiplyAlpha(
|
|
37
|
+
invertYPreMultiplyAlpha(gpuOrHdwTexture: GPUTexture | WebGPUHardwareTexture, width: number, height: number, format: GPUTextureFormat, invertY?: boolean, premultiplyAlpha?: boolean, faceIndex?: number, mipLevel?: number, layers?: number, commandEncoder?: GPUCommandEncoder, allowGPUOptimization?: boolean): void;
|
|
38
38
|
copyWithInvertY(srcTextureView: GPUTextureView, format: GPUTextureFormat, renderPassDescriptor: GPURenderPassDescriptor, commandEncoder?: GPUCommandEncoder): void;
|
|
39
39
|
createTexture(imageBitmap: ImageBitmap | {
|
|
40
40
|
width: number;
|
|
@@ -50,7 +50,7 @@ export declare class WebGPUTextureHelper {
|
|
|
50
50
|
createGPUTextureForInternalTexture(texture: InternalTexture, width?: number, height?: number, depth?: number, creationFlags?: number): WebGPUHardwareTexture;
|
|
51
51
|
createMSAATexture(texture: InternalTexture, samples: number): void;
|
|
52
52
|
updateCubeTextures(imageBitmaps: ImageBitmap[] | Uint8Array[], gpuTexture: GPUTexture, width: number, height: number, format: GPUTextureFormat, invertY?: boolean, premultiplyAlpha?: boolean, offsetX?: number, offsetY?: number, commandEncoder?: GPUCommandEncoder): void;
|
|
53
|
-
updateTexture(imageBitmap: ImageBitmap | Uint8Array | HTMLCanvasElement | OffscreenCanvas, texture: GPUTexture | InternalTexture, width: number, height: number, layers: number, format: GPUTextureFormat, faceIndex?: number, mipLevel?: number, invertY?: boolean, premultiplyAlpha?: boolean, offsetX?: number, offsetY?: number, commandEncoder?: GPUCommandEncoder): void;
|
|
53
|
+
updateTexture(imageBitmap: ImageBitmap | Uint8Array | HTMLCanvasElement | OffscreenCanvas, texture: GPUTexture | InternalTexture, width: number, height: number, layers: number, format: GPUTextureFormat, faceIndex?: number, mipLevel?: number, invertY?: boolean, premultiplyAlpha?: boolean, offsetX?: number, offsetY?: number, commandEncoder?: GPUCommandEncoder, allowGPUOptimization?: boolean): void;
|
|
54
54
|
readPixels(texture: GPUTexture, x: number, y: number, width: number, height: number, format: GPUTextureFormat, faceIndex?: number, mipLevel?: number, buffer?: Nullable<ArrayBufferView>, noDataConversion?: boolean): Promise<ArrayBufferView>;
|
|
55
55
|
releaseTexture(texture: InternalTexture | GPUTexture): void;
|
|
56
56
|
destroyDeferredTextures(): void;
|