Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/mobile-client/fishjam-chat/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"react-native-safe-area-context": "~5.7.0",
"react-native-screens": "~4.26.0",
"react-native-web": "~0.21.0",
"react-native-webgpu": "0.10.1",
"react-native-webgpu": "0.19.2",
"react-native-worklets": "0.12.1"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/react-native-custom-video-source/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
"react": "19.2.3",
"react-native": "0.86.3",
"react-native-builder-bob": "^0.18.2",
"react-native-webgpu": "0.10.1",
"react-native-webgpu": "0.19.2",
"typescript": "^5.8.3",
"unplugin-typegpu": "^0.11.5"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import { Platform } from 'react-native';

// rnwebgpu/native-texture gates the zero-copy shared-surface + external-texture path.
// react-native-webgpu enables native frame import on every device by default (0.5.15–0.11 inject
// the backing features themselves; 0.12 removed the 'rnwebgpu/native-texture' name, and its
// requestDevice throws when the name is requested). So only the platform feature is listed.
// The camera-import feature differs by platform: iOS delivers biplanar NV12 IOSurfaces
// (dawn-multi-planar-formats); Android delivers YUV_420 AHardwareBuffers imported through an
// external YCbCr Vulkan sampler (opaque-ycbcr-android-for-external-texture). Without the right
// one, importing the camera fails on every frame on a real device.
const REQUIRED_FEATURES: GPUFeatureName[] =
Platform.OS === 'android'
? ['rnwebgpu/native-texture' as GPUFeatureName, 'opaque-ycbcr-android-for-external-texture' as GPUFeatureName]
: ['rnwebgpu/native-texture' as GPUFeatureName, 'dawn-multi-planar-formats' as GPUFeatureName];
? ['opaque-ycbcr-android-for-external-texture' as GPUFeatureName]
: ['dawn-multi-planar-formats' as GPUFeatureName];

/**
* The GPU features a device must have to import camera frames and Fishjam output surfaces on this
Expand Down
2 changes: 1 addition & 1 deletion packages/react-native-vision-camera-source/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@
"react-native-nitro-modules": "0.35.7",
"react-native-vision-camera": "5.0.10",
"react-native-vision-camera-worklets": "5.0.10",
"react-native-webgpu": "0.10.1",
"react-native-webgpu": "0.19.2",
"react-native-worklets": "0.12.1",
"typescript": "^5.8.3"
},
Expand Down
23 changes: 16 additions & 7 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5472,7 +5472,7 @@ __metadata:
react: "npm:19.2.3"
react-native: "npm:0.86.3"
react-native-builder-bob: "npm:^0.18.2"
react-native-webgpu: "npm:0.10.1"
react-native-webgpu: "npm:0.19.2"
typegpu: "npm:^0.11.8"
typescript: "npm:^5.8.3"
unplugin-typegpu: "npm:^0.11.5"
Expand Down Expand Up @@ -5507,7 +5507,7 @@ __metadata:
react-native-nitro-modules: "npm:0.35.7"
react-native-vision-camera: "npm:5.0.10"
react-native-vision-camera-worklets: "npm:5.0.10"
react-native-webgpu: "npm:0.10.1"
react-native-webgpu: "npm:0.19.2"
react-native-worklets: "npm:0.12.1"
typescript: "npm:^5.8.3"
peerDependencies:
Expand Down Expand Up @@ -13412,7 +13412,7 @@ __metadata:
react-native-safe-area-context: "npm:~5.7.0"
react-native-screens: "npm:~4.26.0"
react-native-web: "npm:~0.21.0"
react-native-webgpu: "npm:0.10.1"
react-native-webgpu: "npm:0.19.2"
react-native-worklets: "npm:0.12.1"
typescript: "npm:~5.9.2"
unplugin-typegpu: "npm:^0.12.0"
Expand Down Expand Up @@ -18517,9 +18517,18 @@ __metadata:
languageName: node
linkType: hard

"react-native-webgpu@npm:0.10.1":
version: 0.10.1
resolution: "react-native-webgpu@npm:0.10.1"
"react-native-webgpu-dawn@npm:157.0.0":
version: 157.0.0
resolution: "react-native-webgpu-dawn@npm:157.0.0"
checksum: 10c0/813e4518f514af697371ff19c1ed596d0fcdedb858879dffaefad803a1d210afd779ad4456ca5faaec7a0a14202565b8cc80be5bc8224932e17879b48a265615
languageName: node
linkType: hard

"react-native-webgpu@npm:0.19.2":
version: 0.19.2
resolution: "react-native-webgpu@npm:0.19.2"
dependencies:
react-native-webgpu-dawn: "npm:157.0.0"
peerDependencies:
react: "*"
react-native: ">=0.81.0"
Expand All @@ -18530,7 +18539,7 @@ __metadata:
optional: true
react-native-worklets:
optional: true
checksum: 10c0/fd72b41e19819008d6966159a153589fd04f06c1d8ef1665ed37f3ba76af1096ff9e8eff0bbbf1f4d0ee2f59377e675e95d41286166f4e58488e845a038b93ca
checksum: 10c0/9fcfb4e08a661b42a0459fefda3827a66c890ae9401f13da9b18f8af11271c79a73160e0ae0473295a92d32beb2308fc08b81201b385b5ad0f9cfb1d09c02b85
languageName: node
linkType: hard

Expand Down