{"version":3,"file":"createLevelBuffers.mjs","sources":["../../../../src/compressed-textures/basis/utils/createLevelBuffers.ts"],"sourcesContent":["import type { BasisTexture } from '../types';\n\n/**\n * @param basisTexture\n * @param basisTranscoderFormat\n * @internal\n */\nexport function createLevelBuffers(basisTexture: BasisTexture, basisTranscoderFormat: number): Uint8Array[]\n{\n    const images = basisTexture.getNumImages();\n    const levels = basisTexture.getNumLevels(0);\n\n    const success = basisTexture.startTranscoding();\n\n    if (!success)\n    {\n        throw new Error('startTranscoding failed');\n    }\n\n    const levelBuffers = [];\n\n    for (let levelIndex = 0; levelIndex < levels; ++levelIndex)\n    {\n        for (let sliceIndex = 0; sliceIndex < images; ++sliceIndex)\n        {\n            const transcodeSize = basisTexture.getImageTranscodedSizeInBytes(sliceIndex, levelIndex, basisTranscoderFormat);\n            const levelBuffer = new Uint8Array(transcodeSize);\n\n            const success = basisTexture.transcodeImage(levelBuffer, sliceIndex, levelIndex, basisTranscoderFormat, 1, 0);\n\n            if (!success)\n            {\n                throw new Error('transcodeImage failed');\n            }\n\n            levelBuffers.push(levelBuffer);\n        }\n    }\n\n    return levelBuffers;\n}\n"],"names":["success"],"mappings":";AAOO,SAAS,kBAAA,CAAmB,cAA4B,qBAAA,EAC/D;AACI,EAAA,MAAM,MAAA,GAAS,aAAa,YAAA,EAAa;AACzC,EAAA,MAAM,MAAA,GAAS,YAAA,CAAa,YAAA,CAAa,CAAC,CAAA;AAE1C,EAAA,MAAM,OAAA,GAAU,aAAa,gBAAA,EAAiB;AAE9C,EAAA,IAAI,CAAC,OAAA,EACL;AACI,IAAA,MAAM,IAAI,MAAM,yBAAyB,CAAA;AAAA,EAC7C;AAEA,EAAA,MAAM,eAAe,EAAC;AAEtB,EAAA,KAAA,IAAS,UAAA,GAAa,CAAA,EAAG,UAAA,GAAa,MAAA,EAAQ,EAAE,UAAA,EAChD;AACI,IAAA,KAAA,IAAS,UAAA,GAAa,CAAA,EAAG,UAAA,GAAa,MAAA,EAAQ,EAAE,UAAA,EAChD;AACI,MAAA,MAAM,aAAA,GAAgB,YAAA,CAAa,6BAAA,CAA8B,UAAA,EAAY,YAAY,qBAAqB,CAAA;AAC9G,MAAA,MAAM,WAAA,GAAc,IAAI,UAAA,CAAW,aAAa,CAAA;AAEhD,MAAA,MAAMA,QAAAA,GAAU,aAAa,cAAA,CAAe,WAAA,EAAa,YAAY,UAAA,EAAY,qBAAA,EAAuB,GAAG,CAAC,CAAA;AAE5G,MAAA,IAAI,CAACA,QAAAA,EACL;AACI,QAAA,MAAM,IAAI,MAAM,uBAAuB,CAAA;AAAA,MAC3C;AAEA,MAAA,YAAA,CAAa,KAAK,WAAW,CAAA;AAAA,IACjC;AAAA,EACJ;AAEA,EAAA,OAAO,YAAA;AACX;;;;"}