pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 6.47 kB
Source Map (JSON)
{"version":3,"file":"glUploadCompressedTextureResource.mjs","sources":["../../../../../../src/rendering/renderers/gl/texture/uploaders/glUploadCompressedTextureResource.ts"],"sourcesContent":["import type { CompressedSource } from '../../../shared/texture/sources/CompressedSource';\nimport type { GlRenderingContext } from '../../context/GlRenderingContext';\nimport type { GlTexture } from '../GlTexture';\nimport type { GLTextureUploader } from './GLTextureUploader';\n\nconst compressedFormatMap: Record<string, boolean> = {\n 'bc1-rgba-unorm': true,\n 'bc1-rgba-unorm-srgb': true,\n 'bc2-rgba-unorm': true,\n 'bc2-rgba-unorm-srgb': true,\n 'bc3-rgba-unorm': true,\n 'bc3-rgba-unorm-srgb': true,\n 'bc4-r-unorm': true,\n 'bc4-r-snorm': true,\n 'bc5-rg-unorm': true,\n 'bc5-rg-snorm': true,\n 'bc6h-rgb-ufloat': true,\n 'bc6h-rgb-float': true,\n 'bc7-rgba-unorm': true,\n 'bc7-rgba-unorm-srgb': true,\n\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': true,\n 'etc2-rgb8unorm-srgb': true,\n 'etc2-rgb8a1unorm': true,\n 'etc2-rgb8a1unorm-srgb': true,\n 'etc2-rgba8unorm': true,\n 'etc2-rgba8unorm-srgb': true,\n 'eac-r11unorm': true,\n 'eac-r11snorm': true,\n 'eac-rg11unorm': true,\n 'eac-rg11snorm': true,\n\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': true,\n 'astc-4x4-unorm-srgb': true,\n 'astc-5x4-unorm': true,\n 'astc-5x4-unorm-srgb': true,\n 'astc-5x5-unorm': true,\n 'astc-5x5-unorm-srgb': true,\n 'astc-6x5-unorm': true,\n 'astc-6x5-unorm-srgb': true,\n 'astc-6x6-unorm': true,\n 'astc-6x6-unorm-srgb': true,\n 'astc-8x5-unorm': true,\n 'astc-8x5-unorm-srgb': true,\n 'astc-8x6-unorm': true,\n 'astc-8x6-unorm-srgb': true,\n 'astc-8x8-unorm': true,\n 'astc-8x8-unorm-srgb': true,\n 'astc-10x5-unorm': true,\n 'astc-10x5-unorm-srgb': true,\n 'astc-10x6-unorm': true,\n 'astc-10x6-unorm-srgb': true,\n 'astc-10x8-unorm': true,\n 'astc-10x8-unorm-srgb': true,\n 'astc-10x10-unorm': true,\n 'astc-10x10-unorm-srgb': true,\n 'astc-12x10-unorm': true,\n 'astc-12x10-unorm-srgb': true,\n 'astc-12x12-unorm': true,\n 'astc-12x12-unorm-srgb': true,\n};\n\n/** @internal */\nexport const glUploadCompressedTextureResource = {\n\n id: 'compressed',\n\n upload(\n source: CompressedSource,\n glTexture: GlTexture,\n gl: GlRenderingContext,\n _webGLVersion: number,\n targetOverride?: number,\n _forceAllocation?: boolean\n )\n {\n const target = targetOverride ?? glTexture.target;\n\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, 4);\n\n let mipWidth = source.pixelWidth;\n let mipHeight = source.pixelHeight;\n\n const compressed = !!compressedFormatMap[source.format];\n\n for (let i = 0; i < source.resource.length; i++)\n {\n const levelBuffer = source.resource[i];\n\n if (compressed)\n {\n gl.compressedTexImage2D(\n target, i, glTexture.internalFormat,\n mipWidth, mipHeight, 0,\n levelBuffer\n );\n }\n else\n {\n gl.texImage2D(\n target, i, glTexture.internalFormat,\n mipWidth, mipHeight, 0,\n glTexture.format, glTexture.type,\n levelBuffer);\n }\n\n mipWidth = Math.max(mipWidth >> 1, 1);\n mipHeight = Math.max(mipHeight >> 1, 1);\n }\n }\n} as GLTextureUploader;\n\n"],"names":[],"mappings":"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"}