diff --git a/examples/mobile-client/fishjam-chat/package.json b/examples/mobile-client/fishjam-chat/package.json index 7e5bb96f..2c3b17d5 100644 --- a/examples/mobile-client/fishjam-chat/package.json +++ b/examples/mobile-client/fishjam-chat/package.json @@ -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": { diff --git a/packages/react-native-custom-video-source/package.json b/packages/react-native-custom-video-source/package.json index 20c08277..9e83be09 100644 --- a/packages/react-native-custom-video-source/package.json +++ b/packages/react-native-custom-video-source/package.json @@ -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" }, diff --git a/packages/react-native-custom-video-source/src/webgpu/requiredFeatures.ts b/packages/react-native-custom-video-source/src/webgpu/requiredFeatures.ts index f56288ba..2e1724d6 100644 --- a/packages/react-native-custom-video-source/src/webgpu/requiredFeatures.ts +++ b/packages/react-native-custom-video-source/src/webgpu/requiredFeatures.ts @@ -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 diff --git a/packages/react-native-vision-camera-source/package.json b/packages/react-native-vision-camera-source/package.json index 5862f3d1..00cdd634 100644 --- a/packages/react-native-vision-camera-source/package.json +++ b/packages/react-native-vision-camera-source/package.json @@ -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" }, diff --git a/yarn.lock b/yarn.lock index fc099bd4..1644467f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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" @@ -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: @@ -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" @@ -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" @@ -18530,7 +18539,7 @@ __metadata: optional: true react-native-worklets: optional: true - checksum: 10c0/fd72b41e19819008d6966159a153589fd04f06c1d8ef1665ed37f3ba76af1096ff9e8eff0bbbf1f4d0ee2f59377e675e95d41286166f4e58488e845a038b93ca + checksum: 10c0/9fcfb4e08a661b42a0459fefda3827a66c890ae9401f13da9b18f8af11271c79a73160e0ae0473295a92d32beb2308fc08b81201b385b5ad0f9cfb1d09c02b85 languageName: node linkType: hard