react-native-webgpu 0.5.15 → 0.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -409
- package/apple/MetalLayerColorSpace.mm +44 -0
- package/cpp/rnwgpu/SurfaceRegistry.h +10 -0
- package/cpp/rnwgpu/api/Canvas.h +18 -0
- package/lib/commonjs/Canvas.js.map +1 -1
- package/lib/commonjs/GPUDeviceProvider.js +33 -0
- package/lib/commonjs/GPUDeviceProvider.js.map +1 -0
- package/lib/commonjs/WebPolyfillGPUModule.js +7 -1
- package/lib/commonjs/WebPolyfillGPUModule.js.map +1 -1
- package/lib/commonjs/constants.js +20 -5
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/formats.js +30 -0
- package/lib/commonjs/formats.js.map +1 -0
- package/lib/commonjs/hooks.js +2 -26
- package/lib/commonjs/hooks.js.map +1 -1
- package/lib/commonjs/main/index.js +24 -0
- package/lib/commonjs/main/index.js.map +1 -1
- package/lib/commonjs/main/index.web.js +22 -0
- package/lib/commonjs/main/index.web.js.map +1 -1
- package/lib/module/Canvas.js.map +1 -1
- package/lib/module/GPUDeviceProvider.js +24 -0
- package/lib/module/GPUDeviceProvider.js.map +1 -0
- package/lib/module/WebPolyfillGPUModule.js +7 -1
- package/lib/module/WebPolyfillGPUModule.js.map +1 -1
- package/lib/module/constants.js +15 -5
- package/lib/module/constants.js.map +1 -1
- package/lib/module/formats.js +24 -0
- package/lib/module/formats.js.map +1 -0
- package/lib/module/hooks.js +1 -22
- package/lib/module/hooks.js.map +1 -1
- package/lib/module/main/index.js +2 -0
- package/lib/module/main/index.js.map +1 -1
- package/lib/module/main/index.web.js +2 -0
- package/lib/module/main/index.web.js.map +1 -1
- package/lib/typescript/jest.config.d.ts +1 -0
- package/lib/typescript/lib/commonjs/GPUDeviceProvider.d.ts +8 -0
- package/lib/typescript/lib/commonjs/GPUDeviceProvider.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/constants.d.ts +5 -1
- package/lib/typescript/lib/commonjs/formats.d.ts +3 -0
- package/lib/typescript/lib/commonjs/formats.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/hooks.d.ts +4 -9
- package/lib/typescript/lib/commonjs/hooks.d.ts.map +1 -1
- package/lib/typescript/lib/module/GPUDeviceProvider.d.ts +8 -0
- package/lib/typescript/lib/module/GPUDeviceProvider.d.ts.map +1 -0
- package/lib/typescript/lib/module/constants.d.ts.map +1 -1
- package/lib/typescript/lib/module/formats.d.ts +2 -0
- package/lib/typescript/lib/module/formats.d.ts.map +1 -0
- package/lib/typescript/lib/module/hooks.d.ts +2 -9
- package/lib/typescript/lib/module/hooks.d.ts.map +1 -1
- package/lib/typescript/lib/module/main/index.d.ts +2 -0
- package/lib/typescript/lib/module/main/index.web.d.ts +2 -0
- package/lib/typescript/src/Canvas.d.ts +5 -0
- package/lib/typescript/src/Canvas.d.ts.map +1 -1
- package/lib/typescript/src/GPUDeviceProvider.d.ts +15 -0
- package/lib/typescript/src/GPUDeviceProvider.d.ts.map +1 -0
- package/lib/typescript/src/constants.d.ts.map +1 -1
- package/lib/typescript/src/formats.d.ts +2 -0
- package/lib/typescript/src/formats.d.ts.map +1 -0
- package/lib/typescript/src/hooks.d.ts +2 -17
- package/lib/typescript/src/hooks.d.ts.map +1 -1
- package/lib/typescript/src/main/index.d.ts +2 -0
- package/lib/typescript/src/main/index.d.ts.map +1 -1
- package/lib/typescript/src/main/index.web.d.ts +2 -0
- package/lib/typescript/src/main/index.web.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +5 -0
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +12 -3
- package/src/Canvas.tsx +7 -0
- package/src/GPUDeviceProvider.tsx +39 -0
- package/src/WebPolyfillGPUModule.ts +6 -0
- package/src/constants.ts +5 -5
- package/src/formats.ts +23 -0
- package/src/hooks.tsx +3 -41
- package/src/main/index.tsx +2 -0
- package/src/main/index.web.tsx +2 -0
- package/src/types.ts +7 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getPreferredHighBitDepthCanvasFormat = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
/// <reference types="@webgpu/types" />
|
|
9
|
+
|
|
10
|
+
// Non-spec helper: the canvas texture format most likely to reach the display
|
|
11
|
+
// with more than 8 bits per channel on the current platform. The returned
|
|
12
|
+
// format keeps standard (SDR) sRGB semantics: values are encoded exactly like
|
|
13
|
+
// on an 8-bit canvas, only with more precision, so colors match across
|
|
14
|
+
// formats. This is about bit depth, not HDR (no extended range).
|
|
15
|
+
//
|
|
16
|
+
// - Apple platforms: "rgba16float" (16-bit float per channel). The library
|
|
17
|
+
// tags the CAMetalLayer with the extended sRGB colorspace automatically so
|
|
18
|
+
// the values display identically to an 8-bit canvas.
|
|
19
|
+
// - Android: "rgb10a2unorm". A float16 swapchain works but is tagged as an
|
|
20
|
+
// SDR sRGB layer, and SurfaceFlinger quantizes SDR layers to the display
|
|
21
|
+
// pipeline depth during composition, discarding the extra precision.
|
|
22
|
+
// RGBA_1010102 buffers keep SDR semantics and can pass through composition,
|
|
23
|
+
// including direct scanout on 10-bit panels. Requires the Vulkan surface to
|
|
24
|
+
// expose the 10-bit format (common on modern devices).
|
|
25
|
+
// - Web: "rgba16float", the float canvas format supported by browsers.
|
|
26
|
+
const getPreferredHighBitDepthCanvasFormat = () => {
|
|
27
|
+
return _reactNative.Platform.OS === "android" ? "rgb10a2unorm" : "rgba16float";
|
|
28
|
+
};
|
|
29
|
+
exports.getPreferredHighBitDepthCanvasFormat = getPreferredHighBitDepthCanvasFormat;
|
|
30
|
+
//# sourceMappingURL=formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","getPreferredHighBitDepthCanvasFormat","Platform","OS","exports"],"sourceRoot":"../../src","sources":["formats.ts"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,oCAAoC,GAAGA,CAAA,KAAwB;EAC1E,OAAOC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAG,cAAc,GAAG,aAAa;AACnE,CAAC;AAACC,OAAA,CAAAH,oCAAA,GAAAA,oCAAA","ignoreList":[]}
|
package/lib/commonjs/hooks.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.warnIfNotHardwareAccelerated = exports.useSurface = exports.
|
|
7
|
-
var _react =
|
|
8
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
6
|
+
exports.warnIfNotHardwareAccelerated = exports.useSurface = exports.useDevice = exports.useCanvasRef = void 0;
|
|
7
|
+
var _react = require("react");
|
|
9
8
|
const warnIfNotHardwareAccelerated = adapter => {
|
|
10
9
|
// Check if adapter is a fallback adapter using the new GPUAdapterInfo API
|
|
11
10
|
// Note: isFallbackAdapter was moved from GPUAdapter to GPUAdapterInfo in Chrome 140
|
|
@@ -14,21 +13,6 @@ const warnIfNotHardwareAccelerated = adapter => {
|
|
|
14
13
|
}
|
|
15
14
|
};
|
|
16
15
|
exports.warnIfNotHardwareAccelerated = warnIfNotHardwareAccelerated;
|
|
17
|
-
const DeviceContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
18
|
-
const GPUDeviceProvider = ({
|
|
19
|
-
children,
|
|
20
|
-
adapterOptions,
|
|
21
|
-
deviceDescriptor
|
|
22
|
-
}) => {
|
|
23
|
-
const state = useDevice(adapterOptions, deviceDescriptor);
|
|
24
|
-
if (!state.device) {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
return /*#__PURE__*/_react.default.createElement(DeviceContext.Provider, {
|
|
28
|
-
value: state
|
|
29
|
-
}, children);
|
|
30
|
-
};
|
|
31
|
-
exports.GPUDeviceProvider = GPUDeviceProvider;
|
|
32
16
|
const useSurface = () => {
|
|
33
17
|
const ref = (0, _react.useRef)(null);
|
|
34
18
|
const [surface, setSurface] = (0, _react.useState)(null);
|
|
@@ -42,14 +26,6 @@ const useSurface = () => {
|
|
|
42
26
|
};
|
|
43
27
|
};
|
|
44
28
|
exports.useSurface = useSurface;
|
|
45
|
-
const useMainDevice = () => {
|
|
46
|
-
const ctx = (0, _react.useContext)(DeviceContext);
|
|
47
|
-
if (!ctx) {
|
|
48
|
-
throw new Error("No DeviceContext found.");
|
|
49
|
-
}
|
|
50
|
-
return ctx;
|
|
51
|
-
};
|
|
52
|
-
exports.useMainDevice = useMainDevice;
|
|
53
29
|
const useCanvasRef = () => (0, _react.useRef)(null);
|
|
54
30
|
exports.useCanvasRef = useCanvasRef;
|
|
55
31
|
const useDevice = (adapterOptions, deviceDescriptor) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","require","warnIfNotHardwareAccelerated","adapter","info","isFallbackAdapter","console","warn","exports","useSurface","ref","useRef","surface","setSurface","useState","useLayoutEffect","sur","current","getNativeSurface","useCanvasRef","useDevice","adapterOptions","deviceDescriptor","state","setState","useEffect","navigator","gpu","requestAdapter","Error","device","requestDevice"],"sourceRoot":"../../src","sources":["hooks.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIO,MAAMC,4BAA4B,GAAIC,OAAmB,IAAK;EACnE;EACA;EACA,IAAIA,OAAO,CAACC,IAAI,IAAID,OAAO,CAACC,IAAI,CAACC,iBAAiB,EAAE;IAClDC,OAAO,CAACC,IAAI,CACV,wIACF,CAAC;EACH;AACF,CAAC;AAACC,OAAA,CAAAN,4BAAA,GAAAA,4BAAA;AAOK,MAAMO,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAY,IAAI,CAAC;EACnC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAsB,IAAI,CAAC;EACjE,IAAAC,sBAAe,EAAC,MAAM;IACpB,MAAMC,GAAG,GAAGN,GAAG,CAACO,OAAO,CAAEC,gBAAgB,CAAC,CAAC;IAC3CL,UAAU,CAACG,GAAG,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EACN,OAAO;IAAEN,GAAG;IAAEE;EAAQ,CAAC;AACzB,CAAC;AAACJ,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAEK,MAAMU,YAAY,GAAGA,CAAA,KAAM,IAAAR,aAAM,EAAY,IAAI,CAAC;AAACH,OAAA,CAAAW,YAAA,GAAAA,YAAA;AAEnD,MAAMC,SAAS,GAAGA,CACvBC,cAAyC,EACzCC,gBAAsC,KACnC;EACH,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAV,eAAQ,EAAqB,IAAI,CAAC;EAC5D,IAAAW,gBAAS,EAAC,MAAM;IACd,CAAC,YAAY;MACX,IAAI,CAACF,KAAK,EAAE;QACV,MAAMpB,OAAO,GAAG,MAAMuB,SAAS,CAACC,GAAG,CAACC,cAAc,CAACP,cAAc,CAAC;QAClE,IAAI,CAAClB,OAAO,EAAE;UACZ,MAAM,IAAI0B,KAAK,CAAC,kCAAkC,CAAC;QACrD;QACA3B,4BAA4B,CAACC,OAAO,CAAC;QACrC,MAAM2B,MAAM,GAAG,MAAM3B,OAAO,CAAC4B,aAAa,CAACT,gBAAgB,CAAC;QAC5D,IAAI,CAACQ,MAAM,EAAE;UACX,MAAM,IAAID,KAAK,CAAC,iCAAiC,CAAC;QACpD;QACAL,QAAQ,CAAC;UAAErB,OAAO;UAAE2B;QAAO,CAAC,CAAC;QAC7B;MACF;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACT,cAAc,EAAEC,gBAAgB,EAAEC,KAAK,CAAC,CAAC;EAC7C,OAAO;IAAEpB,OAAO,EAAEoB,KAAK,EAAEpB,OAAO,IAAI,IAAI;IAAE2B,MAAM,EAAEP,KAAK,EAAEO,MAAM,IAAI;EAAK,CAAC;AAC3E,CAAC;AAACtB,OAAA,CAAAY,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -62,6 +62,30 @@ Object.keys(_hooks).forEach(function (key) {
|
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
|
+
var _GPUDeviceProvider = require("../GPUDeviceProvider");
|
|
66
|
+
Object.keys(_GPUDeviceProvider).forEach(function (key) {
|
|
67
|
+
if (key === "default" || key === "__esModule") return;
|
|
68
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
69
|
+
if (key in exports && exports[key] === _GPUDeviceProvider[key]) return;
|
|
70
|
+
Object.defineProperty(exports, key, {
|
|
71
|
+
enumerable: true,
|
|
72
|
+
get: function () {
|
|
73
|
+
return _GPUDeviceProvider[key];
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
var _formats = require("../formats");
|
|
78
|
+
Object.keys(_formats).forEach(function (key) {
|
|
79
|
+
if (key === "default" || key === "__esModule") return;
|
|
80
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
81
|
+
if (key in exports && exports[key] === _formats[key]) return;
|
|
82
|
+
Object.defineProperty(exports, key, {
|
|
83
|
+
enumerable: true,
|
|
84
|
+
get: function () {
|
|
85
|
+
return _formats[key];
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
65
89
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
66
90
|
const _installOk = _NativeWebGPUModule.default.install();
|
|
67
91
|
(0, _external.registerWebGPUForReanimated)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_external","require","_NativeWebGPUModule","_interopRequireDefault","_Canvas","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Offscreen","_WebGPUViewNativeComponent","_hooks","e","__esModule","default","_installOk","WebGPUModule","install","registerWebGPUForReanimated","RNWebGPU","navigator","gpu","userAgent","global","createImageBitmap","bind","console","warn"],"sourceRoot":"../../../src","sources":["main/index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,UAAA,GAAAhB,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAW,UAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,UAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,0BAAA,GAAAjB,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAY,0BAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,0BAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,0BAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,MAAA,GAAAlB,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAa,MAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAW,MAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;
|
|
1
|
+
{"version":3,"names":["_external","require","_NativeWebGPUModule","_interopRequireDefault","_Canvas","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Offscreen","_WebGPUViewNativeComponent","_hooks","_GPUDeviceProvider","_formats","e","__esModule","default","_installOk","WebGPUModule","install","registerWebGPUForReanimated","RNWebGPU","navigator","gpu","userAgent","global","createImageBitmap","bind","console","warn"],"sourceRoot":"../../../src","sources":["main/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,4 +48,26 @@ Object.keys(_hooks).forEach(function (key) {
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
});
|
|
51
|
+
var _GPUDeviceProvider = require("../GPUDeviceProvider");
|
|
52
|
+
Object.keys(_GPUDeviceProvider).forEach(function (key) {
|
|
53
|
+
if (key === "default" || key === "__esModule") return;
|
|
54
|
+
if (key in exports && exports[key] === _GPUDeviceProvider[key]) return;
|
|
55
|
+
Object.defineProperty(exports, key, {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () {
|
|
58
|
+
return _GPUDeviceProvider[key];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
var _formats = require("../formats");
|
|
63
|
+
Object.keys(_formats).forEach(function (key) {
|
|
64
|
+
if (key === "default" || key === "__esModule") return;
|
|
65
|
+
if (key in exports && exports[key] === _formats[key]) return;
|
|
66
|
+
Object.defineProperty(exports, key, {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _formats[key];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
51
73
|
//# sourceMappingURL=index.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_Canvas","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Offscreen","_WebGPUViewNativeComponent","_hooks"],"sourceRoot":"../../../src","sources":["main/index.web.tsx"],"mappings":";;;;;AAAAA,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAR,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAV,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,0BAAA,GAAAX,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAQ,0BAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,0BAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,0BAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAZ,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["require","_Canvas","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Offscreen","_WebGPUViewNativeComponent","_hooks","_GPUDeviceProvider","_formats"],"sourceRoot":"../../../src","sources":["main/index.web.tsx"],"mappings":";;;;;AAAAA,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAR,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAV,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,0BAAA,GAAAX,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAQ,0BAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,0BAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,0BAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAZ,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,kBAAA,GAAAb,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAU,kBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,kBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,kBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/lib/module/Canvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useImperativeHandle","useRef","useState","View","WebGPUNativeView","CONTEXT_COUNTER","generateContextId","Canvas","transparent","ref","props","viewRef","contextId","_","getContextId","getNativeSurface","RNWebGPU","getContext","contextName","Error","current","view","size","getBoundingClientRect","unstable_getBoundingClientRect","MakeWebGPUCanvasContext","width","height","createElement","_extends","collapsable","style","flex"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,mBAAmB,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEpE,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,gBAAgB,MAAM,6BAA6B;AAE1D,IAAIC,eAAe,GAAG,CAAC;AACvB,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOD,eAAe,EAAE;AAC1B;
|
|
1
|
+
{"version":3,"names":["React","useImperativeHandle","useRef","useState","View","WebGPUNativeView","CONTEXT_COUNTER","generateContextId","Canvas","transparent","ref","props","viewRef","contextId","_","getContextId","getNativeSurface","RNWebGPU","getContext","contextName","Error","current","view","size","getBoundingClientRect","unstable_getBoundingClientRect","MakeWebGPUCanvasContext","width","height","createElement","_extends","collapsable","style","flex"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,mBAAmB,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEpE,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,gBAAgB,MAAM,6BAA6B;AAE1D,IAAIC,eAAe,GAAG,CAAC;AACvB,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOD,eAAe,EAAE;AAC1B;AA2CA,OAAO,MAAME,MAAM,GAAGA,CAAC;EAAEC,WAAW;EAAEC,GAAG;EAAE,GAAGC;AAAmB,CAAC,KAAK;EACrE,MAAMC,OAAO,GAAGV,MAAM,CAAC,IAAI,CAAC;EAC5B,MAAM,CAACW,SAAS,EAAEC,CAAC,CAAC,GAAGX,QAAQ,CAAC,MAAMI,iBAAiB,CAAC,CAAC,CAAC;EAC1DN,mBAAmB,CAACS,GAAG,EAAE,OAAO;IAC9BK,YAAY,EAAEA,CAAA,KAAMF,SAAS;IAC7BG,gBAAgB,EAAEA,CAAA,KAAM;MACtB,OAAOC,QAAQ,CAACD,gBAAgB,CAACH,SAAS,CAAC;IAC7C,CAAC;IACDK,UAAUA,CAACC,WAAqB,EAA0B;MACxD,IAAIA,WAAW,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAIC,KAAK,CAAC,iCAAiCD,WAAW,EAAE,CAAC;MACjE;MACA,IAAI,CAACP,OAAO,CAACS,OAAO,EAAE;QACpB,MAAM,IAAID,KAAK,CAAC,0CAA0C,CAAC;MAC7D;MACA;MACA;MACA,MAAME,IAAI,GAAGV,OAAO,CAACS,OAAc;MACnC,MAAME,IAAI,GACR,uBAAuB,IAAID,IAAI,GAC3BA,IAAI,CAACE,qBAAqB,CAAC,CAAC,GAC5BF,IAAI,CAACG,8BAA8B,CAAC,CAAC;MAC3C,OAAOR,QAAQ,CAACS,uBAAuB,CACrCb,SAAS,EACTU,IAAI,CAACI,KAAK,EACVJ,IAAI,CAACK,MACP,CAAC;IACH;EACF,CAAC,CAAC,CAAC;EAEH,oBACE5B,KAAA,CAAA6B,aAAA,CAACzB,IAAI,EAAA0B,QAAA;IAACC,WAAW,EAAE,KAAM;IAACrB,GAAG,EAAEE;EAAQ,GAAKD,KAAK,gBAC/CX,KAAA,CAAA6B,aAAA,CAACxB,gBAAgB;IACf2B,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE,CAAE;IACnBpB,SAAS,EAAEA,SAAU;IACrBJ,WAAW,EAAE,CAAC,CAACA;EAAY,CAC5B,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { createContext, useContext } from "react";
|
|
2
|
+
import { useDevice } from "./hooks";
|
|
3
|
+
const DeviceContext = /*#__PURE__*/createContext(null);
|
|
4
|
+
export const GPUDeviceProvider = ({
|
|
5
|
+
children,
|
|
6
|
+
adapterOptions,
|
|
7
|
+
deviceDescriptor
|
|
8
|
+
}) => {
|
|
9
|
+
const state = useDevice(adapterOptions, deviceDescriptor);
|
|
10
|
+
if (!state.device) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return /*#__PURE__*/React.createElement(DeviceContext.Provider, {
|
|
14
|
+
value: state
|
|
15
|
+
}, children);
|
|
16
|
+
};
|
|
17
|
+
export const useMainDevice = () => {
|
|
18
|
+
const ctx = useContext(DeviceContext);
|
|
19
|
+
if (!ctx) {
|
|
20
|
+
throw new Error("No DeviceContext found.");
|
|
21
|
+
}
|
|
22
|
+
return ctx;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=GPUDeviceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useDevice","DeviceContext","GPUDeviceProvider","children","adapterOptions","deviceDescriptor","state","device","createElement","Provider","value","useMainDevice","ctx","Error"],"sourceRoot":"../../src","sources":["GPUDeviceProvider.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAGxD,SAASC,SAAS,QAAQ,SAAS;AAOnC,MAAMC,aAAa,gBAAGH,aAAa,CAA4B,IAAI,CAAC;AAQpE,OAAO,MAAMI,iBAAiB,GAAGA,CAAC;EAChCC,QAAQ;EACRC,cAAc;EACdC;AACmB,CAAC,KAAK;EACzB,MAAMC,KAAK,GAAGN,SAAS,CAACI,cAAc,EAAEC,gBAAgB,CAAC;EACzD,IAAI,CAACC,KAAK,CAACC,MAAM,EAAE;IACjB,OAAO,IAAI;EACb;EACA,oBACEV,KAAA,CAAAW,aAAA,CAACP,aAAa,CAACQ,QAAQ;IAACC,KAAK,EAAEJ;EAAM,GAAEH,QAAiC,CAAC;AAE7E,CAAC;AAED,OAAO,MAAMQ,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,GAAG,GAAGb,UAAU,CAACE,aAAa,CAAC;EACrC,IAAI,CAACW,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EACA,OAAOD,GAAG;AACZ,CAAC","ignoreList":[]}
|
|
@@ -11,7 +11,13 @@ function getNativeSurface(contextId) {
|
|
|
11
11
|
height,
|
|
12
12
|
width,
|
|
13
13
|
clientHeight: height,
|
|
14
|
-
clientWidth: width
|
|
14
|
+
clientWidth: width,
|
|
15
|
+
// On web the real DOM canvas handles events; delegate to it.
|
|
16
|
+
addEventListener: canvas.addEventListener.bind(canvas),
|
|
17
|
+
removeEventListener: canvas.removeEventListener.bind(canvas),
|
|
18
|
+
dispatchEvent: canvas.dispatchEvent.bind(canvas),
|
|
19
|
+
setPointerCapture: canvas.setPointerCapture.bind(canvas),
|
|
20
|
+
releasePointerCapture: canvas.releasePointerCapture.bind(canvas)
|
|
15
21
|
};
|
|
16
22
|
}
|
|
17
23
|
function makeWebGPUCanvasContext(contextId, width, height) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["contextIdToId","fabric","getNativeSurface","contextId","canvas","document","getElementById","height","width","getBoundingClientRect","surface","BigInt","clientHeight","clientWidth","makeWebGPUCanvasContext","dpr","window","devicePixelRatio","pixelWidth","toString","pixelHeight","getAttribute","setAttribute","context","getContext","Object","assign","present","RNWebGPU","MakeWebGPUCanvasContext"],"sourceRoot":"../../src","sources":["WebPolyfillGPUModule.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,SAAS;AAEvC,MAAMC,MAAM,GAAG,IAAI;AAEnB,SAASC,gBAAgBA,CAACC,SAAiB,EAAE;EAC3C,MAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpCN,aAAa,CAACG,SAAS,CACzB,CAAsB;EAEtB,MAAM;IAAEI,MAAM;IAAEC;EAAM,CAAC,GAAGJ,MAAM,CAACK,qBAAqB,CAAC,CAAE;EAEzD,OAAO;IACLC,OAAO,EAAEC,MAAM,CAACR,SAAS,CAAC;IAC1BI,MAAM;IACNC,KAAK;IACLI,YAAY,EAAEL,MAAM;IACpBM,WAAW,EAAEL;
|
|
1
|
+
{"version":3,"names":["contextIdToId","fabric","getNativeSurface","contextId","canvas","document","getElementById","height","width","getBoundingClientRect","surface","BigInt","clientHeight","clientWidth","addEventListener","bind","removeEventListener","dispatchEvent","setPointerCapture","releasePointerCapture","makeWebGPUCanvasContext","dpr","window","devicePixelRatio","pixelWidth","toString","pixelHeight","getAttribute","setAttribute","context","getContext","Object","assign","present","RNWebGPU","MakeWebGPUCanvasContext"],"sourceRoot":"../../src","sources":["WebPolyfillGPUModule.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,SAAS;AAEvC,MAAMC,MAAM,GAAG,IAAI;AAEnB,SAASC,gBAAgBA,CAACC,SAAiB,EAAE;EAC3C,MAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpCN,aAAa,CAACG,SAAS,CACzB,CAAsB;EAEtB,MAAM;IAAEI,MAAM;IAAEC;EAAM,CAAC,GAAGJ,MAAM,CAACK,qBAAqB,CAAC,CAAE;EAEzD,OAAO;IACLC,OAAO,EAAEC,MAAM,CAACR,SAAS,CAAC;IAC1BI,MAAM;IACNC,KAAK;IACLI,YAAY,EAAEL,MAAM;IACpBM,WAAW,EAAEL,KAAK;IAClB;IACAM,gBAAgB,EAAEV,MAAM,CAACU,gBAAgB,CAACC,IAAI,CAACX,MAAM,CAAC;IACtDY,mBAAmB,EAAEZ,MAAM,CAACY,mBAAmB,CAACD,IAAI,CAACX,MAAM,CAAC;IAC5Da,aAAa,EAAEb,MAAM,CAACa,aAAa,CAACF,IAAI,CAACX,MAAM,CAAC;IAChDc,iBAAiB,EAAEd,MAAM,CAACc,iBAAiB,CAACH,IAAI,CAACX,MAAM,CAAC;IACxDe,qBAAqB,EAAEf,MAAM,CAACe,qBAAqB,CAACJ,IAAI,CAACX,MAAM;EACjE,CAAC;AACH;AAEA,SAASgB,uBAAuBA,CAC9BjB,SAAiB,EACjBK,KAAa,EACbD,MAAc,EACd;EACA,MAAMH,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpCN,aAAa,CAACG,SAAS,CACzB,CAAsB;EAEtB,MAAMkB,GAAG,GAAGC,MAAM,CAACC,gBAAgB,IAAI,CAAC;EACxC,MAAMC,UAAU,GAAG,CAAChB,KAAK,GAAGa,GAAG,EAAEI,QAAQ,CAAC,CAAC;EAC3C,MAAMC,WAAW,GAAG,CAACnB,MAAM,GAAGc,GAAG,EAAEI,QAAQ,CAAC,CAAC;EAE7C,IACErB,MAAM,CAACuB,YAAY,CAAC,OAAO,CAAC,KAAKH,UAAU,IAC3CpB,MAAM,CAACuB,YAAY,CAAC,QAAQ,CAAC,KAAKD,WAAW,EAC7C;IACAtB,MAAM,CAACwB,YAAY,CAAC,OAAO,EAAEJ,UAAU,CAAC;IACxCpB,MAAM,CAACwB,YAAY,CAAC,QAAQ,EAAEF,WAAW,CAAC;EAC5C;EAEA,MAAMG,OAAO,GAAGzB,MAAM,CAAC0B,UAAU,CAAC,QAAQ,CAAE;EAC5C;EACA;EACA,OAAOC,MAAM,CAACC,MAAM,CAACH,OAAO,EAAE;IAAEI,OAAO,EAAEA,CAAA,KAAM,CAAC;EAAE,CAAC,CAAC;AACtD;;AAEA;AACAX,MAAM,CAACY,QAAQ,GAAG;EAChBhC,gBAAgB;EAChBiC,uBAAuB,EAAEf,uBAAuB;EAChDnB;AACF,CAAC","ignoreList":[]}
|
package/lib/module/constants.js
CHANGED
|
@@ -26,9 +26,19 @@
|
|
|
26
26
|
// re-exports `./main` before `./constants`, and `./main` installs the native
|
|
27
27
|
// module synchronously, so the globals always exist by the time this runs.
|
|
28
28
|
|
|
29
|
-
export const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export const
|
|
33
|
-
|
|
29
|
+
export const {
|
|
30
|
+
GPUBufferUsage
|
|
31
|
+
} = globalThis;
|
|
32
|
+
export const {
|
|
33
|
+
GPUTextureUsage
|
|
34
|
+
} = globalThis;
|
|
35
|
+
export const {
|
|
36
|
+
GPUShaderStage
|
|
37
|
+
} = globalThis;
|
|
38
|
+
export const {
|
|
39
|
+
GPUColorWrite
|
|
40
|
+
} = globalThis;
|
|
41
|
+
export const {
|
|
42
|
+
GPUMapMode
|
|
43
|
+
} = globalThis;
|
|
34
44
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GPUBufferUsage","globalThis","GPUTextureUsage","GPUShaderStage","GPUColorWrite","GPUMapMode"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,
|
|
1
|
+
{"version":3,"names":["GPUBufferUsage","globalThis","GPUTextureUsage","GPUShaderStage","GPUColorWrite","GPUMapMode"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAM;EAAEA;AAAe,CAAC,GAAGC,UAAU;AAE5C,OAAO,MAAM;EAAEC;AAAgB,CAAC,GAAGD,UAAU;AAE7C,OAAO,MAAM;EAAEE;AAAe,CAAC,GAAGF,UAAU;AAE5C,OAAO,MAAM;EAAEG;AAAc,CAAC,GAAGH,UAAU;AAE3C,OAAO,MAAM;EAAEI;AAAW,CAAC,GAAGJ,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="@webgpu/types" />
|
|
2
|
+
|
|
3
|
+
import { Platform } from "react-native";
|
|
4
|
+
|
|
5
|
+
// Non-spec helper: the canvas texture format most likely to reach the display
|
|
6
|
+
// with more than 8 bits per channel on the current platform. The returned
|
|
7
|
+
// format keeps standard (SDR) sRGB semantics: values are encoded exactly like
|
|
8
|
+
// on an 8-bit canvas, only with more precision, so colors match across
|
|
9
|
+
// formats. This is about bit depth, not HDR (no extended range).
|
|
10
|
+
//
|
|
11
|
+
// - Apple platforms: "rgba16float" (16-bit float per channel). The library
|
|
12
|
+
// tags the CAMetalLayer with the extended sRGB colorspace automatically so
|
|
13
|
+
// the values display identically to an 8-bit canvas.
|
|
14
|
+
// - Android: "rgb10a2unorm". A float16 swapchain works but is tagged as an
|
|
15
|
+
// SDR sRGB layer, and SurfaceFlinger quantizes SDR layers to the display
|
|
16
|
+
// pipeline depth during composition, discarding the extra precision.
|
|
17
|
+
// RGBA_1010102 buffers keep SDR semantics and can pass through composition,
|
|
18
|
+
// including direct scanout on 10-bit panels. Requires the Vulkan surface to
|
|
19
|
+
// expose the 10-bit format (common on modern devices).
|
|
20
|
+
// - Web: "rgba16float", the float canvas format supported by browsers.
|
|
21
|
+
export const getPreferredHighBitDepthCanvasFormat = () => {
|
|
22
|
+
return Platform.OS === "android" ? "rgb10a2unorm" : "rgba16float";
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","getPreferredHighBitDepthCanvasFormat","OS"],"sourceRoot":"../../src","sources":["formats.ts"],"mappings":"AAAA;;AAEA,SAASA,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oCAAoC,GAAGA,CAAA,KAAwB;EAC1E,OAAOD,QAAQ,CAACE,EAAE,KAAK,SAAS,GAAG,cAAc,GAAG,aAAa;AACnE,CAAC","ignoreList":[]}
|
package/lib/module/hooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
2
2
|
export const warnIfNotHardwareAccelerated = adapter => {
|
|
3
3
|
// Check if adapter is a fallback adapter using the new GPUAdapterInfo API
|
|
4
4
|
// Note: isFallbackAdapter was moved from GPUAdapter to GPUAdapterInfo in Chrome 140
|
|
@@ -6,20 +6,6 @@ export const warnIfNotHardwareAccelerated = adapter => {
|
|
|
6
6
|
console.warn("GPUAdapter is not hardware accelerated. This is common on Android emulators. Rendering will be slow. Some features may be unavailable.");
|
|
7
7
|
}
|
|
8
8
|
};
|
|
9
|
-
const DeviceContext = /*#__PURE__*/createContext(null);
|
|
10
|
-
export const GPUDeviceProvider = ({
|
|
11
|
-
children,
|
|
12
|
-
adapterOptions,
|
|
13
|
-
deviceDescriptor
|
|
14
|
-
}) => {
|
|
15
|
-
const state = useDevice(adapterOptions, deviceDescriptor);
|
|
16
|
-
if (!state.device) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
return /*#__PURE__*/React.createElement(DeviceContext.Provider, {
|
|
20
|
-
value: state
|
|
21
|
-
}, children);
|
|
22
|
-
};
|
|
23
9
|
export const useSurface = () => {
|
|
24
10
|
const ref = useRef(null);
|
|
25
11
|
const [surface, setSurface] = useState(null);
|
|
@@ -32,13 +18,6 @@ export const useSurface = () => {
|
|
|
32
18
|
surface
|
|
33
19
|
};
|
|
34
20
|
};
|
|
35
|
-
export const useMainDevice = () => {
|
|
36
|
-
const ctx = useContext(DeviceContext);
|
|
37
|
-
if (!ctx) {
|
|
38
|
-
throw new Error("No DeviceContext found.");
|
|
39
|
-
}
|
|
40
|
-
return ctx;
|
|
41
|
-
};
|
|
42
21
|
export const useCanvasRef = () => useRef(null);
|
|
43
22
|
export const useDevice = (adapterOptions, deviceDescriptor) => {
|
|
44
23
|
const [state, setState] = useState(null);
|
package/lib/module/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useEffect","useLayoutEffect","useRef","useState","warnIfNotHardwareAccelerated","adapter","info","isFallbackAdapter","console","warn","useSurface","ref","surface","setSurface","sur","current","getNativeSurface","useCanvasRef","useDevice","adapterOptions","deviceDescriptor","state","setState","navigator","gpu","requestAdapter","Error","device","requestDevice"],"sourceRoot":"../../src","sources":["hooks.tsx"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAIpE,OAAO,MAAMC,4BAA4B,GAAIC,OAAmB,IAAK;EACnE;EACA;EACA,IAAIA,OAAO,CAACC,IAAI,IAAID,OAAO,CAACC,IAAI,CAACC,iBAAiB,EAAE;IAClDC,OAAO,CAACC,IAAI,CACV,wIACF,CAAC;EACH;AACF,CAAC;AAOD,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAMC,GAAG,GAAGT,MAAM,CAAY,IAAI,CAAC;EACnC,MAAM,CAACU,OAAO,EAAEC,UAAU,CAAC,GAAGV,QAAQ,CAAsB,IAAI,CAAC;EACjEF,eAAe,CAAC,MAAM;IACpB,MAAMa,GAAG,GAAGH,GAAG,CAACI,OAAO,CAAEC,gBAAgB,CAAC,CAAC;IAC3CH,UAAU,CAACC,GAAG,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EACN,OAAO;IAAEH,GAAG;IAAEC;EAAQ,CAAC;AACzB,CAAC;AAED,OAAO,MAAMK,YAAY,GAAGA,CAAA,KAAMf,MAAM,CAAY,IAAI,CAAC;AAEzD,OAAO,MAAMgB,SAAS,GAAGA,CACvBC,cAAyC,EACzCC,gBAAsC,KACnC;EACH,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGnB,QAAQ,CAAqB,IAAI,CAAC;EAC5DH,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX,IAAI,CAACqB,KAAK,EAAE;QACV,MAAMhB,OAAO,GAAG,MAAMkB,SAAS,CAACC,GAAG,CAACC,cAAc,CAACN,cAAc,CAAC;QAClE,IAAI,CAACd,OAAO,EAAE;UACZ,MAAM,IAAIqB,KAAK,CAAC,kCAAkC,CAAC;QACrD;QACAtB,4BAA4B,CAACC,OAAO,CAAC;QACrC,MAAMsB,MAAM,GAAG,MAAMtB,OAAO,CAACuB,aAAa,CAACR,gBAAgB,CAAC;QAC5D,IAAI,CAACO,MAAM,EAAE;UACX,MAAM,IAAID,KAAK,CAAC,iCAAiC,CAAC;QACpD;QACAJ,QAAQ,CAAC;UAAEjB,OAAO;UAAEsB;QAAO,CAAC,CAAC;QAC7B;MACF;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACR,cAAc,EAAEC,gBAAgB,EAAEC,KAAK,CAAC,CAAC;EAC7C,OAAO;IAAEhB,OAAO,EAAEgB,KAAK,EAAEhB,OAAO,IAAI,IAAI;IAAEsB,MAAM,EAAEN,KAAK,EAAEM,MAAM,IAAI;EAAK,CAAC;AAC3E,CAAC","ignoreList":[]}
|
package/lib/module/main/index.js
CHANGED
|
@@ -4,6 +4,8 @@ export * from "../Canvas";
|
|
|
4
4
|
export * from "../Offscreen";
|
|
5
5
|
export * from "../WebGPUViewNativeComponent";
|
|
6
6
|
export * from "../hooks";
|
|
7
|
+
export * from "../GPUDeviceProvider";
|
|
8
|
+
export * from "../formats";
|
|
7
9
|
export { default as WebGPUModule } from "../NativeWebGPUModule";
|
|
8
10
|
const _installOk = WebGPUModule.install();
|
|
9
11
|
registerWebGPUForReanimated();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["registerWebGPUForReanimated","WebGPUModule","default","_installOk","install","RNWebGPU","navigator","gpu","userAgent","global","createImageBitmap","bind","console","warn"],"sourceRoot":"../../../src","sources":["main/index.tsx"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,aAAa;AACzD,OAAOC,YAAY,MAAM,uBAAuB;AAEhD,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,8BAA8B;AAC5C,cAAc,UAAU;
|
|
1
|
+
{"version":3,"names":["registerWebGPUForReanimated","WebGPUModule","default","_installOk","install","RNWebGPU","navigator","gpu","userAgent","global","createImageBitmap","bind","console","warn"],"sourceRoot":"../../../src","sources":["main/index.tsx"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,aAAa;AACzD,OAAOC,YAAY,MAAM,uBAAuB;AAEhD,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,8BAA8B;AAC5C,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,YAAY;AAE1B,SAASC,OAAO,IAAID,YAAY,QAAQ,uBAAuB;AAE/D,MAAME,UAAU,GAAGF,YAAY,CAACG,OAAO,CAAC,CAAC;AAEzCJ,2BAA2B,CAAC,CAAC;AAE7B,IAAI,OAAOK,QAAQ,KAAK,WAAW,EAAE;EACnC,IAAI,CAACC,SAAS,EAAE;IACd;IACAA,SAAS,GAAG;MACVC,GAAG,EAAEF,QAAQ,CAACE,GAAG;MACjBC,SAAS,EAAE;IACb,CAAC;EACH,CAAC,MAAM;IACLF,SAAS,CAACC,GAAG,GAAGF,QAAQ,CAACE,GAAG;IAC5B,IAAI,OAAOD,SAAS,CAACE,SAAS,KAAK,QAAQ,EAAE;MAC3C,IAAI;QACF;QACA;QACAF,SAAS,CAACE,SAAS,GAAG,cAAc;MACtC,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF;EACAC,MAAM,CAACC,iBAAiB,GACtBD,MAAM,CAACC,iBAAiB,IAAIL,QAAQ,CAACK,iBAAiB,CAACC,IAAI,CAACN,QAAQ,CAAC;AACzE,CAAC,MAAM;EACLO,OAAO,CAACC,IAAI,CACV,4CAA4CV,UAAU,uCACxD,CAAC;AACH","ignoreList":[]}
|
|
@@ -3,6 +3,8 @@ export * from "../Canvas";
|
|
|
3
3
|
export * from "../Offscreen";
|
|
4
4
|
export * from "../WebGPUViewNativeComponent";
|
|
5
5
|
export * from "../hooks";
|
|
6
|
+
export * from "../GPUDeviceProvider";
|
|
7
|
+
export * from "../formats";
|
|
6
8
|
|
|
7
9
|
// We don't need to set all global properties on web, webgpu is already available globally
|
|
8
10
|
//# sourceMappingURL=index.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["main/index.web.tsx"],"mappings":"AAAA,OAAO,yBAAyB;AAEhC,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,8BAA8B;AAC5C,cAAc,UAAU;;
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["main/index.web.tsx"],"mappings":"AAAA,OAAO,yBAAyB;AAEhC,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,8BAA8B;AAC5C,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,YAAY;;AAE1B","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const __esModule: boolean;
|
|
2
|
+
export function GPUDeviceProvider({ children, adapterOptions, deviceDescriptor }: {
|
|
3
|
+
children: any;
|
|
4
|
+
adapterOptions: any;
|
|
5
|
+
deviceDescriptor: any;
|
|
6
|
+
}): any;
|
|
7
|
+
export function useMainDevice(): any;
|
|
8
|
+
//# sourceMappingURL=GPUDeviceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GPUDeviceProvider.d.ts","sourceRoot":"","sources":["../../../commonjs/GPUDeviceProvider.js"],"names":[],"mappings":";AAUA;;;;QAYC;AAED,qCAMC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export const __esModule: boolean;
|
|
2
|
-
export
|
|
2
|
+
export const GPUBufferUsage: GPUBufferUsage;
|
|
3
|
+
export const GPUTextureUsage: GPUTextureUsage;
|
|
4
|
+
export const GPUShaderStage: GPUShaderStage;
|
|
5
|
+
export const GPUColorWrite: GPUColorWrite;
|
|
6
|
+
export const GPUMapMode: GPUMapMode;
|
|
3
7
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../../commonjs/formats.js"],"names":[],"mappings":";AAyBA,uFAEC"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
export const __esModule: boolean;
|
|
2
2
|
export function warnIfNotHardwareAccelerated(adapter: any): void;
|
|
3
|
-
export function GPUDeviceProvider({ children, adapterOptions, deviceDescriptor }: {
|
|
4
|
-
children: any;
|
|
5
|
-
adapterOptions: any;
|
|
6
|
-
deviceDescriptor: any;
|
|
7
|
-
}): any;
|
|
8
3
|
export function useSurface(): {
|
|
9
|
-
ref:
|
|
10
|
-
surface:
|
|
4
|
+
ref: _react.MutableRefObject<null>;
|
|
5
|
+
surface: null;
|
|
11
6
|
};
|
|
12
|
-
export function
|
|
13
|
-
export function useCanvasRef(): any;
|
|
7
|
+
export function useCanvasRef(): _react.MutableRefObject<null>;
|
|
14
8
|
export function useDevice(adapterOptions: any, deviceDescriptor: any): {
|
|
15
9
|
adapter: any;
|
|
16
10
|
device: any;
|
|
17
11
|
};
|
|
12
|
+
import _react = require("react");
|
|
18
13
|
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../commonjs/hooks.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../commonjs/hooks.js"],"names":[],"mappings":";AAOA,iEAMC;AAED;;;EAWC;AAED,8DAAmD;AAEnD;;;EA0BC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function GPUDeviceProvider({ children, adapterOptions, deviceDescriptor }: {
|
|
2
|
+
children: any;
|
|
3
|
+
adapterOptions: any;
|
|
4
|
+
deviceDescriptor: any;
|
|
5
|
+
}): React.DetailedReactHTMLElement<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> | null;
|
|
6
|
+
export function useMainDevice(): never;
|
|
7
|
+
import React from "react";
|
|
8
|
+
//# sourceMappingURL=GPUDeviceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GPUDeviceProvider.d.ts","sourceRoot":"","sources":["../../../module/GPUDeviceProvider.js"],"names":[],"mappings":"AAGO;;;;yGAYN;AACM,uCAMN;kBAtBgD,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../module/constants.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../module/constants.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../../module/formats.js"],"names":[],"mappings":"AAoBO,uFAEN"}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
export function warnIfNotHardwareAccelerated(adapter: any): void;
|
|
2
|
-
export function GPUDeviceProvider({ children, adapterOptions, deviceDescriptor }: {
|
|
3
|
-
children: any;
|
|
4
|
-
adapterOptions: any;
|
|
5
|
-
deviceDescriptor: any;
|
|
6
|
-
}): React.DetailedReactHTMLElement<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> | null;
|
|
7
2
|
export function useSurface(): {
|
|
8
|
-
ref:
|
|
3
|
+
ref: import("react").MutableRefObject<null>;
|
|
9
4
|
surface: null;
|
|
10
5
|
};
|
|
11
|
-
export function
|
|
12
|
-
export function useCanvasRef(): React.MutableRefObject<null>;
|
|
6
|
+
export function useCanvasRef(): import("react").MutableRefObject<null>;
|
|
13
7
|
export function useDevice(adapterOptions: any, deviceDescriptor: any): {
|
|
14
8
|
adapter: any;
|
|
15
9
|
device: any;
|
|
16
10
|
};
|
|
17
|
-
import React from "react";
|
|
18
11
|
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../module/hooks.js"],"names":[],"mappings":"AACO,iEAMN;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../module/hooks.js"],"names":[],"mappings":"AACO,iEAMN;AACM;;;EAWN;AACM,uEAAuC;AACvC;;;EA0BN"}
|
|
@@ -2,5 +2,7 @@ export * from "../Canvas";
|
|
|
2
2
|
export * from "../Offscreen";
|
|
3
3
|
export * from "../WebGPUViewNativeComponent";
|
|
4
4
|
export * from "../hooks";
|
|
5
|
+
export * from "../GPUDeviceProvider";
|
|
6
|
+
export * from "../formats";
|
|
5
7
|
export { default as WebGPUModule } from "../NativeWebGPUModule";
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -7,6 +7,11 @@ export interface NativeCanvas {
|
|
|
7
7
|
height: number;
|
|
8
8
|
clientWidth: number;
|
|
9
9
|
clientHeight: number;
|
|
10
|
+
addEventListener(type: string, listener: EventListener): void;
|
|
11
|
+
removeEventListener(type: string, listener: EventListener): void;
|
|
12
|
+
dispatchEvent(event: Event): void;
|
|
13
|
+
setPointerCapture(pointerId: number): void;
|
|
14
|
+
releasePointerCapture(pointerId: number): void;
|
|
10
15
|
}
|
|
11
16
|
export type RNCanvasContext = GPUCanvasContext & {
|
|
12
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../src/Canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../src/Canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAGrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACjE,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,UAAU,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC;IAC1D,gBAAgB,EAAE,MAAM,YAAY,CAAC;CACtC;AAED,UAAU,WAAY,SAAQ,SAAS;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,MAAM,GAAI,gCAAgC,WAAW,sBAuCjE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
interface DeviceContextValue {
|
|
4
|
+
device: GPUDevice | null;
|
|
5
|
+
adapter: GPUAdapter | null;
|
|
6
|
+
}
|
|
7
|
+
interface DeviceProviderProps {
|
|
8
|
+
children?: ReactNode | ReactNode[];
|
|
9
|
+
adapterOptions?: GPURequestAdapterOptions;
|
|
10
|
+
deviceDescriptor?: GPUDeviceDescriptor;
|
|
11
|
+
}
|
|
12
|
+
export declare const GPUDeviceProvider: ({ children, adapterOptions, deviceDescriptor, }: DeviceProviderProps) => React.JSX.Element | null;
|
|
13
|
+
export declare const useMainDevice: () => DeviceContextValue;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=GPUDeviceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GPUDeviceProvider.d.ts","sourceRoot":"","sources":["../../../src/GPUDeviceProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAID,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAED,eAAO,MAAM,iBAAiB,GAAI,iDAI/B,mBAAmB,6BAQrB,CAAC;AAEF,eAAO,MAAM,aAAa,0BAMzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAQ,cAAc,gBAAe,CAAC;AAE7C,eAAO,MAAQ,eAAe,iBAAe,CAAC;AAE9C,eAAO,MAAQ,cAAc,gBAAe,CAAC;AAE7C,eAAO,MAAQ,aAAa,eAAe,CAAC;AAE5C,eAAO,MAAQ,UAAU,YAAe,CAAC"}
|