react-native-webgpu 0.16.1 → 0.19.0

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.
Files changed (78) hide show
  1. package/android/cpp/AndroidPlatformContext.h +8 -0
  2. package/android/src/main/java/com/webgpu/BackingViewKind.java +38 -0
  3. package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +19 -2
  4. package/android/src/main/java/com/webgpu/WebGPUView.java +78 -76
  5. package/android/src/main/java/com/webgpu/WebGPUViewManager.java +13 -6
  6. package/apple/ApplePlatformContext.h +2 -0
  7. package/apple/ApplePlatformContext.mm +12 -0
  8. package/apple/MetalLayerColorSpace.mm +20 -8
  9. package/cpp/jsi/NativeObject.h +42 -32
  10. package/cpp/rnwgpu/CanvasColorSpace.h +9 -0
  11. package/cpp/rnwgpu/PlatformContext.h +6 -0
  12. package/cpp/rnwgpu/RNWebGPUManager.cpp +5 -8
  13. package/cpp/rnwgpu/SurfaceRegistry.h +101 -30
  14. package/cpp/rnwgpu/WebGPURuntime.cpp +30 -11
  15. package/cpp/rnwgpu/WebGPURuntime.h +7 -2
  16. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +2 -1
  17. package/cpp/rnwgpu/api/GPUCanvasContext.h +10 -0
  18. package/cpp/rnwgpu/api/GPUFeatures.h +1 -0
  19. package/cpp/rnwgpu/api/RNWebGPU.h +63 -5
  20. package/cpp/rnwgpu/api/VideoFrame.h +2 -2
  21. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +18 -0
  22. package/cpp/rnwgpu/async/RuntimeContext.cpp +43 -27
  23. package/cpp/rnwgpu/async/RuntimeContext.h +19 -11
  24. package/lib/commonjs/Canvas.js +88 -43
  25. package/lib/commonjs/Canvas.js.map +1 -1
  26. package/lib/commonjs/WebGPUViewNativeComponent.js.map +1 -1
  27. package/lib/commonjs/WebGPUViewNativeComponent.web.js +3 -5
  28. package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +1 -1
  29. package/lib/commonjs/WebPolyfillGPUModule.js +2 -0
  30. package/lib/commonjs/WebPolyfillGPUModule.js.map +1 -1
  31. package/lib/commonjs/importDevice.js +3 -2
  32. package/lib/commonjs/importDevice.js.map +1 -1
  33. package/lib/commonjs/mock.js +0 -1
  34. package/lib/commonjs/mock.js.map +1 -1
  35. package/lib/module/Canvas.js +88 -43
  36. package/lib/module/Canvas.js.map +1 -1
  37. package/lib/module/WebGPUViewNativeComponent.js.map +1 -1
  38. package/lib/module/WebGPUViewNativeComponent.web.js +3 -5
  39. package/lib/module/WebGPUViewNativeComponent.web.js.map +1 -1
  40. package/lib/module/WebPolyfillGPUModule.js +2 -0
  41. package/lib/module/WebPolyfillGPUModule.js.map +1 -1
  42. package/lib/module/importDevice.js +3 -2
  43. package/lib/module/importDevice.js.map +1 -1
  44. package/lib/module/mock.js +0 -1
  45. package/lib/module/mock.js.map +1 -1
  46. package/lib/typescript/lib/commonjs/Canvas.d.ts +1 -2
  47. package/lib/typescript/lib/commonjs/Canvas.d.ts.map +1 -1
  48. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +1 -1
  49. package/lib/typescript/lib/commonjs/importDevice.d.ts +3 -2
  50. package/lib/typescript/lib/commonjs/importDevice.d.ts.map +1 -1
  51. package/lib/typescript/lib/commonjs/mock.d.ts +1 -2
  52. package/lib/typescript/lib/commonjs/mock.d.ts.map +1 -1
  53. package/lib/typescript/lib/module/Canvas.d.ts +1 -2
  54. package/lib/typescript/lib/module/Canvas.d.ts.map +1 -1
  55. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +1 -1
  56. package/lib/typescript/lib/module/importDevice.d.ts.map +1 -1
  57. package/lib/typescript/lib/module/mock.d.ts +1 -2
  58. package/lib/typescript/lib/module/mock.d.ts.map +1 -1
  59. package/lib/typescript/src/Canvas.d.ts +61 -29
  60. package/lib/typescript/src/Canvas.d.ts.map +1 -1
  61. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts +3 -2
  62. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +1 -1
  63. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +3 -2
  64. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +1 -1
  65. package/lib/typescript/src/importDevice.d.ts +3 -2
  66. package/lib/typescript/src/importDevice.d.ts.map +1 -1
  67. package/lib/typescript/src/index.d.ts +2 -0
  68. package/lib/typescript/src/index.d.ts.map +1 -1
  69. package/lib/typescript/src/mock.d.ts +2 -2
  70. package/lib/typescript/src/mock.d.ts.map +1 -1
  71. package/package.json +3 -3
  72. package/src/Canvas.tsx +156 -81
  73. package/src/WebGPUViewNativeComponent.ts +6 -4
  74. package/src/WebGPUViewNativeComponent.web.ts +7 -5
  75. package/src/WebPolyfillGPUModule.ts +3 -0
  76. package/src/importDevice.ts +3 -2
  77. package/src/index.tsx +15 -4
  78. package/src/mock.ts +5 -7
@@ -2,6 +2,7 @@
2
2
 
3
3
  #include <memory>
4
4
  #include <stdexcept>
5
+ #include <unordered_map>
5
6
  #include <utility>
6
7
  #include <vector>
7
8
 
@@ -14,7 +15,7 @@ namespace rnwgpu::async {
14
15
 
15
16
  namespace {
16
17
  struct RuntimeData {
17
- std::shared_ptr<RuntimeContext> context;
18
+ std::unordered_map<WGPUInstance, std::shared_ptr<RuntimeContext>> contexts;
18
19
  };
19
20
  constexpr const char *TAG = "RuntimeContext";
20
21
 
@@ -25,12 +26,27 @@ constexpr const char *TAG = "RuntimeContext";
25
26
  jsi::Runtime *sMainRuntime = nullptr;
26
27
  std::shared_ptr<facebook::react::CallInvoker> sMainInvoker;
27
28
 
28
- // Serializes ProcessEvents() across all runtimes that share a wgpu::Instance.
29
- // Held only across the ProcessEvents call itself, never while running JS / mailbox
29
+ // ProcessEvents() on one wgpu::Instance is serialized across the runtimes that
30
+ // share it by a mutex per instance, which each context resolves once, on
31
+ // creation. Pumping another library's instance (the one owning a device passed
32
+ // to importDevice) can block on that library's device lock; with one mutex per
33
+ // instance that never stalls the pumps of our own instance. A mutex is held
34
+ // only across the ProcessEvents call itself, never while running JS / mailbox
30
35
  // settle-actions, so it cannot deadlock against the per-context mailbox mutex.
31
- std::mutex &processEventsMutex() {
32
- static std::mutex mutex;
33
- return mutex;
36
+ std::shared_ptr<std::mutex> processEventsMutexFor(WGPUInstance instance) {
37
+ static std::mutex registryMutex;
38
+ static std::unordered_map<WGPUInstance, std::weak_ptr<std::mutex>> registry;
39
+ std::lock_guard<std::mutex> lock(registryMutex);
40
+ auto &slot = registry[instance];
41
+ if (auto existing = slot.lock()) {
42
+ return existing;
43
+ }
44
+ // Contexts retain their instance, so its handle cannot be reused while one
45
+ // of them is alive: an expired slot belonged to an instance whose runtimes
46
+ // are all gone, and an instance reusing that address starts afresh.
47
+ auto created = std::make_shared<std::mutex>();
48
+ slot = created;
49
+ return created;
34
50
  }
35
51
  } // namespace
36
52
 
@@ -42,32 +58,32 @@ void RuntimeContext::registerMainRuntime(
42
58
  }
43
59
 
44
60
  RuntimeContext::RuntimeContext(jsi::Runtime &runtime, wgpu::Instance instance)
45
- : _runtime(runtime), _instance(std::move(instance)) {
61
+ : _runtime(runtime), _instance(std::move(instance)),
62
+ _processEventsMutex(processEventsMutexFor(_instance.Get())) {
46
63
  Logger::logToConsole("[%s] Created (runtime=%p)", TAG, &runtime);
47
64
  }
48
65
 
49
- std::shared_ptr<RuntimeContext> RuntimeContext::get(jsi::Runtime &runtime) {
50
- auto data = runtime.getRuntimeData(runtimeDataUUID());
51
- if (!data) {
52
- return nullptr;
53
- }
54
- return std::static_pointer_cast<RuntimeData>(data)->context;
55
- }
56
-
57
66
  std::shared_ptr<RuntimeContext>
58
- RuntimeContext::getOrCreate(jsi::Runtime &runtime, wgpu::Instance instance) {
59
- if (auto existing = get(runtime)) {
60
- return existing;
67
+ RuntimeContext::getOrCreate(jsi::Runtime &runtime,
68
+ const wgpu::Instance &instance) {
69
+ auto data = std::static_pointer_cast<RuntimeData>(
70
+ runtime.getRuntimeData(runtimeDataUUID()));
71
+ if (!data) {
72
+ data = std::make_shared<RuntimeData>();
73
+ runtime.setRuntimeData(runtimeDataUUID(), data);
61
74
  }
62
- auto context = std::make_shared<RuntimeContext>(runtime, std::move(instance));
63
- // Only the main JS runtime's context carries the CallInvoker; it is used to
64
- // deliver spontaneous events (device.lost) without the pump.
65
- if (&runtime == sMainRuntime) {
66
- context->_callInvoker = sMainInvoker;
75
+ // Contexts retain their instance, so its handle is a stable key for the
76
+ // runtime's lifetime, and each instance's callbacks reach the matching pump.
77
+ // A slot left null by a throwing constructor is simply filled next time.
78
+ auto &context = data->contexts[instance.Get()];
79
+ if (!context) {
80
+ context = std::make_shared<RuntimeContext>(runtime, instance);
81
+ // Only the main JS runtime's context carries the CallInvoker; it is used to
82
+ // deliver spontaneous events (device.lost) without the pump.
83
+ if (&runtime == sMainRuntime) {
84
+ context->_callInvoker = sMainInvoker;
85
+ }
67
86
  }
68
- auto data = std::make_shared<RuntimeData>();
69
- data->context = context;
70
- runtime.setRuntimeData(runtimeDataUUID(), data);
71
87
  return context;
72
88
  }
73
89
 
@@ -173,7 +189,7 @@ void RuntimeContext::tick() {
173
189
  {
174
190
  // Serialize ProcessEvents across runtimes sharing this instance. Callbacks
175
191
  // fired here only deposit into mailboxes (postSettle), they do not run JS.
176
- std::lock_guard<std::mutex> lock(processEventsMutex());
192
+ std::lock_guard<std::mutex> lock(*_processEventsMutex);
177
193
  _instance.ProcessEvents();
178
194
  }
179
195
  // Settle this runtime's ready promises on this thread, outside the pump lock.
@@ -22,11 +22,14 @@ class CallInvoker;
22
22
  namespace rnwgpu::async {
23
23
 
24
24
  /**
25
- * Per-runtime coordinator for asynchronous WebGPU operations.
25
+ * Per-runtime, per-instance coordinator for asynchronous WebGPU operations.
26
26
  *
27
- * Each JS runtime that uses WebGPU gets its own RuntimeContext, stored in the
28
- * runtime's runtimeData. Async Dawn operations are registered with
29
- * CallbackMode::AllowProcessEvents and driven to completion by pumping
27
+ * Each (JS runtime, Dawn instance) pair gets its own RuntimeContext, stored in
28
+ * the runtime's runtimeData. A runtime usually has a single one, for the
29
+ * shared WebGPURuntime instance; a device passed to importDevice() can live on
30
+ * another instance, which then gets its own context and pump. Async Dawn
31
+ * operations are registered with CallbackMode::AllowProcessEvents and driven
32
+ * to completion by pumping
30
33
  * `instance.ProcessEvents()` on the runtime's OWN thread via a self-
31
34
  * rescheduling tick (scheduled through that runtime's setTimeout). Because
32
35
  * ProcessEvents invokes the Dawn callbacks synchronously on the pumping thread,
@@ -56,8 +59,9 @@ namespace rnwgpu::async {
56
59
  * deposits a settle-action (a plain C++ closure, no JSI) into the OWNING
57
60
  * context's thread-safe mailbox via postSettle(), and each context drains its
58
61
  * own mailbox on its own thread during tick(). ProcessEvents() itself is
59
- * serialized across runtimes by a process-wide mutex, since concurrent
60
- * ProcessEvents on one instance is not guaranteed reentrant.
62
+ * serialized across the runtimes sharing an instance by a mutex per instance,
63
+ * since concurrent ProcessEvents on one instance is not guaranteed reentrant;
64
+ * pumps of different instances never wait on each other.
61
65
  *
62
66
  * Threading contract: a RuntimeContext must only be pumped from the runtime it
63
67
  * was created for. Request/response async entry points (mapAsync,
@@ -78,9 +82,10 @@ public:
78
82
 
79
83
  RuntimeContext(jsi::Runtime &runtime, wgpu::Instance instance);
80
84
 
81
- static std::shared_ptr<RuntimeContext> get(jsi::Runtime &runtime);
82
- static std::shared_ptr<RuntimeContext> getOrCreate(jsi::Runtime &runtime,
83
- wgpu::Instance instance);
85
+ // The calling runtime's context for `instance`, created on first use and
86
+ // kept in the runtime's runtimeData for the runtime's lifetime.
87
+ static std::shared_ptr<RuntimeContext>
88
+ getOrCreate(jsi::Runtime &runtime, const wgpu::Instance &instance);
84
89
 
85
90
  // Register the main JS runtime and its CallInvoker. The RuntimeContext
86
91
  // created for this runtime gets the invoker (callInvoker() returns it); every
@@ -97,8 +102,8 @@ public:
97
102
  return _callInvoker;
98
103
  }
99
104
 
100
- // The wgpu::Instance bound to this runtime.
101
- wgpu::Instance instance() const { return _instance; }
105
+ // The wgpu::Instance served by this context on its owning runtime.
106
+ const wgpu::Instance &instance() const { return _instance; }
102
107
 
103
108
  // The runtime this context belongs to. Safe for pointer-identity checks from
104
109
  // any thread; only touch JSI through it on the runtime's own thread.
@@ -126,6 +131,9 @@ private:
126
131
 
127
132
  jsi::Runtime &_runtime;
128
133
  wgpu::Instance _instance;
134
+ // Serializes ProcessEvents() on _instance across the runtimes that share it;
135
+ // every context of that instance holds the same mutex.
136
+ std::shared_ptr<std::mutex> _processEventsMutex;
129
137
  // Non-null only for the main JS runtime's context (see registerMainRuntime).
130
138
  std::shared_ptr<facebook::react::CallInvoker> _callInvoker;
131
139
  std::atomic<std::size_t> _pumpTasks{0};
@@ -10,58 +10,110 @@ var _WebGPUViewNativeComponent = _interopRequireDefault(require("./WebGPUViewNat
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  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); }
12
12
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
- let CONTEXT_COUNTER = 1;
14
- function generateContextId() {
15
- return CONTEXT_COUNTER++;
16
- }
13
+ // Native hands out the id: it must be unique for the life of the process,
14
+ // not of the JS runtime, as the native surface registry outlives a reload.
15
+ const generateContextId = () => RNWebGPU.allocateContextId();
16
+
17
+ /** The Android view a canvas draws into, see {@link AndroidCanvasProps}. */
18
+
19
+ /** The options of a canvas backed by a `TextureView`, the default. */
20
+
21
+ /** The options of a canvas backed by a `SurfaceView`. */
22
+
23
+ /** The options of a canvas backed by a `HardwareBufferView`. */
17
24
 
18
25
  /**
19
- * Android-only rendering options. They select the backing view, which is
20
- * chosen when the canvas mounts and kept: a later change is ignored, with a
21
- * warning in development. Remount the canvas, with a `key`, to change it.
26
+ * Android-only rendering options: the native view behind the canvas and its
27
+ * options. The view is created when the canvas mounts and kept: a change of
28
+ * `backingView` is ignored, with a warning in development; remount the canvas
29
+ * (with a `key`) to change it. `opaque` applies in place, and so do the
30
+ * z-order options on Android 11 and later. Ignored on iOS and web.
22
31
  */
23
32
 
33
+ // The union read as one bag of options; which of them apply to the view is
34
+ // decided below, as it is on the native side.
35
+
36
+ const options = android => android ?? {};
37
+
24
38
  // Anything else reaching the native component would hit the generated
25
39
  // string-enum parser, which aborts on unknown values.
26
- const resolveSurfaceType = surfaceType => surfaceType === "SurfaceView" || surfaceType === "TextureView" || surfaceType === "HardwareBufferView" ? surfaceType : "auto";
27
-
28
- // The props the Android backing view is chosen from when the canvas mounts.
40
+ const resolveBackingView = android => {
41
+ const {
42
+ backingView
43
+ } = options(android);
44
+ return backingView === "SurfaceView" || backingView === "HardwareBufferView" ? backingView : "TextureView";
45
+ };
29
46
 
30
- // The backing view the props select, see WebGPUView.resolveKind().
31
- const resolveKind = ({
32
- opaque,
33
- android
34
- }) => {
35
- const surfaceType = resolveSurfaceType(android?.surfaceType);
36
- if (surfaceType !== "auto") {
37
- return surfaceType;
47
+ // Whether the canvas composites as opaque, see BackingViewKind.resolveOpaque():
48
+ // a SurfaceView is opaque unless asked otherwise, a TextureView is translucent
49
+ // unless asked otherwise, and a HardwareBufferView always composites with
50
+ // alpha.
51
+ const resolveOpaque = android => {
52
+ const {
53
+ opaque
54
+ } = options(android);
55
+ switch (resolveBackingView(android)) {
56
+ case "SurfaceView":
57
+ return opaque !== false;
58
+ case "TextureView":
59
+ return opaque === true;
60
+ case "HardwareBufferView":
61
+ return false;
38
62
  }
39
- return opaque ? "SurfaceView" : "TextureView";
40
63
  };
41
- const warnIgnored = prop => console.warn(`Ignoring a change of ${prop} on a mounted canvas: the backing view is ` + "chosen when the canvas mounts. Remount the canvas (give it a new key) " + "to change it.");
42
64
 
43
- // Warns, in development on Android, about a change of these props that the
44
- // native view ignores: the backing view is chosen from them when the canvas
45
- // mounts (see WebGPUView.java, whose setters these rules mirror). The native
46
- // side only says so in logcat, which is not where a JS developer looks.
47
- const useBackingViewWarning = props => {
48
- const mount = (0, _react.useRef)(props);
49
- const prev = (0, _react.useRef)(props);
65
+ // The native props the `android` prop resolves to.
66
+ const androidNativeProps = android => {
67
+ const backingView = resolveBackingView(android);
68
+ const {
69
+ zOrderOnTop,
70
+ zOrderMediaOverlay
71
+ } = options(android);
72
+ const surfaceView = backingView === "SurfaceView";
73
+ return {
74
+ androidBackingView: backingView,
75
+ androidOpaque: resolveOpaque(android),
76
+ androidZOrderOnTop: surfaceView && !!zOrderOnTop,
77
+ androidZOrderMediaOverlay: surfaceView && !!zOrderMediaOverlay
78
+ };
79
+ };
80
+ const warnIgnoredChange = prop => console.warn(`Ignoring a change of ${prop} on a mounted canvas: the backing view is ` + "chosen when the canvas mounts. Remount the canvas (give it a new key) " + "to change it.");
81
+
82
+ // Warns, in development on Android, about an option a mounting canvas asks
83
+ // for that the native view cannot honour, and about a change of these props
84
+ // that the native view ignores: the backing view is created from them when
85
+ // the canvas mounts (see WebGPUView.java, whose setters these rules mirror).
86
+ // The native side only says so in logcat, which is not where a JS developer
87
+ // looks.
88
+ const useBackingViewWarning = android => {
89
+ const mount = (0, _react.useRef)(android);
90
+ const prev = (0, _react.useRef)(android);
91
+ (0, _react.useEffect)(() => {
92
+ if (__DEV__ && _reactNative.Platform.OS === "android" && resolveBackingView(mount.current) === "HardwareBufferView" && Number(_reactNative.Platform.Version) < 29) {
93
+ console.warn("android.backingView: HardwareBufferView needs Android 10, the " + "canvas uses a TextureView.");
94
+ }
95
+ }, []);
50
96
  (0, _react.useEffect)(() => {
51
97
  if (__DEV__ && _reactNative.Platform.OS === "android") {
52
98
  const {
53
99
  current: before
54
100
  } = prev;
55
- if (resolveSurfaceType(before.android?.surfaceType) !== resolveSurfaceType(props.android?.surfaceType)) {
56
- warnIgnored("android.surfaceType");
101
+ if (resolveBackingView(before) !== resolveBackingView(android)) {
102
+ warnIgnoredChange("android.backingView");
57
103
  }
58
104
  // Only a SurfaceView has a z-order of its own, which Android 11 and
59
105
  // later changes in place.
60
- if (!!before.android?.zOrderOnTop !== !!props.android?.zOrderOnTop && resolveKind(mount.current) === "SurfaceView" && Number(_reactNative.Platform.Version) < 30) {
61
- warnIgnored("android.zOrderOnTop");
106
+ const zOrderAtMount = resolveBackingView(mount.current) === "SurfaceView" && Number(_reactNative.Platform.Version) < 30;
107
+ const was = options(before);
108
+ const is = options(android);
109
+ if (zOrderAtMount && !!was.zOrderOnTop !== !!is.zOrderOnTop) {
110
+ warnIgnoredChange("android.zOrderOnTop");
111
+ }
112
+ if (zOrderAtMount && !!was.zOrderMediaOverlay !== !!is.zOrderMediaOverlay) {
113
+ warnIgnoredChange("android.zOrderMediaOverlay");
62
114
  }
63
115
  }
64
- prev.current = props;
116
+ prev.current = android;
65
117
  });
66
118
  };
67
119
 
@@ -95,17 +147,13 @@ const measureLayout = view => {
95
147
  return size;
96
148
  };
97
149
  const Canvas = ({
98
- opaque = true,
99
150
  android,
100
151
  ref,
101
152
  ...props
102
153
  }) => {
103
154
  const viewRef = (0, _react.useRef)(null);
104
155
  const [contextId, _] = (0, _react.useState)(() => generateContextId());
105
- useBackingViewWarning({
106
- opaque,
107
- android
108
- });
156
+ useBackingViewWarning(android);
109
157
  // Retire the native registry entry for this contextId on unmount. When a
110
158
  // native surface is still attached, this is a no-op and the native view's
111
159
  // own teardown retires the entry instead — which keeps StrictMode's
@@ -138,15 +186,12 @@ const Canvas = ({
138
186
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
139
187
  collapsable: false,
140
188
  ref: viewRef
141
- }, props), /*#__PURE__*/_react.default.createElement(_WebGPUViewNativeComponent.default, {
189
+ }, props), /*#__PURE__*/_react.default.createElement(_WebGPUViewNativeComponent.default, _extends({
142
190
  style: {
143
191
  flex: 1
144
192
  },
145
- contextId: contextId,
146
- opaque: opaque,
147
- androidSurfaceType: resolveSurfaceType(android?.surfaceType),
148
- androidZOrderOnTop: !!android?.zOrderOnTop
149
- }));
193
+ contextId: contextId
194
+ }, androidNativeProps(android))));
150
195
  };
151
196
  exports.Canvas = Canvas;
152
197
  //# sourceMappingURL=Canvas.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_WebGPUViewNativeComponent","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","CONTEXT_COUNTER","generateContextId","resolveSurfaceType","surfaceType","resolveKind","opaque","android","warnIgnored","prop","console","warn","useBackingViewWarning","props","mount","useRef","prev","useEffect","__DEV__","Platform","OS","current","before","zOrderOnTop","Number","Version","measureLayout","view","clientWidth","clientHeight","width","height","size","_left","_top","Canvas","ref","viewRef","contextId","_","useState","RNWebGPU","destroyContext","useImperativeHandle","getContextId","getNativeSurface","getContext","contextName","Error","MakeWebGPUCanvasContext","createElement","View","collapsable","style","flex","androidSurfaceType","androidZOrderOnTop","exports"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_WebGPUViewNativeComponent","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","generateContextId","RNWebGPU","allocateContextId","options","android","resolveBackingView","backingView","resolveOpaque","opaque","androidNativeProps","zOrderOnTop","zOrderMediaOverlay","surfaceView","androidBackingView","androidOpaque","androidZOrderOnTop","androidZOrderMediaOverlay","warnIgnoredChange","prop","console","warn","useBackingViewWarning","mount","useRef","prev","useEffect","__DEV__","Platform","OS","current","Number","Version","before","zOrderAtMount","was","is","measureLayout","view","clientWidth","clientHeight","width","height","size","_left","_top","Canvas","ref","props","viewRef","contextId","_","useState","destroyContext","useImperativeHandle","getContextId","getNativeSurface","getContext","contextName","Error","MakeWebGPUCanvasContext","createElement","View","collapsable","style","flex","exports"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","codegenNativeComponent"],"sourceRoot":"../../src","sources":["WebGPUViewNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAiBA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACe,IAAAC,mCAAsB,EAAc,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","codegenNativeComponent"],"sourceRoot":"../../src","sources":["WebGPUViewNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAmBA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACe,IAAAC,mCAAsB,EAAc,YAAY,CAAC","ignoreList":[]}
@@ -13,9 +13,10 @@ function WebGPUViewNativeComponent(props) {
13
13
  const {
14
14
  contextId,
15
15
  style,
16
- opaque = true,
17
- androidSurfaceType: _androidSurfaceType,
16
+ androidBackingView: _androidBackingView,
17
+ androidOpaque: _androidOpaque,
18
18
  androidZOrderOnTop: _androidZOrderOnTop,
19
+ androidZOrderMediaOverlay: _androidZOrderMediaOverlay,
19
20
  ...rest
20
21
  } = props;
21
22
 
@@ -28,9 +29,6 @@ function WebGPUViewNativeComponent(props) {
28
29
  style: {
29
30
  ...styles.view,
30
31
  ...styles.flex1,
31
- ...(opaque ? {
32
- backgroundColor: "white"
33
- } : {}),
34
32
  ...(typeof style === "object" ? style : {})
35
33
  }
36
34
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","e","__esModule","default","WebGPUViewNativeComponent","props","contextId","style","opaque","androidSurfaceType","_androidSurfaceType","androidZOrderOnTop","_androidZOrderOnTop","rest","React","createElement","id","contextIdToId","styles","view","flex1","backgroundColor","StyleSheet","create","flex","alignItems","border","boxSizing","display","flexBasis","flexDirection","flexShrink","listStyle","margin","minHeight","minWidth","padding","position","zIndex"],"sourceRoot":"../../src","sources":["WebGPUViewNativeComponent.web.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAAwC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASxC;AACe,SAASG,yBAAyBA,CAC/CC,KAAkB,EACC;EACnB,MAAM;IACJC,SAAS;IACTC,KAAK;IACLC,MAAM,GAAG,IAAI;IACbC,kBAAkB,EAAEC,mBAAmB;IACvCC,kBAAkB,EAAEC,mBAAmB;IACvC,GAAGC;EACL,CAAC,GAAGR,KAAK;;EAET;EACA;EACA;EACA,oBAAOS,cAAK,CAACC,aAAa,CAAC,QAAQ,EAAE;IACnC,GAAGF,IAAI;IACPG,EAAE,EAAE,IAAAC,oBAAa,EAACX,SAAS,CAAC;IAC5BC,KAAK,EAAE;MACL,GAAGW,MAAM,CAACC,IAAI;MACd,GAAGD,MAAM,CAACE,KAAK;MACf,IAAIZ,MAAM,GAAG;QAAEa,eAAe,EAAE;MAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/C,IAAI,OAAOd,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC,CAAC;IAC5C;EACF,CAAC,CAAC;AACJ;AAEA,MAAMW,MAAM,GAAGI,uBAAU,CAACC,MAAM,CAAC;EAC/BH,KAAK,EAAE;IACLI,IAAI,EAAE;EACR,CAAC;EACDL,IAAI,EAAE;IACJM,UAAU,EAAE,SAAS;IACrBJ,eAAe,EAAE,aAAa;IAC9B;IACA;IACAK,MAAM,EAAE,eAAe;IACvBC,SAAS,EAAE,YAAY;IACvBC,OAAO,EAAE,MAAM;IACfC,SAAS,EAAE,MAAM;IACjBC,aAAa,EAAE,QAAQ;IACvBC,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE,MAAM;IACjBC,MAAM,EAAE,CAAC;IACTC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","e","__esModule","default","WebGPUViewNativeComponent","props","contextId","style","androidBackingView","_androidBackingView","androidOpaque","_androidOpaque","androidZOrderOnTop","_androidZOrderOnTop","androidZOrderMediaOverlay","_androidZOrderMediaOverlay","rest","React","createElement","id","contextIdToId","styles","view","flex1","StyleSheet","create","flex","alignItems","backgroundColor","border","boxSizing","display","flexBasis","flexDirection","flexShrink","listStyle","margin","minHeight","minWidth","padding","position","zIndex"],"sourceRoot":"../../src","sources":["WebGPUViewNativeComponent.web.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAAwC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAWxC;AACe,SAASG,yBAAyBA,CAC/CC,KAAkB,EACC;EACnB,MAAM;IACJC,SAAS;IACTC,KAAK;IACLC,kBAAkB,EAAEC,mBAAmB;IACvCC,aAAa,EAAEC,cAAc;IAC7BC,kBAAkB,EAAEC,mBAAmB;IACvCC,yBAAyB,EAAEC,0BAA0B;IACrD,GAAGC;EACL,CAAC,GAAGX,KAAK;;EAET;EACA;EACA;EACA,oBAAOY,cAAK,CAACC,aAAa,CAAC,QAAQ,EAAE;IACnC,GAAGF,IAAI;IACPG,EAAE,EAAE,IAAAC,oBAAa,EAACd,SAAS,CAAC;IAC5BC,KAAK,EAAE;MACL,GAAGc,MAAM,CAACC,IAAI;MACd,GAAGD,MAAM,CAACE,KAAK;MACf,IAAI,OAAOhB,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC,CAAC;IAC5C;EACF,CAAC,CAAC;AACJ;AAEA,MAAMc,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAC/BF,KAAK,EAAE;IACLG,IAAI,EAAE;EACR,CAAC;EACDJ,IAAI,EAAE;IACJK,UAAU,EAAE,SAAS;IACrBC,eAAe,EAAE,aAAa;IAC9B;IACA;IACAC,MAAM,EAAE,eAAe;IACvBC,SAAS,EAAE,YAAY;IACvBC,OAAO,EAAE,MAAM;IACfC,SAAS,EAAE,MAAM;IACjBC,aAAa,EAAE,QAAQ;IACvBC,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE,MAAM;IACjBC,MAAM,EAAE,CAAC;IACTC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
@@ -46,9 +46,11 @@ function makeWebGPUCanvasContext(contextId, width, height) {
46
46
  present: () => {}
47
47
  });
48
48
  }
49
+ let nextContextId = 1;
49
50
 
50
51
  // @ts-expect-error - polyfill for RNWebGPU native module
51
52
  window.RNWebGPU = {
53
+ allocateContextId: () => nextContextId++,
52
54
  getNativeSurface,
53
55
  // Unlike native, this can return null; Canvas.getContext() is typed
54
56
  // `RNCanvasContext | null` and passes it through.
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","fabric","getNativeSurface","contextId","canvas","document","getElementById","contextIdToId","clientHeight","height","clientWidth","width","surface","BigInt","addEventListener","bind","removeEventListener","dispatchEvent","setPointerCapture","releasePointerCapture","makeWebGPUCanvasContext","dpr","window","devicePixelRatio","pixelWidth","toString","pixelHeight","getAttribute","setAttribute","context","getContext","Object","assign","present","RNWebGPU","MakeWebGPUCanvasContext","destroyContext","_contextId"],"sourceRoot":"../../src","sources":["WebPolyfillGPUModule.ts"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,MAAM,GAAG,IAAI;AAEnB,SAASC,gBAAgBA,CAACC,SAAiB,EAAE;EAC3C,MAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpC,IAAAC,oBAAa,EAACJ,SAAS,CACzB,CAAsB;;EAEtB;EACA;EACA,MAAM;IAAEK,YAAY,EAAEC,MAAM;IAAEC,WAAW,EAAEC;EAAM,CAAC,GAAGP,MAAM;EAE3D,OAAO;IACLQ,OAAO,EAAEC,MAAM,CAACV,SAAS,CAAC;IAC1BM,MAAM;IACNE,KAAK;IACLH,YAAY,EAAEC,MAAM;IACpBC,WAAW,EAAEC,KAAK;IAClB;IACAG,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,EACjBQ,KAAa,EACbF,MAAc,EACd;EACA,MAAML,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpC,IAAAC,oBAAa,EAACJ,SAAS,CACzB,CAAsB;EAEtB,MAAMkB,GAAG,GAAGC,MAAM,CAACC,gBAAgB,IAAI,CAAC;EACxC,MAAMC,UAAU,GAAG,CAACb,KAAK,GAAGU,GAAG,EAAEI,QAAQ,CAAC,CAAC;EAC3C,MAAMC,WAAW,GAAG,CAACjB,MAAM,GAAGY,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,CAAC;EAC3C;EACA;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EACA;EACA;EACA,OAAOE,MAAM,CAACC,MAAM,CAACH,OAAO,EAAE;IAAEI,OAAO,EAAEA,CAAA,KAAM,CAAC;EAAE,CAAC,CAAC;AACtD;;AAEA;AACAX,MAAM,CAACY,QAAQ,GAAG;EAChBhC,gBAAgB;EAChB;EACA;EACAiC,uBAAuB,EACrBf,uBAAkE;EACpE;EACAgB,cAAc,EAAGC,UAAkB,IAAK,CAAC,CAAC;EAC1CpC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","fabric","getNativeSurface","contextId","canvas","document","getElementById","contextIdToId","clientHeight","height","clientWidth","width","surface","BigInt","addEventListener","bind","removeEventListener","dispatchEvent","setPointerCapture","releasePointerCapture","makeWebGPUCanvasContext","dpr","window","devicePixelRatio","pixelWidth","toString","pixelHeight","getAttribute","setAttribute","context","getContext","Object","assign","present","nextContextId","RNWebGPU","allocateContextId","MakeWebGPUCanvasContext","destroyContext","_contextId"],"sourceRoot":"../../src","sources":["WebPolyfillGPUModule.ts"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,MAAM,GAAG,IAAI;AAEnB,SAASC,gBAAgBA,CAACC,SAAiB,EAAE;EAC3C,MAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpC,IAAAC,oBAAa,EAACJ,SAAS,CACzB,CAAsB;;EAEtB;EACA;EACA,MAAM;IAAEK,YAAY,EAAEC,MAAM;IAAEC,WAAW,EAAEC;EAAM,CAAC,GAAGP,MAAM;EAE3D,OAAO;IACLQ,OAAO,EAAEC,MAAM,CAACV,SAAS,CAAC;IAC1BM,MAAM;IACNE,KAAK;IACLH,YAAY,EAAEC,MAAM;IACpBC,WAAW,EAAEC,KAAK;IAClB;IACAG,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,EACjBQ,KAAa,EACbF,MAAc,EACd;EACA,MAAML,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpC,IAAAC,oBAAa,EAACJ,SAAS,CACzB,CAAsB;EAEtB,MAAMkB,GAAG,GAAGC,MAAM,CAACC,gBAAgB,IAAI,CAAC;EACxC,MAAMC,UAAU,GAAG,CAACb,KAAK,GAAGU,GAAG,EAAEI,QAAQ,CAAC,CAAC;EAC3C,MAAMC,WAAW,GAAG,CAACjB,MAAM,GAAGY,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,CAAC;EAC3C;EACA;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EACA;EACA;EACA,OAAOE,MAAM,CAACC,MAAM,CAACH,OAAO,EAAE;IAAEI,OAAO,EAAEA,CAAA,KAAM,CAAC;EAAE,CAAC,CAAC;AACtD;AAEA,IAAIC,aAAa,GAAG,CAAC;;AAErB;AACAZ,MAAM,CAACa,QAAQ,GAAG;EAChBC,iBAAiB,EAAEA,CAAA,KAAMF,aAAa,EAAE;EACxChC,gBAAgB;EAChB;EACA;EACAmC,uBAAuB,EACrBjB,uBAAkE;EACpE;EACAkB,cAAc,EAAGC,UAAkB,IAAK,CAAC,CAAC;EAC1CtC;AACF,CAAC","ignoreList":[]}
@@ -15,8 +15,9 @@ exports.importDevice = exports.adoptTexture = void 0;
15
15
  * ```
16
16
  *
17
17
  * This is only sound when the exporting library links the same single Dawn
18
- * copy as react-native-webgpu and shares its wgpu::Instance (react-native-skia
19
- * does both).
18
+ * copy as react-native-webgpu (react-native-skia does). The device stays on
19
+ * its owner's Dawn instance and its async operations are pumped there, so the
20
+ * two libraries do not have to share an instance.
20
21
  */
21
22
  const importDevice = pointer => {
22
23
  if (typeof RNWebGPU === "undefined") {
@@ -1 +1 @@
1
- {"version":3,"names":["importDevice","pointer","RNWebGPU","Error","exports","adoptTexture"],"sourceRoot":"../../src","sources":["importDevice.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,YAAY,GAAIC,OAAe,IAAgB;EAC1D,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IACnC,MAAM,IAAIC,KAAK,CACb,4EACF,CAAC;EACH;EACA,OAAOD,QAAQ,CAACF,YAAY,CAACC,OAAO,CAAC;AACvC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVAG,OAAA,CAAAJ,YAAA,GAAAA,YAAA;AAWO,MAAMK,YAAY,GAAIJ,OAAe,IAAiB;EAC3D,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IACnC,MAAM,IAAIC,KAAK,CACb,4EACF,CAAC;EACH;EACA,OAAOD,QAAQ,CAACG,YAAY,CAACJ,OAAO,CAAC;AACvC,CAAC;AAACG,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["importDevice","pointer","RNWebGPU","Error","exports","adoptTexture"],"sourceRoot":"../../src","sources":["importDevice.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,YAAY,GAAIC,OAAe,IAAgB;EAC1D,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IACnC,MAAM,IAAIC,KAAK,CACb,4EACF,CAAC;EACH;EACA,OAAOD,QAAQ,CAACF,YAAY,CAACC,OAAO,CAAC;AACvC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVAG,OAAA,CAAAJ,YAAA,GAAAA,YAAA;AAWO,MAAMK,YAAY,GAAIJ,OAAe,IAAiB;EAC3D,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IACnC,MAAM,IAAIC,KAAK,CACb,4EACF,CAAC;EACH;EACA,OAAOD,QAAQ,CAACG,YAAY,CAACJ,OAAO,CAAC;AACvC,CAAC;AAACG,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -107,7 +107,6 @@ const GPUMapMode = exports.GPUMapMode = {
107
107
  const NOT_AVAILABLE_UNDER_JEST = "is not available under Jest - react-native-webgpu has no native implementation in tests (see react-native-webgpu/jestSetup.js)";
108
108
  // Strip the same props the real Canvas keeps off its outer View.
109
109
  const Canvas = ({
110
- opaque: _opaque,
111
110
  android: _android,
112
111
  ref,
113
112
  ...props
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_formats","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","e","__esModule","default","GPUBufferUsage","MAP_READ","MAP_WRITE","COPY_SRC","COPY_DST","INDEX","VERTEX","UNIFORM","STORAGE","INDIRECT","QUERY_RESOLVE","GPUTextureUsage","TEXTURE_BINDING","STORAGE_BINDING","RENDER_ATTACHMENT","TRANSIENT_ATTACHMENT","GPUShaderStage","FRAGMENT","COMPUTE","GPUColorWrite","RED","GREEN","BLUE","ALPHA","ALL","GPUMapMode","READ","WRITE","g","globalThis","value","entries","undefined","NOT_AVAILABLE_UNDER_JEST","Canvas","opaque","_opaque","android","_android","ref","props","React","useImperativeHandle","getContextId","getContext","_contextName","getNativeSurface","Error","createElement","View","useCanvasRef","useRef","useSurface","surface","warnIfNotHardwareAccelerated","useDevice","adapter","device","GPUDeviceProvider","children","useMainDevice","importDevice","_pointer","adoptTexture","installWebGPU","WebGPUModule","install"],"sourceRoot":"../../src","sources":["mock.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAeA,IAAAE,QAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,QAAA,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,QAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA0B,SAAAP,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAlB1B;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACO,MAAMG,cAA8B,GAAAP,OAAA,CAAAO,cAAA,GAAG;EAC5CC,QAAQ,EAAE,MAAM;EAChBC,SAAS,EAAE,MAAM;EACjBC,QAAQ,EAAE,MAAM;EAChBC,QAAQ,EAAE,MAAM;EAChBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAE,MAAM;EACfC,OAAO,EAAE,MAAM;EACfC,QAAQ,EAAE,MAAM;EAChBC,aAAa,EAAE;AACjB,CAAC;AAEM,MAAMC,eAAgC,GAAAlB,OAAA,CAAAkB,eAAA,GAAG;EAC9CR,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EACdQ,eAAe,EAAE,IAAI;EACrBC,eAAe,EAAE,IAAI;EACrBC,iBAAiB,EAAE,IAAI;EACvBC,oBAAoB,EAAE;AACxB,CAAC;AAEM,MAAMC,cAA8B,GAAAvB,OAAA,CAAAuB,cAAA,GAAG;EAC5CV,MAAM,EAAE,GAAG;EACXW,QAAQ,EAAE,GAAG;EACbC,OAAO,EAAE;AACX,CAAC;AAEM,MAAMC,aAA4B,GAAA1B,OAAA,CAAA0B,aAAA,GAAG;EAC1CC,GAAG,EAAE,GAAG;EACRC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,GAAG;EACTC,KAAK,EAAE,GAAG;EACVC,GAAG,EAAE;AACP,CAAC;AAEM,MAAMC,UAAsB,GAAAhC,OAAA,CAAAgC,UAAA,GAAG;EACpCC,IAAI,EAAE,GAAG;EACTC,KAAK,EAAE;AACT,CAAC;AAED;EACE,MAAMC,CAAC,GAAGC,UAAgD;EAC1D,KAAK,MAAM,CAACzC,GAAG,EAAE0C,KAAK,CAAC,IAAI7C,MAAM,CAAC8C,OAAO,CAAC;IACxC/B,cAAc;IACdW,eAAe;IACfK,cAAc;IACdG,aAAa;IACbM;EACF,CAAC,CAAC,EAAE;IACF,IAAIG,CAAC,CAACxC,GAAG,CAAC,KAAK4C,SAAS,EAAE;MACxBJ,CAAC,CAACxC,GAAG,CAAC,GAAG0C,KAAK;IAChB;EACF;AACF;AAEA,MAAMG,wBAAwB,GAC5B,gIAAgI;AAWlI;AACO,MAAMC,MAAM,GAAGA,CAAC;EACrBC,MAAM,EAAEC,OAAO;EACfC,OAAO,EAAEC,QAAQ;EACjBC,GAAG;EACH,GAAGC;AACQ,CAAC,KAAK;EACjBC,cAAK,CAACC,mBAAmB,CAACH,GAAG,EAAE,OAAO;IACpCI,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;IACtBC,UAAU,EAAGC,YAAsB,IAA6B,IAAI;IACpEC,gBAAgB,EAAEA,CAAA,KAAoB;MACpC,MAAM,IAAIC,KAAK,CAAC,6BAA6Bd,wBAAwB,EAAE,CAAC;IAC1E;EACF,CAAC,CAAC,CAAC;EACH,oBAAOQ,cAAK,CAACO,aAAa,CAACC,iBAAI,EAAET,KAAK,CAAC;AACzC,CAAC;AAAC/C,OAAA,CAAAyC,MAAA,GAAAA,MAAA;AAEK,MAAMgB,YAAY,GAAGA,CAAA,KAAMT,cAAK,CAACU,MAAM,CAAC,IAAI,CAAC;AAAC1D,OAAA,CAAAyD,YAAA,GAAAA,YAAA;AAC9C,MAAME,UAAU,GAAGA,CAAA,MAAO;EAAEb,GAAG,EAAEE,cAAK,CAACU,MAAM,CAAC,IAAI,CAAC;EAAEE,OAAO,EAAE;AAAK,CAAC,CAAC;AAAC5D,OAAA,CAAA2D,UAAA,GAAAA,UAAA;AACtE,MAAME,4BAA4B,GAAGA,CAAA,KAAMtB,SAAS;AAACvC,OAAA,CAAA6D,4BAAA,GAAAA,4BAAA;AAErD,MAAMC,SAAS,GAAGA,CAAA,MAAO;EAAEC,OAAO,EAAE,IAAI;EAAEC,MAAM,EAAE;AAAK,CAAC,CAAC;AAAChE,OAAA,CAAA8D,SAAA,GAAAA,SAAA;AAE1D,MAAMG,iBAAiB,GAAGA,CAAC;EAAEC;AAAmC,CAAC,KACtEA,QAAQ,IAAI,IAAI;AAAClE,OAAA,CAAAiE,iBAAA,GAAAA,iBAAA;AAEZ,MAAME,aAAa,GAAGA,CAAA,KAAa;EACxC,MAAM,IAAIb,KAAK,CAAC,mBAAmBd,wBAAwB,EAAE,CAAC;AAChE,CAAC;AAACxC,OAAA,CAAAmE,aAAA,GAAAA,aAAA;AAEK,MAAMC,YAAY,GAAIC,QAAgB,IAAgB;EAC3D,MAAM,IAAIf,KAAK,CAAC,kBAAkBd,wBAAwB,EAAE,CAAC;AAC/D,CAAC;AAACxC,OAAA,CAAAoE,YAAA,GAAAA,YAAA;AAEK,MAAME,YAAY,GAAID,QAAgB,IAAiB;EAC5D,MAAM,IAAIf,KAAK,CAAC,kBAAkBd,wBAAwB,EAAE,CAAC;AAC/D,CAAC;AAACxC,OAAA,CAAAsE,YAAA,GAAAA,YAAA;AAEK,MAAMC,aAAa,GAAGA,CAAA,KAAMhC,SAAS;AAACvC,OAAA,CAAAuE,aAAA,GAAAA,aAAA;AAEtC,MAAMC,YAAY,GAAAxE,OAAA,CAAAwE,YAAA,GAAG;EAAEC,OAAO,EAAEA,CAAA,KAAM;AAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_formats","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","e","__esModule","default","GPUBufferUsage","MAP_READ","MAP_WRITE","COPY_SRC","COPY_DST","INDEX","VERTEX","UNIFORM","STORAGE","INDIRECT","QUERY_RESOLVE","GPUTextureUsage","TEXTURE_BINDING","STORAGE_BINDING","RENDER_ATTACHMENT","TRANSIENT_ATTACHMENT","GPUShaderStage","FRAGMENT","COMPUTE","GPUColorWrite","RED","GREEN","BLUE","ALPHA","ALL","GPUMapMode","READ","WRITE","g","globalThis","value","entries","undefined","NOT_AVAILABLE_UNDER_JEST","Canvas","android","_android","ref","props","React","useImperativeHandle","getContextId","getContext","_contextName","getNativeSurface","Error","createElement","View","useCanvasRef","useRef","useSurface","surface","warnIfNotHardwareAccelerated","useDevice","adapter","device","GPUDeviceProvider","children","useMainDevice","importDevice","_pointer","adoptTexture","installWebGPU","WebGPUModule","install"],"sourceRoot":"../../src","sources":["mock.ts"],"mappings":"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","ignoreList":[]}