react-native-webgpu 0.15.2 → 0.16.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 (47) hide show
  1. package/android/CMakeLists.txt +5 -0
  2. package/android/cpp/cpp-adapter.cpp +109 -11
  3. package/android/src/main/java/com/webgpu/SurfaceFrameRateVote.java +97 -85
  4. package/android/src/main/java/com/webgpu/WebGPUView.java +13 -8
  5. package/apple/ApplePlatformContext.h +1 -0
  6. package/cpp/jsi/JSICache.cpp +2 -0
  7. package/cpp/jsi/NativeObject.h +36 -12
  8. package/cpp/rnwgpu/RNWebGPUManager.cpp +4 -0
  9. package/cpp/rnwgpu/SurfaceRegistry.h +4 -4
  10. package/cpp/rnwgpu/api/GPUDevice.cpp +96 -0
  11. package/cpp/rnwgpu/api/GPUDevice.h +22 -0
  12. package/cpp/rnwgpu/api/GPUError.h +1 -0
  13. package/cpp/rnwgpu/api/GPUExtent2D.h +56 -0
  14. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +32 -408
  15. package/cpp/rnwgpu/api/GPUExternalTexture.h +12 -37
  16. package/cpp/rnwgpu/api/GPUInternalError.h +1 -0
  17. package/cpp/rnwgpu/api/GPUNativeBufferExternalTexture.h +60 -0
  18. package/cpp/rnwgpu/api/GPUNativeBufferTexture.h +52 -0
  19. package/cpp/rnwgpu/api/GPUNativeBufferWrapper.cpp +144 -0
  20. package/cpp/rnwgpu/api/GPUNativeBufferWrapper.h +142 -0
  21. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +1 -0
  22. package/cpp/rnwgpu/api/GPUQueue.h +1 -0
  23. package/cpp/rnwgpu/api/GPUSharedFence.h +1 -0
  24. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +12 -44
  25. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +1 -0
  26. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +1 -0
  27. package/cpp/rnwgpu/api/GPUValidationError.h +1 -0
  28. package/cpp/rnwgpu/api/NativeFrameImport.cpp +638 -0
  29. package/cpp/rnwgpu/api/NativeFrameImport.h +86 -0
  30. package/cpp/rnwgpu/api/VideoFrame.h +21 -7
  31. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +153 -1
  32. package/cpp/rnwgpu/api/descriptors/GPUNativeBufferTextureDescriptor.h +55 -0
  33. package/cpp/rnwgpu/async/RuntimeContext.cpp +1 -0
  34. package/lib/commonjs/Canvas.js.map +1 -1
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/module/Canvas.js.map +1 -1
  37. package/lib/module/index.js.map +1 -1
  38. package/lib/typescript/src/Canvas.d.ts +2 -31
  39. package/lib/typescript/src/Canvas.d.ts.map +1 -1
  40. package/lib/typescript/src/index.d.ts +4 -2
  41. package/lib/typescript/src/index.d.ts.map +1 -1
  42. package/lib/typescript/src/types.d.ts +33 -0
  43. package/lib/typescript/src/types.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/src/Canvas.tsx +3 -36
  46. package/src/index.tsx +24 -0
  47. package/src/types.ts +97 -0
@@ -0,0 +1,86 @@
1
+ #pragma once
2
+
3
+ #include <cstdint>
4
+ #include <string>
5
+ #include <vector>
6
+
7
+ #include "webgpu/webgpu_cpp.h"
8
+
9
+ #include "PlatformContext.h"
10
+
11
+ namespace rnwgpu {
12
+
13
+ struct GPUExternalTextureDescriptor;
14
+
15
+ // The steps of importing a native frame (an IOSurface on Apple platforms, an
16
+ // AHardwareBuffer on Android) into Dawn, shared by importExternalTexture(),
17
+ // importSharedTextureMemory() and the native buffer wrappers of
18
+ // createNativeBufferTexture() / createNativeBufferExternalTexture(): the
19
+ // import, the access window around each use, and the external texture that
20
+ // samples a YUV frame as RGB. The same steps as Dawn's own Android layer
21
+ // (tools/android/webgpu, GPUImportedAHB.cpp), so a JS caller can follow its
22
+ // import-once, begin/end-per-frame recipe. Each step throws with the cause,
23
+ // prefixed with `caller`, the entry point the message names.
24
+ namespace native_frame {
25
+
26
+ // Import the frame's buffer as shared texture memory.
27
+ wgpu::SharedTextureMemory importMemory(const wgpu::Device &device,
28
+ const VideoFrameHandle &frame,
29
+ const std::string &label,
30
+ const char *caller);
31
+
32
+ // Begin an access to `texture`: Dawn's GPU work on it waits for each fence to
33
+ // reach its signaled value first. `initialized` declares whether the buffer
34
+ // holds pixels to keep (true for a frame a producer wrote). Exclusive access.
35
+ // On Vulkan an initialized image is acquired in the GENERAL layout (an
36
+ // UNDEFINED one lets the driver discard the frame on the transition), an
37
+ // uninitialized one in UNDEFINED.
38
+ void beginAccess(const wgpu::SharedTextureMemory &memory,
39
+ const wgpu::Texture &texture, bool initialized,
40
+ const std::vector<wgpu::SharedFence> &fences,
41
+ const std::vector<uint64_t> &signaledValues,
42
+ const char *caller);
43
+
44
+ // End the access. `state` receives the fences Dawn produced: each signals once
45
+ // the GPU work of the access is done.
46
+ void endAccess(const wgpu::SharedTextureMemory &memory,
47
+ const wgpu::Texture &texture,
48
+ wgpu::SharedTextureMemoryEndAccessState *state,
49
+ const char *caller);
50
+
51
+ // End the access and drop its fences, for the paths that release the import
52
+ // right after: Dawn keeps the texture alive for in-flight GPU work on its own.
53
+ void endAccess(const wgpu::SharedTextureMemory &memory,
54
+ const wgpu::Texture &texture);
55
+
56
+ // The acquire fence of the frame as a shared fence (Android: the sync fd its
57
+ // producer signals once it has written the buffer), or null when the frame
58
+ // has none. On a device without shared-fence-sync-fd the fence is waited for
59
+ // on the CPU instead, and null is returned.
60
+ wgpu::SharedFence importAcquireFence(const wgpu::Device &device,
61
+ const VideoFrameHandle &frame);
62
+
63
+ // The external texture that samples `texture`, created from the buffer of
64
+ // `frame`, as RGB: a YUV frame is converted with the color space of the frame
65
+ // (overridden by the descriptor's sourceColorSpace), and the descriptor's
66
+ // crop, rotation and mirroring apply.
67
+ wgpu::ExternalTexture createExternalTexture(
68
+ const wgpu::Device &device, const wgpu::SharedTextureMemory &memory,
69
+ const wgpu::Texture &texture, const VideoFrameHandle &frame,
70
+ const GPUExternalTextureDescriptor &descriptor, const std::string &label,
71
+ const char *caller);
72
+
73
+ // The fences of an end-access state as one: on Android their sync fds are
74
+ // merged into a single one (what Dawn's Android layer hands back from
75
+ // endAccess), on Apple platforms the device's shared event at the largest
76
+ // value. False when the state has no fence (or, on Android, only signaled
77
+ // ones). Throws if the fences cannot be merged into one: Android fences that
78
+ // are not sync fds, Apple fences on different shared events.
79
+ bool mergeFences(const wgpu::Device &device,
80
+ const wgpu::SharedTextureMemoryEndAccessState &state,
81
+ wgpu::SharedFence *fence, uint64_t *signaledValue,
82
+ const char *caller);
83
+
84
+ } // namespace native_frame
85
+
86
+ } // namespace rnwgpu
@@ -20,13 +20,13 @@ namespace jsi = facebook::jsi;
20
20
  // object stays alive until the JS object is GC'd (or release() is called).
21
21
  class VideoFrame : public NativeObject<VideoFrame> {
22
22
  public:
23
- // JS-facing brand. installConstructor() exposes this as globalThis[CLASS_NAME]
24
- // and keys the NativeObjectRegistry / worklet serializer off it, so it must
25
- // NOT be "VideoFrame": that would install our constructor over the WebCodecs
26
- // `VideoFrame` global and shadow it at runtime. "NativeVideoFrame" matches the
27
- // public TypeScript type (see src/types.ts) and keeps the two namespaces
28
- // distinct. The C++ class stays `VideoFrame` for brevity; only the brand is
29
- // namespaced.
23
+ // JS-facing brand. installConstructor() exposes this as
24
+ // globalThis[CLASS_NAME] and keys the NativeObjectRegistry / worklet
25
+ // serializer off it, so it must NOT be "VideoFrame": that would install our
26
+ // constructor over the WebCodecs `VideoFrame` global and shadow it at
27
+ // runtime. "NativeVideoFrame" matches the public TypeScript type (see
28
+ // src/types.ts) and keeps the two namespaces distinct. The C++ class stays
29
+ // `VideoFrame` for brevity; only the brand is namespaced.
30
30
  static constexpr const char *CLASS_NAME = "NativeVideoFrame";
31
31
 
32
32
  explicit VideoFrame(VideoFrameHandle handle)
@@ -47,6 +47,18 @@ public:
47
47
  return _handle.pixelFormat == VideoPixelFormat::NV12 ? "nv12" : "bgra8";
48
48
  }
49
49
 
50
+ // The sync fd the producer of the frame signals once it has written the
51
+ // buffer (Android), as a BigInt, or null when the frame has none (Apple
52
+ // platforms, a released frame). Borrowed: the frame closes it on release(),
53
+ // and importSharedFence() duplicates it.
54
+ jsi::Value getAcquireFenceFd(jsi::Runtime &runtime) {
55
+ if (_handle.handle == nullptr || _handle.acquireFenceFd < 0) {
56
+ return jsi::Value::null();
57
+ }
58
+ return jsi::BigInt::fromUint64(
59
+ runtime, static_cast<uint64_t>(_handle.acquireFenceFd));
60
+ }
61
+
50
62
  // Direct access to the underlying handle, for use by importExternalTexture /
51
63
  // importSharedTextureMemory inside the C++ layer (not exposed to JS).
52
64
  const VideoFrameHandle &handle() const { return _handle; }
@@ -67,6 +79,8 @@ public:
67
79
  installGetter(runtime, prototype, "pixelFormat",
68
80
  &VideoFrame::getPixelFormat);
69
81
  installMethod(runtime, prototype, "release", &VideoFrame::release);
82
+ installGetter(runtime, prototype, "acquireFenceFd",
83
+ &VideoFrame::getAcquireFenceFd);
70
84
  }
71
85
 
72
86
  private:
@@ -2,10 +2,13 @@
2
2
 
3
3
  #include <memory>
4
4
  #include <optional>
5
+ #include <stdexcept>
5
6
  #include <string>
6
7
 
7
8
  #include "webgpu/webgpu_cpp.h"
8
9
 
10
+ #include "GPUExtent2D.h"
11
+ #include "GPUOrigin2D.h"
9
12
  #include "JSIConverter.h"
10
13
  #include "VideoFrame.h"
11
14
 
@@ -16,7 +19,9 @@ namespace rnwgpu {
16
19
  // Mirror of GPUExternalTextureDescriptor from the WebGPU spec, but with our
17
20
  // VideoFrame as the (only) supported source. `colorSpace` is the spec member:
18
21
  // the color space of the RGB the shader samples, "srgb" (the default) or
19
- // "display-p3"; the frame's own color space comes with the frame.
22
+ // "display-p3"; the frame's own color space comes with the frame, and
23
+ // `sourceColorSpace` overrides the members of it the caller knows better (a
24
+ // buffer wrapped from another library carries none).
20
25
  //
21
26
  // `rotation` / `mirrored` are a non-spec extension: camera frames (e.g. from
22
27
  // VisionCamera) arrive in the sensor's native orientation, which differs
@@ -24,14 +29,138 @@ namespace rnwgpu {
24
29
  // ExternalTextureDescriptor can bake a rotation + horizontal mirror into the
25
30
  // sampling transform, so the shader sees an upright frame without any extra
26
31
  // passes. `rotation` is in degrees and must be one of 0 / 90 / 180 / 270.
32
+ // `cropOrigin` / `cropSize` select the part of the frame the external texture
33
+ // shows (Dawn's cropOrigin / cropSize), the whole frame by default.
34
+ //
35
+ // createNativeBufferExternalTexture() takes the same descriptor without a
36
+ // source: the frame is its first argument.
27
37
  struct GPUExternalTextureDescriptor {
28
38
  std::shared_ptr<VideoFrame> source;
29
39
  std::optional<std::string> label;
30
40
  std::optional<std::string> colorSpace;
41
+ std::optional<VideoFrameColorSpace> sourceColorSpace;
31
42
  std::optional<double> rotation;
32
43
  std::optional<bool> mirrored;
44
+ std::optional<std::shared_ptr<GPUOrigin2D>> cropOrigin;
45
+ std::optional<std::shared_ptr<GPUExtent2D>> cropSize;
33
46
  };
34
47
 
48
+ namespace external_texture_color_space {
49
+
50
+ // The JS names of the members of a source color space, the Dawn enums
51
+ // spelled the way the frame producers report them (see
52
+ // NativeVideoFrameColorSpace in src/types.ts).
53
+ inline wgpu::ColorSpaceYCbCrMatrixDawn parseMatrix(const std::string &name) {
54
+ if (name == "identity") {
55
+ return wgpu::ColorSpaceYCbCrMatrixDawn::Identity;
56
+ }
57
+ if (name == "rec601") {
58
+ return wgpu::ColorSpaceYCbCrMatrixDawn::Rec601;
59
+ }
60
+ if (name == "rec709") {
61
+ return wgpu::ColorSpaceYCbCrMatrixDawn::Rec709;
62
+ }
63
+ if (name == "rec2020") {
64
+ return wgpu::ColorSpaceYCbCrMatrixDawn::Rec2020;
65
+ }
66
+ throw std::runtime_error("sourceColorSpace.matrix: unknown value '" + name +
67
+ "' (expected 'identity', 'rec601', 'rec709' or "
68
+ "'rec2020')");
69
+ }
70
+
71
+ inline wgpu::ColorSpaceYCbCrRangeDawn parseRange(const std::string &name) {
72
+ if (name == "identity") {
73
+ return wgpu::ColorSpaceYCbCrRangeDawn::Identity;
74
+ }
75
+ if (name == "narrow") {
76
+ return wgpu::ColorSpaceYCbCrRangeDawn::Narrow;
77
+ }
78
+ if (name == "full") {
79
+ return wgpu::ColorSpaceYCbCrRangeDawn::Full;
80
+ }
81
+ throw std::runtime_error("sourceColorSpace.range: unknown value '" + name +
82
+ "' (expected 'identity', 'narrow' or 'full')");
83
+ }
84
+
85
+ inline wgpu::ColorSpacePrimariesDawn parsePrimaries(const std::string &name) {
86
+ if (name == "srgb") {
87
+ return wgpu::ColorSpacePrimariesDawn::SRGB;
88
+ }
89
+ if (name == "rec709") {
90
+ return wgpu::ColorSpacePrimariesDawn::Rec709;
91
+ }
92
+ if (name == "rec601") {
93
+ return wgpu::ColorSpacePrimariesDawn::Rec601;
94
+ }
95
+ if (name == "rec2020") {
96
+ return wgpu::ColorSpacePrimariesDawn::Rec2020;
97
+ }
98
+ if (name == "display-p3") {
99
+ return wgpu::ColorSpacePrimariesDawn::DisplayP3;
100
+ }
101
+ throw std::runtime_error("sourceColorSpace.primaries: unknown value '" +
102
+ name +
103
+ "' (expected 'srgb', 'rec709', 'rec601', "
104
+ "'rec2020' or 'display-p3')");
105
+ }
106
+
107
+ inline wgpu::ColorSpaceTransferDawn parseTransfer(const std::string &name) {
108
+ if (name == "identity") {
109
+ return wgpu::ColorSpaceTransferDawn::Identity;
110
+ }
111
+ if (name == "srgb") {
112
+ return wgpu::ColorSpaceTransferDawn::SRGB;
113
+ }
114
+ if (name == "display-p3") {
115
+ return wgpu::ColorSpaceTransferDawn::DisplayP3;
116
+ }
117
+ if (name == "smpte-170m") {
118
+ return wgpu::ColorSpaceTransferDawn::SMPTE_170M;
119
+ }
120
+ if (name == "hlg") {
121
+ return wgpu::ColorSpaceTransferDawn::HLG;
122
+ }
123
+ if (name == "pq") {
124
+ return wgpu::ColorSpaceTransferDawn::PQ;
125
+ }
126
+ if (name == "bt-1886") {
127
+ return wgpu::ColorSpaceTransferDawn::BT_1886;
128
+ }
129
+ throw std::runtime_error("sourceColorSpace.transfer: unknown value '" + name +
130
+ "' (expected 'identity', 'srgb', 'display-p3', "
131
+ "'smpte-170m', 'hlg', 'pq' or 'bt-1886')");
132
+ }
133
+
134
+ inline VideoFrameColorSpace parse(jsi::Runtime &runtime,
135
+ const jsi::Object &value) {
136
+ VideoFrameColorSpace colorSpace;
137
+ auto member = [&](const char *name) -> std::optional<std::string> {
138
+ if (!value.hasProperty(runtime, name)) {
139
+ return std::nullopt;
140
+ }
141
+ auto prop = value.getProperty(runtime, name);
142
+ if (!prop.isString()) {
143
+ return std::nullopt;
144
+ }
145
+ return prop.asString(runtime).utf8(runtime);
146
+ };
147
+ if (auto matrix = member("matrix")) {
148
+ colorSpace.matrix = parseMatrix(*matrix);
149
+ }
150
+ if (auto range = member("range")) {
151
+ colorSpace.range = parseRange(*range);
152
+ }
153
+ if (auto primaries = member("primaries")) {
154
+ colorSpace.primaries = parsePrimaries(*primaries);
155
+ }
156
+ if (auto transfer = member("transfer")) {
157
+ colorSpace.transfer = parseTransfer(*transfer);
158
+ }
159
+ return colorSpace;
160
+ }
161
+
162
+ } // namespace external_texture_color_space
163
+
35
164
  } // namespace rnwgpu
36
165
 
37
166
  namespace rnwgpu {
@@ -64,6 +193,13 @@ struct JSIConverter<std::shared_ptr<rnwgpu::GPUExternalTextureDescriptor>> {
64
193
  result->colorSpace = prop.asString(runtime).utf8(runtime);
65
194
  }
66
195
  }
196
+ if (value.hasProperty(runtime, "sourceColorSpace")) {
197
+ auto prop = value.getProperty(runtime, "sourceColorSpace");
198
+ if (prop.isObject()) {
199
+ result->sourceColorSpace = external_texture_color_space::parse(
200
+ runtime, prop.getObject(runtime));
201
+ }
202
+ }
67
203
  if (value.hasProperty(runtime, "rotation")) {
68
204
  auto prop = value.getProperty(runtime, "rotation");
69
205
  if (prop.isNumber()) {
@@ -76,6 +212,22 @@ struct JSIConverter<std::shared_ptr<rnwgpu::GPUExternalTextureDescriptor>> {
76
212
  result->mirrored = prop.getBool();
77
213
  }
78
214
  }
215
+ if (value.hasProperty(runtime, "cropOrigin")) {
216
+ auto prop = value.getProperty(runtime, "cropOrigin");
217
+ if (prop.isObject()) {
218
+ result->cropOrigin =
219
+ JSIConverter<std::shared_ptr<GPUOrigin2D>>::fromJSI(runtime, prop,
220
+ false);
221
+ }
222
+ }
223
+ if (value.hasProperty(runtime, "cropSize")) {
224
+ auto prop = value.getProperty(runtime, "cropSize");
225
+ if (prop.isObject()) {
226
+ result->cropSize =
227
+ JSIConverter<std::shared_ptr<GPUExtent2D>>::fromJSI(runtime, prop,
228
+ false);
229
+ }
230
+ }
79
231
  }
80
232
  return result;
81
233
  }
@@ -0,0 +1,55 @@
1
+ #pragma once
2
+
3
+ #include <memory>
4
+ #include <optional>
5
+ #include <stdexcept>
6
+ #include <string>
7
+
8
+ #include "webgpu/webgpu_cpp.h"
9
+
10
+ #include "JSIConverter.h"
11
+
12
+ namespace jsi = facebook::jsi;
13
+
14
+ namespace rnwgpu {
15
+
16
+ // The options of GPUDevice.createNativeBufferTexture(): the usage of the
17
+ // texture (the usages the buffer allows by default, as
18
+ // GPUSharedTextureMemory.createTexture() without a descriptor) and a label.
19
+ struct GPUNativeBufferTextureDescriptor {
20
+ std::optional<double> usage;
21
+ std::optional<std::string> label;
22
+ };
23
+
24
+ template <>
25
+ struct JSIConverter<std::shared_ptr<rnwgpu::GPUNativeBufferTextureDescriptor>> {
26
+ static std::shared_ptr<rnwgpu::GPUNativeBufferTextureDescriptor>
27
+ fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
28
+ auto result = std::make_shared<rnwgpu::GPUNativeBufferTextureDescriptor>();
29
+ if (!outOfBounds && arg.isObject()) {
30
+ auto value = arg.getObject(runtime);
31
+ if (value.hasProperty(runtime, "usage")) {
32
+ auto prop = value.getProperty(runtime, "usage");
33
+ if (prop.isNumber()) {
34
+ result->usage = prop.asNumber();
35
+ }
36
+ }
37
+ if (value.hasProperty(runtime, "label")) {
38
+ auto prop = value.getProperty(runtime, "label");
39
+ if (!prop.isUndefined()) {
40
+ result->label = JSIConverter<std::optional<std::string>>::fromJSI(
41
+ runtime, prop, false);
42
+ }
43
+ }
44
+ }
45
+ return result;
46
+ }
47
+ static jsi::Value
48
+ toJSI(jsi::Runtime & /*runtime*/,
49
+ std::shared_ptr<rnwgpu::GPUNativeBufferTextureDescriptor> /*arg*/) {
50
+ throw std::runtime_error(
51
+ "Invalid GPUNativeBufferTextureDescriptor::toJSI()");
52
+ }
53
+ };
54
+
55
+ } // namespace rnwgpu
@@ -3,6 +3,7 @@
3
3
  #include <memory>
4
4
  #include <stdexcept>
5
5
  #include <utility>
6
+ #include <vector>
6
7
 
7
8
  #include <ReactCommon/CallInvoker.h>
8
9
 
@@ -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","measureLayout","view","Platform","OS","clientWidth","clientHeight","width","height","size","_left","_top","Canvas","opaque","android","ref","props","viewRef","useRef","contextId","_","useState","useEffect","RNWebGPU","destroyContext","useImperativeHandle","getContextId","getNativeSurface","getContext","contextName","Error","current","MakeWebGPUCanvasContext","createElement","View","collapsable","style","flex","androidSurfaceType","androidZOrderOnTop","zOrderOnTop","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","CONTEXT_COUNTER","generateContextId","resolveSurfaceType","surfaceType","measureLayout","view","Platform","OS","clientWidth","clientHeight","width","height","size","_left","_top","Canvas","opaque","android","ref","props","viewRef","useRef","contextId","_","useState","useEffect","RNWebGPU","destroyContext","useImperativeHandle","getContextId","getNativeSurface","getContext","contextName","Error","current","MakeWebGPUCanvasContext","createElement","View","collapsable","style","flex","androidSurfaceType","androidZOrderOnTop","zOrderOnTop","exports"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["require","_main","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_constants","_install"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;AAQAA,OAAA;AAmBA,IAAAC,KAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,KAAA,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,KAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,KAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,UAAA,GAAAd,OAAA;AAAAE,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,QAAA,GAAAf,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["require","_main","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_constants","_install"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;AAQAA,OAAA;AAuBA,IAAAC,KAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,KAAA,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,KAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,KAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,UAAA,GAAAd,OAAA;AAAAE,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,QAAA,GAAAf,OAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useImperativeHandle","useRef","useState","Platform","View","WebGPUNativeView","CONTEXT_COUNTER","generateContextId","resolveSurfaceType","surfaceType","measureLayout","view","OS","clientWidth","clientHeight","width","height","size","_left","_top","Canvas","opaque","android","ref","props","viewRef","contextId","_","RNWebGPU","destroyContext","getContextId","getNativeSurface","getContext","contextName","Error","current","MakeWebGPUCanvasContext","createElement","_extends","collapsable","style","flex","androidSurfaceType","androidZOrderOnTop","zOrderOnTop"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useImperativeHandle","useRef","useState","Platform","View","WebGPUNativeView","CONTEXT_COUNTER","generateContextId","resolveSurfaceType","surfaceType","measureLayout","view","OS","clientWidth","clientHeight","width","height","size","_left","_top","Canvas","opaque","android","ref","props","viewRef","contextId","_","RNWebGPU","destroyContext","getContextId","getNativeSurface","getContext","contextName","Error","current","MakeWebGPUCanvasContext","createElement","_extends","collapsable","style","flex","androidSurfaceType","androidZOrderOnTop","zOrderOnTop"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["installWebGPU"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sBAAsB;AAmB7B,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,SAASA,aAAa,QAAQ,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["installWebGPU"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sBAAsB;AAuB7B,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,SAASA,aAAa,QAAQ,WAAW","ignoreList":[]}
@@ -1,35 +1,7 @@
1
1
  import React from "react";
2
2
  import type { ViewProps } from "react-native";
3
- type SurfacePointer = bigint;
4
- export interface NativeCanvas {
5
- surface: SurfacePointer;
6
- width: number;
7
- height: number;
8
- clientWidth: number;
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;
15
- }
16
- export type RNCanvasContext = GPUCanvasContext & {
17
- /**
18
- * Present the current frame.
19
- *
20
- * Call this after `queue.submit()` on every runtime: the main JS runtime, the
21
- * Reanimated UI runtime, and dedicated worklet runtimes (e.g.
22
- * `createWorkletRuntime` / `runOnRuntime`, or a Vision Camera frame
23
- * processor). It runs synchronously on the calling thread, so the frame is
24
- * presented from whichever thread did the rendering.
25
- */
26
- present: () => void;
27
- };
28
- export interface CanvasRef {
29
- getContextId: () => number;
30
- getContext(contextName: "webgpu"): RNCanvasContext | null;
31
- getNativeSurface: () => NativeCanvas;
32
- }
3
+ import type { CanvasRef } from "./types";
4
+ export type { CanvasRef, NativeCanvas, RNCanvasContext } from "./types";
33
5
  export type AndroidSurfaceType = "SurfaceView" | "TextureView" | "HardwareBufferView";
34
6
  export interface AndroidCanvasProps {
35
7
  /**
@@ -58,5 +30,4 @@ export interface CanvasProps extends ViewProps {
58
30
  ref?: React.Ref<CanvasRef>;
59
31
  }
60
32
  export declare const Canvas: ({ opaque, android, ref, ...props }: CanvasProps) => React.JSX.Element;
61
- export {};
62
33
  //# sourceMappingURL=Canvas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../src/Canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,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,MAAM,MAAM,kBAAkB,GAC5B,aAAa,GAAG,aAAa,GAAG,oBAAoB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;CAC5B;AA+BD,eAAO,MAAM,MAAM,GAAI,oCAKpB,WAAW,sBAoDb,CAAC"}
1
+ {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../src/Canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,SAAS,CAAC;AAG1D,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAOxE,MAAM,MAAM,kBAAkB,GAC5B,aAAa,GAAG,aAAa,GAAG,oBAAoB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;CAC5B;AA+BD,eAAO,MAAM,MAAM,GAAI,oCAKpB,WAAW,sBAoDb,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import "./main/installNative";
2
- import type { GPUDrawElementImageDestination, GPUDrawElementImageSource, GPUSharedFence, GPUSharedFenceDescriptor, GPUDawnTogglesDescriptor, GPUNativeExternalTextureDescriptor, GPUSharedTextureMemory, GPUSharedTextureMemoryDescriptor, GPUCopyExternalNativeFrameSourceInfo, NativeCanvas, RNCanvasContext, VideoPlayer, NativeVideoFrame, NativeVideoPixelFormat } from "./types";
2
+ import type { GPUNativeBufferExternalTexture, GPUNativeBufferExternalTextureDescriptor, GPUNativeBufferTexture, GPUNativeBufferTextureDescriptor, GPUDrawElementImageDestination, GPUDrawElementImageSource, GPUSharedFence, GPUSharedFenceDescriptor, GPUDawnTogglesDescriptor, GPUNativeExternalTextureDescriptor, GPUSharedTextureMemory, GPUSharedTextureMemoryDescriptor, GPUCopyExternalNativeFrameSourceInfo, NativeCanvas, RNCanvasContext, VideoPlayer, NativeVideoFrame, NativeVideoPixelFormat } from "./types";
3
3
  export * from "./main";
4
4
  export * from "./constants";
5
5
  export { installWebGPU } from "./install";
6
- export type { NativeVideoFrame, VideoPlayer, GPUSharedFence, GPUSharedFenceDescriptor, GPUSharedFenceExportInfo, GPUSharedFenceState, GPUSharedFenceType, GPUSharedTextureMemory, GPUSharedTextureMemoryDescriptor, GPUSharedTextureMemoryEndAccessState, NativeVideoPixelFormat, CreateVideoPlayerOptions, GPUCopyExternalNativeFrameSourceInfo, GPUDawnTogglesDescriptor, GPUNativeExternalTextureDescriptor, GPUDrawElementImageDestination, GPUDrawElementImageSource, GPUDrawElementImageSourceView, } from "./types";
6
+ export type { NativeVideoFrame, VideoPlayer, GPUSharedFence, GPUSharedFenceDescriptor, GPUSharedFenceExportInfo, GPUSharedFenceState, GPUSharedFenceType, GPUSharedTextureMemory, GPUSharedTextureMemoryDescriptor, GPUSharedTextureMemoryEndAccessState, NativeVideoPixelFormat, CreateVideoPlayerOptions, GPUCopyExternalNativeFrameSourceInfo, GPUDawnTogglesDescriptor, GPUNativeExternalTextureDescriptor, NativeVideoFrameColorSpace, GPUExtent2D, GPUNativeBufferExternalTextureDescriptor, GPUNativeBufferTextureDescriptor, GPUNativeBufferWrapper, GPUNativeBufferTexture, GPUNativeBufferExternalTexture, GPUDrawElementImageDestination, GPUDrawElementImageSource, GPUDrawElementImageSourceView, } from "./types";
7
7
  declare global {
8
8
  interface Navigator {
9
9
  gpu: GPU;
@@ -32,6 +32,8 @@ declare global {
32
32
  importExternalTexture(descriptor: GPUNativeExternalTextureDescriptor): GPUExternalTexture;
33
33
  importSharedTextureMemory(descriptor: GPUSharedTextureMemoryDescriptor): GPUSharedTextureMemory;
34
34
  importSharedFence(descriptor: GPUSharedFenceDescriptor): GPUSharedFence;
35
+ createNativeBufferTexture(source: NativeVideoFrame, descriptor?: GPUNativeBufferTextureDescriptor): GPUNativeBufferTexture;
36
+ createNativeBufferExternalTexture(source: NativeVideoFrame, descriptor?: GPUNativeBufferExternalTextureDescriptor): GPUNativeBufferExternalTexture;
35
37
  }
36
38
  interface GPUQueue {
37
39
  drawElementImageToTexture(source: GPUDrawElementImageSource, destination: GPUDrawElementImageDestination): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -34,10 +34,43 @@ export interface NativeVideoFrame {
34
34
  readonly width: number;
35
35
  readonly height: number;
36
36
  readonly pixelFormat: NativeVideoPixelFormat;
37
+ readonly acquireFenceFd: bigint | null;
37
38
  release(): void;
38
39
  }
40
+ export interface NativeVideoFrameColorSpace {
41
+ matrix?: "identity" | "rec601" | "rec709" | "rec2020";
42
+ range?: "identity" | "narrow" | "full";
43
+ primaries?: "srgb" | "rec709" | "rec601" | "rec2020" | "display-p3";
44
+ transfer?: "identity" | "srgb" | "display-p3" | "smpte-170m" | "hlg" | "pq" | "bt-1886";
45
+ }
46
+ export type GPUExtent2D = {
47
+ width: number;
48
+ height: number;
49
+ } | [number, number];
39
50
  export interface GPUNativeExternalTextureDescriptor extends Omit<GPUExternalTextureDescriptor, "source"> {
40
51
  source: NativeVideoFrame;
52
+ sourceColorSpace?: NativeVideoFrameColorSpace;
53
+ cropOrigin?: GPUOrigin2D;
54
+ cropSize?: GPUExtent2D;
55
+ }
56
+ export type GPUNativeBufferExternalTextureDescriptor = Omit<GPUNativeExternalTextureDescriptor, "source">;
57
+ export interface GPUNativeBufferTextureDescriptor {
58
+ usage?: GPUTextureUsageFlags;
59
+ label?: string;
60
+ }
61
+ export interface GPUNativeBufferWrapper {
62
+ label: string;
63
+ beginAccess(fences?: GPUSharedFenceState[]): void;
64
+ endAccess(): GPUSharedFenceState | null;
65
+ destroy(): void;
66
+ }
67
+ export interface GPUNativeBufferTexture extends GPUNativeBufferWrapper {
68
+ readonly __brand: "GPUNativeBufferTexture";
69
+ readonly texture: GPUTexture;
70
+ }
71
+ export interface GPUNativeBufferExternalTexture extends GPUNativeBufferWrapper {
72
+ readonly __brand: "GPUNativeBufferExternalTexture";
73
+ readonly externalTexture: GPUExternalTexture;
41
74
  }
42
75
  export interface VideoPlayer {
43
76
  copyLatestFrame(): NativeVideoFrame | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-webgpu",
3
- "version": "0.15.2",
3
+ "version": "0.16.0",
4
4
  "description": "React Native WebGPU",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",