react-native-webgpu 0.5.13 → 0.5.14
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 +5 -5
- package/android/CMakeLists.txt +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/webgpu/WebGPUModule.java +1 -1
- package/apple/WebGPUModule.mm +2 -2
- package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +6 -0
- package/lib/commonjs/main/index.js +1 -1
- package/lib/commonjs/main/index.js.map +1 -1
- package/lib/module/main/index.js +1 -1
- package/lib/module/main/index.js.map +1 -1
- package/package.json +1 -1
- package/{react-native-wgpu.podspec → react-native-webgpu.podspec} +5 -1
- package/src/main/index.tsx +1 -1
package/README.md
CHANGED
|
@@ -6,12 +6,12 @@ React Native WebGPU requires React Native 0.81 or newer. It doesn't support the
|
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
|
-
Please note that the package name is `react-native-wgpu`.
|
|
10
|
-
|
|
11
9
|
```
|
|
12
|
-
npm install react-native-
|
|
10
|
+
npm install react-native-webgpu
|
|
13
11
|
```
|
|
14
12
|
|
|
13
|
+
> The package was previously published as `react-native-wgpu`. A shim with that name is still available and simply re-exports `react-native-webgpu`.
|
|
14
|
+
|
|
15
15
|
## With Expo
|
|
16
16
|
|
|
17
17
|
Expo provides a React Native WebGPU template that works with React Three Fiber.
|
|
@@ -53,7 +53,7 @@ Usage is identical to Web.
|
|
|
53
53
|
```tsx
|
|
54
54
|
import React from "react";
|
|
55
55
|
import { StyleSheet, View, PixelRatio } from "react-native";
|
|
56
|
-
import { Canvas, CanvasRef } from "react-native-
|
|
56
|
+
import { Canvas, CanvasRef } from "react-native-webgpu";
|
|
57
57
|
|
|
58
58
|
import { redFragWGSL, triangleVertWGSL } from "./triangle";
|
|
59
59
|
|
|
@@ -319,7 +319,7 @@ npm install react-native-reanimated react-native-worklets
|
|
|
319
319
|
WebGPU objects are automatically registered for Worklets serialization when the module loads. You can pass WebGPU objects like `GPUDevice` and `GPUCanvasContext` directly to worklets:
|
|
320
320
|
|
|
321
321
|
```tsx
|
|
322
|
-
import { Canvas } from "react-native-
|
|
322
|
+
import { Canvas } from "react-native-webgpu";
|
|
323
323
|
import { runOnUI } from "react-native-reanimated";
|
|
324
324
|
|
|
325
325
|
const renderFrame = (device: GPUDevice, context: GPUCanvasContext) => {
|
package/android/CMakeLists.txt
CHANGED
package/android/build.gradle
CHANGED
|
@@ -40,7 +40,7 @@ static def findNodeModules(baseDir) {
|
|
|
40
40
|
basePath = basePath.getParent()
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
throw new GradleException("react-native-
|
|
43
|
+
throw new GradleException("react-native-webgpu: Failed to find node_modules/ path!")
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
def nodeModules = findNodeModules(projectDir)
|
|
@@ -21,7 +21,7 @@ import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder;
|
|
|
21
21
|
@ReactModule(name = WebGPUModule.NAME)
|
|
22
22
|
public class WebGPUModule extends NativeWebGPUModuleSpec {
|
|
23
23
|
static {
|
|
24
|
-
System.loadLibrary("react-native-
|
|
24
|
+
System.loadLibrary("react-native-webgpu"); // Load the C++ library
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
public WebGPUModule(ReactApplicationContext reactContext) {
|
package/apple/WebGPUModule.mm
CHANGED
|
@@ -59,7 +59,7 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) {
|
|
|
59
59
|
// (RCTBridgeProxy).
|
|
60
60
|
jsi::Runtime *runtime = (jsi::Runtime *)self.bridge.runtime;
|
|
61
61
|
if (!runtime) {
|
|
62
|
-
NSLog(@"Failed to install react-native-
|
|
62
|
+
NSLog(@"Failed to install react-native-webgpu: jsi::Runtime* was null! "
|
|
63
63
|
@"(self.bridge=%@)",
|
|
64
64
|
self.bridge);
|
|
65
65
|
return [NSNumber numberWithBool:NO];
|
|
@@ -69,7 +69,7 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) {
|
|
|
69
69
|
// RCTCallInvokerModule. Works in both Legacy and Bridgeless.
|
|
70
70
|
std::shared_ptr<react::CallInvoker> jsInvoker = _callInvoker.callInvoker;
|
|
71
71
|
if (!jsInvoker) {
|
|
72
|
-
NSLog(@"Failed to install react-native-
|
|
72
|
+
NSLog(@"Failed to install react-native-webgpu: react::CallInvoker was "
|
|
73
73
|
@"null!");
|
|
74
74
|
return [NSNumber numberWithBool:NO];
|
|
75
75
|
}
|
|
@@ -102,6 +102,12 @@ template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUDeviceDescriptor>> {
|
|
|
102
102
|
result->label = JSIConverter<std::optional<std::string>>::fromJSI(
|
|
103
103
|
runtime, prop, false);
|
|
104
104
|
}
|
|
105
|
+
if (value.hasProperty(runtime, "dawnToggles")) {
|
|
106
|
+
auto prop = value.getProperty(runtime, "dawnToggles");
|
|
107
|
+
result->dawnToggles = JSIConverter<
|
|
108
|
+
std::optional<std::shared_ptr<GPUDawnTogglesDescriptor>>>::fromJSI(
|
|
109
|
+
runtime, prop, false);
|
|
110
|
+
}
|
|
105
111
|
}
|
|
106
112
|
|
|
107
113
|
return result;
|
|
@@ -86,6 +86,6 @@ if (typeof RNWebGPU !== "undefined") {
|
|
|
86
86
|
}
|
|
87
87
|
global.createImageBitmap = global.createImageBitmap ?? RNWebGPU.createImageBitmap.bind(RNWebGPU);
|
|
88
88
|
} else {
|
|
89
|
-
console.warn(`[react-native-
|
|
89
|
+
console.warn(`[react-native-webgpu] install() returned ${_installOk} but RNWebGPU global is not available`);
|
|
90
90
|
}
|
|
91
91
|
//# sourceMappingURL=index.js.map
|
|
@@ -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":"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
|
|
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":"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","ignoreList":[]}
|
package/lib/module/main/index.js
CHANGED
|
@@ -28,6 +28,6 @@ if (typeof RNWebGPU !== "undefined") {
|
|
|
28
28
|
}
|
|
29
29
|
global.createImageBitmap = global.createImageBitmap ?? RNWebGPU.createImageBitmap.bind(RNWebGPU);
|
|
30
30
|
} else {
|
|
31
|
-
console.warn(`[react-native-
|
|
31
|
+
console.warn(`[react-native-webgpu] install() returned ${_installOk} but RNWebGPU global is not available`);
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -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;AAExB,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,
|
|
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;AAExB,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":[]}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
|
4
4
|
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
|
|
5
5
|
|
|
6
6
|
Pod::Spec.new do |s|
|
|
7
|
-
s.name = "react-native-
|
|
7
|
+
s.name = "react-native-webgpu"
|
|
8
8
|
s.version = package["version"]
|
|
9
9
|
s.summary = package["description"]
|
|
10
10
|
s.homepage = package["homepage"]
|
|
@@ -21,6 +21,10 @@ Pod::Spec.new do |s|
|
|
|
21
21
|
|
|
22
22
|
s.vendored_frameworks = 'libs/apple/libwebgpu_dawn.xcframework'
|
|
23
23
|
|
|
24
|
+
# The VideoPlayer API uses AVFoundation / CoreMedia, and shared-texture
|
|
25
|
+
# surfaces use CoreVideo (CVPixelBuffer). Link them so their symbols resolve.
|
|
26
|
+
s.frameworks = "AVFoundation", "CoreMedia", "CoreVideo"
|
|
27
|
+
|
|
24
28
|
s.pod_target_xcconfig = {
|
|
25
29
|
'HEADER_SEARCH_PATHS' => '$(PODS_TARGET_SRCROOT)/cpp',
|
|
26
30
|
}
|
package/src/main/index.tsx
CHANGED
|
@@ -35,6 +35,6 @@ if (typeof RNWebGPU !== "undefined") {
|
|
|
35
35
|
global.createImageBitmap ?? RNWebGPU.createImageBitmap.bind(RNWebGPU);
|
|
36
36
|
} else {
|
|
37
37
|
console.warn(
|
|
38
|
-
`[react-native-
|
|
38
|
+
`[react-native-webgpu] install() returned ${_installOk} but RNWebGPU global is not available`,
|
|
39
39
|
);
|
|
40
40
|
}
|