This commit is contained in:
Akko
2025-08-04 18:57:35 +02:00
parent 8cf6e78a79
commit 9495868c2e
5030 changed files with 518594 additions and 17609 deletions

View File

@@ -0,0 +1,2 @@
import type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';
export declare function convertFormatIfRequired(textureOptions: TextureSourceOptions): void;

View File

@@ -0,0 +1,35 @@
'use strict';
"use strict";
const converters = {
rgb8unorm: {
convertedFormat: "rgba8unorm",
convertFunction: convertRGBtoRGBA
},
"rgb8unorm-srgb": {
convertedFormat: "rgba8unorm-srgb",
convertFunction: convertRGBtoRGBA
}
};
function convertFormatIfRequired(textureOptions) {
const format = textureOptions.format;
if (converters[format]) {
const convertFunction = converters[format].convertFunction;
const levelBuffers = textureOptions.resource;
for (let i = 0; i < levelBuffers.length; i++) {
levelBuffers[i] = convertFunction(levelBuffers[i]);
}
textureOptions.format = converters[format].convertedFormat;
}
}
function convertRGBtoRGBA(levelBuffer) {
const pixelCount = levelBuffer.byteLength / 3;
const levelBufferWithAlpha = new Uint32Array(pixelCount);
for (let i = 0; i < pixelCount; ++i) {
levelBufferWithAlpha[i] = levelBuffer[i * 3] + (levelBuffer[i * 3 + 1] << 8) + (levelBuffer[i * 3 + 2] << 16) + 4278190080;
}
return new Uint8Array(levelBufferWithAlpha.buffer);
}
exports.convertFormatIfRequired = convertFormatIfRequired;
//# sourceMappingURL=convertFormatIfRequired.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"convertFormatIfRequired.js","sources":["../../../../src/compressed-textures/ktx2/utils/convertFormatIfRequired.ts"],"sourcesContent":["import type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';\nimport type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';\n\ninterface ColorConverter\n{\n convertedFormat: TEXTURE_FORMATS,\n convertFunction: (levelBuffer: Uint8Array) => Uint8Array\n}\n\nconst converters: Record<string, ColorConverter> = {\n rgb8unorm: {\n convertedFormat: 'rgba8unorm',\n convertFunction: convertRGBtoRGBA,\n },\n 'rgb8unorm-srgb': {\n convertedFormat: 'rgba8unorm-srgb',\n convertFunction: convertRGBtoRGBA,\n }\n};\n\nexport function convertFormatIfRequired(textureOptions: TextureSourceOptions)\n{\n const format = textureOptions.format;\n\n if (converters[format])\n {\n const convertFunction = converters[format].convertFunction;\n\n const levelBuffers = textureOptions.resource;\n\n for (let i = 0; i < levelBuffers.length; i++)\n {\n levelBuffers[i] = convertFunction(levelBuffers[i]);\n }\n\n textureOptions.format = converters[format].convertedFormat;\n }\n}\n\nfunction convertRGBtoRGBA(levelBuffer: Uint8Array): Uint8Array\n{\n const pixelCount = levelBuffer.byteLength / 3;\n\n const levelBufferWithAlpha = new Uint32Array(pixelCount);\n\n for (let i = 0; i < pixelCount; ++i)\n {\n levelBufferWithAlpha[i] = (levelBuffer[i * 3]) // R\n + (levelBuffer[(i * 3) + 1] << 8) // G\n + (levelBuffer[(i * 3) + 2] << 16) // B\n + 0xff000000; // A (255)\n }\n\n return new Uint8Array(levelBufferWithAlpha.buffer);\n}\n"],"names":[],"mappings":";;;AASA,MAAM,UAA6C,GAAA;AAAA,EAC/C,SAAW,EAAA;AAAA,IACP,eAAiB,EAAA,YAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AAAA,EACA,gBAAkB,EAAA;AAAA,IACd,eAAiB,EAAA,iBAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AACJ,CAAA,CAAA;AAEO,SAAS,wBAAwB,cACxC,EAAA;AACI,EAAA,MAAM,SAAS,cAAe,CAAA,MAAA,CAAA;AAE9B,EAAI,IAAA,UAAA,CAAW,MAAM,CACrB,EAAA;AACI,IAAM,MAAA,eAAA,GAAkB,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAE3C,IAAA,MAAM,eAAe,cAAe,CAAA,QAAA,CAAA;AAEpC,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,YAAA,CAAa,QAAQ,CACzC,EAAA,EAAA;AACI,MAAA,YAAA,CAAa,CAAC,CAAA,GAAI,eAAgB,CAAA,YAAA,CAAa,CAAC,CAAC,CAAA,CAAA;AAAA,KACrD;AAEA,IAAe,cAAA,CAAA,MAAA,GAAS,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAAA,GAC/C;AACJ,CAAA;AAEA,SAAS,iBAAiB,WAC1B,EAAA;AACI,EAAM,MAAA,UAAA,GAAa,YAAY,UAAa,GAAA,CAAA,CAAA;AAE5C,EAAM,MAAA,oBAAA,GAAuB,IAAI,WAAA,CAAY,UAAU,CAAA,CAAA;AAEvD,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,EAAY,EAAE,CAClC,EAAA;AACI,IAAA,oBAAA,CAAqB,CAAC,CAAK,GAAA,WAAA,CAAY,CAAI,GAAA,CAAC,KAClC,WAAa,CAAA,CAAA,GAAI,CAAK,GAAA,CAAC,KAAK,CAC5B,CAAA,IAAA,WAAA,CAAa,IAAI,CAAK,GAAA,CAAC,KAAK,EAC7B,CAAA,GAAA,UAAA,CAAA;AAAA,GACb;AAEA,EAAO,OAAA,IAAI,UAAW,CAAA,oBAAA,CAAqB,MAAM,CAAA,CAAA;AACrD;;;;"}

View File

@@ -0,0 +1,33 @@
"use strict";
const converters = {
rgb8unorm: {
convertedFormat: "rgba8unorm",
convertFunction: convertRGBtoRGBA
},
"rgb8unorm-srgb": {
convertedFormat: "rgba8unorm-srgb",
convertFunction: convertRGBtoRGBA
}
};
function convertFormatIfRequired(textureOptions) {
const format = textureOptions.format;
if (converters[format]) {
const convertFunction = converters[format].convertFunction;
const levelBuffers = textureOptions.resource;
for (let i = 0; i < levelBuffers.length; i++) {
levelBuffers[i] = convertFunction(levelBuffers[i]);
}
textureOptions.format = converters[format].convertedFormat;
}
}
function convertRGBtoRGBA(levelBuffer) {
const pixelCount = levelBuffer.byteLength / 3;
const levelBufferWithAlpha = new Uint32Array(pixelCount);
for (let i = 0; i < pixelCount; ++i) {
levelBufferWithAlpha[i] = levelBuffer[i * 3] + (levelBuffer[i * 3 + 1] << 8) + (levelBuffer[i * 3 + 2] << 16) + 4278190080;
}
return new Uint8Array(levelBufferWithAlpha.buffer);
}
export { convertFormatIfRequired };
//# sourceMappingURL=convertFormatIfRequired.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"convertFormatIfRequired.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/convertFormatIfRequired.ts"],"sourcesContent":["import type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';\nimport type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';\n\ninterface ColorConverter\n{\n convertedFormat: TEXTURE_FORMATS,\n convertFunction: (levelBuffer: Uint8Array) => Uint8Array\n}\n\nconst converters: Record<string, ColorConverter> = {\n rgb8unorm: {\n convertedFormat: 'rgba8unorm',\n convertFunction: convertRGBtoRGBA,\n },\n 'rgb8unorm-srgb': {\n convertedFormat: 'rgba8unorm-srgb',\n convertFunction: convertRGBtoRGBA,\n }\n};\n\nexport function convertFormatIfRequired(textureOptions: TextureSourceOptions)\n{\n const format = textureOptions.format;\n\n if (converters[format])\n {\n const convertFunction = converters[format].convertFunction;\n\n const levelBuffers = textureOptions.resource;\n\n for (let i = 0; i < levelBuffers.length; i++)\n {\n levelBuffers[i] = convertFunction(levelBuffers[i]);\n }\n\n textureOptions.format = converters[format].convertedFormat;\n }\n}\n\nfunction convertRGBtoRGBA(levelBuffer: Uint8Array): Uint8Array\n{\n const pixelCount = levelBuffer.byteLength / 3;\n\n const levelBufferWithAlpha = new Uint32Array(pixelCount);\n\n for (let i = 0; i < pixelCount; ++i)\n {\n levelBufferWithAlpha[i] = (levelBuffer[i * 3]) // R\n + (levelBuffer[(i * 3) + 1] << 8) // G\n + (levelBuffer[(i * 3) + 2] << 16) // B\n + 0xff000000; // A (255)\n }\n\n return new Uint8Array(levelBufferWithAlpha.buffer);\n}\n"],"names":[],"mappings":";AASA,MAAM,UAA6C,GAAA;AAAA,EAC/C,SAAW,EAAA;AAAA,IACP,eAAiB,EAAA,YAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AAAA,EACA,gBAAkB,EAAA;AAAA,IACd,eAAiB,EAAA,iBAAA;AAAA,IACjB,eAAiB,EAAA,gBAAA;AAAA,GACrB;AACJ,CAAA,CAAA;AAEO,SAAS,wBAAwB,cACxC,EAAA;AACI,EAAA,MAAM,SAAS,cAAe,CAAA,MAAA,CAAA;AAE9B,EAAI,IAAA,UAAA,CAAW,MAAM,CACrB,EAAA;AACI,IAAM,MAAA,eAAA,GAAkB,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAE3C,IAAA,MAAM,eAAe,cAAe,CAAA,QAAA,CAAA;AAEpC,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,YAAA,CAAa,QAAQ,CACzC,EAAA,EAAA;AACI,MAAA,YAAA,CAAa,CAAC,CAAA,GAAI,eAAgB,CAAA,YAAA,CAAa,CAAC,CAAC,CAAA,CAAA;AAAA,KACrD;AAEA,IAAe,cAAA,CAAA,MAAA,GAAS,UAAW,CAAA,MAAM,CAAE,CAAA,eAAA,CAAA;AAAA,GAC/C;AACJ,CAAA;AAEA,SAAS,iBAAiB,WAC1B,EAAA;AACI,EAAM,MAAA,UAAA,GAAa,YAAY,UAAa,GAAA,CAAA,CAAA;AAE5C,EAAM,MAAA,oBAAA,GAAuB,IAAI,WAAA,CAAY,UAAU,CAAA,CAAA;AAEvD,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,EAAY,EAAE,CAClC,EAAA;AACI,IAAA,oBAAA,CAAqB,CAAC,CAAK,GAAA,WAAA,CAAY,CAAI,GAAA,CAAC,KAClC,WAAa,CAAA,CAAA,GAAI,CAAK,GAAA,CAAC,KAAK,CAC5B,CAAA,IAAA,WAAA,CAAa,IAAI,CAAK,GAAA,CAAC,KAAK,EAC7B,CAAA,GAAA,UAAA,CAAA;AAAA,GACb;AAEA,EAAO,OAAA,IAAI,UAAW,CAAA,oBAAA,CAAqB,MAAM,CAAA,CAAA;AACrD;;;;"}

View File

@@ -0,0 +1,2 @@
import type { KTXTexture } from '../types';
export declare function createLevelBuffersFromKTX(ktxTexture: KTXTexture): Uint8Array[];

View File

@@ -0,0 +1,16 @@
'use strict';
"use strict";
function createLevelBuffersFromKTX(ktxTexture) {
const levelBuffers = [];
for (let i = 0; i < ktxTexture.numLevels; i++) {
const imageData = ktxTexture.getImageData(i, 0, 0);
const levelBuffer = new Uint8Array(imageData.byteLength);
levelBuffer.set(imageData);
levelBuffers.push(levelBuffer);
}
return levelBuffers;
}
exports.createLevelBuffersFromKTX = createLevelBuffersFromKTX;
//# sourceMappingURL=createLevelBuffersFromKTX.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createLevelBuffersFromKTX.js","sources":["../../../../src/compressed-textures/ktx2/utils/createLevelBuffersFromKTX.ts"],"sourcesContent":["import type { KTXTexture } from '../types';\n\nexport function createLevelBuffersFromKTX(ktxTexture: KTXTexture): Uint8Array[]\n{\n const levelBuffers = [];\n\n // create the levels..\n for (let i = 0; i < ktxTexture.numLevels; i++)\n {\n const imageData = ktxTexture.getImageData(i, 0, 0);\n\n const levelBuffer = new Uint8Array(imageData.byteLength);\n\n levelBuffer.set(imageData);\n\n levelBuffers.push(levelBuffer);\n }\n\n return levelBuffers;\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,0BAA0B,UAC1C,EAAA;AACI,EAAA,MAAM,eAAe,EAAC,CAAA;AAGtB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,CAAW,WAAW,CAC1C,EAAA,EAAA;AACI,IAAA,MAAM,SAAY,GAAA,UAAA,CAAW,YAAa,CAAA,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEjD,IAAA,MAAM,WAAc,GAAA,IAAI,UAAW,CAAA,SAAA,CAAU,UAAU,CAAA,CAAA;AAEvD,IAAA,WAAA,CAAY,IAAI,SAAS,CAAA,CAAA;AAEzB,IAAA,YAAA,CAAa,KAAK,WAAW,CAAA,CAAA;AAAA,GACjC;AAEA,EAAO,OAAA,YAAA,CAAA;AACX;;;;"}

View File

@@ -0,0 +1,14 @@
"use strict";
function createLevelBuffersFromKTX(ktxTexture) {
const levelBuffers = [];
for (let i = 0; i < ktxTexture.numLevels; i++) {
const imageData = ktxTexture.getImageData(i, 0, 0);
const levelBuffer = new Uint8Array(imageData.byteLength);
levelBuffer.set(imageData);
levelBuffers.push(levelBuffer);
}
return levelBuffers;
}
export { createLevelBuffersFromKTX };
//# sourceMappingURL=createLevelBuffersFromKTX.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createLevelBuffersFromKTX.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/createLevelBuffersFromKTX.ts"],"sourcesContent":["import type { KTXTexture } from '../types';\n\nexport function createLevelBuffersFromKTX(ktxTexture: KTXTexture): Uint8Array[]\n{\n const levelBuffers = [];\n\n // create the levels..\n for (let i = 0; i < ktxTexture.numLevels; i++)\n {\n const imageData = ktxTexture.getImageData(i, 0, 0);\n\n const levelBuffer = new Uint8Array(imageData.byteLength);\n\n levelBuffer.set(imageData);\n\n levelBuffers.push(levelBuffer);\n }\n\n return levelBuffers;\n}\n"],"names":[],"mappings":";AAEO,SAAS,0BAA0B,UAC1C,EAAA;AACI,EAAA,MAAM,eAAe,EAAC,CAAA;AAGtB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,CAAW,WAAW,CAC1C,EAAA,EAAA;AACI,IAAA,MAAM,SAAY,GAAA,UAAA,CAAW,YAAa,CAAA,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEjD,IAAA,MAAM,WAAc,GAAA,IAAI,UAAW,CAAA,SAAA,CAAU,UAAU,CAAA,CAAA;AAEvD,IAAA,WAAA,CAAY,IAAI,SAAS,CAAA,CAAA;AAEzB,IAAA,YAAA,CAAa,KAAK,WAAW,CAAA,CAAA;AAAA,GACjC;AAEA,EAAO,OAAA,YAAA,CAAA;AACX;;;;"}

View File

@@ -0,0 +1,2 @@
import type { COMPRESSED_TEXTURE_FORMATS, KTXTexture } from '../types';
export declare function getTextureFormatFromKTXTexture(ktxTexture: KTXTexture): COMPRESSED_TEXTURE_FORMATS;

View File

@@ -0,0 +1,15 @@
'use strict';
var glFormatToGPUFormat = require('./glFormatToGPUFormat.js');
var vkFormatToGPUFormat = require('./vkFormatToGPUFormat.js');
"use strict";
function getTextureFormatFromKTXTexture(ktxTexture) {
if (ktxTexture.classId === 2) {
return vkFormatToGPUFormat.vkFormatToGPUFormat(ktxTexture.vkFormat);
}
return glFormatToGPUFormat.glFormatToGPUFormat(ktxTexture.glInternalformat);
}
exports.getTextureFormatFromKTXTexture = getTextureFormatFromKTXTexture;
//# sourceMappingURL=getTextureFormatFromKTXTexture.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTextureFormatFromKTXTexture.js","sources":["../../../../src/compressed-textures/ktx2/utils/getTextureFormatFromKTXTexture.ts"],"sourcesContent":["import { glFormatToGPUFormat } from './glFormatToGPUFormat';\nimport { vkFormatToGPUFormat } from './vkFormatToGPUFormat';\n\nimport type { COMPRESSED_TEXTURE_FORMATS, KTXTexture } from '../types';\n\nexport function getTextureFormatFromKTXTexture(ktxTexture: KTXTexture): COMPRESSED_TEXTURE_FORMATS\n{\n if (ktxTexture.classId === 2)\n {\n return vkFormatToGPUFormat(ktxTexture.vkFormat);\n }\n\n return glFormatToGPUFormat(ktxTexture.glInternalformat);\n}\n"],"names":["vkFormatToGPUFormat","glFormatToGPUFormat"],"mappings":";;;;;;AAKO,SAAS,+BAA+B,UAC/C,EAAA;AACI,EAAI,IAAA,UAAA,CAAW,YAAY,CAC3B,EAAA;AACI,IAAO,OAAAA,uCAAA,CAAoB,WAAW,QAAQ,CAAA,CAAA;AAAA,GAClD;AAEA,EAAO,OAAAC,uCAAA,CAAoB,WAAW,gBAAgB,CAAA,CAAA;AAC1D;;;;"}

View File

@@ -0,0 +1,13 @@
import { glFormatToGPUFormat } from './glFormatToGPUFormat.mjs';
import { vkFormatToGPUFormat } from './vkFormatToGPUFormat.mjs';
"use strict";
function getTextureFormatFromKTXTexture(ktxTexture) {
if (ktxTexture.classId === 2) {
return vkFormatToGPUFormat(ktxTexture.vkFormat);
}
return glFormatToGPUFormat(ktxTexture.glInternalformat);
}
export { getTextureFormatFromKTXTexture };
//# sourceMappingURL=getTextureFormatFromKTXTexture.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTextureFormatFromKTXTexture.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/getTextureFormatFromKTXTexture.ts"],"sourcesContent":["import { glFormatToGPUFormat } from './glFormatToGPUFormat';\nimport { vkFormatToGPUFormat } from './vkFormatToGPUFormat';\n\nimport type { COMPRESSED_TEXTURE_FORMATS, KTXTexture } from '../types';\n\nexport function getTextureFormatFromKTXTexture(ktxTexture: KTXTexture): COMPRESSED_TEXTURE_FORMATS\n{\n if (ktxTexture.classId === 2)\n {\n return vkFormatToGPUFormat(ktxTexture.vkFormat);\n }\n\n return glFormatToGPUFormat(ktxTexture.glInternalformat);\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,+BAA+B,UAC/C,EAAA;AACI,EAAI,IAAA,UAAA,CAAW,YAAY,CAC3B,EAAA;AACI,IAAO,OAAA,mBAAA,CAAoB,WAAW,QAAQ,CAAA,CAAA;AAAA,GAClD;AAEA,EAAO,OAAA,mBAAA,CAAoB,WAAW,gBAAgB,CAAA,CAAA;AAC1D;;;;"}

View File

@@ -0,0 +1,2 @@
import type { COMPRESSED_TEXTURE_FORMATS } from '../types';
export declare function glFormatToGPUFormat(glInternalFormat: number): COMPRESSED_TEXTURE_FORMATS;

View File

@@ -0,0 +1,63 @@
'use strict';
"use strict";
const glFormatToGPUFormatMap = {
6408: "rgba8unorm",
32856: "bgra8unorm",
//
32857: "rgb10a2unorm",
33189: "depth16unorm",
33190: "depth24plus",
33321: "r8unorm",
33323: "rg8unorm",
33325: "r16float",
33326: "r32float",
33327: "rg16float",
33328: "rg32float",
33329: "r8sint",
33330: "r8uint",
33331: "r16sint",
33332: "r16uint",
33333: "r32sint",
33334: "r32uint",
33335: "rg8sint",
33336: "rg8uint",
33337: "rg16sint",
33338: "rg16uint",
33339: "rg32sint",
33340: "rg32uint",
33778: "bc2-rgba-unorm",
33779: "bc3-rgba-unorm",
34836: "rgba32float",
34842: "rgba16float",
35056: "depth24plus-stencil8",
35898: "rg11b10ufloat",
35901: "rgb9e5ufloat",
35907: "rgba8unorm-srgb",
// bgra8unorm-srgb
36012: "depth32float",
36013: "depth32float-stencil8",
36168: "stencil8",
36208: "rgba32uint",
36214: "rgba16uint",
36220: "rgba8uint",
36226: "rgba32sint",
36232: "rgba16sint",
36238: "rgba8sint",
36492: "bc7-rgba-unorm",
36756: "r8snorm",
36757: "rg8snorm",
36759: "rgba8snorm",
37496: "etc2-rgba8unorm",
37808: "astc-4x4-unorm"
};
function glFormatToGPUFormat(glInternalFormat) {
const format = glFormatToGPUFormatMap[glInternalFormat];
if (format) {
return format;
}
throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);
}
exports.glFormatToGPUFormat = glFormatToGPUFormat;
//# sourceMappingURL=glFormatToGPUFormat.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"glFormatToGPUFormat.js","sources":["../../../../src/compressed-textures/ktx2/utils/glFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst glFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 6408: 'rgba8unorm',\n 32856: 'bgra8unorm', //\n 32857: 'rgb10a2unorm',\n 33189: 'depth16unorm',\n 33190: 'depth24plus',\n 33321: 'r8unorm',\n 33323: 'rg8unorm',\n 33325: 'r16float',\n 33326: 'r32float',\n 33327: 'rg16float',\n 33328: 'rg32float',\n 33329: 'r8sint',\n 33330: 'r8uint',\n 33331: 'r16sint',\n 33332: 'r16uint',\n 33333: 'r32sint',\n 33334: 'r32uint',\n 33335: 'rg8sint',\n 33336: 'rg8uint',\n 33337: 'rg16sint',\n 33338: 'rg16uint',\n 33339: 'rg32sint',\n 33340: 'rg32uint',\n 33778: 'bc2-rgba-unorm',\n 33779: 'bc3-rgba-unorm',\n 34836: 'rgba32float',\n 34842: 'rgba16float',\n 35056: 'depth24plus-stencil8',\n 35898: 'rg11b10ufloat',\n 35901: 'rgb9e5ufloat',\n 35907: 'rgba8unorm-srgb', // bgra8unorm-srgb\n 36012: 'depth32float',\n 36013: 'depth32float-stencil8',\n 36168: 'stencil8',\n 36208: 'rgba32uint',\n 36214: 'rgba16uint',\n 36220: 'rgba8uint',\n 36226: 'rgba32sint',\n 36232: 'rgba16sint',\n 36238: 'rgba8sint',\n 36492: 'bc7-rgba-unorm',\n 36756: 'r8snorm',\n 36757: 'rg8snorm',\n 36759: 'rgba8snorm',\n 37496: 'etc2-rgba8unorm',\n 37808: 'astc-4x4-unorm'\n};\n\nexport function glFormatToGPUFormat(glInternalFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = glFormatToGPUFormatMap[glInternalFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,IAAM,EAAA,YAAA;AAAA,EACN,KAAO,EAAA,YAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,sBAAA;AAAA,EACP,KAAO,EAAA,eAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,uBAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AACX,CAAA,CAAA;AAEO,SAAS,oBAAoB,gBACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,gBAAgB,CAAA,CAAA;AAEtD,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1,61 @@
"use strict";
const glFormatToGPUFormatMap = {
6408: "rgba8unorm",
32856: "bgra8unorm",
//
32857: "rgb10a2unorm",
33189: "depth16unorm",
33190: "depth24plus",
33321: "r8unorm",
33323: "rg8unorm",
33325: "r16float",
33326: "r32float",
33327: "rg16float",
33328: "rg32float",
33329: "r8sint",
33330: "r8uint",
33331: "r16sint",
33332: "r16uint",
33333: "r32sint",
33334: "r32uint",
33335: "rg8sint",
33336: "rg8uint",
33337: "rg16sint",
33338: "rg16uint",
33339: "rg32sint",
33340: "rg32uint",
33778: "bc2-rgba-unorm",
33779: "bc3-rgba-unorm",
34836: "rgba32float",
34842: "rgba16float",
35056: "depth24plus-stencil8",
35898: "rg11b10ufloat",
35901: "rgb9e5ufloat",
35907: "rgba8unorm-srgb",
// bgra8unorm-srgb
36012: "depth32float",
36013: "depth32float-stencil8",
36168: "stencil8",
36208: "rgba32uint",
36214: "rgba16uint",
36220: "rgba8uint",
36226: "rgba32sint",
36232: "rgba16sint",
36238: "rgba8sint",
36492: "bc7-rgba-unorm",
36756: "r8snorm",
36757: "rg8snorm",
36759: "rgba8snorm",
37496: "etc2-rgba8unorm",
37808: "astc-4x4-unorm"
};
function glFormatToGPUFormat(glInternalFormat) {
const format = glFormatToGPUFormatMap[glInternalFormat];
if (format) {
return format;
}
throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);
}
export { glFormatToGPUFormat };
//# sourceMappingURL=glFormatToGPUFormat.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"glFormatToGPUFormat.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/glFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst glFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 6408: 'rgba8unorm',\n 32856: 'bgra8unorm', //\n 32857: 'rgb10a2unorm',\n 33189: 'depth16unorm',\n 33190: 'depth24plus',\n 33321: 'r8unorm',\n 33323: 'rg8unorm',\n 33325: 'r16float',\n 33326: 'r32float',\n 33327: 'rg16float',\n 33328: 'rg32float',\n 33329: 'r8sint',\n 33330: 'r8uint',\n 33331: 'r16sint',\n 33332: 'r16uint',\n 33333: 'r32sint',\n 33334: 'r32uint',\n 33335: 'rg8sint',\n 33336: 'rg8uint',\n 33337: 'rg16sint',\n 33338: 'rg16uint',\n 33339: 'rg32sint',\n 33340: 'rg32uint',\n 33778: 'bc2-rgba-unorm',\n 33779: 'bc3-rgba-unorm',\n 34836: 'rgba32float',\n 34842: 'rgba16float',\n 35056: 'depth24plus-stencil8',\n 35898: 'rg11b10ufloat',\n 35901: 'rgb9e5ufloat',\n 35907: 'rgba8unorm-srgb', // bgra8unorm-srgb\n 36012: 'depth32float',\n 36013: 'depth32float-stencil8',\n 36168: 'stencil8',\n 36208: 'rgba32uint',\n 36214: 'rgba16uint',\n 36220: 'rgba8uint',\n 36226: 'rgba32sint',\n 36232: 'rgba16sint',\n 36238: 'rgba8sint',\n 36492: 'bc7-rgba-unorm',\n 36756: 'r8snorm',\n 36757: 'rg8snorm',\n 36759: 'rgba8snorm',\n 37496: 'etc2-rgba8unorm',\n 37808: 'astc-4x4-unorm'\n};\n\nexport function glFormatToGPUFormat(glInternalFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = glFormatToGPUFormatMap[glInternalFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported glInternalFormat: ${glInternalFormat}`);\n}\n"],"names":[],"mappings":";AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,IAAM,EAAA,YAAA;AAAA,EACN,KAAO,EAAA,YAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,QAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,sBAAA;AAAA,EACP,KAAO,EAAA,eAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA;AAAA,EACP,KAAO,EAAA,cAAA;AAAA,EACP,KAAO,EAAA,uBAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,UAAA;AAAA,EACP,KAAO,EAAA,YAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA,EACP,KAAO,EAAA,gBAAA;AACX,CAAA,CAAA;AAEO,SAAS,oBAAoB,gBACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,gBAAgB,CAAA,CAAA;AAEtD,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1 @@
export declare function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat: string): string;

View File

@@ -0,0 +1,22 @@
'use strict';
"use strict";
const gpuFormatToBasisTranscoderFormatMap = {
"bc3-rgba-unorm": "BC3_RGBA",
"bc7-rgba-unorm": "BC7_M5_RGBA",
"etc2-rgba8unorm": "ETC2_RGBA",
"astc-4x4-unorm": "ASTC_4x4_RGBA",
// Uncompressed
rgba8unorm: "RGBA32",
rg11b10ufloat: "R11F_G11F_B10F"
};
function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat) {
const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];
if (format) {
return format;
}
throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);
}
exports.gpuFormatToKTXBasisTranscoderFormat = gpuFormatToKTXBasisTranscoderFormat;
//# sourceMappingURL=gpuFormatToKTXBasisTranscoderFormat.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"gpuFormatToKTXBasisTranscoderFormat.js","sources":["../../../../src/compressed-textures/ktx2/utils/gpuFormatToKTXBasisTranscoderFormat.ts"],"sourcesContent":["const gpuFormatToBasisTranscoderFormatMap: Record<string, string> = {\n 'bc3-rgba-unorm': 'BC3_RGBA',\n 'bc7-rgba-unorm': 'BC7_M5_RGBA',\n 'etc2-rgba8unorm': 'ETC2_RGBA',\n 'astc-4x4-unorm': 'ASTC_4x4_RGBA',\n // Uncompressed\n rgba8unorm: 'RGBA32',\n rg11b10ufloat: 'R11F_G11F_B10F',\n};\n\nexport function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat: string): string\n{\n const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,mCAA8D,GAAA;AAAA,EAChE,gBAAkB,EAAA,UAAA;AAAA,EAClB,gBAAkB,EAAA,aAAA;AAAA,EAClB,iBAAmB,EAAA,WAAA;AAAA,EACnB,gBAAkB,EAAA,eAAA;AAAA;AAAA,EAElB,UAAY,EAAA,QAAA;AAAA,EACZ,aAAe,EAAA,gBAAA;AACnB,CAAA,CAAA;AAEO,SAAS,oCAAoC,gBACpD,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,oCAAoC,gBAAgB,CAAA,CAAA;AAEnE,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1,20 @@
"use strict";
const gpuFormatToBasisTranscoderFormatMap = {
"bc3-rgba-unorm": "BC3_RGBA",
"bc7-rgba-unorm": "BC7_M5_RGBA",
"etc2-rgba8unorm": "ETC2_RGBA",
"astc-4x4-unorm": "ASTC_4x4_RGBA",
// Uncompressed
rgba8unorm: "RGBA32",
rg11b10ufloat: "R11F_G11F_B10F"
};
function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat) {
const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];
if (format) {
return format;
}
throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);
}
export { gpuFormatToKTXBasisTranscoderFormat };
//# sourceMappingURL=gpuFormatToKTXBasisTranscoderFormat.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"gpuFormatToKTXBasisTranscoderFormat.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/gpuFormatToKTXBasisTranscoderFormat.ts"],"sourcesContent":["const gpuFormatToBasisTranscoderFormatMap: Record<string, string> = {\n 'bc3-rgba-unorm': 'BC3_RGBA',\n 'bc7-rgba-unorm': 'BC7_M5_RGBA',\n 'etc2-rgba8unorm': 'ETC2_RGBA',\n 'astc-4x4-unorm': 'ASTC_4x4_RGBA',\n // Uncompressed\n rgba8unorm: 'RGBA32',\n rg11b10ufloat: 'R11F_G11F_B10F',\n};\n\nexport function gpuFormatToKTXBasisTranscoderFormat(transcoderFormat: string): string\n{\n const format = gpuFormatToBasisTranscoderFormatMap[transcoderFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported transcoderFormat: ${transcoderFormat}`);\n}\n"],"names":[],"mappings":";AAAA,MAAM,mCAA8D,GAAA;AAAA,EAChE,gBAAkB,EAAA,UAAA;AAAA,EAClB,gBAAkB,EAAA,aAAA;AAAA,EAClB,iBAAmB,EAAA,WAAA;AAAA,EACnB,gBAAkB,EAAA,eAAA;AAAA;AAAA,EAElB,UAAY,EAAA,QAAA;AAAA,EACZ,aAAe,EAAA,gBAAA;AACnB,CAAA,CAAA;AAEO,SAAS,oCAAoC,gBACpD,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,oCAAoC,gBAAgB,CAAA,CAAA;AAEnE,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAiC,8BAAA,EAAA,gBAAgB,CAAE,CAAA,CAAA,CAAA;AACvE;;;;"}

View File

@@ -0,0 +1,5 @@
export declare const ktxTranscoderUrls: {
jsUrl: string;
wasmUrl: string;
};
export declare function setKTXTranscoderPath(config: Partial<typeof ktxTranscoderUrls>): void;

View File

@@ -0,0 +1,14 @@
'use strict';
"use strict";
const ktxTranscoderUrls = {
jsUrl: "https://files.pixijs.download/transcoders/ktx/libktx.js",
wasmUrl: "https://files.pixijs.download/transcoders/ktx/libktx.wasm"
};
function setKTXTranscoderPath(config) {
Object.assign(ktxTranscoderUrls, config);
}
exports.ktxTranscoderUrls = ktxTranscoderUrls;
exports.setKTXTranscoderPath = setKTXTranscoderPath;
//# sourceMappingURL=setKTXTranscoderPath.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"setKTXTranscoderPath.js","sources":["../../../../src/compressed-textures/ktx2/utils/setKTXTranscoderPath.ts"],"sourcesContent":["export const ktxTranscoderUrls = {\n jsUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.js',\n wasmUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.wasm'\n};\n\nexport function setKTXTranscoderPath(config: Partial<typeof ktxTranscoderUrls>)\n{\n Object.assign(ktxTranscoderUrls, config);\n}\n"],"names":[],"mappings":";;;AAAO,MAAM,iBAAoB,GAAA;AAAA,EAC7B,KAAO,EAAA,yDAAA;AAAA,EACP,OAAS,EAAA,2DAAA;AACb,EAAA;AAEO,SAAS,qBAAqB,MACrC,EAAA;AACI,EAAO,MAAA,CAAA,MAAA,CAAO,mBAAmB,MAAM,CAAA,CAAA;AAC3C;;;;;"}

View File

@@ -0,0 +1,11 @@
"use strict";
const ktxTranscoderUrls = {
jsUrl: "https://files.pixijs.download/transcoders/ktx/libktx.js",
wasmUrl: "https://files.pixijs.download/transcoders/ktx/libktx.wasm"
};
function setKTXTranscoderPath(config) {
Object.assign(ktxTranscoderUrls, config);
}
export { ktxTranscoderUrls, setKTXTranscoderPath };
//# sourceMappingURL=setKTXTranscoderPath.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"setKTXTranscoderPath.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/setKTXTranscoderPath.ts"],"sourcesContent":["export const ktxTranscoderUrls = {\n jsUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.js',\n wasmUrl: 'https://files.pixijs.download/transcoders/ktx/libktx.wasm'\n};\n\nexport function setKTXTranscoderPath(config: Partial<typeof ktxTranscoderUrls>)\n{\n Object.assign(ktxTranscoderUrls, config);\n}\n"],"names":[],"mappings":";AAAO,MAAM,iBAAoB,GAAA;AAAA,EAC7B,KAAO,EAAA,yDAAA;AAAA,EACP,OAAS,EAAA,2DAAA;AACb,EAAA;AAEO,SAAS,qBAAqB,MACrC,EAAA;AACI,EAAO,MAAA,CAAA,MAAA,CAAO,mBAAmB,MAAM,CAAA,CAAA;AAC3C;;;;"}

View File

@@ -0,0 +1,2 @@
import type { COMPRESSED_TEXTURE_FORMATS } from '../types';
export declare function vkFormatToGPUFormat(vkFormat: number): COMPRESSED_TEXTURE_FORMATS;

View File

@@ -0,0 +1,22 @@
'use strict';
"use strict";
const vkFormatToGPUFormatMap = {
23: "rgb8unorm",
// VK_FORMAT_R8G8B8_UNORM
37: "rgba8unorm",
// VK_FORMAT_R8G8B8A8_UNORM
43: "rgba8unorm-srgb"
// VK_FORMAT_R8G8B8A8_SRGB
// TODO add more!
};
function vkFormatToGPUFormat(vkFormat) {
const format = vkFormatToGPUFormatMap[vkFormat];
if (format) {
return format;
}
throw new Error(`Unsupported VkFormat: ${vkFormat}`);
}
exports.vkFormatToGPUFormat = vkFormatToGPUFormat;
//# sourceMappingURL=vkFormatToGPUFormat.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"vkFormatToGPUFormat.js","sources":["../../../../src/compressed-textures/ktx2/utils/vkFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst vkFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 23: 'rgb8unorm', // VK_FORMAT_R8G8B8_UNORM\n 37: 'rgba8unorm', // VK_FORMAT_R8G8B8A8_UNORM\n 43: 'rgba8unorm-srgb', // VK_FORMAT_R8G8B8A8_SRGB\n // TODO add more!\n};\n\nexport function vkFormatToGPUFormat(vkFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = vkFormatToGPUFormatMap[vkFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported VkFormat: ${vkFormat}`);\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,EAAI,EAAA,WAAA;AAAA;AAAA,EACJ,EAAI,EAAA,YAAA;AAAA;AAAA,EACJ,EAAI,EAAA,iBAAA;AAAA;AAAA;AAER,CAAA,CAAA;AAEO,SAAS,oBAAoB,QACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,QAAQ,CAAA,CAAA;AAE9C,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAyB,sBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA,CAAA;AACvD;;;;"}

View File

@@ -0,0 +1,20 @@
"use strict";
const vkFormatToGPUFormatMap = {
23: "rgb8unorm",
// VK_FORMAT_R8G8B8_UNORM
37: "rgba8unorm",
// VK_FORMAT_R8G8B8A8_UNORM
43: "rgba8unorm-srgb"
// VK_FORMAT_R8G8B8A8_SRGB
// TODO add more!
};
function vkFormatToGPUFormat(vkFormat) {
const format = vkFormatToGPUFormatMap[vkFormat];
if (format) {
return format;
}
throw new Error(`Unsupported VkFormat: ${vkFormat}`);
}
export { vkFormatToGPUFormat };
//# sourceMappingURL=vkFormatToGPUFormat.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"vkFormatToGPUFormat.mjs","sources":["../../../../src/compressed-textures/ktx2/utils/vkFormatToGPUFormat.ts"],"sourcesContent":["import type { COMPRESSED_TEXTURE_FORMATS } from '../types';\n\nconst vkFormatToGPUFormatMap: Record<number, COMPRESSED_TEXTURE_FORMATS> = {\n 23: 'rgb8unorm', // VK_FORMAT_R8G8B8_UNORM\n 37: 'rgba8unorm', // VK_FORMAT_R8G8B8A8_UNORM\n 43: 'rgba8unorm-srgb', // VK_FORMAT_R8G8B8A8_SRGB\n // TODO add more!\n};\n\nexport function vkFormatToGPUFormat(vkFormat: number): COMPRESSED_TEXTURE_FORMATS\n{\n const format = vkFormatToGPUFormatMap[vkFormat];\n\n if (format)\n {\n return format;\n }\n\n throw new Error(`Unsupported VkFormat: ${vkFormat}`);\n}\n"],"names":[],"mappings":";AAEA,MAAM,sBAAqE,GAAA;AAAA,EACvE,EAAI,EAAA,WAAA;AAAA;AAAA,EACJ,EAAI,EAAA,YAAA;AAAA;AAAA,EACJ,EAAI,EAAA,iBAAA;AAAA;AAAA;AAER,CAAA,CAAA;AAEO,SAAS,oBAAoB,QACpC,EAAA;AACI,EAAM,MAAA,MAAA,GAAS,uBAAuB,QAAQ,CAAA,CAAA;AAE9C,EAAA,IAAI,MACJ,EAAA;AACI,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,CAAyB,sBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA,CAAA;AACvD;;;;"}