(function (vendor, architecture, mode) {
if (!('gpu' in navigator)) return;
if (mode === 'block') {
try { Object.defineProperty(navigator, 'gpu', { get: function () { return undefined; }, configurable: true }); } catch (e) {}
return;
}
if (vendor === null) return;
if (typeof GPUAdapter === 'undefined' || !GPUAdapter.prototype) return;
var info = { vendor: vendor, architecture: architecture, device: '', description: '', isFallbackAdapter: false };
try {
var d = Object.getOwnPropertyDescriptor(GPUAdapter.prototype, 'info');
if (d && typeof d.get === 'function') {
Object.defineProperty(GPUAdapter.prototype, 'info', {
get: function () { return info; },
configurable: true,
enumerable: d.enumerable,
});
}
} catch (e) {}
})(WEBGPU_VENDOR, WEBGPU_ARCHITECTURE, WEBGPU_MODE);