sdfsdfs
This commit is contained in:
60
node_modules/pixi.js/lib/compressed-textures/shared/detectCompressed.js
generated
vendored
Normal file
60
node_modules/pixi.js/lib/compressed-textures/shared/detectCompressed.js
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
'use strict';
|
||||
|
||||
var Extensions = require('../../extensions/Extensions.js');
|
||||
var getSupportedCompressedTextureFormats = require('../../rendering/renderers/shared/texture/utils/getSupportedCompressedTextureFormats.js');
|
||||
var isWebGLSupported = require('../../utils/browser/isWebGLSupported.js');
|
||||
var isWebGPUSupported = require('../../utils/browser/isWebGPUSupported.js');
|
||||
var resolveCompressedTextureUrl = require('./resolveCompressedTextureUrl.js');
|
||||
|
||||
"use strict";
|
||||
let compressedTextureExtensions;
|
||||
const detectCompressed = {
|
||||
extension: {
|
||||
type: Extensions.ExtensionType.DetectionParser,
|
||||
priority: 2
|
||||
},
|
||||
test: async () => {
|
||||
if (await isWebGPUSupported.isWebGPUSupported())
|
||||
return true;
|
||||
if (isWebGLSupported.isWebGLSupported())
|
||||
return true;
|
||||
return false;
|
||||
},
|
||||
add: async (formats) => {
|
||||
const supportedCompressedTextureFormats = await getSupportedCompressedTextureFormats.getSupportedCompressedTextureFormats();
|
||||
compressedTextureExtensions = extractExtensionsForCompressedTextureFormats(supportedCompressedTextureFormats);
|
||||
return [...compressedTextureExtensions, ...formats];
|
||||
},
|
||||
remove: async (formats) => {
|
||||
if (compressedTextureExtensions) {
|
||||
return formats.filter((f) => !(f in compressedTextureExtensions));
|
||||
}
|
||||
return formats;
|
||||
}
|
||||
};
|
||||
function extractExtensionsForCompressedTextureFormats(formats) {
|
||||
const extensions = ["basis"];
|
||||
const dupeMap = {};
|
||||
formats.forEach((format) => {
|
||||
const extension = format.split("-")[0];
|
||||
if (extension && !dupeMap[extension]) {
|
||||
dupeMap[extension] = true;
|
||||
extensions.push(extension);
|
||||
}
|
||||
});
|
||||
extensions.sort((a, b) => {
|
||||
const aIndex = resolveCompressedTextureUrl.validFormats.indexOf(a);
|
||||
const bIndex = resolveCompressedTextureUrl.validFormats.indexOf(b);
|
||||
if (aIndex === -1) {
|
||||
return 1;
|
||||
}
|
||||
if (bIndex === -1) {
|
||||
return -1;
|
||||
}
|
||||
return aIndex - bIndex;
|
||||
});
|
||||
return extensions;
|
||||
}
|
||||
|
||||
exports.detectCompressed = detectCompressed;
|
||||
//# sourceMappingURL=detectCompressed.js.map
|
Reference in New Issue
Block a user