react-native-wgpu 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 +13 -386
- package/lib/commonjs/index.js +7 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +4 -4
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/webgpu/src/Canvas.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/NativeWebGPUModule.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/Offscreen.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/WebGPUViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/external/ModuleProxy.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/external/index.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/external/reanimated/index.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/hooks.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/index.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/main/index.d.ts.map +1 -0
- package/lib/typescript/webgpu/src/types.d.ts.map +1 -0
- package/lib/typescript/{eslint.config.d.mts.map → webgpu-shim/eslint.config.d.mts.map} +1 -1
- package/lib/typescript/{lib → webgpu-shim/lib}/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/webgpu-shim/lib/module/index.d.ts +2 -0
- package/lib/typescript/{lib → webgpu-shim/lib}/module/index.d.ts.map +1 -1
- package/lib/typescript/webgpu-shim/src/index.d.ts +2 -0
- package/lib/typescript/webgpu-shim/src/index.d.ts.map +1 -0
- package/package.json +12 -81
- package/src/index.ts +9 -0
- package/LICENSE +0 -20
- package/android/CMakeLists.txt +0 -110
- package/android/build.gradle +0 -138
- package/android/cpp/AndroidPlatformContext.h +0 -328
- package/android/cpp/cpp-adapter.cpp +0 -71
- package/android/src/main/AndroidManifest.xml +0 -3
- package/android/src/main/java/com/webgpu/WebGPUAHBView.java +0 -298
- package/android/src/main/java/com/webgpu/WebGPUAPI.java +0 -20
- package/android/src/main/java/com/webgpu/WebGPUBaseView.java +0 -61
- package/android/src/main/java/com/webgpu/WebGPUModule.java +0 -50
- package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +0 -41
- package/android/src/main/java/com/webgpu/WebGPUSurfaceViewWithSC.java +0 -79
- package/android/src/main/java/com/webgpu/WebGPUTextureView.java +0 -46
- package/android/src/main/java/com/webgpu/WebGPUView.java +0 -108
- package/android/src/main/java/com/webgpu/WebGPUViewManager.java +0 -38
- package/android/src/main/java/com/webgpu/WebGPUViewPackage.java +0 -50
- package/android/src/newarch/com/webgpu/WebGPUViewManagerSpec.java +0 -24
- package/apple/ApplePlatformContext.h +0 -44
- package/apple/ApplePlatformContext.mm +0 -302
- package/apple/AppleVideoPlayer.h +0 -31
- package/apple/AppleVideoPlayer.mm +0 -314
- package/apple/MetalView.h +0 -13
- package/apple/MetalView.mm +0 -50
- package/apple/RNWGUIKit.h +0 -16
- package/apple/WebGPUModule.h +0 -13
- package/apple/WebGPUModule.mm +0 -89
- package/apple/WebGPUView.h +0 -12
- package/apple/WebGPUView.mm +0 -66
- package/cpp/WGPULogger.h +0 -100
- package/cpp/dawn_logging.cpp +0 -119
- package/cpp/jsi/EnumMapper.h +0 -45
- package/cpp/jsi/JSIConverter.h +0 -473
- package/cpp/jsi/NativeObject.h +0 -607
- package/cpp/jsi/Promise.cpp +0 -44
- package/cpp/jsi/Promise.h +0 -35
- package/cpp/jsi/RuntimeAwareCache.cpp +0 -7
- package/cpp/jsi/RuntimeAwareCache.h +0 -100
- package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
- package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
- package/cpp/rnwgpu/ArrayBuffer.h +0 -117
- package/cpp/rnwgpu/PlatformContext.h +0 -127
- package/cpp/rnwgpu/RNWebGPUManager.cpp +0 -237
- package/cpp/rnwgpu/RNWebGPUManager.h +0 -46
- package/cpp/rnwgpu/SurfaceRegistry.h +0 -230
- package/cpp/rnwgpu/api/Canvas.h +0 -57
- package/cpp/rnwgpu/api/Convertors.h +0 -783
- package/cpp/rnwgpu/api/External.h +0 -12
- package/cpp/rnwgpu/api/GPU.cpp +0 -154
- package/cpp/rnwgpu/api/GPU.h +0 -58
- package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -267
- package/cpp/rnwgpu/api/GPUAdapter.h +0 -59
- package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
- package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
- package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
- package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
- package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -97
- package/cpp/rnwgpu/api/GPUBuffer.h +0 -87
- package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -67
- package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -66
- package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
- package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
- package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
- package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
- package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
- package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
- package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
- package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
- package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
- package/cpp/rnwgpu/api/GPUDevice.cpp +0 -545
- package/cpp/rnwgpu/api/GPUDevice.h +0 -265
- package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
- package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
- package/cpp/rnwgpu/api/GPUError.h +0 -35
- package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
- package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -335
- package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -90
- package/cpp/rnwgpu/api/GPUFeatures.h +0 -206
- package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
- package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
- package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
- package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
- package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
- package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
- package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
- package/cpp/rnwgpu/api/GPUQueue.cpp +0 -169
- package/cpp/rnwgpu/api/GPUQueue.h +0 -81
- package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
- package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
- package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
- package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
- package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
- package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
- package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
- package/cpp/rnwgpu/api/GPUSampler.h +0 -44
- package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -50
- package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
- package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -80
- package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -71
- package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
- package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
- package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
- package/cpp/rnwgpu/api/GPUTexture.h +0 -162
- package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
- package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -71
- package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
- package/cpp/rnwgpu/api/ImageBitmap.h +0 -48
- package/cpp/rnwgpu/api/RNWebGPU.h +0 -241
- package/cpp/rnwgpu/api/RnFeatures.h +0 -53
- package/cpp/rnwgpu/api/VideoFrame.h +0 -76
- package/cpp/rnwgpu/api/VideoPlayer.h +0 -69
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -65
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -81
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -57
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -98
- package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -58
- package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -53
- package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -57
- package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -57
- package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -60
- package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
- package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
- package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -67
- package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -59
- package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
- package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -46
- package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -46
- package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -57
- package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -59
- package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -68
- package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -57
- package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -104
- package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -115
- package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -39
- package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -82
- package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -74
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -63
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -66
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -82
- package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -55
- package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
- package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -55
- package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -58
- package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -70
- package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -62
- package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -56
- package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -44
- package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -46
- package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -81
- package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -82
- package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -102
- package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -93
- package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -59
- package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -104
- package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -52
- package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -46
- package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -111
- package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -61
- package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -63
- package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
- package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -62
- package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -65
- package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -60
- package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -60
- package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -92
- package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
- package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -92
- package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -65
- package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -54
- package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -63
- package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -74
- package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1979
- package/cpp/rnwgpu/async/AsyncDispatcher.h +0 -28
- package/cpp/rnwgpu/async/AsyncRunner.cpp +0 -215
- package/cpp/rnwgpu/async/AsyncRunner.h +0 -53
- package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -181
- package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -55
- package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.cpp +0 -23
- package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.h +0 -22
- package/cpp/webgpu/webgpu.h +0 -4979
- package/cpp/webgpu/webgpu_cpp.h +0 -10059
- package/cpp/webgpu/webgpu_cpp_chained_struct.h +0 -57
- package/cpp/webgpu/webgpu_cpp_print.h +0 -2844
- package/cpp/webgpu/webgpu_enum_class_bitmasks.h +0 -161
- package/lib/commonjs/Canvas.js +0 -55
- package/lib/commonjs/Canvas.js.map +0 -1
- package/lib/commonjs/NativeWebGPUModule.js +0 -10
- package/lib/commonjs/NativeWebGPUModule.js.map +0 -1
- package/lib/commonjs/Offscreen.js +0 -103
- package/lib/commonjs/Offscreen.js.map +0 -1
- package/lib/commonjs/WebGPUViewNativeComponent.js +0 -10
- package/lib/commonjs/WebGPUViewNativeComponent.js.map +0 -1
- package/lib/commonjs/WebGPUViewNativeComponent.web.js +0 -103
- package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +0 -1
- package/lib/commonjs/WebPolyfillGPUModule.js +0 -40
- package/lib/commonjs/WebPolyfillGPUModule.js.map +0 -1
- package/lib/commonjs/external/ModuleProxy.js +0 -36
- package/lib/commonjs/external/ModuleProxy.js.map +0 -1
- package/lib/commonjs/external/index.js +0 -17
- package/lib/commonjs/external/index.js.map +0 -1
- package/lib/commonjs/external/reanimated/ReanimatedProxy.js +0 -18
- package/lib/commonjs/external/reanimated/ReanimatedProxy.js.map +0 -1
- package/lib/commonjs/external/reanimated/index.js +0 -21
- package/lib/commonjs/external/reanimated/index.js.map +0 -1
- package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js +0 -49
- package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
- package/lib/commonjs/hooks.js +0 -83
- package/lib/commonjs/hooks.js.map +0 -1
- package/lib/commonjs/main/index.js +0 -91
- package/lib/commonjs/main/index.js.map +0 -1
- package/lib/commonjs/main/index.web.js +0 -51
- package/lib/commonjs/main/index.web.js.map +0 -1
- package/lib/commonjs/types.js +0 -2
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/utils.js +0 -11
- package/lib/commonjs/utils.js.map +0 -1
- package/lib/module/Canvas.js +0 -46
- package/lib/module/Canvas.js.map +0 -1
- package/lib/module/NativeWebGPUModule.js +0 -4
- package/lib/module/NativeWebGPUModule.js.map +0 -1
- package/lib/module/Offscreen.js +0 -96
- package/lib/module/Offscreen.js.map +0 -1
- package/lib/module/WebGPUViewNativeComponent.js +0 -4
- package/lib/module/WebGPUViewNativeComponent.js.map +0 -1
- package/lib/module/WebGPUViewNativeComponent.web.js +0 -96
- package/lib/module/WebGPUViewNativeComponent.web.js.map +0 -1
- package/lib/module/WebPolyfillGPUModule.js +0 -38
- package/lib/module/WebPolyfillGPUModule.js.map +0 -1
- package/lib/module/external/ModuleProxy.js +0 -28
- package/lib/module/external/ModuleProxy.js.map +0 -1
- package/lib/module/external/index.js +0 -2
- package/lib/module/external/index.js.map +0 -1
- package/lib/module/external/reanimated/ReanimatedProxy.js +0 -12
- package/lib/module/external/reanimated/ReanimatedProxy.js.map +0 -1
- package/lib/module/external/reanimated/index.js +0 -3
- package/lib/module/external/reanimated/index.js.map +0 -1
- package/lib/module/external/reanimated/registerWebGPUForReanimated.js +0 -42
- package/lib/module/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
- package/lib/module/hooks.js +0 -70
- package/lib/module/hooks.js.map +0 -1
- package/lib/module/main/index.js +0 -33
- package/lib/module/main/index.js.map +0 -1
- package/lib/module/main/index.web.js +0 -8
- package/lib/module/main/index.web.js.map +0 -1
- package/lib/module/types.js +0 -2
- package/lib/module/types.js.map +0 -1
- package/lib/module/utils.js +0 -5
- package/lib/module/utils.js.map +0 -1
- package/lib/typescript/babel.config.d.ts +0 -3
- package/lib/typescript/babel.config.d.ts.map +0 -1
- package/lib/typescript/jest.config.d.ts +0 -9
- package/lib/typescript/jest.config.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/Canvas.d.ts +0 -7
- package/lib/typescript/lib/commonjs/Canvas.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts +0 -5
- package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/Offscreen.d.ts +0 -26
- package/lib/typescript/lib/commonjs/Offscreen.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts +0 -5
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts +0 -4
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts +0 -2
- package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts +0 -12
- package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/external/index.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts +0 -6
- package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts +0 -4
- package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts +0 -9
- package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/hooks.d.ts +0 -18
- package/lib/typescript/lib/commonjs/hooks.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/index.d.ts +0 -2
- package/lib/typescript/lib/commonjs/main/index.d.ts +0 -3
- package/lib/typescript/lib/commonjs/main/index.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/main/index.web.d.ts +0 -2
- package/lib/typescript/lib/commonjs/main/index.web.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/types.d.ts +0 -1
- package/lib/typescript/lib/commonjs/types.d.ts.map +0 -1
- package/lib/typescript/lib/commonjs/utils.d.ts +0 -3
- package/lib/typescript/lib/commonjs/utils.d.ts.map +0 -1
- package/lib/typescript/lib/module/Canvas.d.ts +0 -8
- package/lib/typescript/lib/module/Canvas.d.ts.map +0 -1
- package/lib/typescript/lib/module/NativeWebGPUModule.d.ts +0 -3
- package/lib/typescript/lib/module/NativeWebGPUModule.d.ts.map +0 -1
- package/lib/typescript/lib/module/Offscreen.d.ts +0 -25
- package/lib/typescript/lib/module/Offscreen.d.ts.map +0 -1
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +0 -3
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts +0 -3
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +0 -1
- package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts +0 -2
- package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts.map +0 -1
- package/lib/typescript/lib/module/external/ModuleProxy.d.ts +0 -7
- package/lib/typescript/lib/module/external/ModuleProxy.d.ts.map +0 -1
- package/lib/typescript/lib/module/external/index.d.ts.map +0 -1
- package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts +0 -5
- package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
- package/lib/typescript/lib/module/external/reanimated/index.d.ts.map +0 -1
- package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts +0 -2
- package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
- package/lib/typescript/lib/module/hooks.d.ts +0 -18
- package/lib/typescript/lib/module/hooks.d.ts.map +0 -1
- package/lib/typescript/lib/module/index.d.ts +0 -2
- package/lib/typescript/lib/module/main/index.d.ts.map +0 -1
- package/lib/typescript/lib/module/main/index.web.d.ts +0 -5
- package/lib/typescript/lib/module/main/index.web.d.ts.map +0 -1
- package/lib/typescript/lib/module/types.d.ts +0 -1
- package/lib/typescript/lib/module/types.d.ts.map +0 -1
- package/lib/typescript/lib/module/utils.d.ts +0 -2
- package/lib/typescript/lib/module/utils.d.ts.map +0 -1
- package/lib/typescript/src/Canvas.d.ts.map +0 -1
- package/lib/typescript/src/NativeWebGPUModule.d.ts.map +0 -1
- package/lib/typescript/src/Offscreen.d.ts.map +0 -1
- package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +0 -9
- package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +0 -1
- package/lib/typescript/src/WebPolyfillGPUModule.d.ts +0 -2
- package/lib/typescript/src/WebPolyfillGPUModule.d.ts.map +0 -1
- package/lib/typescript/src/external/ModuleProxy.d.ts.map +0 -1
- package/lib/typescript/src/external/index.d.ts +0 -2
- package/lib/typescript/src/external/index.d.ts.map +0 -1
- package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
- package/lib/typescript/src/external/reanimated/index.d.ts +0 -3
- package/lib/typescript/src/external/reanimated/index.d.ts.map +0 -1
- package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
- package/lib/typescript/src/hooks.d.ts.map +0 -1
- package/lib/typescript/src/index.d.ts.map +0 -1
- package/lib/typescript/src/main/index.d.ts +0 -6
- package/lib/typescript/src/main/index.d.ts.map +0 -1
- package/lib/typescript/src/main/index.web.d.ts +0 -6
- package/lib/typescript/src/main/index.web.d.ts.map +0 -1
- package/lib/typescript/src/types.d.ts.map +0 -1
- package/lib/typescript/src/utils.d.ts +0 -2
- package/lib/typescript/src/utils.d.ts.map +0 -1
- package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
- package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
- package/libs/android/x86/libwebgpu_dawn.so +0 -0
- package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
- package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +0 -59
- package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
- package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
- package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
- package/react-native-wgpu.podspec +0 -47
- package/src/Canvas.tsx +0 -76
- package/src/NativeWebGPUModule.ts +0 -9
- package/src/Offscreen.ts +0 -113
- package/src/WebGPUViewNativeComponent.ts +0 -11
- package/src/WebGPUViewNativeComponent.web.ts +0 -113
- package/src/WebPolyfillGPUModule.ts +0 -53
- package/src/external/ModuleProxy.ts +0 -30
- package/src/external/index.ts +0 -1
- package/src/external/reanimated/ReanimatedProxy.ts +0 -19
- package/src/external/reanimated/index.ts +0 -2
- package/src/external/reanimated/registerWebGPUForReanimated.ts +0 -43
- package/src/hooks.tsx +0 -93
- package/src/index.tsx +0 -91
- package/src/main/index.tsx +0 -40
- package/src/main/index.web.tsx +0 -8
- package/src/types.ts +0 -102
- package/src/utils.ts +0 -4
- /package/lib/typescript/{src → webgpu/src}/Canvas.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/NativeWebGPUModule.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/Offscreen.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/WebGPUViewNativeComponent.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/external/ModuleProxy.d.ts +0 -0
- /package/lib/typescript/{lib/module → webgpu/src}/external/index.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/external/reanimated/ReanimatedProxy.d.ts +0 -0
- /package/lib/typescript/{lib/module → webgpu/src}/external/reanimated/index.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/external/reanimated/registerWebGPUForReanimated.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/hooks.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/index.d.ts +0 -0
- /package/lib/typescript/{lib/module → webgpu/src}/main/index.d.ts +0 -0
- /package/lib/typescript/{src → webgpu/src}/types.d.ts +0 -0
- /package/lib/typescript/{eslint.config.d.mts → webgpu-shim/eslint.config.d.mts} +0 -0
- /package/lib/typescript/{lib/commonjs/external → webgpu-shim/lib/commonjs}/index.d.ts +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
#include "GPUShaderModule.h"
|
|
2
|
-
|
|
3
|
-
#include <memory>
|
|
4
|
-
#include <utility>
|
|
5
|
-
|
|
6
|
-
#include "JSIConverter.h"
|
|
7
|
-
|
|
8
|
-
namespace rnwgpu {
|
|
9
|
-
|
|
10
|
-
async::AsyncTaskHandle GPUShaderModule::getCompilationInfo() {
|
|
11
|
-
auto module = _instance;
|
|
12
|
-
|
|
13
|
-
return _async->postTask(
|
|
14
|
-
[module](const async::AsyncTaskHandle::ResolveFunction &resolve,
|
|
15
|
-
const async::AsyncTaskHandle::RejectFunction &reject) {
|
|
16
|
-
auto result = std::make_shared<GPUCompilationInfo>();
|
|
17
|
-
module.GetCompilationInfo(
|
|
18
|
-
wgpu::CallbackMode::AllowProcessEvents,
|
|
19
|
-
[result, resolve,
|
|
20
|
-
reject](wgpu::CompilationInfoRequestStatus status,
|
|
21
|
-
const wgpu::CompilationInfo *compilationInfo) {
|
|
22
|
-
if (status != wgpu::CompilationInfoRequestStatus::Success ||
|
|
23
|
-
compilationInfo == nullptr) {
|
|
24
|
-
reject("Failed to get compilation info");
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
result->_messages.reserve(compilationInfo->messageCount);
|
|
29
|
-
for (size_t i = 0; i < compilationInfo->messageCount; ++i) {
|
|
30
|
-
const auto &wgpuMessage = compilationInfo->messages[i];
|
|
31
|
-
GPUCompilationMessageData message;
|
|
32
|
-
message.message =
|
|
33
|
-
wgpuMessage.message.length ? wgpuMessage.message.data : "";
|
|
34
|
-
message.type = wgpuMessage.type;
|
|
35
|
-
message.lineNum = wgpuMessage.lineNum;
|
|
36
|
-
message.linePos = wgpuMessage.linePos;
|
|
37
|
-
message.offset = wgpuMessage.offset;
|
|
38
|
-
message.length = wgpuMessage.length;
|
|
39
|
-
result->_messages.push_back(std::move(message));
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
resolve([result](jsi::Runtime &runtime) mutable {
|
|
43
|
-
return JSIConverter<std::shared_ptr<GPUCompilationInfo>>::toJSI(
|
|
44
|
-
runtime, result);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
} // namespace rnwgpu
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <memory>
|
|
4
|
-
#include <string>
|
|
5
|
-
|
|
6
|
-
#include "Unions.h"
|
|
7
|
-
|
|
8
|
-
#include "NativeObject.h"
|
|
9
|
-
|
|
10
|
-
#include "rnwgpu/async/AsyncRunner.h"
|
|
11
|
-
#include "rnwgpu/async/AsyncTaskHandle.h"
|
|
12
|
-
|
|
13
|
-
#include "webgpu/webgpu_cpp.h"
|
|
14
|
-
|
|
15
|
-
#include "GPUCompilationInfo.h"
|
|
16
|
-
|
|
17
|
-
namespace rnwgpu {
|
|
18
|
-
|
|
19
|
-
namespace jsi = facebook::jsi;
|
|
20
|
-
|
|
21
|
-
class GPUShaderModule : public NativeObject<GPUShaderModule> {
|
|
22
|
-
public:
|
|
23
|
-
static constexpr const char *CLASS_NAME = "GPUShaderModule";
|
|
24
|
-
|
|
25
|
-
explicit GPUShaderModule(wgpu::ShaderModule instance,
|
|
26
|
-
std::shared_ptr<async::AsyncRunner> async,
|
|
27
|
-
std::string label)
|
|
28
|
-
: NativeObject(CLASS_NAME), _instance(instance), _async(async),
|
|
29
|
-
_label(label) {}
|
|
30
|
-
|
|
31
|
-
public:
|
|
32
|
-
std::string getBrand() { return CLASS_NAME; }
|
|
33
|
-
|
|
34
|
-
async::AsyncTaskHandle getCompilationInfo();
|
|
35
|
-
|
|
36
|
-
std::string getLabel() { return _label; }
|
|
37
|
-
void setLabel(const std::string &label) {
|
|
38
|
-
_label = label;
|
|
39
|
-
_instance.SetLabel(_label.c_str());
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
43
|
-
installGetter(runtime, prototype, "__brand", &GPUShaderModule::getBrand);
|
|
44
|
-
installMethod(runtime, prototype, "getCompilationInfo",
|
|
45
|
-
&GPUShaderModule::getCompilationInfo);
|
|
46
|
-
installGetterSetter(runtime, prototype, "label", &GPUShaderModule::getLabel,
|
|
47
|
-
&GPUShaderModule::setLabel);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
inline const wgpu::ShaderModule get() { return _instance; }
|
|
51
|
-
|
|
52
|
-
size_t getMemoryPressure() override {
|
|
53
|
-
// Estimate memory usage for compiled shader module
|
|
54
|
-
// Shaders can vary widely, but a reasonable estimate is 8-16KB for typical
|
|
55
|
-
// shaders Complex shaders (with many uniforms, textures, or computations)
|
|
56
|
-
// can be much larger
|
|
57
|
-
return 12 * 1024; // 12KB estimate for average shader
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
private:
|
|
61
|
-
wgpu::ShaderModule _instance;
|
|
62
|
-
std::shared_ptr<async::AsyncRunner> _async;
|
|
63
|
-
std::string _label;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
} // namespace rnwgpu
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
#include "GPUSharedTextureMemory.h"
|
|
2
|
-
|
|
3
|
-
#include <memory>
|
|
4
|
-
#include <stdexcept>
|
|
5
|
-
#include <string>
|
|
6
|
-
|
|
7
|
-
#include "Convertors.h"
|
|
8
|
-
|
|
9
|
-
namespace rnwgpu {
|
|
10
|
-
|
|
11
|
-
std::shared_ptr<GPUTexture> GPUSharedTextureMemory::createTexture(
|
|
12
|
-
std::optional<std::shared_ptr<GPUTextureDescriptor>> descriptor) {
|
|
13
|
-
if (!descriptor.has_value() || descriptor.value() == nullptr) {
|
|
14
|
-
auto texture = _instance.CreateTexture();
|
|
15
|
-
return std::make_shared<GPUTexture>(texture, "");
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
wgpu::TextureDescriptor desc{};
|
|
19
|
-
Convertor conv;
|
|
20
|
-
if (!conv(desc, descriptor.value())) {
|
|
21
|
-
throw std::runtime_error(
|
|
22
|
-
"GPUSharedTextureMemory::createTexture(): Error with "
|
|
23
|
-
"GPUTextureDescriptor");
|
|
24
|
-
}
|
|
25
|
-
auto texture = _instance.CreateTexture(&desc);
|
|
26
|
-
return std::make_shared<GPUTexture>(texture,
|
|
27
|
-
descriptor.value()->label.value_or(""));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
bool GPUSharedTextureMemory::beginAccess(std::shared_ptr<GPUTexture> texture,
|
|
31
|
-
bool initialized) {
|
|
32
|
-
if (!texture) {
|
|
33
|
-
throw std::runtime_error(
|
|
34
|
-
"GPUSharedTextureMemory::beginAccess(): texture is null");
|
|
35
|
-
}
|
|
36
|
-
wgpu::SharedTextureMemoryBeginAccessDescriptor desc{};
|
|
37
|
-
desc.initialized = initialized;
|
|
38
|
-
desc.concurrentRead = false;
|
|
39
|
-
desc.fenceCount = 0;
|
|
40
|
-
desc.fences = nullptr;
|
|
41
|
-
desc.signaledValues = nullptr;
|
|
42
|
-
|
|
43
|
-
#if defined(__ANDROID__)
|
|
44
|
-
// Dawn's Vulkan backend (AHardwareBuffer) validates that the begin-access
|
|
45
|
-
// descriptor chains a SharedTextureMemoryVkImageLayoutBeginState specifying
|
|
46
|
-
// the VkImageLayout to acquire the image into. UNDEFINED (= 0) on both ends
|
|
47
|
-
// is the canonical "no prior GPU producer" pattern: Dawn performs an
|
|
48
|
-
// external-queue acquire from VK_QUEUE_FAMILY_EXTERNAL which preserves the
|
|
49
|
-
// AHB contents, then transitions to whatever layout the texture's actual
|
|
50
|
-
// usage requires.
|
|
51
|
-
wgpu::SharedTextureMemoryVkImageLayoutBeginState vkLayout{};
|
|
52
|
-
vkLayout.oldLayout = 0;
|
|
53
|
-
vkLayout.newLayout = 0;
|
|
54
|
-
desc.nextInChain = &vkLayout;
|
|
55
|
-
#endif
|
|
56
|
-
|
|
57
|
-
auto status = _instance.BeginAccess(texture->get(), &desc);
|
|
58
|
-
return static_cast<bool>(status);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
bool GPUSharedTextureMemory::endAccess(std::shared_ptr<GPUTexture> texture) {
|
|
62
|
-
if (!texture) {
|
|
63
|
-
throw std::runtime_error(
|
|
64
|
-
"GPUSharedTextureMemory::endAccess(): texture is null");
|
|
65
|
-
}
|
|
66
|
-
wgpu::SharedTextureMemoryEndAccessState state{};
|
|
67
|
-
|
|
68
|
-
#if defined(__ANDROID__)
|
|
69
|
-
// Dawn's Vulkan backend writes the released old/new VkImageLayouts back into
|
|
70
|
-
// a chained SharedTextureMemoryVkImageLayoutEndState; validation requires
|
|
71
|
-
// the chain even when the caller doesn't read the values.
|
|
72
|
-
wgpu::SharedTextureMemoryVkImageLayoutEndState vkLayout{};
|
|
73
|
-
state.nextInChain = &vkLayout;
|
|
74
|
-
#endif
|
|
75
|
-
|
|
76
|
-
auto status = _instance.EndAccess(texture->get(), &state);
|
|
77
|
-
return static_cast<bool>(status);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
} // namespace rnwgpu
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <memory>
|
|
4
|
-
#include <optional>
|
|
5
|
-
#include <string>
|
|
6
|
-
|
|
7
|
-
#include "NativeObject.h"
|
|
8
|
-
|
|
9
|
-
#include "webgpu/webgpu_cpp.h"
|
|
10
|
-
|
|
11
|
-
#include "GPUTexture.h"
|
|
12
|
-
#include "GPUTextureDescriptor.h"
|
|
13
|
-
|
|
14
|
-
namespace rnwgpu {
|
|
15
|
-
|
|
16
|
-
namespace jsi = facebook::jsi;
|
|
17
|
-
|
|
18
|
-
class GPUSharedTextureMemory : public NativeObject<GPUSharedTextureMemory> {
|
|
19
|
-
public:
|
|
20
|
-
static constexpr const char *CLASS_NAME = "GPUSharedTextureMemory";
|
|
21
|
-
|
|
22
|
-
explicit GPUSharedTextureMemory(wgpu::SharedTextureMemory instance,
|
|
23
|
-
std::string label)
|
|
24
|
-
: NativeObject(CLASS_NAME), _instance(std::move(instance)),
|
|
25
|
-
_label(std::move(label)) {}
|
|
26
|
-
|
|
27
|
-
public:
|
|
28
|
-
std::string getBrand() { return CLASS_NAME; }
|
|
29
|
-
|
|
30
|
-
std::shared_ptr<GPUTexture>
|
|
31
|
-
createTexture(std::optional<std::shared_ptr<GPUTextureDescriptor>> descriptor);
|
|
32
|
-
|
|
33
|
-
// Returns true on success. Marks the shared memory as initialized so the
|
|
34
|
-
// texture's content is preserved (or not). Callers that want fence-based
|
|
35
|
-
// synchronization should pass fences via beginAccess descriptor (not yet
|
|
36
|
-
// exposed - we currently take the implicit/no-fence path that matches the
|
|
37
|
-
// most common RN use cases: still images, single-producer video frames).
|
|
38
|
-
bool beginAccess(std::shared_ptr<GPUTexture> texture, bool initialized);
|
|
39
|
-
|
|
40
|
-
// Returns true on success. Drops any fences produced by end-access (we do
|
|
41
|
-
// not yet surface them to JS).
|
|
42
|
-
bool endAccess(std::shared_ptr<GPUTexture> texture);
|
|
43
|
-
|
|
44
|
-
std::string getLabel() { return _label; }
|
|
45
|
-
void setLabel(const std::string &label) {
|
|
46
|
-
_label = label;
|
|
47
|
-
_instance.SetLabel(_label.c_str());
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
51
|
-
installGetter(runtime, prototype, "__brand",
|
|
52
|
-
&GPUSharedTextureMemory::getBrand);
|
|
53
|
-
installMethod(runtime, prototype, "createTexture",
|
|
54
|
-
&GPUSharedTextureMemory::createTexture);
|
|
55
|
-
installMethod(runtime, prototype, "beginAccess",
|
|
56
|
-
&GPUSharedTextureMemory::beginAccess);
|
|
57
|
-
installMethod(runtime, prototype, "endAccess",
|
|
58
|
-
&GPUSharedTextureMemory::endAccess);
|
|
59
|
-
installGetterSetter(runtime, prototype, "label",
|
|
60
|
-
&GPUSharedTextureMemory::getLabel,
|
|
61
|
-
&GPUSharedTextureMemory::setLabel);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
inline const wgpu::SharedTextureMemory get() { return _instance; }
|
|
65
|
-
|
|
66
|
-
private:
|
|
67
|
-
wgpu::SharedTextureMemory _instance;
|
|
68
|
-
std::string _label;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
} // namespace rnwgpu
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
#include "GPUSupportedLimits.h"
|
|
2
|
-
|
|
3
|
-
namespace rnwgpu {
|
|
4
|
-
|
|
5
|
-
double GPUSupportedLimits::getMaxTextureDimension1D() {
|
|
6
|
-
return _instance.maxTextureDimension1D;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
double GPUSupportedLimits::getMaxTextureDimension2D() {
|
|
10
|
-
return _instance.maxTextureDimension2D;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
double GPUSupportedLimits::getMaxTextureDimension3D() {
|
|
14
|
-
return _instance.maxTextureDimension3D;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
double GPUSupportedLimits::getMaxTextureArrayLayers() {
|
|
18
|
-
return _instance.maxTextureArrayLayers;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
double GPUSupportedLimits::getMaxBindGroups() {
|
|
22
|
-
return _instance.maxBindGroups;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
double GPUSupportedLimits::getMaxBindGroupsPlusVertexBuffers() {
|
|
26
|
-
return _instance.maxBindGroupsPlusVertexBuffers;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
double GPUSupportedLimits::getMaxBindingsPerBindGroup() {
|
|
30
|
-
return _instance.maxBindingsPerBindGroup;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
double GPUSupportedLimits::getMaxDynamicUniformBuffersPerPipelineLayout() {
|
|
34
|
-
return _instance.maxDynamicUniformBuffersPerPipelineLayout;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
double GPUSupportedLimits::getMaxDynamicStorageBuffersPerPipelineLayout() {
|
|
38
|
-
return _instance.maxDynamicStorageBuffersPerPipelineLayout;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
double GPUSupportedLimits::getMaxSampledTexturesPerShaderStage() {
|
|
42
|
-
return _instance.maxSampledTexturesPerShaderStage;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
double GPUSupportedLimits::getMaxSamplersPerShaderStage() {
|
|
46
|
-
return _instance.maxSamplersPerShaderStage;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
double GPUSupportedLimits::getMaxStorageBuffersPerShaderStage() {
|
|
50
|
-
return _instance.maxStorageBuffersPerShaderStage;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
double GPUSupportedLimits::getMaxStorageTexturesPerShaderStage() {
|
|
54
|
-
return _instance.maxStorageTexturesPerShaderStage;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
double GPUSupportedLimits::getMaxUniformBuffersPerShaderStage() {
|
|
58
|
-
return _instance.maxUniformBuffersPerShaderStage;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
double GPUSupportedLimits::getMaxUniformBufferBindingSize() {
|
|
62
|
-
return _instance.maxUniformBufferBindingSize;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
double GPUSupportedLimits::getMaxStorageBufferBindingSize() {
|
|
66
|
-
return _instance.maxStorageBufferBindingSize;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
double GPUSupportedLimits::getMinUniformBufferOffsetAlignment() {
|
|
70
|
-
return _instance.minUniformBufferOffsetAlignment;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
double GPUSupportedLimits::getMinStorageBufferOffsetAlignment() {
|
|
74
|
-
return _instance.minStorageBufferOffsetAlignment;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
double GPUSupportedLimits::getMaxVertexBuffers() {
|
|
78
|
-
return _instance.maxVertexBuffers;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
double GPUSupportedLimits::getMaxBufferSize() {
|
|
82
|
-
return _instance.maxBufferSize;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
double GPUSupportedLimits::getMaxVertexAttributes() {
|
|
86
|
-
return _instance.maxVertexAttributes;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
double GPUSupportedLimits::getMaxVertexBufferArrayStride() {
|
|
90
|
-
return _instance.maxVertexBufferArrayStride;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
double GPUSupportedLimits::getMaxInterStageShaderVariables() {
|
|
94
|
-
return _instance.maxInterStageShaderVariables;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
double GPUSupportedLimits::getMaxColorAttachments() {
|
|
98
|
-
return _instance.maxColorAttachments;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
double GPUSupportedLimits::getMaxColorAttachmentBytesPerSample() {
|
|
102
|
-
return _instance.maxColorAttachmentBytesPerSample;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
double GPUSupportedLimits::getMaxComputeWorkgroupStorageSize() {
|
|
106
|
-
return _instance.maxComputeWorkgroupStorageSize;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
double GPUSupportedLimits::getMaxComputeInvocationsPerWorkgroup() {
|
|
110
|
-
return _instance.maxComputeInvocationsPerWorkgroup;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
double GPUSupportedLimits::getMaxComputeWorkgroupSizeX() {
|
|
114
|
-
return _instance.maxComputeWorkgroupSizeX;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
double GPUSupportedLimits::getMaxComputeWorkgroupSizeY() {
|
|
118
|
-
return _instance.maxComputeWorkgroupSizeY;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
double GPUSupportedLimits::getMaxComputeWorkgroupSizeZ() {
|
|
122
|
-
return _instance.maxComputeWorkgroupSizeZ;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
double GPUSupportedLimits::getMaxComputeWorkgroupsPerDimension() {
|
|
126
|
-
return _instance.maxComputeWorkgroupsPerDimension;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
} // namespace rnwgpu
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <string>
|
|
4
|
-
|
|
5
|
-
#include "Unions.h"
|
|
6
|
-
|
|
7
|
-
#include "NativeObject.h"
|
|
8
|
-
|
|
9
|
-
#include "webgpu/webgpu_cpp.h"
|
|
10
|
-
|
|
11
|
-
namespace rnwgpu {
|
|
12
|
-
|
|
13
|
-
namespace jsi = facebook::jsi;
|
|
14
|
-
|
|
15
|
-
class GPUSupportedLimits : public NativeObject<GPUSupportedLimits> {
|
|
16
|
-
public:
|
|
17
|
-
static constexpr const char *CLASS_NAME = "GPUSupportedLimits";
|
|
18
|
-
|
|
19
|
-
explicit GPUSupportedLimits(wgpu::Limits instance)
|
|
20
|
-
: NativeObject(CLASS_NAME), _instance(instance) {}
|
|
21
|
-
|
|
22
|
-
public:
|
|
23
|
-
std::string getBrand() { return CLASS_NAME; }
|
|
24
|
-
|
|
25
|
-
double getMaxTextureDimension1D();
|
|
26
|
-
double getMaxTextureDimension2D();
|
|
27
|
-
double getMaxTextureDimension3D();
|
|
28
|
-
double getMaxTextureArrayLayers();
|
|
29
|
-
double getMaxBindGroups();
|
|
30
|
-
double getMaxBindGroupsPlusVertexBuffers();
|
|
31
|
-
double getMaxBindingsPerBindGroup();
|
|
32
|
-
double getMaxDynamicUniformBuffersPerPipelineLayout();
|
|
33
|
-
double getMaxDynamicStorageBuffersPerPipelineLayout();
|
|
34
|
-
double getMaxSampledTexturesPerShaderStage();
|
|
35
|
-
double getMaxSamplersPerShaderStage();
|
|
36
|
-
double getMaxStorageBuffersPerShaderStage();
|
|
37
|
-
double getMaxStorageTexturesPerShaderStage();
|
|
38
|
-
double getMaxUniformBuffersPerShaderStage();
|
|
39
|
-
double getMaxUniformBufferBindingSize();
|
|
40
|
-
double getMaxStorageBufferBindingSize();
|
|
41
|
-
double getMinUniformBufferOffsetAlignment();
|
|
42
|
-
double getMinStorageBufferOffsetAlignment();
|
|
43
|
-
double getMaxVertexBuffers();
|
|
44
|
-
double getMaxBufferSize();
|
|
45
|
-
double getMaxVertexAttributes();
|
|
46
|
-
double getMaxVertexBufferArrayStride();
|
|
47
|
-
double getMaxInterStageShaderVariables();
|
|
48
|
-
double getMaxColorAttachments();
|
|
49
|
-
double getMaxColorAttachmentBytesPerSample();
|
|
50
|
-
double getMaxComputeWorkgroupStorageSize();
|
|
51
|
-
double getMaxComputeInvocationsPerWorkgroup();
|
|
52
|
-
double getMaxComputeWorkgroupSizeX();
|
|
53
|
-
double getMaxComputeWorkgroupSizeY();
|
|
54
|
-
double getMaxComputeWorkgroupSizeZ();
|
|
55
|
-
double getMaxComputeWorkgroupsPerDimension();
|
|
56
|
-
|
|
57
|
-
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
58
|
-
installGetter(runtime, prototype, "__brand", &GPUSupportedLimits::getBrand);
|
|
59
|
-
installGetter(runtime, prototype, "maxTextureDimension1D",
|
|
60
|
-
&GPUSupportedLimits::getMaxTextureDimension1D);
|
|
61
|
-
installGetter(runtime, prototype, "maxTextureDimension2D",
|
|
62
|
-
&GPUSupportedLimits::getMaxTextureDimension2D);
|
|
63
|
-
installGetter(runtime, prototype, "maxTextureDimension3D",
|
|
64
|
-
&GPUSupportedLimits::getMaxTextureDimension3D);
|
|
65
|
-
installGetter(runtime, prototype, "maxTextureArrayLayers",
|
|
66
|
-
&GPUSupportedLimits::getMaxTextureArrayLayers);
|
|
67
|
-
installGetter(runtime, prototype, "maxBindGroups",
|
|
68
|
-
&GPUSupportedLimits::getMaxBindGroups);
|
|
69
|
-
installGetter(runtime, prototype, "maxBindGroupsPlusVertexBuffers",
|
|
70
|
-
&GPUSupportedLimits::getMaxBindGroupsPlusVertexBuffers);
|
|
71
|
-
installGetter(runtime, prototype, "maxBindingsPerBindGroup",
|
|
72
|
-
&GPUSupportedLimits::getMaxBindingsPerBindGroup);
|
|
73
|
-
installGetter(
|
|
74
|
-
runtime, prototype, "maxDynamicUniformBuffersPerPipelineLayout",
|
|
75
|
-
&GPUSupportedLimits::getMaxDynamicUniformBuffersPerPipelineLayout);
|
|
76
|
-
installGetter(
|
|
77
|
-
runtime, prototype, "maxDynamicStorageBuffersPerPipelineLayout",
|
|
78
|
-
&GPUSupportedLimits::getMaxDynamicStorageBuffersPerPipelineLayout);
|
|
79
|
-
installGetter(runtime, prototype, "maxSampledTexturesPerShaderStage",
|
|
80
|
-
&GPUSupportedLimits::getMaxSampledTexturesPerShaderStage);
|
|
81
|
-
installGetter(runtime, prototype, "maxSamplersPerShaderStage",
|
|
82
|
-
&GPUSupportedLimits::getMaxSamplersPerShaderStage);
|
|
83
|
-
installGetter(runtime, prototype, "maxStorageBuffersPerShaderStage",
|
|
84
|
-
&GPUSupportedLimits::getMaxStorageBuffersPerShaderStage);
|
|
85
|
-
installGetter(runtime, prototype, "maxStorageTexturesPerShaderStage",
|
|
86
|
-
&GPUSupportedLimits::getMaxStorageTexturesPerShaderStage);
|
|
87
|
-
installGetter(runtime, prototype, "maxUniformBuffersPerShaderStage",
|
|
88
|
-
&GPUSupportedLimits::getMaxUniformBuffersPerShaderStage);
|
|
89
|
-
installGetter(runtime, prototype, "maxUniformBufferBindingSize",
|
|
90
|
-
&GPUSupportedLimits::getMaxUniformBufferBindingSize);
|
|
91
|
-
installGetter(runtime, prototype, "maxStorageBufferBindingSize",
|
|
92
|
-
&GPUSupportedLimits::getMaxStorageBufferBindingSize);
|
|
93
|
-
installGetter(runtime, prototype, "minUniformBufferOffsetAlignment",
|
|
94
|
-
&GPUSupportedLimits::getMinUniformBufferOffsetAlignment);
|
|
95
|
-
installGetter(runtime, prototype, "minStorageBufferOffsetAlignment",
|
|
96
|
-
&GPUSupportedLimits::getMinStorageBufferOffsetAlignment);
|
|
97
|
-
installGetter(runtime, prototype, "maxVertexBuffers",
|
|
98
|
-
&GPUSupportedLimits::getMaxVertexBuffers);
|
|
99
|
-
installGetter(runtime, prototype, "maxBufferSize",
|
|
100
|
-
&GPUSupportedLimits::getMaxBufferSize);
|
|
101
|
-
installGetter(runtime, prototype, "maxVertexAttributes",
|
|
102
|
-
&GPUSupportedLimits::getMaxVertexAttributes);
|
|
103
|
-
installGetter(runtime, prototype, "maxVertexBufferArrayStride",
|
|
104
|
-
&GPUSupportedLimits::getMaxVertexBufferArrayStride);
|
|
105
|
-
installGetter(runtime, prototype, "maxInterStageShaderVariables",
|
|
106
|
-
&GPUSupportedLimits::getMaxInterStageShaderVariables);
|
|
107
|
-
installGetter(runtime, prototype, "maxColorAttachments",
|
|
108
|
-
&GPUSupportedLimits::getMaxColorAttachments);
|
|
109
|
-
installGetter(runtime, prototype, "maxColorAttachmentBytesPerSample",
|
|
110
|
-
&GPUSupportedLimits::getMaxColorAttachmentBytesPerSample);
|
|
111
|
-
installGetter(runtime, prototype, "maxComputeWorkgroupStorageSize",
|
|
112
|
-
&GPUSupportedLimits::getMaxComputeWorkgroupStorageSize);
|
|
113
|
-
installGetter(runtime, prototype, "maxComputeInvocationsPerWorkgroup",
|
|
114
|
-
&GPUSupportedLimits::getMaxComputeInvocationsPerWorkgroup);
|
|
115
|
-
installGetter(runtime, prototype, "maxComputeWorkgroupSizeX",
|
|
116
|
-
&GPUSupportedLimits::getMaxComputeWorkgroupSizeX);
|
|
117
|
-
installGetter(runtime, prototype, "maxComputeWorkgroupSizeY",
|
|
118
|
-
&GPUSupportedLimits::getMaxComputeWorkgroupSizeY);
|
|
119
|
-
installGetter(runtime, prototype, "maxComputeWorkgroupSizeZ",
|
|
120
|
-
&GPUSupportedLimits::getMaxComputeWorkgroupSizeZ);
|
|
121
|
-
installGetter(runtime, prototype, "maxComputeWorkgroupsPerDimension",
|
|
122
|
-
&GPUSupportedLimits::getMaxComputeWorkgroupsPerDimension);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
inline const wgpu::Limits get() { return _instance; }
|
|
126
|
-
|
|
127
|
-
private:
|
|
128
|
-
wgpu::Limits _instance;
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
} // namespace rnwgpu
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
#include "GPUTexture.h"
|
|
2
|
-
|
|
3
|
-
#include <memory>
|
|
4
|
-
|
|
5
|
-
#include "Convertors.h"
|
|
6
|
-
|
|
7
|
-
namespace rnwgpu {
|
|
8
|
-
|
|
9
|
-
void GPUTexture::destroy() { _instance.Destroy(); }
|
|
10
|
-
|
|
11
|
-
std::shared_ptr<GPUTextureView> GPUTexture::createView(
|
|
12
|
-
std::optional<std::shared_ptr<GPUTextureViewDescriptor>> descriptor) {
|
|
13
|
-
wgpu::TextureViewDescriptor desc;
|
|
14
|
-
Convertor conv;
|
|
15
|
-
if (!conv(desc, descriptor)) {
|
|
16
|
-
throw std::runtime_error("GPUTextureView.createView(): couldn't access "
|
|
17
|
-
"GPUTextureViewDescriptor");
|
|
18
|
-
}
|
|
19
|
-
auto view = _instance.CreateView(&desc);
|
|
20
|
-
return std::make_shared<GPUTextureView>(
|
|
21
|
-
view,
|
|
22
|
-
descriptor.has_value() ? descriptor.value()->label.value_or("") : "");
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
uint32_t GPUTexture::getWidth() { return _instance.GetWidth(); }
|
|
26
|
-
|
|
27
|
-
uint32_t GPUTexture::getHeight() { return _instance.GetHeight(); }
|
|
28
|
-
|
|
29
|
-
uint32_t GPUTexture::getDepthOrArrayLayers() {
|
|
30
|
-
return _instance.GetDepthOrArrayLayers();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
uint32_t GPUTexture::getMipLevelCount() { return _instance.GetMipLevelCount(); }
|
|
34
|
-
|
|
35
|
-
uint32_t GPUTexture::getSampleCount() { return _instance.GetSampleCount(); }
|
|
36
|
-
|
|
37
|
-
wgpu::TextureDimension GPUTexture::getDimension() {
|
|
38
|
-
return _instance.GetDimension();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
wgpu::TextureFormat GPUTexture::getFormat() { return _instance.GetFormat(); }
|
|
42
|
-
|
|
43
|
-
double GPUTexture::getUsage() {
|
|
44
|
-
return static_cast<double>(_instance.GetUsage());
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
} // namespace rnwgpu
|