@carbonenginejs/runtime 0.1.0-alpha.4 → 0.1.0-alpha.5
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/dist/global/blue/BlueClasses.js +200 -0
- package/dist/global/blue/BlueClasses.js.map +1 -0
- package/dist/global/blue/IBlueClasses.js +79 -0
- package/dist/global/blue/IBlueClasses.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +16 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -1
- package/dist/global/blue/blue.js +8 -2
- package/dist/global/blue/blue.js.map +1 -1
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/consts/index.js +0 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/renderContext/formats.js +26 -25
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/{trinityal/Tr2BitmapDimensions.js → global/imageio/BitmapDimensions.js} +19 -15
- package/dist/global/imageio/BitmapDimensions.js.map +1 -0
- package/dist/global/imageio/Cutout.js +28 -0
- package/dist/global/imageio/Cutout.js.map +1 -0
- package/dist/global/imageio/HostBitmap.js +1106 -0
- package/dist/global/imageio/HostBitmap.js.map +1 -0
- package/dist/global/imageio/ImageIOResult.js +99 -0
- package/dist/global/imageio/ImageIOResult.js.map +1 -0
- package/dist/global/imageio/ImageUtility.js +205 -0
- package/dist/global/imageio/ImageUtility.js.map +1 -0
- package/dist/global/imageio/LoadParameters.js +86 -0
- package/dist/global/imageio/LoadParameters.js.map +1 -0
- package/dist/global/imageio/Metadata.js +22 -0
- package/dist/global/imageio/Metadata.js.map +1 -0
- package/dist/global/imageio/index.js +8 -0
- package/dist/global/{consts/webgpu → imageio}/index.js.map +1 -1
- package/dist/global/index.js +2 -1
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/color.js +1 -1
- package/dist/global/math/color.js.map +1 -1
- package/dist/global/schema/CjsSchema.js +8 -0
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +47 -7
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/Tr2LightProfileRes.js +37 -0
- package/dist/resource/Tr2LightProfileRes.js.map +1 -1
- package/dist/resource/format/CjsByteWriter.js +46 -46
- package/dist/resource/format/CjsByteWriter.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +7 -8
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatStore.js +8 -8
- package/dist/resource/format/CjsFormatStore.js.map +1 -1
- package/dist/resource/format/CjsGeometryFormat.js +114 -0
- package/dist/resource/format/CjsGeometryFormat.js.map +1 -0
- package/dist/resource/format/CjsImageFormat.js +282 -0
- package/dist/resource/format/CjsImageFormat.js.map +1 -0
- package/dist/resource/format/CjsResourceProbe.js +12 -48
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/CjsStringTable.js +37 -37
- package/dist/resource/format/CjsStringTable.js.map +1 -1
- package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js +10 -10
- package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js.map +1 -1
- package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js +37 -37
- package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js +35 -7
- package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
- package/dist/resource/format/index.js +3 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/formats/black/CjsBlackFormat.js +130 -137
- package/dist/resource/formats/black/CjsBlackFormat.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +12 -19
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +1 -3
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +19 -82
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/constants.js +1 -2
- package/dist/resource/formats/cmf/core/constants.js.map +1 -1
- package/dist/resource/formats/{stl/core/targets.js → cmf/core/flatShared.js} +9 -8
- package/dist/resource/formats/cmf/core/flatShared.js.map +1 -0
- package/dist/resource/formats/cmf/core/helpers.js +13 -13
- package/dist/resource/formats/cmf/core/helpers.js.map +1 -1
- package/dist/resource/formats/cmf/core/writer.js +24 -24
- package/dist/resource/formats/cmf/core/writer.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +134 -17
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +125 -40
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +14 -16
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/{container.js → DxbcContainer.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcContainer.js.map +1 -0
- package/dist/resource/formats/dxbc/core/{errors.js → DxbcReadError.js} +1 -1
- package/dist/resource/formats/dxbc/core/DxbcReadError.js.map +1 -0
- package/dist/resource/formats/dxbc/core/DxbcReader.js +1 -1
- package/dist/resource/formats/dxbc/core/DxbcReader.js.map +1 -1
- package/dist/resource/formats/dxbc/core/{program.js → DxbcShaderProgram.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcShaderProgram.js.map +1 -0
- package/dist/resource/formats/dxbc/core/{signature.js → DxbcSignatureChunk.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcSignatureChunk.js.map +1 -0
- package/dist/resource/formats/dxbc/core/decoder.js +2 -2
- package/dist/resource/formats/dxbc/core/decoder.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +3 -3
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +18 -20
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +7 -13
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/fsd/32/CjsFsd32Format.js +29 -29
- package/dist/resource/formats/fsd/32/CjsFsd32Format.js.map +1 -1
- package/dist/resource/formats/fsd/64/CjsFsd64Format.js +3 -3
- package/dist/resource/formats/fsd/64/CjsFsd64Format.js.map +1 -1
- package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js +23 -23
- package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js.map +1 -1
- package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js +8 -8
- package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js.map +1 -1
- package/dist/resource/formats/fsd/CjsFsdFormat.js +23 -23
- package/dist/resource/formats/fsd/CjsFsdFormat.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +24 -15
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +33 -98
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -12
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +27 -91
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +22 -25
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js +1 -1
- package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js.map +1 -1
- package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +3 -3
- package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js.map +1 -1
- package/dist/resource/formats/ies/CjsIESFormat.js +29 -29
- package/dist/resource/formats/ies/CjsIESFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +24 -15
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +3 -5
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/core/jpeg.js +58 -58
- package/dist/resource/formats/jpeg/core/jpeg.js.map +1 -1
- package/dist/resource/formats/jsonl/CjsJsonlFormat.js +3 -3
- package/dist/resource/formats/jsonl/CjsJsonlFormat.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +7 -14
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +3 -5
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +7 -13
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +3 -5
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +92 -157
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +5 -113
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +7 -14
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +7 -12
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +7 -7
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +7 -7
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +40 -15
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +4 -6
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/red/CjsRedFormat.js +22 -28
- package/dist/resource/formats/red/CjsRedFormat.js.map +1 -1
- package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js +3 -7
- package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js.map +1 -1
- package/dist/resource/formats/schemabound/core/schemaBoundValues.js +5 -0
- package/dist/resource/formats/schemabound/core/schemaBoundValues.js.map +1 -1
- package/dist/resource/formats/sqlite/CjsSqliteFormat.js +4 -9
- package/dist/resource/formats/sqlite/CjsSqliteFormat.js.map +1 -1
- package/dist/resource/formats/static/CjsStaticFormat.js +4 -4
- package/dist/resource/formats/static/CjsStaticFormat.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +39 -104
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +5 -19
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +26 -15
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +3 -5
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +8 -15
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +7 -14
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +3 -5
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +103 -105
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/{errors.js → WebglReadError.js} +1 -1
- package/dist/resource/formats/webgl/core/WebglReadError.js.map +1 -0
- package/dist/resource/formats/webgl/core/effectPackage.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +3 -3
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/{DxbcGlslHelpers.js → DxbcGlslHelperRegistry.js} +2 -2
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelperRegistry.js.map +1 -0
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBlock.js +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBlock.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +28 -29
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/{errors.js → WebgpuReadError.js} +1 -1
- package/dist/resource/formats/webgpu/core/WebgpuReadError.js.map +1 -0
- package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js +1 -1
- package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js +1 -1
- package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js +18 -6
- package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js +39 -13
- package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +16 -14
- package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +8 -13
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +3 -5
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +8 -12
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +9 -17
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +35 -35
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -3
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/yaml/CjsYamlFormat.js +28 -37
- package/dist/resource/formats/yaml/CjsYamlFormat.js.map +1 -1
- package/dist/resource/imageio/ImageIO.js +142 -0
- package/dist/resource/imageio/ImageIO.js.map +1 -0
- package/dist/resource/imageio/index.js +17 -0
- package/dist/resource/imageio/index.js.map +1 -0
- package/dist/resource/index.js +7 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +24 -2
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +76 -5
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayConstructor.js +97 -0
- package/dist/resource/texture/CjsTextureArrayConstructor.js.map +1 -0
- package/dist/resource/texture/CjsTexturePackConstructor.js +160 -0
- package/dist/resource/texture/CjsTexturePackConstructor.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepArray.js +72 -0
- package/dist/resource/texture/CjsTexturePipelineStepArray.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepConvert.js +73 -0
- package/dist/resource/texture/CjsTexturePipelineStepConvert.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepPack.js +71 -0
- package/dist/resource/texture/CjsTexturePipelineStepPack.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepResize.js +123 -0
- package/dist/resource/texture/CjsTexturePipelineStepResize.js.map +1 -0
- package/dist/resource/texture/SolidColorTextureConstructor.js +11 -1
- package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -1
- package/dist/resource/texture/Tr2ImageRes.js +100 -68
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +45 -25
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +34 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +30 -3
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +81 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +36 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +146 -24
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +151 -29
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/texture/index.js +7 -0
- package/dist/resource/texture/index.js.map +1 -1
- package/dist/resource/texture/registerTextureResources.js +83 -0
- package/dist/resource/texture/registerTextureResources.js.map +1 -0
- package/dist/resource/texture/solidColorTexture.js +10 -19
- package/dist/resource/texture/solidColorTexture.js.map +1 -1
- package/dist/sof/EveSOF.js +39 -7
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js +2 -2
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -1
- package/dist/trinity/core/Tr2ImageIOHelpers.js +80 -17
- package/dist/trinity/core/Tr2ImageIOHelpers.js.map +1 -1
- package/dist/trinity/core/Tr2RenderUtils.js +1 -1
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js +49 -62
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -1
- package/dist/trinity/core/Tr2TextureReference.js +114 -0
- package/dist/trinity/core/Tr2TextureReference.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +1 -1
- package/dist/trinity/core/index.js +1 -0
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +5 -4
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +5 -4
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -1
- package/dist/trinity/core/procedural/gradientTexture.js +10 -13
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +102 -50
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -18
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +175 -157
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +100 -83
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +26 -20
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +368 -179
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +242 -234
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +57 -16
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +28 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/index.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +5 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +234 -233
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -0
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +492 -437
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/generated/index.js +0 -1
- package/dist/trinity/generated/index.js.map +1 -1
- package/dist/trinity/generated/trinityCore/index.js +0 -1
- package/dist/trinity/generated/trinityCore/index.js.map +1 -1
- package/dist/trinity/index.js +3 -3
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +10 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +152 -66
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js +5 -5
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -1
- package/dist/trinityal/index.js +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js +2 -2
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +45 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +170 -170
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +234 -164
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +7 -0
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +78 -14
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js +94 -0
- package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +1 -0
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/global/reference/classes/README.md +90 -0
- package/docs/resource/concepts/format-capabilities.md +3 -3
- package/docs/resource/formats/README.md +1 -1
- package/docs/resource/reference/classes/core.md +31 -1
- package/docs/resource/reference/classes/formats.md +7 -7
- package/docs/resource/reference/classes/resources.md +76 -16
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/trinity-core.md +1692 -1682
- package/docs/trinityal/reference/classes/README.md +0 -10
- package/docs/trinityal/webgpu/reference/classes/README.md +276 -266
- package/package.json +4 -3
- package/dist/global/consts/webgpu/index.js +0 -2
- package/dist/global/consts/webgpu/textureFormats.js +0 -180
- package/dist/global/consts/webgpu/textureFormats.js.map +0 -1
- package/dist/resource/formats/dxbc/core/container.js.map +0 -1
- package/dist/resource/formats/dxbc/core/errors.js.map +0 -1
- package/dist/resource/formats/dxbc/core/program.js.map +0 -1
- package/dist/resource/formats/dxbc/core/signature.js.map +0 -1
- package/dist/resource/formats/stl/core/targets.js.map +0 -1
- package/dist/resource/formats/webgl/core/errors.js.map +0 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelpers.js.map +0 -1
- package/dist/resource/formats/webgpu/core/errors.js.map +0 -1
- package/dist/resource/texture/texturePipelineBehavior.js +0 -332
- package/dist/resource/texture/texturePipelineBehavior.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureReference.js +0 -40
- package/dist/trinity/generated/trinityCore/Tr2TextureReference.js.map +0 -1
- package/dist/trinityal/Tr2BitmapDimensions.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.js","sources":["../../../../../src/global/consts/renderContext/formats.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2RenderContextEnum.h (PixelFormat, DepthStencilFormat)\n// Source: trinity/shadercompiler/EffectData.h (TextureType)\n\r\n/** Carbon numeric GPU pixel formats (distinct from the abstract graphics/pixelFormats string vocabulary). */\r\nexport const PixelFormat = Object.freeze({\r\n PIXEL_FORMAT_UNKNOWN: 0,\r\n PIXEL_FORMAT_R32G32B32A32_TYPELESS: 1,\r\n PIXEL_FORMAT_R32G32B32A32_FLOAT: 2,\r\n PIXEL_FORMAT_R32G32B32A32_UINT: 3,\r\n PIXEL_FORMAT_R32G32B32A32_SINT: 4,\r\n PIXEL_FORMAT_R32G32B32_TYPELESS: 5,\r\n PIXEL_FORMAT_R32G32B32_FLOAT: 6,\r\n PIXEL_FORMAT_R32G32B32_UINT: 7,\r\n PIXEL_FORMAT_R32G32B32_SINT: 8,\r\n PIXEL_FORMAT_R16G16B16A16_TYPELESS: 9,\r\n PIXEL_FORMAT_R16G16B16A16_FLOAT: 10,\r\n PIXEL_FORMAT_R16G16B16A16_UNORM: 11,\r\n PIXEL_FORMAT_R16G16B16A16_UINT: 12,\r\n PIXEL_FORMAT_R16G16B16A16_SNORM: 13,\r\n PIXEL_FORMAT_R16G16B16A16_SINT: 14,\r\n PIXEL_FORMAT_R32G32_TYPELESS: 15,\r\n PIXEL_FORMAT_R32G32_FLOAT: 16,\r\n PIXEL_FORMAT_R32G32_UINT: 17,\r\n PIXEL_FORMAT_R32G32_SINT: 18,\r\n PIXEL_FORMAT_R32G8X24_TYPELESS: 19,\r\n PIXEL_FORMAT_D32_FLOAT_S8X24_UINT: 20,\r\n PIXEL_FORMAT_R32_FLOAT_X8X24_TYPELESS: 21,\r\n PIXEL_FORMAT_X32_TYPELESS_G8X24_UINT: 22,\r\n PIXEL_FORMAT_R10G10B10A2_TYPELESS: 23,\r\n PIXEL_FORMAT_R10G10B10A2_UNORM: 24,\r\n PIXEL_FORMAT_R10G10B10A2_UINT: 25,\r\n PIXEL_FORMAT_R11G11B10_FLOAT: 26,\r\n PIXEL_FORMAT_R8G8B8A8_TYPELESS: 27,\r\n PIXEL_FORMAT_R8G8B8A8_UNORM: 28,\r\n PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB: 29,\r\n PIXEL_FORMAT_R8G8B8A8_UINT: 30,\r\n PIXEL_FORMAT_R8G8B8A8_SNORM: 31,\r\n PIXEL_FORMAT_R8G8B8A8_SINT: 32,\r\n PIXEL_FORMAT_R16G16_TYPELESS: 33,\r\n PIXEL_FORMAT_R16G16_FLOAT: 34,\r\n PIXEL_FORMAT_R16G16_UNORM: 35,\r\n PIXEL_FORMAT_R16G16_UINT: 36,\r\n PIXEL_FORMAT_R16G16_SNORM: 37,\r\n PIXEL_FORMAT_R16G16_SINT: 38,\r\n PIXEL_FORMAT_R32_TYPELESS: 39,\r\n PIXEL_FORMAT_D32_FLOAT: 40,\r\n PIXEL_FORMAT_R32_FLOAT: 41,\r\n PIXEL_FORMAT_R32_UINT: 42,\r\n PIXEL_FORMAT_R32_SINT: 43,\r\n PIXEL_FORMAT_R24G8_TYPELESS: 44,\r\n PIXEL_FORMAT_D24_UNORM_S8_UINT: 45,\r\n PIXEL_FORMAT_R24_UNORM_X8_TYPELESS: 46,\r\n PIXEL_FORMAT_X24_TYPELESS_G8_UINT: 47,\r\n PIXEL_FORMAT_R8G8_TYPELESS: 48,\r\n PIXEL_FORMAT_R8G8_UNORM: 49,\r\n PIXEL_FORMAT_R8G8_UINT: 50,\r\n PIXEL_FORMAT_R8G8_SNORM: 51,\r\n PIXEL_FORMAT_R8G8_SINT: 52,\r\n PIXEL_FORMAT_R16_TYPELESS: 53,\r\n PIXEL_FORMAT_R16_FLOAT: 54,\r\n PIXEL_FORMAT_D16_UNORM: 55,\r\n PIXEL_FORMAT_R16_UNORM: 56,\r\n PIXEL_FORMAT_R16_UINT: 57,\r\n PIXEL_FORMAT_R16_SNORM: 58,\r\n PIXEL_FORMAT_R16_SINT: 59,\r\n PIXEL_FORMAT_R8_TYPELESS: 60,\r\n PIXEL_FORMAT_R8_UNORM: 61,\r\n PIXEL_FORMAT_R8_UINT: 62,\r\n PIXEL_FORMAT_R8_SNORM: 63,\r\n PIXEL_FORMAT_R8_SINT: 64,\r\n PIXEL_FORMAT_A8_UNORM: 65,\r\n PIXEL_FORMAT_R1_UNORM: 66,\r\n PIXEL_FORMAT_R9G9B9E5_SHAREDEXP: 67,\r\n PIXEL_FORMAT_R8G8_B8G8_UNORM: 68,\r\n PIXEL_FORMAT_G8R8_G8B8_UNORM: 69,\r\n PIXEL_FORMAT_BC1_TYPELESS: 70,\r\n PIXEL_FORMAT_BC1_UNORM: 71,\r\n PIXEL_FORMAT_BC1_UNORM_SRGB: 72,\r\n PIXEL_FORMAT_BC2_TYPELESS: 73,\r\n PIXEL_FORMAT_BC2_UNORM: 74,\r\n PIXEL_FORMAT_BC2_UNORM_SRGB: 75,\r\n PIXEL_FORMAT_BC3_TYPELESS: 76,\r\n PIXEL_FORMAT_BC3_UNORM: 77,\r\n PIXEL_FORMAT_BC3_UNORM_SRGB: 78,\r\n PIXEL_FORMAT_BC4_TYPELESS: 79,\r\n PIXEL_FORMAT_BC4_UNORM: 80,\r\n PIXEL_FORMAT_BC4_SNORM: 81,\r\n PIXEL_FORMAT_BC5_TYPELESS: 82,\r\n PIXEL_FORMAT_BC5_UNORM: 83,\r\n PIXEL_FORMAT_BC5_SNORM: 84,\r\n PIXEL_FORMAT_B5G6R5_UNORM: 85,\r\n PIXEL_FORMAT_B5G5R5A1_UNORM: 86,\r\n PIXEL_FORMAT_B8G8R8A8_UNORM: 87,\r\n PIXEL_FORMAT_B8G8R8X8_UNORM: 88,\r\n PIXEL_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: 89,\r\n PIXEL_FORMAT_B8G8R8A8_TYPELESS: 90,\r\n PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB: 91,\r\n PIXEL_FORMAT_B8G8R8X8_TYPELESS: 92,\r\n PIXEL_FORMAT_B8G8R8X8_UNORM_SRGB: 93,\r\n PIXEL_FORMAT_BC6H_TYPELESS: 94,\r\n PIXEL_FORMAT_BC6H_UF16: 95,\r\n PIXEL_FORMAT_BC6H_SF16: 96,\r\n PIXEL_FORMAT_BC7_TYPELESS: 97,\r\n PIXEL_FORMAT_BC7_UNORM: 98,\r\n PIXEL_FORMAT_BC7_UNORM_SRGB: 99,\r\n PIXEL_FORMAT_SENTINEL: 100,\r\n PIXEL_FORMAT_FORCE_UINT: 4294967295\r\n});\r\n\r\nexport const DepthStencilFormat = Object.freeze({\r\n DSFMT_UNKNOWN: 0,\r\n DSFMT_D24S8: 1,\r\n DSFMT_D24X8: 2,\r\n DSFMT_D24FS8: 3,\r\n DSFMT_D32F: 4,\r\n DSFMT_D32: 5,\r\n DSFMT_READABLE: 6,\r\n DSFMT_AUTO: 7,\r\n DSFMT_D16_LOCKABLE: 8,\r\n DSFMT_D15S1: 9,\r\n DSFMT_D24X4S4: 10,\r\n DSFMT_D16: 11,\r\n DSFMT_D32F_LOCKABLE: 12\r\n});\r\n\r\n/** Carbon texture/buffer view type (Tr2RenderContextEnum::TextureType). */\r\nexport const TextureType = Object.freeze({\r\n TEX_TYPE_1D: 1,\r\n TEX_TYPE_2D: 2,\r\n TEX_TYPE_3D: 3,\r\n TEX_TYPE_CUBE: 4,\r\n TEX_TYPE_TYPELESS: 5,\r\n TEX_TYPE_BUFFER: 6,\r\n TEX_TYPE_STRUCTURED_BUFFER: 7,\r\n TEX_TYPE_TBUFFER: 8,\r\n TEX_TYPE_BYTEADDRESS_BUFFER: 9,\r\n TEX_TYPE_UAV_RWTYPED: 10,\r\n TEX_TYPE_UAV_RWSTRUCTURED: 11,\r\n TEX_TYPE_UAV_RWBYTEADDRESS: 12,\r\n TEX_TYPE_UAV_APPEND_STRUCTURED: 13,\r\n TEX_TYPE_UAV_CONSUME_STRUCTURED: 14,\r\n TEX_TYPE_UAV_RWSTRUCTURED_WITH_COUNTER: 15,\r\n TEX_TYPE_RAYTRACING_ACCELERATION_STRUCTURE: 16,\r\n TEX_TYPE_INVALID: 17\r\n});\r\n\n\n// Carbon keeps the three functions below in the same header as the enum they\n// switch over (`imageio/include/PixelFormat.h:119-295`), so they live here too.\n// They are tables, not policy: every value is transcribed, including the ones\n// that look wrong.\n\nconst COMPRESSED_FORMATS = new Set([\n PixelFormat.PIXEL_FORMAT_BC1_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC1_UNORM,\n PixelFormat.PIXEL_FORMAT_BC1_UNORM_SRGB,\n PixelFormat.PIXEL_FORMAT_BC2_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC2_UNORM,\n PixelFormat.PIXEL_FORMAT_BC2_UNORM_SRGB,\n PixelFormat.PIXEL_FORMAT_BC3_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC3_UNORM,\n PixelFormat.PIXEL_FORMAT_BC3_UNORM_SRGB,\n PixelFormat.PIXEL_FORMAT_BC4_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC4_UNORM,\n PixelFormat.PIXEL_FORMAT_BC4_SNORM,\n PixelFormat.PIXEL_FORMAT_BC5_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC5_UNORM,\n PixelFormat.PIXEL_FORMAT_BC5_SNORM,\n PixelFormat.PIXEL_FORMAT_BC6H_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC6H_UF16,\n PixelFormat.PIXEL_FORMAT_BC6H_SF16,\n PixelFormat.PIXEL_FORMAT_BC7_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC7_UNORM,\n PixelFormat.PIXEL_FORMAT_BC7_UNORM_SRGB\n]);\n\n/** Eight-byte block formats; every other compressed format is sixteen. */\nconst EIGHT_BYTE_BLOCK_FORMATS = new Set([\n PixelFormat.PIXEL_FORMAT_BC1_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC1_UNORM,\n PixelFormat.PIXEL_FORMAT_BC1_UNORM_SRGB,\n PixelFormat.PIXEL_FORMAT_BC4_TYPELESS,\n PixelFormat.PIXEL_FORMAT_BC4_UNORM,\n PixelFormat.PIXEL_FORMAT_BC4_SNORM\n]);\n\n/**\n * Whether a format stores blocks rather than pixels.\n *\n * @param {number} format A `PixelFormat` value.\n * @returns {boolean} True for the BC family.\n */\nexport function IsCompressedFormat(format)\n{\n return COMPRESSED_FORMATS.has(format);\n}\n\n/**\n * Bytes in one compressed block, or 0 when the format is not a block image.\n *\n * @param {number} format A `PixelFormat` value.\n * @returns {number} Block size in bytes.\n */\nexport function GetBlockByteSize(format)\n{\n if (!COMPRESSED_FORMATS.has(format)) return 0;\n\n return EIGHT_BYTE_BLOCK_FORMATS.has(format) ? 8 : 16;\n}\n\n// CARBON'S TABLE, INCLUDING THE THREE-CHANNEL ENTRY. The R32G32B32 formats are\n// listed with the four-channel ones and so report 16 bytes rather than 12\n// (`PixelFormat.h:203-215`). That is deliberate transcription, not an oversight:\n// changing it here would make our mip pitch disagree with the engine we mirror.\nconst BYTES_PER_PIXEL = new Map([\n [ 16, [\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_FLOAT,\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_UINT,\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_SINT,\n PixelFormat.PIXEL_FORMAT_R32G32B32_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R32G32B32_FLOAT,\n PixelFormat.PIXEL_FORMAT_R32G32B32_UINT,\n PixelFormat.PIXEL_FORMAT_R32G32B32_SINT\n ] ],\n [ 8, [\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_FLOAT,\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_UNORM,\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_UINT,\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_SNORM,\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_SINT,\n PixelFormat.PIXEL_FORMAT_R32G32_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R32G32_FLOAT,\n PixelFormat.PIXEL_FORMAT_R32G32_UINT,\n PixelFormat.PIXEL_FORMAT_R32G32_SINT,\n PixelFormat.PIXEL_FORMAT_R32G8X24_TYPELESS,\n PixelFormat.PIXEL_FORMAT_D32_FLOAT_S8X24_UINT,\n PixelFormat.PIXEL_FORMAT_R32_FLOAT_X8X24_TYPELESS,\n PixelFormat.PIXEL_FORMAT_X32_TYPELESS_G8X24_UINT\n ] ],\n [ 4, [\n PixelFormat.PIXEL_FORMAT_R10G10B10A2_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R10G10B10A2_UNORM,\n PixelFormat.PIXEL_FORMAT_R10G10B10A2_UINT,\n PixelFormat.PIXEL_FORMAT_R11G11B10_FLOAT,\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM,\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB,\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_UINT,\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_SNORM,\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_SINT,\n PixelFormat.PIXEL_FORMAT_R16G16_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R16G16_FLOAT,\n PixelFormat.PIXEL_FORMAT_R16G16_UNORM,\n PixelFormat.PIXEL_FORMAT_R16G16_UINT,\n PixelFormat.PIXEL_FORMAT_R16G16_SNORM,\n PixelFormat.PIXEL_FORMAT_R16G16_SINT,\n PixelFormat.PIXEL_FORMAT_R32_TYPELESS,\n PixelFormat.PIXEL_FORMAT_D32_FLOAT,\n PixelFormat.PIXEL_FORMAT_R32_FLOAT,\n PixelFormat.PIXEL_FORMAT_R32_UINT,\n PixelFormat.PIXEL_FORMAT_R32_SINT,\n PixelFormat.PIXEL_FORMAT_R24G8_TYPELESS,\n PixelFormat.PIXEL_FORMAT_D24_UNORM_S8_UINT,\n PixelFormat.PIXEL_FORMAT_R24_UNORM_X8_TYPELESS,\n PixelFormat.PIXEL_FORMAT_X24_TYPELESS_G8_UINT,\n PixelFormat.PIXEL_FORMAT_R9G9B9E5_SHAREDEXP,\n PixelFormat.PIXEL_FORMAT_R8G8_B8G8_UNORM,\n PixelFormat.PIXEL_FORMAT_G8R8_G8B8_UNORM,\n PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM,\n PixelFormat.PIXEL_FORMAT_B8G8R8X8_UNORM,\n PixelFormat.PIXEL_FORMAT_R10G10B10_XR_BIAS_A2_UNORM,\n PixelFormat.PIXEL_FORMAT_B8G8R8A8_TYPELESS,\n PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB,\n PixelFormat.PIXEL_FORMAT_B8G8R8X8_TYPELESS,\n PixelFormat.PIXEL_FORMAT_B8G8R8X8_UNORM_SRGB\n ] ],\n [ 2, [\n PixelFormat.PIXEL_FORMAT_R8G8_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R8G8_UNORM,\n PixelFormat.PIXEL_FORMAT_R8G8_UINT,\n PixelFormat.PIXEL_FORMAT_R8G8_SNORM,\n PixelFormat.PIXEL_FORMAT_R8G8_SINT,\n PixelFormat.PIXEL_FORMAT_R16_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R16_FLOAT,\n PixelFormat.PIXEL_FORMAT_D16_UNORM,\n PixelFormat.PIXEL_FORMAT_R16_UNORM,\n PixelFormat.PIXEL_FORMAT_R16_UINT,\n PixelFormat.PIXEL_FORMAT_R16_SNORM,\n PixelFormat.PIXEL_FORMAT_R16_SINT,\n PixelFormat.PIXEL_FORMAT_B5G6R5_UNORM,\n PixelFormat.PIXEL_FORMAT_B5G5R5A1_UNORM\n ] ],\n [ 1, [\n PixelFormat.PIXEL_FORMAT_R8_TYPELESS,\n PixelFormat.PIXEL_FORMAT_R8_UNORM,\n PixelFormat.PIXEL_FORMAT_R8_UINT,\n PixelFormat.PIXEL_FORMAT_R8_SNORM,\n PixelFormat.PIXEL_FORMAT_R8_SINT,\n PixelFormat.PIXEL_FORMAT_A8_UNORM\n ] ]\n]);\n\nconst BYTES_BY_FORMAT = new Map();\n\nfor (const [ bytes, formats ] of BYTES_PER_PIXEL)\n{\n for (const format of formats) BYTES_BY_FORMAT.set(format, bytes);\n}\n\n/**\n * Bytes in one pixel, or 0 for a compressed or unknown format.\n *\n * @param {number} format A `PixelFormat` value.\n * @returns {number} Size in bytes.\n */\nexport function GetBytesPerPixel(format)\n{\n const bytes = BYTES_BY_FORMAT.get(format);\n\n return bytes === undefined ? 0 : bytes;\n}\n\n\n/**\n * The canonical pixel-format STRING a texture payload carries\n * (`graphics/pixelFormats.js`, what the DDS and image readers emit) to Carbon's\n * numeric enum, which `Tr2BitmapDimensions` and every `Tr2TextureAL` speak.\n * Typeless, depth and packed formats have no string and are absent.\n */\nexport const PixelFormatFromCanonical = Object.freeze({\n \"r8unorm\": PixelFormat.PIXEL_FORMAT_R8_UNORM,\n \"rg8unorm\": PixelFormat.PIXEL_FORMAT_R8G8_UNORM,\n \"rgba8unorm\": PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM,\n \"rgba8unorm-srgb\": PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB,\n \"bgra8unorm\": PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM,\n \"bgra8unorm-srgb\": PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB,\n \"r16float\": PixelFormat.PIXEL_FORMAT_R16_FLOAT,\n \"rg16float\": PixelFormat.PIXEL_FORMAT_R16G16_FLOAT,\n \"rgba16float\": PixelFormat.PIXEL_FORMAT_R16G16B16A16_FLOAT,\n \"r32float\": PixelFormat.PIXEL_FORMAT_R32_FLOAT,\n \"rg32float\": PixelFormat.PIXEL_FORMAT_R32G32_FLOAT,\n \"rgba32float\": PixelFormat.PIXEL_FORMAT_R32G32B32A32_FLOAT,\n \"bc1-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC1_UNORM,\n \"bc1-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC1_UNORM_SRGB,\n \"bc2-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC2_UNORM,\n \"bc2-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC2_UNORM_SRGB,\n \"bc3-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC3_UNORM,\n \"bc3-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC3_UNORM_SRGB,\n \"bc4-r-unorm\": PixelFormat.PIXEL_FORMAT_BC4_UNORM,\n \"bc4-r-snorm\": PixelFormat.PIXEL_FORMAT_BC4_SNORM,\n \"bc5-rg-unorm\": PixelFormat.PIXEL_FORMAT_BC5_UNORM,\n \"bc5-rg-snorm\": PixelFormat.PIXEL_FORMAT_BC5_SNORM,\n \"bc6h-rgb-ufloat\": PixelFormat.PIXEL_FORMAT_BC6H_UF16,\n \"bc6h-rgb-float\": PixelFormat.PIXEL_FORMAT_BC6H_SF16,\n \"bc7-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC7_UNORM,\n \"bc7-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC7_UNORM_SRGB\n});\r\n\r\n/**\r\n * Carbon's `ExFlag` (`Tr2RenderContextEnum.h:201-207`): extra creation options.\r\n *\r\n * A BITFIELD, and Carbon declares an `operator|` for it. Note the gap - there\r\n * is no `1 << 2`, and transcribing these as 0,1,2,3 would silently make\r\n * DRAW_INDIRECT collide with a flag Carbon does not have.\r\n */\r\nexport const ExFlag = Object.freeze({\r\n EX_NONE: 0,\r\n EX_CREATE_SHARED: 1,\r\n EX_BIND_UNORDERED_ACCESS: 2,\r\n EX_DRAW_INDIRECT: 8\r\n});\r\n\r\n/**\r\n * Maps a depth-stencil format to the pixel format a texture is created with.\r\n *\r\n * Carbon `Tr2RenderContextEnum::ConvertDepthStencilFormat`\r\n * (`Tr2RenderContextEnum.cpp:177-193`). It lives beside the two enums it maps\r\n * between rather than on any one caller: `Tr2DepthStencil` needs it and so does\r\n * Metal's upscaling path, and a second copy is how two tables drift.\r\n *\r\n * AUTO AND READABLE RESOLVE TO D24S8, which is Carbon's choice rather than an\r\n * inference - they share a case with the explicit D24 formats. Anything else,\r\n * including the lockable D15S1 and D24X4S4 that no backend here creates,\r\n * resolves to UNKNOWN, and a texture create refuses it.\r\n *\r\n * @param {number} format A `DepthStencilFormat` value.\r\n * @returns {number} A `PixelFormat` value.\r\n */\r\nexport function ConvertDepthStencilFormat(format)\r\n{\r\n switch (format)\r\n {\r\n case DepthStencilFormat.DSFMT_D24S8:\r\n case DepthStencilFormat.DSFMT_D24X8:\r\n case DepthStencilFormat.DSFMT_AUTO:\r\n case DepthStencilFormat.DSFMT_READABLE:\r\n case DepthStencilFormat.DSFMT_D24FS8:\r\n return PixelFormat.PIXEL_FORMAT_D24_UNORM_S8_UINT;\r\n\r\n case DepthStencilFormat.DSFMT_D16:\r\n case DepthStencilFormat.DSFMT_D16_LOCKABLE:\r\n return PixelFormat.PIXEL_FORMAT_D16_UNORM;\r\n\r\n case DepthStencilFormat.DSFMT_D32:\r\n case DepthStencilFormat.DSFMT_D32F:\r\n case DepthStencilFormat.DSFMT_D32F_LOCKABLE:\r\n return PixelFormat.PIXEL_FORMAT_D32_FLOAT;\r\n\r\n default:\r\n return PixelFormat.PIXEL_FORMAT_UNKNOWN;\r\n }\r\n}\r\n"],"names":["PixelFormat","Object","freeze","PIXEL_FORMAT_UNKNOWN","PIXEL_FORMAT_R32G32B32A32_TYPELESS","PIXEL_FORMAT_R32G32B32A32_FLOAT","PIXEL_FORMAT_R32G32B32A32_UINT","PIXEL_FORMAT_R32G32B32A32_SINT","PIXEL_FORMAT_R32G32B32_TYPELESS","PIXEL_FORMAT_R32G32B32_FLOAT","PIXEL_FORMAT_R32G32B32_UINT","PIXEL_FORMAT_R32G32B32_SINT","PIXEL_FORMAT_R16G16B16A16_TYPELESS","PIXEL_FORMAT_R16G16B16A16_FLOAT","PIXEL_FORMAT_R16G16B16A16_UNORM","PIXEL_FORMAT_R16G16B16A16_UINT","PIXEL_FORMAT_R16G16B16A16_SNORM","PIXEL_FORMAT_R16G16B16A16_SINT","PIXEL_FORMAT_R32G32_TYPELESS","PIXEL_FORMAT_R32G32_FLOAT","PIXEL_FORMAT_R32G32_UINT","PIXEL_FORMAT_R32G32_SINT","PIXEL_FORMAT_R32G8X24_TYPELESS","PIXEL_FORMAT_D32_FLOAT_S8X24_UINT","PIXEL_FORMAT_R32_FLOAT_X8X24_TYPELESS","PIXEL_FORMAT_X32_TYPELESS_G8X24_UINT","PIXEL_FORMAT_R10G10B10A2_TYPELESS","PIXEL_FORMAT_R10G10B10A2_UNORM","PIXEL_FORMAT_R10G10B10A2_UINT","PIXEL_FORMAT_R11G11B10_FLOAT","PIXEL_FORMAT_R8G8B8A8_TYPELESS","PIXEL_FORMAT_R8G8B8A8_UNORM","PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB","PIXEL_FORMAT_R8G8B8A8_UINT","PIXEL_FORMAT_R8G8B8A8_SNORM","PIXEL_FORMAT_R8G8B8A8_SINT","PIXEL_FORMAT_R16G16_TYPELESS","PIXEL_FORMAT_R16G16_FLOAT","PIXEL_FORMAT_R16G16_UNORM","PIXEL_FORMAT_R16G16_UINT","PIXEL_FORMAT_R16G16_SNORM","PIXEL_FORMAT_R16G16_SINT","PIXEL_FORMAT_R32_TYPELESS","PIXEL_FORMAT_D32_FLOAT","PIXEL_FORMAT_R32_FLOAT","PIXEL_FORMAT_R32_UINT","PIXEL_FORMAT_R32_SINT","PIXEL_FORMAT_R24G8_TYPELESS","PIXEL_FORMAT_D24_UNORM_S8_UINT","PIXEL_FORMAT_R24_UNORM_X8_TYPELESS","PIXEL_FORMAT_X24_TYPELESS_G8_UINT","PIXEL_FORMAT_R8G8_TYPELESS","PIXEL_FORMAT_R8G8_UNORM","PIXEL_FORMAT_R8G8_UINT","PIXEL_FORMAT_R8G8_SNORM","PIXEL_FORMAT_R8G8_SINT","PIXEL_FORMAT_R16_TYPELESS","PIXEL_FORMAT_R16_FLOAT","PIXEL_FORMAT_D16_UNORM","PIXEL_FORMAT_R16_UNORM","PIXEL_FORMAT_R16_UINT","PIXEL_FORMAT_R16_SNORM","PIXEL_FORMAT_R16_SINT","PIXEL_FORMAT_R8_TYPELESS","PIXEL_FORMAT_R8_UNORM","PIXEL_FORMAT_R8_UINT","PIXEL_FORMAT_R8_SNORM","PIXEL_FORMAT_R8_SINT","PIXEL_FORMAT_A8_UNORM","PIXEL_FORMAT_R1_UNORM","PIXEL_FORMAT_R9G9B9E5_SHAREDEXP","PIXEL_FORMAT_R8G8_B8G8_UNORM","PIXEL_FORMAT_G8R8_G8B8_UNORM","PIXEL_FORMAT_BC1_TYPELESS","PIXEL_FORMAT_BC1_UNORM","PIXEL_FORMAT_BC1_UNORM_SRGB","PIXEL_FORMAT_BC2_TYPELESS","PIXEL_FORMAT_BC2_UNORM","PIXEL_FORMAT_BC2_UNORM_SRGB","PIXEL_FORMAT_BC3_TYPELESS","PIXEL_FORMAT_BC3_UNORM","PIXEL_FORMAT_BC3_UNORM_SRGB","PIXEL_FORMAT_BC4_TYPELESS","PIXEL_FORMAT_BC4_UNORM","PIXEL_FORMAT_BC4_SNORM","PIXEL_FORMAT_BC5_TYPELESS","PIXEL_FORMAT_BC5_UNORM","PIXEL_FORMAT_BC5_SNORM","PIXEL_FORMAT_B5G6R5_UNORM","PIXEL_FORMAT_B5G5R5A1_UNORM","PIXEL_FORMAT_B8G8R8A8_UNORM","PIXEL_FORMAT_B8G8R8X8_UNORM","PIXEL_FORMAT_R10G10B10_XR_BIAS_A2_UNORM","PIXEL_FORMAT_B8G8R8A8_TYPELESS","PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB","PIXEL_FORMAT_B8G8R8X8_TYPELESS","PIXEL_FORMAT_B8G8R8X8_UNORM_SRGB","PIXEL_FORMAT_BC6H_TYPELESS","PIXEL_FORMAT_BC6H_UF16","PIXEL_FORMAT_BC6H_SF16","PIXEL_FORMAT_BC7_TYPELESS","PIXEL_FORMAT_BC7_UNORM","PIXEL_FORMAT_BC7_UNORM_SRGB","PIXEL_FORMAT_SENTINEL","PIXEL_FORMAT_FORCE_UINT","DepthStencilFormat","DSFMT_UNKNOWN","DSFMT_D24S8","DSFMT_D24X8","DSFMT_D24FS8","DSFMT_D32F","DSFMT_D32","DSFMT_READABLE","DSFMT_AUTO","DSFMT_D16_LOCKABLE","DSFMT_D15S1","DSFMT_D24X4S4","DSFMT_D16","DSFMT_D32F_LOCKABLE","TextureType","TEX_TYPE_1D","TEX_TYPE_2D","TEX_TYPE_3D","TEX_TYPE_CUBE","TEX_TYPE_TYPELESS","TEX_TYPE_BUFFER","TEX_TYPE_STRUCTURED_BUFFER","TEX_TYPE_TBUFFER","TEX_TYPE_BYTEADDRESS_BUFFER","TEX_TYPE_UAV_RWTYPED","TEX_TYPE_UAV_RWSTRUCTURED","TEX_TYPE_UAV_RWBYTEADDRESS","TEX_TYPE_UAV_APPEND_STRUCTURED","TEX_TYPE_UAV_CONSUME_STRUCTURED","TEX_TYPE_UAV_RWSTRUCTURED_WITH_COUNTER","TEX_TYPE_RAYTRACING_ACCELERATION_STRUCTURE","TEX_TYPE_INVALID","COMPRESSED_FORMATS","Set","EIGHT_BYTE_BLOCK_FORMATS","IsCompressedFormat","format","has","GetBlockByteSize","BYTES_PER_PIXEL","Map","BYTES_BY_FORMAT","bytes","formats","set","GetBytesPerPixel","get","undefined","PixelFormatFromCanonical","ExFlag","EX_NONE","EX_CREATE_SHARED","EX_BIND_UNORDERED_ACCESS","EX_DRAW_INDIRECT","ConvertDepthStencilFormat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formats.js","sources":["../../../../../src/global/consts/renderContext/formats.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2RenderContextEnum.h (PixelFormat, DepthStencilFormat)\r\n// Source: trinity/shadercompiler/EffectData.h (TextureType)\r\n\r\n/** Carbon numeric GPU pixel formats (distinct from the abstract graphics/pixelFormats string vocabulary). */\r\nexport const PixelFormat = Object.freeze({\r\n PIXEL_FORMAT_UNKNOWN: 0,\r\n PIXEL_FORMAT_R32G32B32A32_TYPELESS: 1,\r\n PIXEL_FORMAT_R32G32B32A32_FLOAT: 2,\r\n PIXEL_FORMAT_R32G32B32A32_UINT: 3,\r\n PIXEL_FORMAT_R32G32B32A32_SINT: 4,\r\n PIXEL_FORMAT_R32G32B32_TYPELESS: 5,\r\n PIXEL_FORMAT_R32G32B32_FLOAT: 6,\r\n PIXEL_FORMAT_R32G32B32_UINT: 7,\r\n PIXEL_FORMAT_R32G32B32_SINT: 8,\r\n PIXEL_FORMAT_R16G16B16A16_TYPELESS: 9,\r\n PIXEL_FORMAT_R16G16B16A16_FLOAT: 10,\r\n PIXEL_FORMAT_R16G16B16A16_UNORM: 11,\r\n PIXEL_FORMAT_R16G16B16A16_UINT: 12,\r\n PIXEL_FORMAT_R16G16B16A16_SNORM: 13,\r\n PIXEL_FORMAT_R16G16B16A16_SINT: 14,\r\n PIXEL_FORMAT_R32G32_TYPELESS: 15,\r\n PIXEL_FORMAT_R32G32_FLOAT: 16,\r\n PIXEL_FORMAT_R32G32_UINT: 17,\r\n PIXEL_FORMAT_R32G32_SINT: 18,\r\n PIXEL_FORMAT_R32G8X24_TYPELESS: 19,\r\n PIXEL_FORMAT_D32_FLOAT_S8X24_UINT: 20,\r\n PIXEL_FORMAT_R32_FLOAT_X8X24_TYPELESS: 21,\r\n PIXEL_FORMAT_X32_TYPELESS_G8X24_UINT: 22,\r\n PIXEL_FORMAT_R10G10B10A2_TYPELESS: 23,\r\n PIXEL_FORMAT_R10G10B10A2_UNORM: 24,\r\n PIXEL_FORMAT_R10G10B10A2_UINT: 25,\r\n PIXEL_FORMAT_R11G11B10_FLOAT: 26,\r\n PIXEL_FORMAT_R8G8B8A8_TYPELESS: 27,\r\n PIXEL_FORMAT_R8G8B8A8_UNORM: 28,\r\n PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB: 29,\r\n PIXEL_FORMAT_R8G8B8A8_UINT: 30,\r\n PIXEL_FORMAT_R8G8B8A8_SNORM: 31,\r\n PIXEL_FORMAT_R8G8B8A8_SINT: 32,\r\n PIXEL_FORMAT_R16G16_TYPELESS: 33,\r\n PIXEL_FORMAT_R16G16_FLOAT: 34,\r\n PIXEL_FORMAT_R16G16_UNORM: 35,\r\n PIXEL_FORMAT_R16G16_UINT: 36,\r\n PIXEL_FORMAT_R16G16_SNORM: 37,\r\n PIXEL_FORMAT_R16G16_SINT: 38,\r\n PIXEL_FORMAT_R32_TYPELESS: 39,\r\n PIXEL_FORMAT_D32_FLOAT: 40,\r\n PIXEL_FORMAT_R32_FLOAT: 41,\r\n PIXEL_FORMAT_R32_UINT: 42,\r\n PIXEL_FORMAT_R32_SINT: 43,\r\n PIXEL_FORMAT_R24G8_TYPELESS: 44,\r\n PIXEL_FORMAT_D24_UNORM_S8_UINT: 45,\r\n PIXEL_FORMAT_R24_UNORM_X8_TYPELESS: 46,\r\n PIXEL_FORMAT_X24_TYPELESS_G8_UINT: 47,\r\n PIXEL_FORMAT_R8G8_TYPELESS: 48,\r\n PIXEL_FORMAT_R8G8_UNORM: 49,\r\n PIXEL_FORMAT_R8G8_UINT: 50,\r\n PIXEL_FORMAT_R8G8_SNORM: 51,\r\n PIXEL_FORMAT_R8G8_SINT: 52,\r\n PIXEL_FORMAT_R16_TYPELESS: 53,\r\n PIXEL_FORMAT_R16_FLOAT: 54,\r\n PIXEL_FORMAT_D16_UNORM: 55,\r\n PIXEL_FORMAT_R16_UNORM: 56,\r\n PIXEL_FORMAT_R16_UINT: 57,\r\n PIXEL_FORMAT_R16_SNORM: 58,\r\n PIXEL_FORMAT_R16_SINT: 59,\r\n PIXEL_FORMAT_R8_TYPELESS: 60,\r\n PIXEL_FORMAT_R8_UNORM: 61,\r\n PIXEL_FORMAT_R8_UINT: 62,\r\n PIXEL_FORMAT_R8_SNORM: 63,\r\n PIXEL_FORMAT_R8_SINT: 64,\r\n PIXEL_FORMAT_A8_UNORM: 65,\r\n PIXEL_FORMAT_R1_UNORM: 66,\r\n PIXEL_FORMAT_R9G9B9E5_SHAREDEXP: 67,\r\n PIXEL_FORMAT_R8G8_B8G8_UNORM: 68,\r\n PIXEL_FORMAT_G8R8_G8B8_UNORM: 69,\r\n PIXEL_FORMAT_BC1_TYPELESS: 70,\r\n PIXEL_FORMAT_BC1_UNORM: 71,\r\n PIXEL_FORMAT_BC1_UNORM_SRGB: 72,\r\n PIXEL_FORMAT_BC2_TYPELESS: 73,\r\n PIXEL_FORMAT_BC2_UNORM: 74,\r\n PIXEL_FORMAT_BC2_UNORM_SRGB: 75,\r\n PIXEL_FORMAT_BC3_TYPELESS: 76,\r\n PIXEL_FORMAT_BC3_UNORM: 77,\r\n PIXEL_FORMAT_BC3_UNORM_SRGB: 78,\r\n PIXEL_FORMAT_BC4_TYPELESS: 79,\r\n PIXEL_FORMAT_BC4_UNORM: 80,\r\n PIXEL_FORMAT_BC4_SNORM: 81,\r\n PIXEL_FORMAT_BC5_TYPELESS: 82,\r\n PIXEL_FORMAT_BC5_UNORM: 83,\r\n PIXEL_FORMAT_BC5_SNORM: 84,\r\n PIXEL_FORMAT_B5G6R5_UNORM: 85,\r\n PIXEL_FORMAT_B5G5R5A1_UNORM: 86,\r\n PIXEL_FORMAT_B8G8R8A8_UNORM: 87,\r\n PIXEL_FORMAT_B8G8R8X8_UNORM: 88,\r\n PIXEL_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: 89,\r\n PIXEL_FORMAT_B8G8R8A8_TYPELESS: 90,\r\n PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB: 91,\r\n PIXEL_FORMAT_B8G8R8X8_TYPELESS: 92,\r\n PIXEL_FORMAT_B8G8R8X8_UNORM_SRGB: 93,\r\n PIXEL_FORMAT_BC6H_TYPELESS: 94,\r\n PIXEL_FORMAT_BC6H_UF16: 95,\r\n PIXEL_FORMAT_BC6H_SF16: 96,\r\n PIXEL_FORMAT_BC7_TYPELESS: 97,\r\n PIXEL_FORMAT_BC7_UNORM: 98,\r\n PIXEL_FORMAT_BC7_UNORM_SRGB: 99,\r\n PIXEL_FORMAT_SENTINEL: 100,\r\n PIXEL_FORMAT_FORCE_UINT: 4294967295\r\n});\r\n\r\nexport const DepthStencilFormat = Object.freeze({\r\n DSFMT_UNKNOWN: 0,\r\n DSFMT_D24S8: 1,\r\n DSFMT_D24X8: 2,\r\n DSFMT_D24FS8: 3,\r\n DSFMT_D32F: 4,\r\n DSFMT_D32: 5,\r\n DSFMT_READABLE: 6,\r\n DSFMT_AUTO: 7,\r\n DSFMT_D16_LOCKABLE: 8,\r\n DSFMT_D15S1: 9,\r\n DSFMT_D24X4S4: 10,\r\n DSFMT_D16: 11,\r\n DSFMT_D32F_LOCKABLE: 12\r\n});\r\n\r\n/** Carbon texture/buffer view type (Tr2RenderContextEnum::TextureType). */\r\nexport const TextureType = Object.freeze({\r\n TEX_TYPE_1D: 1,\r\n TEX_TYPE_2D: 2,\r\n TEX_TYPE_3D: 3,\r\n TEX_TYPE_CUBE: 4,\r\n TEX_TYPE_TYPELESS: 5,\r\n TEX_TYPE_BUFFER: 6,\r\n TEX_TYPE_STRUCTURED_BUFFER: 7,\r\n TEX_TYPE_TBUFFER: 8,\r\n TEX_TYPE_BYTEADDRESS_BUFFER: 9,\r\n TEX_TYPE_UAV_RWTYPED: 10,\r\n TEX_TYPE_UAV_RWSTRUCTURED: 11,\r\n TEX_TYPE_UAV_RWBYTEADDRESS: 12,\r\n TEX_TYPE_UAV_APPEND_STRUCTURED: 13,\r\n TEX_TYPE_UAV_CONSUME_STRUCTURED: 14,\r\n TEX_TYPE_UAV_RWSTRUCTURED_WITH_COUNTER: 15,\r\n TEX_TYPE_RAYTRACING_ACCELERATION_STRUCTURE: 16,\r\n TEX_TYPE_INVALID: 17\r\n});\r\n\r\n\r\n// Carbon keeps the three functions below in the same header as the enum they\r\n// switch over (`imageio/include/PixelFormat.h:119-295`), so they live here too.\r\n// They are tables, not policy: every value is transcribed, including the ones\r\n// that look wrong.\r\n\r\nconst COMPRESSED_FORMATS = new Set([\r\n PixelFormat.PIXEL_FORMAT_BC1_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC1_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC1_UNORM_SRGB,\r\n PixelFormat.PIXEL_FORMAT_BC2_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC2_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC2_UNORM_SRGB,\r\n PixelFormat.PIXEL_FORMAT_BC3_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC3_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC3_UNORM_SRGB,\r\n PixelFormat.PIXEL_FORMAT_BC4_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC4_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC4_SNORM,\r\n PixelFormat.PIXEL_FORMAT_BC5_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC5_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC5_SNORM,\r\n PixelFormat.PIXEL_FORMAT_BC6H_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC6H_UF16,\r\n PixelFormat.PIXEL_FORMAT_BC6H_SF16,\r\n PixelFormat.PIXEL_FORMAT_BC7_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC7_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC7_UNORM_SRGB\r\n]);\r\n\r\n/** Eight-byte block formats; every other compressed format is sixteen. */\r\nconst EIGHT_BYTE_BLOCK_FORMATS = new Set([\r\n PixelFormat.PIXEL_FORMAT_BC1_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC1_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC1_UNORM_SRGB,\r\n PixelFormat.PIXEL_FORMAT_BC4_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_BC4_UNORM,\r\n PixelFormat.PIXEL_FORMAT_BC4_SNORM\r\n]);\r\n\r\n/**\r\n * Whether a format stores blocks rather than pixels.\r\n *\r\n * @param {number} format A `PixelFormat` value.\r\n * @returns {boolean} True for the BC family.\r\n */\r\nexport function IsCompressedFormat(format)\r\n{\r\n return COMPRESSED_FORMATS.has(format);\r\n}\r\n\r\n/**\r\n * Bytes in one compressed block, or 0 when the format is not a block image.\r\n *\r\n * @param {number} format A `PixelFormat` value.\r\n * @returns {number} Block size in bytes.\r\n */\r\nexport function GetBlockByteSize(format)\r\n{\r\n if (!COMPRESSED_FORMATS.has(format)) return 0;\r\n\r\n return EIGHT_BYTE_BLOCK_FORMATS.has(format) ? 8 : 16;\r\n}\r\n\r\n// CARBON'S TABLE, WITH ONE FIX. diverged: Carbon lists the R32G32B32 formats\r\n// with the four-channel ones, so they report 16 bytes rather than 12\r\n// (`PixelFormat.h:211-215`), and every size, pitch and offset for them is wrong.\r\n// Fixed here (operator, 2026-09-22); reported upstream as issue 5 in\r\n// /docs/research/carbon-imageio-issue.md.\r\nconst BYTES_PER_PIXEL = new Map([\r\n [ 16, [\r\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_UINT,\r\n PixelFormat.PIXEL_FORMAT_R32G32B32A32_SINT\r\n ] ],\r\n [ 12, [\r\n PixelFormat.PIXEL_FORMAT_R32G32B32_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R32G32B32_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R32G32B32_UINT,\r\n PixelFormat.PIXEL_FORMAT_R32G32B32_SINT\r\n ] ],\r\n [ 8, [\r\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_UINT,\r\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_SNORM,\r\n PixelFormat.PIXEL_FORMAT_R16G16B16A16_SINT,\r\n PixelFormat.PIXEL_FORMAT_R32G32_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R32G32_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R32G32_UINT,\r\n PixelFormat.PIXEL_FORMAT_R32G32_SINT,\r\n PixelFormat.PIXEL_FORMAT_R32G8X24_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_D32_FLOAT_S8X24_UINT,\r\n PixelFormat.PIXEL_FORMAT_R32_FLOAT_X8X24_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_X32_TYPELESS_G8X24_UINT\r\n ] ],\r\n [ 4, [\r\n PixelFormat.PIXEL_FORMAT_R10G10B10A2_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R10G10B10A2_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R10G10B10A2_UINT,\r\n PixelFormat.PIXEL_FORMAT_R11G11B10_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB,\r\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_UINT,\r\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_SNORM,\r\n PixelFormat.PIXEL_FORMAT_R8G8B8A8_SINT,\r\n PixelFormat.PIXEL_FORMAT_R16G16_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R16G16_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R16G16_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R16G16_UINT,\r\n PixelFormat.PIXEL_FORMAT_R16G16_SNORM,\r\n PixelFormat.PIXEL_FORMAT_R16G16_SINT,\r\n PixelFormat.PIXEL_FORMAT_R32_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_D32_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R32_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_R32_UINT,\r\n PixelFormat.PIXEL_FORMAT_R32_SINT,\r\n PixelFormat.PIXEL_FORMAT_R24G8_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_D24_UNORM_S8_UINT,\r\n PixelFormat.PIXEL_FORMAT_R24_UNORM_X8_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_X24_TYPELESS_G8_UINT,\r\n PixelFormat.PIXEL_FORMAT_R9G9B9E5_SHAREDEXP,\r\n PixelFormat.PIXEL_FORMAT_R8G8_B8G8_UNORM,\r\n PixelFormat.PIXEL_FORMAT_G8R8_G8B8_UNORM,\r\n PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM,\r\n PixelFormat.PIXEL_FORMAT_B8G8R8X8_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R10G10B10_XR_BIAS_A2_UNORM,\r\n PixelFormat.PIXEL_FORMAT_B8G8R8A8_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB,\r\n PixelFormat.PIXEL_FORMAT_B8G8R8X8_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_B8G8R8X8_UNORM_SRGB\r\n ] ],\r\n [ 2, [\r\n PixelFormat.PIXEL_FORMAT_R8G8_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R8G8_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R8G8_UINT,\r\n PixelFormat.PIXEL_FORMAT_R8G8_SNORM,\r\n PixelFormat.PIXEL_FORMAT_R8G8_SINT,\r\n PixelFormat.PIXEL_FORMAT_R16_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R16_FLOAT,\r\n PixelFormat.PIXEL_FORMAT_D16_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R16_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R16_UINT,\r\n PixelFormat.PIXEL_FORMAT_R16_SNORM,\r\n PixelFormat.PIXEL_FORMAT_R16_SINT,\r\n PixelFormat.PIXEL_FORMAT_B5G6R5_UNORM,\r\n PixelFormat.PIXEL_FORMAT_B5G5R5A1_UNORM\r\n ] ],\r\n [ 1, [\r\n PixelFormat.PIXEL_FORMAT_R8_TYPELESS,\r\n PixelFormat.PIXEL_FORMAT_R8_UNORM,\r\n PixelFormat.PIXEL_FORMAT_R8_UINT,\r\n PixelFormat.PIXEL_FORMAT_R8_SNORM,\r\n PixelFormat.PIXEL_FORMAT_R8_SINT,\r\n PixelFormat.PIXEL_FORMAT_A8_UNORM\r\n ] ]\r\n]);\r\n\r\nconst BYTES_BY_FORMAT = new Map();\r\n\r\nfor (const [ bytes, formats ] of BYTES_PER_PIXEL)\r\n{\r\n for (const format of formats) BYTES_BY_FORMAT.set(format, bytes);\r\n}\r\n\r\n/**\r\n * Bytes in one pixel, or 0 for a compressed or unknown format.\r\n *\r\n * @param {number} format A `PixelFormat` value.\r\n * @returns {number} Size in bytes.\r\n */\r\nexport function GetBytesPerPixel(format)\r\n{\r\n const bytes = BYTES_BY_FORMAT.get(format);\r\n\r\n return bytes === undefined ? 0 : bytes;\r\n}\r\n\r\n\r\n/**\r\n * The canonical pixel-format STRING a texture payload carries\r\n * (`graphics/pixelFormats.js`, what the DDS and image readers emit) to Carbon's\r\n * numeric enum, which `Tr2BitmapDimensions` and every `Tr2TextureAL` speak.\r\n * Typeless, depth and packed formats have no string and are absent.\r\n */\r\nexport const PixelFormatFromCanonical = Object.freeze({\r\n \"r8unorm\": PixelFormat.PIXEL_FORMAT_R8_UNORM,\r\n \"rg8unorm\": PixelFormat.PIXEL_FORMAT_R8G8_UNORM,\r\n \"rgba8unorm\": PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM,\r\n \"rgba8unorm-srgb\": PixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB,\r\n \"bgra8unorm\": PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM,\r\n \"bgra8unorm-srgb\": PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB,\r\n \"r16float\": PixelFormat.PIXEL_FORMAT_R16_FLOAT,\r\n \"rg16float\": PixelFormat.PIXEL_FORMAT_R16G16_FLOAT,\r\n \"rgba16float\": PixelFormat.PIXEL_FORMAT_R16G16B16A16_FLOAT,\r\n \"r32float\": PixelFormat.PIXEL_FORMAT_R32_FLOAT,\r\n \"rg32float\": PixelFormat.PIXEL_FORMAT_R32G32_FLOAT,\r\n \"rgba32float\": PixelFormat.PIXEL_FORMAT_R32G32B32A32_FLOAT,\r\n \"bc1-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC1_UNORM,\r\n \"bc1-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC1_UNORM_SRGB,\r\n \"bc2-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC2_UNORM,\r\n \"bc2-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC2_UNORM_SRGB,\r\n \"bc3-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC3_UNORM,\r\n \"bc3-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC3_UNORM_SRGB,\r\n \"bc4-r-unorm\": PixelFormat.PIXEL_FORMAT_BC4_UNORM,\r\n \"bc4-r-snorm\": PixelFormat.PIXEL_FORMAT_BC4_SNORM,\r\n \"bc5-rg-unorm\": PixelFormat.PIXEL_FORMAT_BC5_UNORM,\r\n \"bc5-rg-snorm\": PixelFormat.PIXEL_FORMAT_BC5_SNORM,\r\n \"bc6h-rgb-ufloat\": PixelFormat.PIXEL_FORMAT_BC6H_UF16,\r\n \"bc6h-rgb-float\": PixelFormat.PIXEL_FORMAT_BC6H_SF16,\r\n \"bc7-rgba-unorm\": PixelFormat.PIXEL_FORMAT_BC7_UNORM,\r\n \"bc7-rgba-unorm-srgb\": PixelFormat.PIXEL_FORMAT_BC7_UNORM_SRGB\r\n});\r\n\r\n/**\r\n * Carbon's `ExFlag` (`Tr2RenderContextEnum.h:201-207`): extra creation options.\r\n *\r\n * A BITFIELD, and Carbon declares an `operator|` for it. Note the gap - there\r\n * is no `1 << 2`, and transcribing these as 0,1,2,3 would silently make\r\n * DRAW_INDIRECT collide with a flag Carbon does not have.\r\n */\r\nexport const ExFlag = Object.freeze({\r\n EX_NONE: 0,\r\n EX_CREATE_SHARED: 1,\r\n EX_BIND_UNORDERED_ACCESS: 2,\r\n EX_DRAW_INDIRECT: 8\r\n});\r\n\r\n/**\r\n * Maps a depth-stencil format to the pixel format a texture is created with.\r\n *\r\n * Carbon `Tr2RenderContextEnum::ConvertDepthStencilFormat`\r\n * (`Tr2RenderContextEnum.cpp:177-193`). It lives beside the two enums it maps\r\n * between rather than on any one caller: `Tr2DepthStencil` needs it and so does\r\n * Metal's upscaling path, and a second copy is how two tables drift.\r\n *\r\n * AUTO AND READABLE RESOLVE TO D24S8, which is Carbon's choice rather than an\r\n * inference - they share a case with the explicit D24 formats. Anything else,\r\n * including the lockable D15S1 and D24X4S4 that no backend here creates,\r\n * resolves to UNKNOWN, and a texture create refuses it.\r\n *\r\n * @param {number} format A `DepthStencilFormat` value.\r\n * @returns {number} A `PixelFormat` value.\r\n */\r\nexport function ConvertDepthStencilFormat(format)\r\n{\r\n switch (format)\r\n {\r\n case DepthStencilFormat.DSFMT_D24S8:\r\n case DepthStencilFormat.DSFMT_D24X8:\r\n case DepthStencilFormat.DSFMT_AUTO:\r\n case DepthStencilFormat.DSFMT_READABLE:\r\n case DepthStencilFormat.DSFMT_D24FS8:\r\n return PixelFormat.PIXEL_FORMAT_D24_UNORM_S8_UINT;\r\n\r\n case DepthStencilFormat.DSFMT_D16:\r\n case DepthStencilFormat.DSFMT_D16_LOCKABLE:\r\n return PixelFormat.PIXEL_FORMAT_D16_UNORM;\r\n\r\n case DepthStencilFormat.DSFMT_D32:\r\n case DepthStencilFormat.DSFMT_D32F:\r\n case DepthStencilFormat.DSFMT_D32F_LOCKABLE:\r\n return PixelFormat.PIXEL_FORMAT_D32_FLOAT;\r\n\r\n default:\r\n return PixelFormat.PIXEL_FORMAT_UNKNOWN;\r\n }\r\n}\r\n"],"names":["PixelFormat","Object","freeze","PIXEL_FORMAT_UNKNOWN","PIXEL_FORMAT_R32G32B32A32_TYPELESS","PIXEL_FORMAT_R32G32B32A32_FLOAT","PIXEL_FORMAT_R32G32B32A32_UINT","PIXEL_FORMAT_R32G32B32A32_SINT","PIXEL_FORMAT_R32G32B32_TYPELESS","PIXEL_FORMAT_R32G32B32_FLOAT","PIXEL_FORMAT_R32G32B32_UINT","PIXEL_FORMAT_R32G32B32_SINT","PIXEL_FORMAT_R16G16B16A16_TYPELESS","PIXEL_FORMAT_R16G16B16A16_FLOAT","PIXEL_FORMAT_R16G16B16A16_UNORM","PIXEL_FORMAT_R16G16B16A16_UINT","PIXEL_FORMAT_R16G16B16A16_SNORM","PIXEL_FORMAT_R16G16B16A16_SINT","PIXEL_FORMAT_R32G32_TYPELESS","PIXEL_FORMAT_R32G32_FLOAT","PIXEL_FORMAT_R32G32_UINT","PIXEL_FORMAT_R32G32_SINT","PIXEL_FORMAT_R32G8X24_TYPELESS","PIXEL_FORMAT_D32_FLOAT_S8X24_UINT","PIXEL_FORMAT_R32_FLOAT_X8X24_TYPELESS","PIXEL_FORMAT_X32_TYPELESS_G8X24_UINT","PIXEL_FORMAT_R10G10B10A2_TYPELESS","PIXEL_FORMAT_R10G10B10A2_UNORM","PIXEL_FORMAT_R10G10B10A2_UINT","PIXEL_FORMAT_R11G11B10_FLOAT","PIXEL_FORMAT_R8G8B8A8_TYPELESS","PIXEL_FORMAT_R8G8B8A8_UNORM","PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB","PIXEL_FORMAT_R8G8B8A8_UINT","PIXEL_FORMAT_R8G8B8A8_SNORM","PIXEL_FORMAT_R8G8B8A8_SINT","PIXEL_FORMAT_R16G16_TYPELESS","PIXEL_FORMAT_R16G16_FLOAT","PIXEL_FORMAT_R16G16_UNORM","PIXEL_FORMAT_R16G16_UINT","PIXEL_FORMAT_R16G16_SNORM","PIXEL_FORMAT_R16G16_SINT","PIXEL_FORMAT_R32_TYPELESS","PIXEL_FORMAT_D32_FLOAT","PIXEL_FORMAT_R32_FLOAT","PIXEL_FORMAT_R32_UINT","PIXEL_FORMAT_R32_SINT","PIXEL_FORMAT_R24G8_TYPELESS","PIXEL_FORMAT_D24_UNORM_S8_UINT","PIXEL_FORMAT_R24_UNORM_X8_TYPELESS","PIXEL_FORMAT_X24_TYPELESS_G8_UINT","PIXEL_FORMAT_R8G8_TYPELESS","PIXEL_FORMAT_R8G8_UNORM","PIXEL_FORMAT_R8G8_UINT","PIXEL_FORMAT_R8G8_SNORM","PIXEL_FORMAT_R8G8_SINT","PIXEL_FORMAT_R16_TYPELESS","PIXEL_FORMAT_R16_FLOAT","PIXEL_FORMAT_D16_UNORM","PIXEL_FORMAT_R16_UNORM","PIXEL_FORMAT_R16_UINT","PIXEL_FORMAT_R16_SNORM","PIXEL_FORMAT_R16_SINT","PIXEL_FORMAT_R8_TYPELESS","PIXEL_FORMAT_R8_UNORM","PIXEL_FORMAT_R8_UINT","PIXEL_FORMAT_R8_SNORM","PIXEL_FORMAT_R8_SINT","PIXEL_FORMAT_A8_UNORM","PIXEL_FORMAT_R1_UNORM","PIXEL_FORMAT_R9G9B9E5_SHAREDEXP","PIXEL_FORMAT_R8G8_B8G8_UNORM","PIXEL_FORMAT_G8R8_G8B8_UNORM","PIXEL_FORMAT_BC1_TYPELESS","PIXEL_FORMAT_BC1_UNORM","PIXEL_FORMAT_BC1_UNORM_SRGB","PIXEL_FORMAT_BC2_TYPELESS","PIXEL_FORMAT_BC2_UNORM","PIXEL_FORMAT_BC2_UNORM_SRGB","PIXEL_FORMAT_BC3_TYPELESS","PIXEL_FORMAT_BC3_UNORM","PIXEL_FORMAT_BC3_UNORM_SRGB","PIXEL_FORMAT_BC4_TYPELESS","PIXEL_FORMAT_BC4_UNORM","PIXEL_FORMAT_BC4_SNORM","PIXEL_FORMAT_BC5_TYPELESS","PIXEL_FORMAT_BC5_UNORM","PIXEL_FORMAT_BC5_SNORM","PIXEL_FORMAT_B5G6R5_UNORM","PIXEL_FORMAT_B5G5R5A1_UNORM","PIXEL_FORMAT_B8G8R8A8_UNORM","PIXEL_FORMAT_B8G8R8X8_UNORM","PIXEL_FORMAT_R10G10B10_XR_BIAS_A2_UNORM","PIXEL_FORMAT_B8G8R8A8_TYPELESS","PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB","PIXEL_FORMAT_B8G8R8X8_TYPELESS","PIXEL_FORMAT_B8G8R8X8_UNORM_SRGB","PIXEL_FORMAT_BC6H_TYPELESS","PIXEL_FORMAT_BC6H_UF16","PIXEL_FORMAT_BC6H_SF16","PIXEL_FORMAT_BC7_TYPELESS","PIXEL_FORMAT_BC7_UNORM","PIXEL_FORMAT_BC7_UNORM_SRGB","PIXEL_FORMAT_SENTINEL","PIXEL_FORMAT_FORCE_UINT","DepthStencilFormat","DSFMT_UNKNOWN","DSFMT_D24S8","DSFMT_D24X8","DSFMT_D24FS8","DSFMT_D32F","DSFMT_D32","DSFMT_READABLE","DSFMT_AUTO","DSFMT_D16_LOCKABLE","DSFMT_D15S1","DSFMT_D24X4S4","DSFMT_D16","DSFMT_D32F_LOCKABLE","TextureType","TEX_TYPE_1D","TEX_TYPE_2D","TEX_TYPE_3D","TEX_TYPE_CUBE","TEX_TYPE_TYPELESS","TEX_TYPE_BUFFER","TEX_TYPE_STRUCTURED_BUFFER","TEX_TYPE_TBUFFER","TEX_TYPE_BYTEADDRESS_BUFFER","TEX_TYPE_UAV_RWTYPED","TEX_TYPE_UAV_RWSTRUCTURED","TEX_TYPE_UAV_RWBYTEADDRESS","TEX_TYPE_UAV_APPEND_STRUCTURED","TEX_TYPE_UAV_CONSUME_STRUCTURED","TEX_TYPE_UAV_RWSTRUCTURED_WITH_COUNTER","TEX_TYPE_RAYTRACING_ACCELERATION_STRUCTURE","TEX_TYPE_INVALID","COMPRESSED_FORMATS","Set","EIGHT_BYTE_BLOCK_FORMATS","IsCompressedFormat","format","has","GetBlockByteSize","BYTES_PER_PIXEL","Map","BYTES_BY_FORMAT","bytes","formats","set","GetBytesPerPixel","get","undefined","PixelFormatFromCanonical","ExFlag","EX_NONE","EX_CREATE_SHARED","EX_BIND_UNORDERED_ACCESS","EX_DRAW_INDIRECT","ConvertDepthStencilFormat"],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { CjsSchema } from '#schema';
|
|
2
|
-
import { TextureType, PixelFormat, IsCompressedFormat, GetBlockByteSize, GetBytesPerPixel } from '../
|
|
3
|
-
import '../
|
|
2
|
+
import { TextureType, PixelFormat, IsCompressedFormat, GetBlockByteSize, GetBytesPerPixel } from '../consts/renderContext/formats.js';
|
|
3
|
+
import '../consts/renderContext/pipeline.js';
|
|
4
4
|
|
|
5
5
|
// Source: imageio/include/BitmapDimensions.h
|
|
6
6
|
//
|
|
7
|
-
// `
|
|
8
|
-
// `
|
|
9
|
-
//
|
|
7
|
+
// `ImageIO::BitmapDimensions`. The abstraction layer knows it by its own alias,
|
|
8
|
+
// `Tr2BitmapDimensions` (`Tr2RenderContextEnum.h:435`), which
|
|
9
|
+
// `trinityal/Tr2BitmapDimensions.js` re-exports; it is the type every texture
|
|
10
|
+
// create, map and copy is described in, and the base of `HostBitmap`. It lives
|
|
11
|
+
// in global/imageio because both the resource layer and the abstraction layer
|
|
12
|
+
// use it, and neither may import the other. It holds the seven
|
|
10
13
|
// numbers that always travel together - type, format, width, height, depth,
|
|
11
14
|
// mip count, array size - and the mip arithmetic that would otherwise be
|
|
12
15
|
// rewritten at every call site.
|
|
@@ -40,7 +43,7 @@ import '../global/consts/renderContext/pipeline.js';
|
|
|
40
43
|
* and the pass attachments are `struct`s in Carbon with public members, and stay
|
|
41
44
|
* that way.
|
|
42
45
|
*/
|
|
43
|
-
class
|
|
46
|
+
class BitmapDimensions {
|
|
44
47
|
/** Width of mip zero. */
|
|
45
48
|
_width = 0;
|
|
46
49
|
|
|
@@ -98,10 +101,10 @@ class Tr2BitmapDimensions {
|
|
|
98
101
|
* @param {number} height Height of mip zero.
|
|
99
102
|
* @param {number} mipCount Declared mip count.
|
|
100
103
|
* @param {number} format A `PixelFormat` value.
|
|
101
|
-
* @returns {
|
|
104
|
+
* @returns {BitmapDimensions} The description.
|
|
102
105
|
*/
|
|
103
|
-
static
|
|
104
|
-
return new
|
|
106
|
+
static texture2D(width, height, mipCount, format) {
|
|
107
|
+
return new BitmapDimensions({
|
|
105
108
|
type: TextureType.TEX_TYPE_2D,
|
|
106
109
|
format,
|
|
107
110
|
width,
|
|
@@ -307,7 +310,7 @@ class Tr2BitmapDimensions {
|
|
|
307
310
|
/**
|
|
308
311
|
* Whether two descriptions name the same texture layout.
|
|
309
312
|
*
|
|
310
|
-
* @param {
|
|
313
|
+
* @param {BitmapDimensions} other The description to compare with.
|
|
311
314
|
* @returns {boolean} True when every field matches.
|
|
312
315
|
*/
|
|
313
316
|
Equals(other) {
|
|
@@ -321,10 +324,11 @@ class Tr2BitmapDimensions {
|
|
|
321
324
|
// that reaches this file without a build first. `CjsSchema.define` is the same
|
|
322
325
|
// metadata through the door the schema already provides for exactly this, and
|
|
323
326
|
// it keeps the layer free of the decorator chain it has never carried.
|
|
324
|
-
CjsSchema.define(
|
|
325
|
-
className: "
|
|
326
|
-
carbon: "BitmapDimensions"
|
|
327
|
+
CjsSchema.define(BitmapDimensions, {
|
|
328
|
+
className: "BitmapDimensions",
|
|
329
|
+
carbon: "BitmapDimensions",
|
|
330
|
+
aliases: ["Tr2BitmapDimensions"]
|
|
327
331
|
});
|
|
328
332
|
|
|
329
|
-
export {
|
|
330
|
-
//# sourceMappingURL=
|
|
333
|
+
export { BitmapDimensions };
|
|
334
|
+
//# sourceMappingURL=BitmapDimensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BitmapDimensions.js","sources":["../../../../src/global/imageio/BitmapDimensions.js"],"sourcesContent":["// Source: imageio/include/BitmapDimensions.h\n//\n// `ImageIO::BitmapDimensions`. The abstraction layer knows it by its own alias,\n// `Tr2BitmapDimensions` (`Tr2RenderContextEnum.h:435`), which\n// `trinityal/Tr2BitmapDimensions.js` re-exports; it is the type every texture\n// create, map and copy is described in, and the base of `HostBitmap`. It lives\n// in global/imageio because both the resource layer and the abstraction layer\n// use it, and neither may import the other. It holds the seven\n// numbers that always travel together - type, format, width, height, depth,\n// mip count, array size - and the mip arithmetic that would otherwise be\n// rewritten at every call site.\n//\n// THE MIP MATH IS THE POINT, and it is not obvious. A compressed mip is not\n// \"width >> level\": it rounds UP to a multiple of four and never falls below\n// four, because a BC block is 4x4 and a 2x2 mip still occupies a whole block.\n// Getting that wrong produces a pitch that is right for the top mip and wrong\n// for every mip after it, which is the kind of defect that shows up as a\n// diagonal smear rather than as an error.\n//\n// ONE LANGUAGE DIFFERENCE. Carbon has four constructor overloads; JavaScript\n// has none, so the constructor takes a description object whose defaults are\n// the default constructor's values, and `Texture2D` names the four-argument\n// overload the render context uses.\n\nimport { CjsSchema } from \"#schema\";\nimport {\n PixelFormat,\n TextureType,\n IsCompressedFormat,\n GetBlockByteSize,\n GetBytesPerPixel\n} from \"../consts/renderContext/index.js\";\n\n\n/**\n * The dimensions, format and mip layout of a texture.\n *\n * STATE IS PRIVATE, BEHIND THE ACCESSORS CARBON ALREADY HAS. Its members were\n * public here and are not in Carbon: `TriTextureRes` DERIVES from this type and\n * reaches its size through `Tr2BitmapDimensions::GetWidth()`\n * (`TriTextureRes.h:33,48-52`), which only works because the members are not\n * the interface. The accessors below already existed, so the public fields were\n * a second way to read the same state.\n *\n * The abstraction layer is engine machinery, not authored parameters (operator,\n * 2026-09-05), so nothing here is a knob a human sets. The value TYPES it passes\n * around are a different matter: `Tr2MsaaDesc`, the texture box and subresource,\n * and the pass attachments are `struct`s in Carbon with public members, and stay\n * that way.\n */\nexport class BitmapDimensions\n{\n /** Width of mip zero. */\n _width = 0;\n\n /** Height of mip zero. */\n _height = 0;\n\n /** Carbon's `m_volumeDepth`; 1 for anything that is not a volume texture. */\n _depth = 0;\n\n /** Declared mip count. Zero means \"a full chain\" - see `GetTrueMipCount`. */\n _mipCount = 0;\n\n /** Slices. Six for a cube. */\n _arraySize = 1;\n\n /** A `TextureType` value. */\n _type = TextureType.TEX_TYPE_INVALID;\n\n /** A `PixelFormat` value. */\n _format = PixelFormat.PIXEL_FORMAT_UNKNOWN;\n\n /**\n * @param {object} [description] Texture description.\n * @param {number} [description.type] A `TextureType` value.\n * @param {number} [description.format] A `PixelFormat` value.\n * @param {number} [description.width] Width of mip zero.\n * @param {number} [description.height] Height of mip zero.\n * @param {number} [description.depth] Volume depth.\n * @param {number} [description.mipCount] Declared mip count, or zero for a full chain.\n * @param {number} [description.arraySize] Slices; defaults to six for a cube.\n */\n constructor(description = {})\n {\n const {\n type = TextureType.TEX_TYPE_INVALID,\n format = PixelFormat.PIXEL_FORMAT_UNKNOWN,\n width = 0,\n height = 0,\n depth = 0,\n mipCount = 0,\n arraySize = type === TextureType.TEX_TYPE_CUBE ? 6 : 1\n } = description;\n\n this._type = type;\n this._format = format;\n this._width = width;\n this._height = height;\n this._depth = depth;\n this._mipCount = mipCount;\n this._arraySize = arraySize;\n }\n\n /**\n * Carbon's four-argument overload: a plain 2D texture with one slice.\n *\n * @param {number} width Width of mip zero.\n * @param {number} height Height of mip zero.\n * @param {number} mipCount Declared mip count.\n * @param {number} format A `PixelFormat` value.\n * @returns {BitmapDimensions} The description.\n */\n static texture2D(width, height, mipCount, format)\n {\n return new BitmapDimensions({\n type: TextureType.TEX_TYPE_2D,\n format,\n width,\n height,\n depth: 1,\n mipCount\n });\n }\n\n /**\n * Width of mip zero.\n *\n * @returns {number} Width in pixels.\n */\n GetWidth()\n {\n return this._width;\n }\n\n /**\n * Height of mip zero.\n *\n * @returns {number} Height in pixels.\n */\n GetHeight()\n {\n return this._height;\n }\n\n /**\n * Volume depth.\n *\n * @returns {number} Depth in slices.\n */\n GetDepth()\n {\n return this._depth;\n }\n\n /**\n * The pixel format.\n *\n * @returns {number} A `PixelFormat` value.\n */\n GetFormat()\n {\n return this._format;\n }\n\n /**\n * The texture type.\n *\n * @returns {number} A `TextureType` value.\n */\n GetType()\n {\n return this._type;\n }\n\n /**\n * Slices in the array.\n *\n * @returns {number} Array size.\n */\n GetArraySize()\n {\n return this._arraySize;\n }\n\n /**\n * The DECLARED mip count, which may be zero.\n *\n * @returns {number} Mip levels as declared.\n */\n GetMipCount()\n {\n return this._mipCount;\n }\n\n /**\n * The mip count in effect.\n *\n * A declared zero means \"as many as the size allows\", so this counts them\n * rather than reporting nothing.\n *\n * @returns {number} Mip levels.\n */\n GetTrueMipCount()\n {\n if (this._mipCount > 0) return this._mipCount;\n\n let size = Math.max(this._width, this._height);\n let count = 0;\n\n while (size)\n {\n ++count;\n size >>= 1;\n }\n\n return count;\n }\n\n /**\n * Whether the format stores blocks rather than pixels.\n *\n * @returns {boolean} True for the BC family.\n */\n IsCompressed()\n {\n return IsCompressedFormat(this._format);\n }\n\n /**\n * Carbon's `HasMipmap`: anything but exactly one level.\n *\n * @returns {boolean} True when the texture is mipped.\n */\n HasMipmap()\n {\n return this._mipCount !== 1;\n }\n\n /**\n * Width of one mip, in pixels.\n *\n * A compressed mip rounds up to a whole block and never falls below four.\n *\n * @param {number} level Mip level.\n * @returns {number} Width, or zero past the end of the chain.\n */\n GetMipWidth(level)\n {\n if (level >= this.GetTrueMipCount()) return 0;\n\n if (this.IsCompressed()) return Math.max(((this._width >> level) + 3) & ~3, 4);\n\n return Math.max(this._width >> level, 1);\n }\n\n /**\n * Height of one mip, in pixels. Rounds the same way as `GetMipWidth`.\n *\n * @param {number} level Mip level.\n * @returns {number} Height, or zero past the end of the chain.\n */\n GetMipHeight(level)\n {\n if (level >= this.GetTrueMipCount()) return 0;\n\n if (this.IsCompressed()) return Math.max(((this._height >> level) + 3) & ~3, 4);\n\n return Math.max(this._height >> level, 1);\n }\n\n /**\n * Depth of one mip. Only a volume texture has more than one.\n *\n * @param {number} level Mip level.\n * @returns {number} Depth, or zero past the end of the chain.\n */\n GetMipDepth(level)\n {\n if (this._type !== TextureType.TEX_TYPE_3D) return 1;\n\n if (level >= this.GetTrueMipCount()) return 0;\n\n return Math.max(this._depth >> level, 1);\n }\n\n /**\n * Bytes in one row of a mip.\n *\n * For a compressed format a \"row\" is a row of BLOCKS, so the width is\n * divided by four before the block size is applied.\n *\n * @param {number} level Mip level.\n * @returns {number} Pitch in bytes.\n */\n GetMipPitch(level)\n {\n if (level >= this.GetTrueMipCount()) return 0;\n\n if (this.IsCompressed()) return this.GetMipWidth(level) / 4 * GetBlockByteSize(this._format);\n\n return this.GetMipWidth(level) * GetBytesPerPixel(this._format);\n }\n\n /**\n * Bytes in one mip.\n *\n * @param {number} level Mip level.\n * @returns {number} Size in bytes.\n */\n GetMipSize(level)\n {\n const pixels = this.GetMipWidth(level) * this.GetMipHeight(level) * this.GetMipDepth(level);\n\n if (this.IsCompressed()) return pixels / 16 * GetBlockByteSize(this._format);\n\n return pixels * GetBytesPerPixel(this._format);\n }\n\n /**\n * Rows to copy for a mip: block rows when compressed, pixel rows otherwise.\n *\n * @param {number} level Mip level.\n * @returns {number} Row count.\n */\n GetMipNumRows(level)\n {\n return this.IsCompressed() ? this.GetMipHeight(level) / 4 : this.GetMipHeight(level);\n }\n\n /**\n * Clears the description to \"no texture\".\n *\n * `BitmapDimensions::Destroy` (`imageio/include/BitmapDimensions.h:77-81`),\n * and the ODD PART IS CARBON'S: the line zeroing width, height, depth and mip\n * count is commented out there, so only the type and format are cleared and\n * the dimensions survive. `TriTextureRes::SetTexture` calls this when a\n * texture goes invalid (`TriTextureRes.cpp:1163`), where the surviving\n * dimensions are what a caller still reads back. Transcribed rather than\n * tidied - a port that also zeroed them would answer differently.\n *\n * @returns {void}\n */\n Destroy()\n {\n this._type = TextureType.TEX_TYPE_INVALID;\n this._format = PixelFormat.PIXEL_FORMAT_UNKNOWN;\n }\n\n /**\n * Whether two descriptions name the same texture layout.\n *\n * @param {BitmapDimensions} other The description to compare with.\n * @returns {boolean} True when every field matches.\n */\n Equals(other)\n {\n return this._width === other.width &&\n this._height === other.height &&\n this._depth === other.depth &&\n this._mipCount === other.mipCount &&\n this._arraySize === other.arraySize &&\n this._type === other.type &&\n this._format === other.format;\n }\n}\n\n\n// DECLARED AS A CALL, NOT A DECORATOR. The abstraction layer is imported\n// straight from source by its tests - `#trinityal/...` resolves to `src/` - and\n// raw Node cannot parse decorator syntax, so a decorator here breaks every test\n// that reaches this file without a build first. `CjsSchema.define` is the same\n// metadata through the door the schema already provides for exactly this, and\n// it keeps the layer free of the decorator chain it has never carried.\nCjsSchema.define(BitmapDimensions, { className: \"BitmapDimensions\", carbon: \"BitmapDimensions\", aliases: [ \"Tr2BitmapDimensions\" ] });\n"],"names":["BitmapDimensions","_width","_height","_depth","_mipCount","_arraySize","_type","TextureType","TEX_TYPE_INVALID","_format","PixelFormat","PIXEL_FORMAT_UNKNOWN","constructor","description","type","format","width","height","depth","mipCount","arraySize","TEX_TYPE_CUBE","texture2D","TEX_TYPE_2D","GetWidth","GetHeight","GetDepth","GetFormat","GetType","GetArraySize","GetMipCount","GetTrueMipCount","size","Math","max","count","IsCompressed","IsCompressedFormat","HasMipmap","GetMipWidth","level","GetMipHeight","GetMipDepth","TEX_TYPE_3D","GetMipPitch","GetBlockByteSize","GetBytesPerPixel","GetMipSize","pixels","GetMipNumRows","Destroy","Equals","other","CjsSchema","define","className","carbon","aliases"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CjsSchema } from '#schema';
|
|
2
|
+
|
|
3
|
+
// Source: imageio/include/Tr2ImageHandler.h (Cutout)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/** `ImageIO::Cutout` - the normalized sub-rectangle a PNG can declare. */
|
|
7
|
+
class Cutout {
|
|
8
|
+
/** x - left edge, 0..1. */
|
|
9
|
+
x = 0;
|
|
10
|
+
|
|
11
|
+
/** y - top edge, 0..1. */
|
|
12
|
+
y = 0;
|
|
13
|
+
|
|
14
|
+
/** width - 0..1. */
|
|
15
|
+
width = 1;
|
|
16
|
+
|
|
17
|
+
/** height - 0..1. */
|
|
18
|
+
height = 1;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// A call, not a decorator: see BitmapDimensions.js.
|
|
22
|
+
CjsSchema.define(Cutout, {
|
|
23
|
+
className: "Cutout",
|
|
24
|
+
carbon: "Cutout"
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export { Cutout };
|
|
28
|
+
//# sourceMappingURL=Cutout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cutout.js","sources":["../../../../src/global/imageio/Cutout.js"],"sourcesContent":["// Source: imageio/include/Tr2ImageHandler.h (Cutout)\n\nimport { CjsSchema } from \"#schema\";\n\n/** `ImageIO::Cutout` - the normalized sub-rectangle a PNG can declare. */\nexport class Cutout\n{\n /** x - left edge, 0..1. */\n x = 0;\n\n /** y - top edge, 0..1. */\n y = 0;\n\n /** width - 0..1. */\n width = 1;\n\n /** height - 0..1. */\n height = 1;\n}\n\n\n// A call, not a decorator: see BitmapDimensions.js.\nCjsSchema.define(Cutout, { className: \"Cutout\", carbon: \"Cutout\" });\n"],"names":["Cutout","x","y","width","height","CjsSchema","define","className","carbon"],"mappings":";;AAAA;;;AAIA;AACO,MAAMA,MAAM,CACnB;AACE;AACAC,EAAAA,CAAC,GAAG,CAAC;;AAEL;AACAC,EAAAA,CAAC,GAAG,CAAC;;AAEL;AACAC,EAAAA,KAAK,GAAG,CAAC;;AAET;AACAC,EAAAA,MAAM,GAAG,CAAC;AACZ;;AAGA;AACAC,SAAS,CAACC,MAAM,CAACN,MAAM,EAAE;AAAEO,EAAAA,SAAS,EAAE,QAAQ;AAAEC,EAAAA,MAAM,EAAE;AAAS,CAAC,CAAC;;;;"}
|