{"version":3,"file":"getSupportedGPUCompressedTextureFormats.mjs","sources":["../../../../../../src/rendering/renderers/gpu/texture/utils/getSupportedGPUCompressedTextureFormats.ts"],"sourcesContent":["import { DOMAdapter } from '../../../../../environment/adapter';\n\nimport type { TEXTURE_FORMATS } from '../../../shared/texture/const';\n\nlet supportedGPUCompressedTextureFormats: TEXTURE_FORMATS[];\n\n/** @internal */\nexport async function getSupportedGPUCompressedTextureFormats(): Promise<TEXTURE_FORMATS[]>\n{\n    if (supportedGPUCompressedTextureFormats) return supportedGPUCompressedTextureFormats;\n\n    const adapter = await DOMAdapter.get().getNavigator().gpu.requestAdapter();\n\n    supportedGPUCompressedTextureFormats = [\n        ...adapter.features.has('texture-compression-bc') ? [\n            // BC compressed formats usable if \"texture-compression-bc\" is both\n            // supported by the device/user agent and enabled in requestDevice.\n            'bc1-rgba-unorm',\n            'bc1-rgba-unorm-srgb',\n            'bc2-rgba-unorm',\n            'bc2-rgba-unorm-srgb',\n            'bc3-rgba-unorm',\n            'bc3-rgba-unorm-srgb',\n            'bc4-r-unorm',\n            'bc4-r-snorm',\n            'bc5-rg-unorm',\n            'bc5-rg-snorm',\n            'bc6h-rgb-ufloat',\n            'bc6h-rgb-float',\n            'bc7-rgba-unorm',\n            'bc7-rgba-unorm-srgb',\n        ] : [],\n        ...adapter.features.has('texture-compression-etc2') ? [\n            // ETC2 compressed formats usable if \"texture-compression-etc2\" is both\n            // supported by the device/user agent and enabled in requestDevice.\n            'etc2-rgb8unorm',\n            'etc2-rgb8unorm-srgb',\n            'etc2-rgb8a1unorm',\n            'etc2-rgb8a1unorm-srgb',\n            'etc2-rgba8unorm',\n            'etc2-rgba8unorm-srgb',\n            'eac-r11unorm',\n            'eac-r11snorm',\n            'eac-rg11unorm',\n            'eac-rg11snorm',\n        ] : [],\n        ...adapter.features.has('texture-compression-astc') ? [\n            // ASTC compressed formats usable if \"texture-compression-astc\" is both\n            // supported by the device/user agent and enabled in requestDevice.\n            'astc-4x4-unorm',\n            'astc-4x4-unorm-srgb',\n            'astc-5x4-unorm',\n            'astc-5x4-unorm-srgb',\n            'astc-5x5-unorm',\n            'astc-5x5-unorm-srgb',\n            'astc-6x5-unorm',\n            'astc-6x5-unorm-srgb',\n            'astc-6x6-unorm',\n            'astc-6x6-unorm-srgb',\n            'astc-8x5-unorm',\n            'astc-8x5-unorm-srgb',\n            'astc-8x6-unorm',\n            'astc-8x6-unorm-srgb',\n            'astc-8x8-unorm',\n            'astc-8x8-unorm-srgb',\n            'astc-10x5-unorm',\n            'astc-10x5-unorm-srgb',\n            'astc-10x6-unorm',\n            'astc-10x6-unorm-srgb',\n            'astc-10x8-unorm',\n            'astc-10x8-unorm-srgb',\n            'astc-10x10-unorm',\n            'astc-10x10-unorm-srgb',\n            'astc-12x10-unorm',\n            'astc-12x10-unorm-srgb',\n            'astc-12x12-unorm',\n            'astc-12x12-unorm-srgb',\n        ] : [],\n    ] as TEXTURE_FORMATS[];\n\n    return supportedGPUCompressedTextureFormats;\n}\n"],"names":[],"mappings":";;;AAIA,IAAI,oCAAA;AAGJ,eAAsB,uCAAA,GACtB;AACI,EAAA,IAAI,sCAAsC,OAAO,oCAAA;AAEjD,EAAA,MAAM,OAAA,GAAU,MAAM,UAAA,CAAW,GAAA,GAAM,YAAA,EAAa,CAAE,IAAI,cAAA,EAAe;AAEzE,EAAA,oCAAA,GAAuC;AAAA,IACnC,GAAG,OAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,wBAAwB,CAAA,GAAI;AAAA;AAAA;AAAA,MAGhD,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA;AAAA,QACA,EAAC;AAAA,IACL,GAAG,OAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,0BAA0B,CAAA,GAAI;AAAA;AAAA;AAAA,MAGlD,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,kBAAA;AAAA,MACA,uBAAA;AAAA,MACA,iBAAA;AAAA,MACA,sBAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA;AAAA,QACA,EAAC;AAAA,IACL,GAAG,OAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,0BAA0B,CAAA,GAAI;AAAA;AAAA;AAAA,MAGlD,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,iBAAA;AAAA,MACA,sBAAA;AAAA,MACA,iBAAA;AAAA,MACA,sBAAA;AAAA,MACA,iBAAA;AAAA,MACA,sBAAA;AAAA,MACA,kBAAA;AAAA,MACA,uBAAA;AAAA,MACA,kBAAA;AAAA,MACA,uBAAA;AAAA,MACA,kBAAA;AAAA,MACA;AAAA,QACA;AAAC,GACT;AAEA,EAAA,OAAO,oCAAA;AACX;;;;"}