react-native-wgpu 0.5.13 → 0.5.15

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 (409) hide show
  1. package/README.md +4 -398
  2. package/lib/commonjs/index.js +7 -4
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/module/index.js +4 -4
  5. package/lib/module/index.js.map +1 -1
  6. package/lib/typescript/{src → webgpu/src}/Canvas.d.ts +9 -0
  7. package/lib/typescript/webgpu/src/Canvas.d.ts.map +1 -0
  8. package/lib/typescript/webgpu/src/NativeWebGPUModule.d.ts.map +1 -0
  9. package/lib/typescript/webgpu/src/Offscreen.d.ts.map +1 -0
  10. package/lib/typescript/webgpu/src/WebGPUViewNativeComponent.d.ts.map +1 -0
  11. package/lib/typescript/webgpu/src/constants.d.ts +6 -0
  12. package/lib/typescript/webgpu/src/constants.d.ts.map +1 -0
  13. package/lib/typescript/webgpu/src/external/ModuleProxy.d.ts.map +1 -0
  14. package/lib/typescript/webgpu/src/external/index.d.ts.map +1 -0
  15. package/lib/typescript/webgpu/src/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
  16. package/lib/typescript/webgpu/src/external/reanimated/index.d.ts.map +1 -0
  17. package/lib/typescript/webgpu/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
  18. package/lib/typescript/webgpu/src/hooks.d.ts.map +1 -0
  19. package/lib/typescript/{src → webgpu/src}/index.d.ts +5 -2
  20. package/lib/typescript/webgpu/src/index.d.ts.map +1 -0
  21. package/lib/typescript/webgpu/src/install.d.ts +34 -0
  22. package/lib/typescript/webgpu/src/install.d.ts.map +1 -0
  23. package/lib/typescript/webgpu/src/main/index.d.ts.map +1 -0
  24. package/lib/typescript/{src → webgpu/src}/types.d.ts +34 -2
  25. package/lib/typescript/webgpu/src/types.d.ts.map +1 -0
  26. package/lib/typescript/{eslint.config.d.mts.map → webgpu-shim/eslint.config.d.mts.map} +1 -1
  27. package/lib/typescript/{lib → webgpu-shim/lib}/commonjs/index.d.ts.map +1 -1
  28. package/lib/typescript/webgpu-shim/lib/module/index.d.ts +2 -0
  29. package/lib/typescript/{lib → webgpu-shim/lib}/module/index.d.ts.map +1 -1
  30. package/lib/typescript/webgpu-shim/src/index.d.ts +2 -0
  31. package/lib/typescript/webgpu-shim/src/index.d.ts.map +1 -0
  32. package/package.json +12 -81
  33. package/src/index.ts +9 -0
  34. package/LICENSE +0 -20
  35. package/android/CMakeLists.txt +0 -110
  36. package/android/build.gradle +0 -138
  37. package/android/cpp/AndroidPlatformContext.h +0 -328
  38. package/android/cpp/cpp-adapter.cpp +0 -71
  39. package/android/src/main/AndroidManifest.xml +0 -3
  40. package/android/src/main/java/com/webgpu/WebGPUAHBView.java +0 -298
  41. package/android/src/main/java/com/webgpu/WebGPUAPI.java +0 -20
  42. package/android/src/main/java/com/webgpu/WebGPUBaseView.java +0 -61
  43. package/android/src/main/java/com/webgpu/WebGPUModule.java +0 -50
  44. package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +0 -41
  45. package/android/src/main/java/com/webgpu/WebGPUSurfaceViewWithSC.java +0 -79
  46. package/android/src/main/java/com/webgpu/WebGPUTextureView.java +0 -46
  47. package/android/src/main/java/com/webgpu/WebGPUView.java +0 -108
  48. package/android/src/main/java/com/webgpu/WebGPUViewManager.java +0 -38
  49. package/android/src/main/java/com/webgpu/WebGPUViewPackage.java +0 -50
  50. package/android/src/newarch/com/webgpu/WebGPUViewManagerSpec.java +0 -24
  51. package/apple/ApplePlatformContext.h +0 -44
  52. package/apple/ApplePlatformContext.mm +0 -302
  53. package/apple/AppleVideoPlayer.h +0 -31
  54. package/apple/AppleVideoPlayer.mm +0 -314
  55. package/apple/MetalView.h +0 -13
  56. package/apple/MetalView.mm +0 -50
  57. package/apple/RNWGUIKit.h +0 -16
  58. package/apple/WebGPUModule.h +0 -13
  59. package/apple/WebGPUModule.mm +0 -89
  60. package/apple/WebGPUView.h +0 -12
  61. package/apple/WebGPUView.mm +0 -66
  62. package/cpp/WGPULogger.h +0 -100
  63. package/cpp/dawn_logging.cpp +0 -119
  64. package/cpp/jsi/EnumMapper.h +0 -45
  65. package/cpp/jsi/JSIConverter.h +0 -473
  66. package/cpp/jsi/NativeObject.h +0 -607
  67. package/cpp/jsi/Promise.cpp +0 -44
  68. package/cpp/jsi/Promise.h +0 -35
  69. package/cpp/jsi/RuntimeAwareCache.cpp +0 -7
  70. package/cpp/jsi/RuntimeAwareCache.h +0 -100
  71. package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
  72. package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
  73. package/cpp/rnwgpu/ArrayBuffer.h +0 -117
  74. package/cpp/rnwgpu/PlatformContext.h +0 -127
  75. package/cpp/rnwgpu/RNWebGPUManager.cpp +0 -237
  76. package/cpp/rnwgpu/RNWebGPUManager.h +0 -46
  77. package/cpp/rnwgpu/SurfaceRegistry.h +0 -230
  78. package/cpp/rnwgpu/api/Canvas.h +0 -57
  79. package/cpp/rnwgpu/api/Convertors.h +0 -783
  80. package/cpp/rnwgpu/api/External.h +0 -12
  81. package/cpp/rnwgpu/api/GPU.cpp +0 -154
  82. package/cpp/rnwgpu/api/GPU.h +0 -58
  83. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -267
  84. package/cpp/rnwgpu/api/GPUAdapter.h +0 -59
  85. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  86. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  87. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  88. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  89. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -97
  90. package/cpp/rnwgpu/api/GPUBuffer.h +0 -87
  91. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -67
  92. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -66
  93. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  94. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  95. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  96. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  97. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  98. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  99. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  100. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  101. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  102. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -545
  103. package/cpp/rnwgpu/api/GPUDevice.h +0 -265
  104. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  105. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  106. package/cpp/rnwgpu/api/GPUError.h +0 -35
  107. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  108. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -335
  109. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -90
  110. package/cpp/rnwgpu/api/GPUFeatures.h +0 -206
  111. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  112. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  113. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  114. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  115. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  116. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  117. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  118. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -169
  119. package/cpp/rnwgpu/api/GPUQueue.h +0 -81
  120. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  121. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  122. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  123. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  124. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  125. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  126. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  127. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  128. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -50
  129. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  130. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -80
  131. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -71
  132. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  133. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  134. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  135. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  136. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  137. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -71
  138. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  139. package/cpp/rnwgpu/api/ImageBitmap.h +0 -48
  140. package/cpp/rnwgpu/api/RNWebGPU.h +0 -241
  141. package/cpp/rnwgpu/api/RnFeatures.h +0 -53
  142. package/cpp/rnwgpu/api/VideoFrame.h +0 -76
  143. package/cpp/rnwgpu/api/VideoPlayer.h +0 -69
  144. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -65
  145. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -81
  146. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -57
  147. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -98
  148. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -58
  149. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -53
  150. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -57
  151. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -57
  152. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -60
  153. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  154. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  155. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -67
  156. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -59
  157. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  158. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -46
  159. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -46
  160. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -57
  161. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -59
  162. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -68
  163. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -57
  164. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -104
  165. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -115
  166. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -39
  167. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -82
  168. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -74
  169. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -63
  170. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  171. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -66
  172. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -82
  173. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -55
  174. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  175. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -55
  176. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -58
  177. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -70
  178. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -62
  179. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -56
  180. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -44
  181. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -46
  182. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -81
  183. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -82
  184. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -102
  185. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -93
  186. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -59
  187. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -104
  188. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -52
  189. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -46
  190. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -111
  191. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -61
  192. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -63
  193. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  194. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -62
  195. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -65
  196. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -60
  197. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -60
  198. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -92
  199. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  200. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -92
  201. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -65
  202. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -54
  203. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -63
  204. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -74
  205. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1979
  206. package/cpp/rnwgpu/async/AsyncDispatcher.h +0 -28
  207. package/cpp/rnwgpu/async/AsyncRunner.cpp +0 -215
  208. package/cpp/rnwgpu/async/AsyncRunner.h +0 -53
  209. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -181
  210. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -55
  211. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.cpp +0 -23
  212. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.h +0 -22
  213. package/cpp/webgpu/webgpu.h +0 -4979
  214. package/cpp/webgpu/webgpu_cpp.h +0 -10059
  215. package/cpp/webgpu/webgpu_cpp_chained_struct.h +0 -57
  216. package/cpp/webgpu/webgpu_cpp_print.h +0 -2844
  217. package/cpp/webgpu/webgpu_enum_class_bitmasks.h +0 -161
  218. package/lib/commonjs/Canvas.js +0 -55
  219. package/lib/commonjs/Canvas.js.map +0 -1
  220. package/lib/commonjs/NativeWebGPUModule.js +0 -10
  221. package/lib/commonjs/NativeWebGPUModule.js.map +0 -1
  222. package/lib/commonjs/Offscreen.js +0 -103
  223. package/lib/commonjs/Offscreen.js.map +0 -1
  224. package/lib/commonjs/WebGPUViewNativeComponent.js +0 -10
  225. package/lib/commonjs/WebGPUViewNativeComponent.js.map +0 -1
  226. package/lib/commonjs/WebGPUViewNativeComponent.web.js +0 -103
  227. package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +0 -1
  228. package/lib/commonjs/WebPolyfillGPUModule.js +0 -40
  229. package/lib/commonjs/WebPolyfillGPUModule.js.map +0 -1
  230. package/lib/commonjs/external/ModuleProxy.js +0 -36
  231. package/lib/commonjs/external/ModuleProxy.js.map +0 -1
  232. package/lib/commonjs/external/index.js +0 -17
  233. package/lib/commonjs/external/index.js.map +0 -1
  234. package/lib/commonjs/external/reanimated/ReanimatedProxy.js +0 -18
  235. package/lib/commonjs/external/reanimated/ReanimatedProxy.js.map +0 -1
  236. package/lib/commonjs/external/reanimated/index.js +0 -21
  237. package/lib/commonjs/external/reanimated/index.js.map +0 -1
  238. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js +0 -49
  239. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  240. package/lib/commonjs/hooks.js +0 -83
  241. package/lib/commonjs/hooks.js.map +0 -1
  242. package/lib/commonjs/main/index.js +0 -91
  243. package/lib/commonjs/main/index.js.map +0 -1
  244. package/lib/commonjs/main/index.web.js +0 -51
  245. package/lib/commonjs/main/index.web.js.map +0 -1
  246. package/lib/commonjs/types.js +0 -2
  247. package/lib/commonjs/types.js.map +0 -1
  248. package/lib/commonjs/utils.js +0 -11
  249. package/lib/commonjs/utils.js.map +0 -1
  250. package/lib/module/Canvas.js +0 -46
  251. package/lib/module/Canvas.js.map +0 -1
  252. package/lib/module/NativeWebGPUModule.js +0 -4
  253. package/lib/module/NativeWebGPUModule.js.map +0 -1
  254. package/lib/module/Offscreen.js +0 -96
  255. package/lib/module/Offscreen.js.map +0 -1
  256. package/lib/module/WebGPUViewNativeComponent.js +0 -4
  257. package/lib/module/WebGPUViewNativeComponent.js.map +0 -1
  258. package/lib/module/WebGPUViewNativeComponent.web.js +0 -96
  259. package/lib/module/WebGPUViewNativeComponent.web.js.map +0 -1
  260. package/lib/module/WebPolyfillGPUModule.js +0 -38
  261. package/lib/module/WebPolyfillGPUModule.js.map +0 -1
  262. package/lib/module/external/ModuleProxy.js +0 -28
  263. package/lib/module/external/ModuleProxy.js.map +0 -1
  264. package/lib/module/external/index.js +0 -2
  265. package/lib/module/external/index.js.map +0 -1
  266. package/lib/module/external/reanimated/ReanimatedProxy.js +0 -12
  267. package/lib/module/external/reanimated/ReanimatedProxy.js.map +0 -1
  268. package/lib/module/external/reanimated/index.js +0 -3
  269. package/lib/module/external/reanimated/index.js.map +0 -1
  270. package/lib/module/external/reanimated/registerWebGPUForReanimated.js +0 -42
  271. package/lib/module/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  272. package/lib/module/hooks.js +0 -70
  273. package/lib/module/hooks.js.map +0 -1
  274. package/lib/module/main/index.js +0 -33
  275. package/lib/module/main/index.js.map +0 -1
  276. package/lib/module/main/index.web.js +0 -8
  277. package/lib/module/main/index.web.js.map +0 -1
  278. package/lib/module/types.js +0 -2
  279. package/lib/module/types.js.map +0 -1
  280. package/lib/module/utils.js +0 -5
  281. package/lib/module/utils.js.map +0 -1
  282. package/lib/typescript/babel.config.d.ts +0 -3
  283. package/lib/typescript/babel.config.d.ts.map +0 -1
  284. package/lib/typescript/jest.config.d.ts +0 -9
  285. package/lib/typescript/jest.config.d.ts.map +0 -1
  286. package/lib/typescript/lib/commonjs/Canvas.d.ts +0 -7
  287. package/lib/typescript/lib/commonjs/Canvas.d.ts.map +0 -1
  288. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts +0 -5
  289. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts.map +0 -1
  290. package/lib/typescript/lib/commonjs/Offscreen.d.ts +0 -26
  291. package/lib/typescript/lib/commonjs/Offscreen.d.ts.map +0 -1
  292. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts +0 -5
  293. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts.map +0 -1
  294. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts +0 -4
  295. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  296. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts +0 -2
  297. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts.map +0 -1
  298. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts +0 -12
  299. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts.map +0 -1
  300. package/lib/typescript/lib/commonjs/external/index.d.ts.map +0 -1
  301. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts +0 -6
  302. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  303. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts +0 -4
  304. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts.map +0 -1
  305. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts +0 -9
  306. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  307. package/lib/typescript/lib/commonjs/hooks.d.ts +0 -18
  308. package/lib/typescript/lib/commonjs/hooks.d.ts.map +0 -1
  309. package/lib/typescript/lib/commonjs/index.d.ts +0 -2
  310. package/lib/typescript/lib/commonjs/main/index.d.ts +0 -3
  311. package/lib/typescript/lib/commonjs/main/index.d.ts.map +0 -1
  312. package/lib/typescript/lib/commonjs/main/index.web.d.ts +0 -2
  313. package/lib/typescript/lib/commonjs/main/index.web.d.ts.map +0 -1
  314. package/lib/typescript/lib/commonjs/types.d.ts +0 -1
  315. package/lib/typescript/lib/commonjs/types.d.ts.map +0 -1
  316. package/lib/typescript/lib/commonjs/utils.d.ts +0 -3
  317. package/lib/typescript/lib/commonjs/utils.d.ts.map +0 -1
  318. package/lib/typescript/lib/module/Canvas.d.ts +0 -8
  319. package/lib/typescript/lib/module/Canvas.d.ts.map +0 -1
  320. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts +0 -3
  321. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts.map +0 -1
  322. package/lib/typescript/lib/module/Offscreen.d.ts +0 -25
  323. package/lib/typescript/lib/module/Offscreen.d.ts.map +0 -1
  324. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +0 -3
  325. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts.map +0 -1
  326. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts +0 -3
  327. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  328. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts +0 -2
  329. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts.map +0 -1
  330. package/lib/typescript/lib/module/external/ModuleProxy.d.ts +0 -7
  331. package/lib/typescript/lib/module/external/ModuleProxy.d.ts.map +0 -1
  332. package/lib/typescript/lib/module/external/index.d.ts.map +0 -1
  333. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts +0 -5
  334. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  335. package/lib/typescript/lib/module/external/reanimated/index.d.ts.map +0 -1
  336. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts +0 -2
  337. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  338. package/lib/typescript/lib/module/hooks.d.ts +0 -18
  339. package/lib/typescript/lib/module/hooks.d.ts.map +0 -1
  340. package/lib/typescript/lib/module/index.d.ts +0 -2
  341. package/lib/typescript/lib/module/main/index.d.ts.map +0 -1
  342. package/lib/typescript/lib/module/main/index.web.d.ts +0 -5
  343. package/lib/typescript/lib/module/main/index.web.d.ts.map +0 -1
  344. package/lib/typescript/lib/module/types.d.ts +0 -1
  345. package/lib/typescript/lib/module/types.d.ts.map +0 -1
  346. package/lib/typescript/lib/module/utils.d.ts +0 -2
  347. package/lib/typescript/lib/module/utils.d.ts.map +0 -1
  348. package/lib/typescript/src/Canvas.d.ts.map +0 -1
  349. package/lib/typescript/src/NativeWebGPUModule.d.ts.map +0 -1
  350. package/lib/typescript/src/Offscreen.d.ts.map +0 -1
  351. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +0 -1
  352. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +0 -9
  353. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  354. package/lib/typescript/src/WebPolyfillGPUModule.d.ts +0 -2
  355. package/lib/typescript/src/WebPolyfillGPUModule.d.ts.map +0 -1
  356. package/lib/typescript/src/external/ModuleProxy.d.ts.map +0 -1
  357. package/lib/typescript/src/external/index.d.ts +0 -2
  358. package/lib/typescript/src/external/index.d.ts.map +0 -1
  359. package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  360. package/lib/typescript/src/external/reanimated/index.d.ts +0 -3
  361. package/lib/typescript/src/external/reanimated/index.d.ts.map +0 -1
  362. package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  363. package/lib/typescript/src/hooks.d.ts.map +0 -1
  364. package/lib/typescript/src/index.d.ts.map +0 -1
  365. package/lib/typescript/src/main/index.d.ts +0 -6
  366. package/lib/typescript/src/main/index.d.ts.map +0 -1
  367. package/lib/typescript/src/main/index.web.d.ts +0 -6
  368. package/lib/typescript/src/main/index.web.d.ts.map +0 -1
  369. package/lib/typescript/src/types.d.ts.map +0 -1
  370. package/lib/typescript/src/utils.d.ts +0 -2
  371. package/lib/typescript/src/utils.d.ts.map +0 -1
  372. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  373. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  374. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  375. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  376. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +0 -59
  377. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  378. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  379. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  380. package/react-native-wgpu.podspec +0 -47
  381. package/src/Canvas.tsx +0 -76
  382. package/src/NativeWebGPUModule.ts +0 -9
  383. package/src/Offscreen.ts +0 -113
  384. package/src/WebGPUViewNativeComponent.ts +0 -11
  385. package/src/WebGPUViewNativeComponent.web.ts +0 -113
  386. package/src/WebPolyfillGPUModule.ts +0 -53
  387. package/src/external/ModuleProxy.ts +0 -30
  388. package/src/external/index.ts +0 -1
  389. package/src/external/reanimated/ReanimatedProxy.ts +0 -19
  390. package/src/external/reanimated/index.ts +0 -2
  391. package/src/external/reanimated/registerWebGPUForReanimated.ts +0 -43
  392. package/src/hooks.tsx +0 -93
  393. package/src/index.tsx +0 -91
  394. package/src/main/index.tsx +0 -40
  395. package/src/main/index.web.tsx +0 -8
  396. package/src/types.ts +0 -102
  397. package/src/utils.ts +0 -4
  398. /package/lib/typescript/{src → webgpu/src}/NativeWebGPUModule.d.ts +0 -0
  399. /package/lib/typescript/{src → webgpu/src}/Offscreen.d.ts +0 -0
  400. /package/lib/typescript/{src → webgpu/src}/WebGPUViewNativeComponent.d.ts +0 -0
  401. /package/lib/typescript/{src → webgpu/src}/external/ModuleProxy.d.ts +0 -0
  402. /package/lib/typescript/{lib/module → webgpu/src}/external/index.d.ts +0 -0
  403. /package/lib/typescript/{src → webgpu/src}/external/reanimated/ReanimatedProxy.d.ts +0 -0
  404. /package/lib/typescript/{lib/module → webgpu/src}/external/reanimated/index.d.ts +0 -0
  405. /package/lib/typescript/{src → webgpu/src}/external/reanimated/registerWebGPUForReanimated.d.ts +0 -0
  406. /package/lib/typescript/{src → webgpu/src}/hooks.d.ts +0 -0
  407. /package/lib/typescript/{lib/module → webgpu/src}/main/index.d.ts +0 -0
  408. /package/lib/typescript/{eslint.config.d.mts → webgpu-shim/eslint.config.d.mts} +0 -0
  409. /package/lib/typescript/{lib/commonjs/external → webgpu-shim/lib/commonjs}/index.d.ts +0 -0
@@ -1,131 +0,0 @@
1
- #include "GPURenderBundleEncoder.h"
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "Convertors.h"
7
-
8
- namespace rnwgpu {
9
-
10
- std::shared_ptr<GPURenderBundle> GPURenderBundleEncoder::finish(
11
- std::optional<std::shared_ptr<GPURenderBundleDescriptor>> descriptor) {
12
- wgpu::RenderBundleDescriptor desc;
13
- Convertor conv;
14
- if (!conv(desc, descriptor)) {
15
- throw std::runtime_error("GPURenderBundleEncoder.finish(): couldn't get "
16
- "GPURenderBundleDescriptor");
17
- }
18
- auto bundle = _instance.Finish(&desc);
19
- return std::make_shared<GPURenderBundle>(
20
- bundle,
21
- descriptor.has_value() ? descriptor.value()->label.value_or("") : "");
22
- }
23
-
24
- void GPURenderBundleEncoder::setPipeline(
25
- std::shared_ptr<GPURenderPipeline> pipeline) {
26
- _instance.SetPipeline(pipeline->get());
27
- }
28
-
29
- void GPURenderBundleEncoder::draw(uint32_t vertexCount,
30
- std::optional<uint32_t> instanceCount,
31
- std::optional<uint32_t> firstVertex,
32
- std::optional<uint32_t> firstInstance) {
33
- _instance.Draw(vertexCount, instanceCount.value_or(1),
34
- firstVertex.value_or(0), firstInstance.value_or(0));
35
- }
36
-
37
- void GPURenderBundleEncoder::setVertexBuffer(
38
- uint32_t slot,
39
- std::variant<std::nullptr_t, std::shared_ptr<GPUBuffer>> buffer,
40
- std::optional<uint64_t> offset, std::optional<uint64_t> size) {
41
- Convertor conv;
42
-
43
- wgpu::Buffer b{};
44
- uint64_t s = wgpu::kWholeSize;
45
- if (!conv(b, buffer) || !conv(s, size)) {
46
- return;
47
- }
48
- _instance.SetVertexBuffer(slot, b, offset.value_or(0), s);
49
- }
50
-
51
- void GPURenderBundleEncoder::setBindGroup(
52
- uint32_t groupIndex,
53
- std::variant<std::nullptr_t, std::shared_ptr<GPUBindGroup>> bindGroup,
54
- std::optional<std::vector<uint32_t>> dynamicOffsets) {
55
- auto dynOffsets = dynamicOffsets.value_or(std::vector<uint32_t>());
56
- if (dynOffsets.size() == 0) {
57
- if (std::holds_alternative<std::nullptr_t>(bindGroup)) {
58
- _instance.SetBindGroup(groupIndex, nullptr, 0, nullptr);
59
- } else {
60
- auto group = std::get<std::shared_ptr<GPUBindGroup>>(bindGroup);
61
- _instance.SetBindGroup(groupIndex, group->get(), 0, nullptr);
62
- }
63
- } else {
64
- if (std::holds_alternative<std::nullptr_t>(bindGroup)) {
65
- _instance.SetBindGroup(groupIndex, nullptr, dynOffsets.size(),
66
- dynamicOffsets->data());
67
- } else {
68
- auto group = std::get<std::shared_ptr<GPUBindGroup>>(bindGroup);
69
- _instance.SetBindGroup(groupIndex, group->get(), dynOffsets.size(),
70
- dynamicOffsets->data());
71
- }
72
- }
73
- }
74
-
75
- void GPURenderBundleEncoder::setIndexBuffer(std::shared_ptr<GPUBuffer> buffer,
76
- wgpu::IndexFormat indexFormat,
77
- std::optional<uint64_t> offset,
78
- std::optional<uint64_t> size) {
79
- Convertor conv;
80
-
81
- wgpu::Buffer b{};
82
- wgpu::IndexFormat f{};
83
- uint64_t o = 0;
84
- uint64_t s = wgpu::kWholeSize;
85
- if (!conv(b, buffer) || //
86
- !conv(f, indexFormat) || //
87
- !conv(o, offset) || //
88
- !conv(s, size)) {
89
- return;
90
- }
91
-
92
- _instance.SetIndexBuffer(b, f, o, s);
93
- }
94
-
95
- void GPURenderBundleEncoder::drawIndexed(
96
- uint32_t indexCount, std::optional<uint32_t> instanceCount,
97
- std::optional<uint32_t> firstIndex, std::optional<double> baseVertex,
98
- std::optional<uint32_t> firstInstance) {
99
- _instance.DrawIndexed(indexCount, instanceCount.value_or(1),
100
- firstIndex.value_or(0), baseVertex.value_or(0),
101
- firstInstance.value_or(0));
102
- }
103
-
104
- void GPURenderBundleEncoder::pushDebugGroup(std::string groupLabel) {
105
- _instance.PushDebugGroup(groupLabel.c_str());
106
- }
107
-
108
- void GPURenderBundleEncoder::popDebugGroup() { _instance.PopDebugGroup(); }
109
-
110
- void GPURenderBundleEncoder::insertDebugMarker(std::string markerLabel) {
111
- _instance.InsertDebugMarker(markerLabel.c_str());
112
- }
113
- void GPURenderBundleEncoder::drawIndirect(
114
- std::shared_ptr<GPUBuffer> indirectBuffer, uint64_t indirectOffset) {
115
- Convertor conv;
116
- wgpu::Buffer b{};
117
- if (!conv(b, indirectBuffer)) {
118
- return;
119
- }
120
- _instance.DrawIndirect(b, indirectOffset);
121
- }
122
- void GPURenderBundleEncoder::drawIndexedIndirect(
123
- std::shared_ptr<GPUBuffer> indirectBuffer, uint64_t indirectOffset) {
124
- Convertor conv;
125
- wgpu::Buffer b{};
126
- if (!conv(b, indirectBuffer)) {
127
- return;
128
- }
129
- _instance.DrawIndexedIndirect(b, indirectOffset);
130
- }
131
- } // namespace rnwgpu
@@ -1,110 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <optional>
5
- #include <string>
6
- #include <variant>
7
- #include <vector>
8
-
9
- #include "Unions.h"
10
-
11
- #include "NativeObject.h"
12
-
13
- #include "webgpu/webgpu_cpp.h"
14
-
15
- #include "GPUBindGroup.h"
16
- #include "GPUBuffer.h"
17
- #include "GPURenderBundle.h"
18
- #include "GPURenderBundleDescriptor.h"
19
- #include "GPURenderPipeline.h"
20
-
21
- namespace rnwgpu {
22
-
23
- namespace jsi = facebook::jsi;
24
-
25
- class GPURenderBundleEncoder : public NativeObject<GPURenderBundleEncoder> {
26
- public:
27
- static constexpr const char *CLASS_NAME = "GPURenderBundleEncoder";
28
-
29
- explicit GPURenderBundleEncoder(wgpu::RenderBundleEncoder instance,
30
- std::string label)
31
- : NativeObject(CLASS_NAME), _instance(instance), _label(label) {}
32
-
33
- public:
34
- std::string getBrand() { return CLASS_NAME; }
35
-
36
- std::shared_ptr<GPURenderBundle>
37
- finish(std::optional<std::shared_ptr<GPURenderBundleDescriptor>> descriptor);
38
- void pushDebugGroup(std::string groupLabel);
39
- void popDebugGroup();
40
- void insertDebugMarker(std::string markerLabel);
41
- void setBindGroup(
42
- uint32_t index,
43
- std::variant<std::nullptr_t, std::shared_ptr<GPUBindGroup>> bindGroup,
44
- std::optional<std::vector<uint32_t>> dynamicOffsets);
45
- void setPipeline(std::shared_ptr<GPURenderPipeline> pipeline);
46
- void setIndexBuffer(std::shared_ptr<GPUBuffer> buffer,
47
- wgpu::IndexFormat indexFormat,
48
- std::optional<uint64_t> offset,
49
- std::optional<uint64_t> size);
50
- void setVertexBuffer(
51
- uint32_t slot,
52
- std::variant<std::nullptr_t, std::shared_ptr<GPUBuffer>> buffer,
53
- std::optional<uint64_t> offset, std::optional<uint64_t> size);
54
- void draw(uint32_t vertexCount, std::optional<uint32_t> instanceCount,
55
- std::optional<uint32_t> firstVertex,
56
- std::optional<uint32_t> firstInstance);
57
- void drawIndexed(uint32_t indexCount, std::optional<uint32_t> instanceCount,
58
- std::optional<uint32_t> firstIndex,
59
- std::optional<double> baseVertex,
60
- std::optional<uint32_t> firstInstance);
61
- void drawIndirect(std::shared_ptr<GPUBuffer> indirectBuffer,
62
- uint64_t indirectOffset);
63
- void drawIndexedIndirect(std::shared_ptr<GPUBuffer> indirectBuffer,
64
- uint64_t indirectOffset);
65
-
66
- std::string getLabel() { return _label; }
67
- void setLabel(const std::string &label) {
68
- _label = label;
69
- _instance.SetLabel(_label.c_str());
70
- }
71
-
72
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
73
- installGetter(runtime, prototype, "__brand",
74
- &GPURenderBundleEncoder::getBrand);
75
- installMethod(runtime, prototype, "finish",
76
- &GPURenderBundleEncoder::finish);
77
- installMethod(runtime, prototype, "pushDebugGroup",
78
- &GPURenderBundleEncoder::pushDebugGroup);
79
- installMethod(runtime, prototype, "popDebugGroup",
80
- &GPURenderBundleEncoder::popDebugGroup);
81
- installMethod(runtime, prototype, "insertDebugMarker",
82
- &GPURenderBundleEncoder::insertDebugMarker);
83
- installMethod(runtime, prototype, "setBindGroup",
84
- &GPURenderBundleEncoder::setBindGroup);
85
- installMethod(runtime, prototype, "setPipeline",
86
- &GPURenderBundleEncoder::setPipeline);
87
- installMethod(runtime, prototype, "setIndexBuffer",
88
- &GPURenderBundleEncoder::setIndexBuffer);
89
- installMethod(runtime, prototype, "setVertexBuffer",
90
- &GPURenderBundleEncoder::setVertexBuffer);
91
- installMethod(runtime, prototype, "draw", &GPURenderBundleEncoder::draw);
92
- installMethod(runtime, prototype, "drawIndexed",
93
- &GPURenderBundleEncoder::drawIndexed);
94
- installMethod(runtime, prototype, "drawIndirect",
95
- &GPURenderBundleEncoder::drawIndirect);
96
- installMethod(runtime, prototype, "drawIndexedIndirect",
97
- &GPURenderBundleEncoder::drawIndexedIndirect);
98
- installGetterSetter(runtime, prototype, "label",
99
- &GPURenderBundleEncoder::getLabel,
100
- &GPURenderBundleEncoder::setLabel);
101
- }
102
-
103
- inline const wgpu::RenderBundleEncoder get() { return _instance; }
104
-
105
- private:
106
- wgpu::RenderBundleEncoder _instance;
107
- std::string _label;
108
- };
109
-
110
- } // namespace rnwgpu
@@ -1,165 +0,0 @@
1
- #include <memory>
2
- #include <string>
3
- #include <vector>
4
-
5
- #include "Convertors.h"
6
- #include "GPURenderPassEncoder.h"
7
-
8
- namespace rnwgpu {
9
-
10
- void GPURenderPassEncoder::end() { _instance.End(); }
11
-
12
- void GPURenderPassEncoder::setPipeline(
13
- std::shared_ptr<GPURenderPipeline> pipeline) {
14
- _instance.SetPipeline(pipeline->get());
15
- }
16
-
17
- void GPURenderPassEncoder::draw(uint32_t vertexCount,
18
- std::optional<uint32_t> instanceCount,
19
- std::optional<uint32_t> firstVertex,
20
- std::optional<uint32_t> firstInstance) {
21
- _instance.Draw(vertexCount, instanceCount.value_or(1),
22
- firstVertex.value_or(0), firstInstance.value_or(0));
23
- }
24
- void GPURenderPassEncoder::setVertexBuffer(
25
- uint32_t slot,
26
- std::variant<std::nullptr_t, std::shared_ptr<GPUBuffer>> buffer,
27
- std::optional<uint64_t> offset, std::optional<uint64_t> size) {
28
- Convertor conv;
29
-
30
- wgpu::Buffer b{};
31
- uint64_t s = wgpu::kWholeSize;
32
- if (!conv(b, buffer) || !conv(s, size)) {
33
- return;
34
- }
35
- _instance.SetVertexBuffer(slot, b, offset.value_or(0), s);
36
- }
37
-
38
- void GPURenderPassEncoder::setBindGroup(
39
- uint32_t groupIndex,
40
- std::variant<std::nullptr_t, std::shared_ptr<GPUBindGroup>> bindGroup,
41
- std::optional<std::vector<uint32_t>> dynamicOffsets) {
42
- auto dynOffsets = dynamicOffsets.value_or(std::vector<uint32_t>());
43
- if (dynOffsets.size() == 0) {
44
- if (std::holds_alternative<nullptr_t>(bindGroup)) {
45
- _instance.SetBindGroup(groupIndex, nullptr, 0, nullptr);
46
- } else {
47
- auto group = std::get<std::shared_ptr<GPUBindGroup>>(bindGroup);
48
- _instance.SetBindGroup(groupIndex, group->get(), 0, nullptr);
49
- }
50
- } else {
51
- if (std::holds_alternative<nullptr_t>(bindGroup)) {
52
- _instance.SetBindGroup(groupIndex, nullptr, dynOffsets.size(),
53
- dynamicOffsets->data());
54
- } else {
55
- auto group = std::get<std::shared_ptr<GPUBindGroup>>(bindGroup);
56
- _instance.SetBindGroup(groupIndex, group->get(), dynOffsets.size(),
57
- dynamicOffsets->data());
58
- }
59
- }
60
- }
61
-
62
- void GPURenderPassEncoder::setIndexBuffer(std::shared_ptr<GPUBuffer> buffer,
63
- wgpu::IndexFormat indexFormat,
64
- std::optional<uint64_t> offset,
65
- std::optional<uint64_t> size) {
66
- Convertor conv;
67
-
68
- wgpu::Buffer b{};
69
- wgpu::IndexFormat f{};
70
- uint64_t o = 0;
71
- uint64_t s = wgpu::kWholeSize;
72
- if (!conv(b, buffer) || //
73
- !conv(f, indexFormat) || //
74
- !conv(o, offset) || //
75
- !conv(s, size)) {
76
- return;
77
- }
78
-
79
- _instance.SetIndexBuffer(b, f, o, s);
80
- }
81
-
82
- void GPURenderPassEncoder::endOcclusionQuery() {
83
- _instance.EndOcclusionQuery();
84
- }
85
-
86
- void GPURenderPassEncoder::beginOcclusionQuery(uint32_t queryIndex) {
87
- _instance.BeginOcclusionQuery(queryIndex);
88
- }
89
-
90
- void GPURenderPassEncoder::drawIndexed(uint32_t indexCount,
91
- std::optional<uint32_t> instanceCount,
92
- std::optional<uint32_t> firstIndex,
93
- std::optional<double> baseVertex,
94
- std::optional<uint32_t> firstInstance) {
95
- _instance.DrawIndexed(indexCount, instanceCount.value_or(1),
96
- firstIndex.value_or(0), baseVertex.value_or(0),
97
- firstInstance.value_or(0));
98
- }
99
-
100
- void GPURenderPassEncoder::executeBundles(
101
- std::vector<std::shared_ptr<GPURenderBundle>> bundles_in) {
102
- Convertor conv;
103
-
104
- wgpu::RenderBundle *bundles = nullptr;
105
- size_t bundleCount = 0;
106
- if (!conv(bundles, bundleCount, bundles_in)) {
107
- return;
108
- }
109
-
110
- _instance.ExecuteBundles(bundleCount, bundles);
111
- }
112
-
113
- void GPURenderPassEncoder::setScissorRect(uint32_t x, uint32_t y,
114
- uint32_t width, uint32_t height) {
115
- _instance.SetScissorRect(x, y, width, height);
116
- }
117
-
118
- void GPURenderPassEncoder::setViewport(double x, double y, double width,
119
- double height, double minDepth,
120
- double maxDepth) {
121
- _instance.SetViewport(x, y, width, height, minDepth, maxDepth);
122
- }
123
-
124
- void GPURenderPassEncoder::setBlendConstant(std::shared_ptr<GPUColor> color) {
125
- Convertor conv;
126
- wgpu::Color c{};
127
- if (!conv(c, color)) {
128
- return;
129
- }
130
- _instance.SetBlendConstant(&c);
131
- }
132
-
133
- void GPURenderPassEncoder::setStencilReference(uint32_t reference) {
134
- _instance.SetStencilReference(reference);
135
- }
136
-
137
- void GPURenderPassEncoder::pushDebugGroup(std::string groupLabel) {
138
- _instance.PushDebugGroup(groupLabel.c_str());
139
- }
140
-
141
- void GPURenderPassEncoder::popDebugGroup() { _instance.PopDebugGroup(); }
142
-
143
- void GPURenderPassEncoder::insertDebugMarker(std::string markerLabel) {
144
- _instance.InsertDebugMarker(markerLabel.c_str());
145
- }
146
- void GPURenderPassEncoder::drawIndirect(
147
- std::shared_ptr<GPUBuffer> indirectBuffer, uint64_t indirectOffset) {
148
- Convertor conv;
149
- wgpu::Buffer b{};
150
- if (!conv(b, indirectBuffer)) {
151
- return;
152
- }
153
- _instance.DrawIndirect(b, indirectOffset);
154
- }
155
- void GPURenderPassEncoder::drawIndexedIndirect(
156
- std::shared_ptr<GPUBuffer> indirectBuffer, uint64_t indirectOffset) {
157
- Convertor conv;
158
- wgpu::Buffer b{};
159
- if (!conv(b, indirectBuffer)) {
160
- return;
161
- }
162
- _instance.DrawIndexedIndirect(b, indirectOffset);
163
- }
164
-
165
- } // namespace rnwgpu
@@ -1,130 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <optional>
5
- #include <string>
6
- #include <variant>
7
- #include <vector>
8
-
9
- #include "Unions.h"
10
-
11
- #include "NativeObject.h"
12
-
13
- #include "webgpu/webgpu_cpp.h"
14
-
15
- #include "GPUBindGroup.h"
16
- #include "GPUBuffer.h"
17
- #include "GPUColor.h"
18
- #include "GPURenderBundle.h"
19
- #include "GPURenderPipeline.h"
20
-
21
- namespace rnwgpu {
22
-
23
- namespace jsi = facebook::jsi;
24
-
25
- class GPURenderPassEncoder : public NativeObject<GPURenderPassEncoder> {
26
- public:
27
- static constexpr const char *CLASS_NAME = "GPURenderPassEncoder";
28
-
29
- explicit GPURenderPassEncoder(wgpu::RenderPassEncoder instance,
30
- std::string label)
31
- : NativeObject(CLASS_NAME), _instance(instance), _label(label) {}
32
-
33
- public:
34
- std::string getBrand() { return CLASS_NAME; }
35
-
36
- void setViewport(double x, double y, double width, double height,
37
- double minDepth, double maxDepth);
38
- void setScissorRect(uint32_t x, uint32_t y, uint32_t width, uint32_t height);
39
- void setBlendConstant(std::shared_ptr<GPUColor> color);
40
- void setStencilReference(uint32_t reference);
41
- void beginOcclusionQuery(uint32_t queryIndex);
42
- void endOcclusionQuery();
43
- void executeBundles(std::vector<std::shared_ptr<GPURenderBundle>> bundles);
44
- void end();
45
- void pushDebugGroup(std::string groupLabel);
46
- void popDebugGroup();
47
- void insertDebugMarker(std::string markerLabel);
48
- void setBindGroup(
49
- uint32_t index,
50
- std::variant<std::nullptr_t, std::shared_ptr<GPUBindGroup>> bindGroup,
51
- std::optional<std::vector<uint32_t>> dynamicOffsets);
52
- void setPipeline(std::shared_ptr<GPURenderPipeline> pipeline);
53
- void setIndexBuffer(std::shared_ptr<GPUBuffer> buffer,
54
- wgpu::IndexFormat indexFormat,
55
- std::optional<uint64_t> offset,
56
- std::optional<uint64_t> size);
57
- void setVertexBuffer(
58
- uint32_t slot,
59
- std::variant<std::nullptr_t, std::shared_ptr<GPUBuffer>> buffer,
60
- std::optional<uint64_t> offset, std::optional<uint64_t> size);
61
- void draw(uint32_t vertexCount, std::optional<uint32_t> instanceCount,
62
- std::optional<uint32_t> firstVertex,
63
- std::optional<uint32_t> firstInstance);
64
- void drawIndexed(uint32_t indexCount, std::optional<uint32_t> instanceCount,
65
- std::optional<uint32_t> firstIndex,
66
- std::optional<double> baseVertex,
67
- std::optional<uint32_t> firstInstance);
68
- void drawIndirect(std::shared_ptr<GPUBuffer> indirectBuffer,
69
- uint64_t indirectOffset);
70
- void drawIndexedIndirect(std::shared_ptr<GPUBuffer> indirectBuffer,
71
- uint64_t indirectOffset);
72
-
73
- std::string getLabel() { return _label; }
74
- void setLabel(const std::string &label) {
75
- _label = label;
76
- _instance.SetLabel(_label.c_str());
77
- }
78
-
79
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
80
- installGetter(runtime, prototype, "__brand",
81
- &GPURenderPassEncoder::getBrand);
82
- installMethod(runtime, prototype, "setViewport",
83
- &GPURenderPassEncoder::setViewport);
84
- installMethod(runtime, prototype, "setScissorRect",
85
- &GPURenderPassEncoder::setScissorRect);
86
- installMethod(runtime, prototype, "setBlendConstant",
87
- &GPURenderPassEncoder::setBlendConstant);
88
- installMethod(runtime, prototype, "setStencilReference",
89
- &GPURenderPassEncoder::setStencilReference);
90
- installMethod(runtime, prototype, "beginOcclusionQuery",
91
- &GPURenderPassEncoder::beginOcclusionQuery);
92
- installMethod(runtime, prototype, "endOcclusionQuery",
93
- &GPURenderPassEncoder::endOcclusionQuery);
94
- installMethod(runtime, prototype, "executeBundles",
95
- &GPURenderPassEncoder::executeBundles);
96
- installMethod(runtime, prototype, "end", &GPURenderPassEncoder::end);
97
- installMethod(runtime, prototype, "pushDebugGroup",
98
- &GPURenderPassEncoder::pushDebugGroup);
99
- installMethod(runtime, prototype, "popDebugGroup",
100
- &GPURenderPassEncoder::popDebugGroup);
101
- installMethod(runtime, prototype, "insertDebugMarker",
102
- &GPURenderPassEncoder::insertDebugMarker);
103
- installMethod(runtime, prototype, "setBindGroup",
104
- &GPURenderPassEncoder::setBindGroup);
105
- installMethod(runtime, prototype, "setPipeline",
106
- &GPURenderPassEncoder::setPipeline);
107
- installMethod(runtime, prototype, "setIndexBuffer",
108
- &GPURenderPassEncoder::setIndexBuffer);
109
- installMethod(runtime, prototype, "setVertexBuffer",
110
- &GPURenderPassEncoder::setVertexBuffer);
111
- installMethod(runtime, prototype, "draw", &GPURenderPassEncoder::draw);
112
- installMethod(runtime, prototype, "drawIndexed",
113
- &GPURenderPassEncoder::drawIndexed);
114
- installMethod(runtime, prototype, "drawIndirect",
115
- &GPURenderPassEncoder::drawIndirect);
116
- installMethod(runtime, prototype, "drawIndexedIndirect",
117
- &GPURenderPassEncoder::drawIndexedIndirect);
118
- installGetterSetter(runtime, prototype, "label",
119
- &GPURenderPassEncoder::getLabel,
120
- &GPURenderPassEncoder::setLabel);
121
- }
122
-
123
- inline const wgpu::RenderPassEncoder get() { return _instance; }
124
-
125
- private:
126
- wgpu::RenderPassEncoder _instance;
127
- std::string _label;
128
- };
129
-
130
- } // namespace rnwgpu
@@ -1,13 +0,0 @@
1
- #include "GPURenderPipeline.h"
2
-
3
- #include <memory>
4
-
5
- namespace rnwgpu {
6
-
7
- std::shared_ptr<GPUBindGroupLayout>
8
- GPURenderPipeline::getBindGroupLayout(uint32_t groupIndex) {
9
- auto bindGroupLayout = _instance.GetBindGroupLayout(groupIndex);
10
- return std::make_shared<GPUBindGroupLayout>(bindGroupLayout, "");
11
- }
12
-
13
- } // namespace rnwgpu
@@ -1,61 +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 "webgpu/webgpu_cpp.h"
11
-
12
- #include "GPUBindGroupLayout.h"
13
-
14
- namespace rnwgpu {
15
-
16
- namespace jsi = facebook::jsi;
17
-
18
- class GPURenderPipeline : public NativeObject<GPURenderPipeline> {
19
- public:
20
- static constexpr const char *CLASS_NAME = "GPURenderPipeline";
21
-
22
- explicit GPURenderPipeline(wgpu::RenderPipeline instance, std::string label)
23
- : NativeObject(CLASS_NAME), _instance(instance), _label(label) {}
24
-
25
- public:
26
- std::string getBrand() { return CLASS_NAME; }
27
-
28
- std::shared_ptr<GPUBindGroupLayout> getBindGroupLayout(uint32_t index);
29
-
30
- std::string getLabel() { return _label; }
31
- void setLabel(const std::string &label) {
32
- _label = label;
33
- _instance.SetLabel(_label.c_str());
34
- }
35
-
36
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
37
- installGetter(runtime, prototype, "__brand", &GPURenderPipeline::getBrand);
38
- installMethod(runtime, prototype, "getBindGroupLayout",
39
- &GPURenderPipeline::getBindGroupLayout);
40
- installGetterSetter(runtime, prototype, "label",
41
- &GPURenderPipeline::getLabel,
42
- &GPURenderPipeline::setLabel);
43
- }
44
-
45
- inline const wgpu::RenderPipeline get() { return _instance; }
46
-
47
- size_t getMemoryPressure() override {
48
- // Render pipelines contain compiled shader state, vertex/fragment shaders,
49
- // render state, and driver-specific optimized code
50
- // Estimate: 24KB for a typical render pipeline with vertex + fragment
51
- // shaders
52
- return 24 * 1024;
53
- }
54
-
55
- private:
56
- wgpu::RenderPipeline _instance;
57
- std::string _label;
58
- friend class GPUDevice;
59
- };
60
-
61
- } // namespace rnwgpu
@@ -1,44 +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 GPUSampler : public NativeObject<GPUSampler> {
16
- public:
17
- static constexpr const char *CLASS_NAME = "GPUSampler";
18
-
19
- explicit GPUSampler(wgpu::Sampler instance, std::string label)
20
- : NativeObject(CLASS_NAME), _instance(instance), _label(label) {}
21
-
22
- public:
23
- std::string getBrand() { return CLASS_NAME; }
24
-
25
- std::string getLabel() { return _label; }
26
- void setLabel(const std::string &label) {
27
- _label = label;
28
- _instance.SetLabel(_label.c_str());
29
- }
30
-
31
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
32
- installGetter(runtime, prototype, "__brand", &GPUSampler::getBrand);
33
- installGetterSetter(runtime, prototype, "label", &GPUSampler::getLabel,
34
- &GPUSampler::setLabel);
35
- }
36
-
37
- inline const wgpu::Sampler get() { return _instance; }
38
-
39
- private:
40
- wgpu::Sampler _instance;
41
- std::string _label;
42
- };
43
-
44
- } // namespace rnwgpu