@shopify/react-native-skia 2.9.1 → 2.10.1

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 (387) hide show
  1. package/android/CMakeLists.txt +8 -46
  2. package/android/build.gradle +33 -0
  3. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
  4. package/cpp/api/JsiNativeBuffer.h +23 -24
  5. package/cpp/api/JsiSkAnimatedImage.h +24 -25
  6. package/cpp/api/JsiSkAnimatedImageFactory.h +18 -17
  7. package/cpp/api/JsiSkApi.h +254 -96
  8. package/cpp/api/JsiSkCanvas.h +141 -266
  9. package/cpp/api/JsiSkColor.h +7 -5
  10. package/cpp/api/JsiSkColorFilter.h +15 -8
  11. package/cpp/api/JsiSkColorFilterFactory.h +49 -67
  12. package/cpp/api/JsiSkContourMeasure.h +31 -38
  13. package/cpp/api/JsiSkContourMeasureIter.h +20 -23
  14. package/cpp/api/JsiSkConverters.h +410 -0
  15. package/cpp/api/JsiSkData.h +13 -7
  16. package/cpp/api/JsiSkDataFactory.h +27 -32
  17. package/cpp/api/JsiSkFont.h +123 -192
  18. package/cpp/api/JsiSkFontMgr.h +33 -26
  19. package/cpp/api/JsiSkFontMgrFactory.h +12 -11
  20. package/cpp/api/JsiSkFontStyle.h +14 -12
  21. package/cpp/api/JsiSkImage.h +90 -79
  22. package/cpp/api/JsiSkImageFactory.h +93 -95
  23. package/cpp/api/JsiSkImageFilter.h +21 -11
  24. package/cpp/api/JsiSkImageFilterFactory.h +375 -629
  25. package/cpp/api/JsiSkImageInfo.h +25 -25
  26. package/cpp/api/JsiSkMaskFilter.h +21 -11
  27. package/cpp/api/JsiSkMaskFilterFactory.h +17 -17
  28. package/cpp/api/JsiSkMatrix.h +51 -88
  29. package/cpp/api/JsiSkNativeObjects.h +387 -0
  30. package/cpp/api/JsiSkPaint.h +104 -142
  31. package/cpp/api/JsiSkParagraph.h +54 -64
  32. package/cpp/api/JsiSkParagraphBuilder.h +43 -68
  33. package/cpp/api/JsiSkParagraphBuilderFactory.h +20 -24
  34. package/cpp/api/JsiSkPath.h +242 -350
  35. package/cpp/api/JsiSkPathBuilder.h +153 -273
  36. package/cpp/api/JsiSkPathBuilderFactory.h +19 -20
  37. package/cpp/api/JsiSkPathEffect.h +21 -11
  38. package/cpp/api/JsiSkPathEffectFactory.h +61 -80
  39. package/cpp/api/JsiSkPathFactory.h +148 -238
  40. package/cpp/api/JsiSkPicture.h +32 -27
  41. package/cpp/api/JsiSkPictureFactory.h +21 -26
  42. package/cpp/api/JsiSkPictureRecorder.h +27 -29
  43. package/cpp/api/JsiSkPoint.h +20 -23
  44. package/cpp/api/JsiSkRRect.h +24 -32
  45. package/cpp/api/JsiSkRSXform.h +31 -48
  46. package/cpp/api/JsiSkRect.h +40 -50
  47. package/cpp/api/JsiSkRuntimeEffect.h +85 -92
  48. package/cpp/api/JsiSkRuntimeEffectFactory.h +14 -18
  49. package/cpp/api/JsiSkRuntimeShaderBuilder.h +28 -30
  50. package/cpp/api/JsiSkSVG.h +15 -15
  51. package/cpp/api/JsiSkSVGFactory.h +17 -20
  52. package/cpp/api/JsiSkShader.h +15 -8
  53. package/cpp/api/JsiSkShaderFactory.h +159 -238
  54. package/cpp/api/JsiSkSkottie.h +131 -143
  55. package/cpp/api/JsiSkSurface.h +29 -32
  56. package/cpp/api/JsiSkSurfaceFactory.h +18 -20
  57. package/cpp/api/JsiSkTextBlob.h +15 -8
  58. package/cpp/api/JsiSkTextBlobFactory.h +40 -66
  59. package/cpp/api/JsiSkTypeface.h +25 -22
  60. package/cpp/api/JsiSkTypefaceFactory.h +17 -15
  61. package/cpp/api/JsiSkTypefaceFontProvider.h +43 -39
  62. package/cpp/api/JsiSkTypefaceFontProviderFactory.h +13 -12
  63. package/cpp/api/JsiSkVertices.h +23 -22
  64. package/cpp/api/JsiSkiaContext.h +22 -23
  65. package/cpp/api/JsiSkottieFactory.h +16 -17
  66. package/cpp/api/JsiVideo.h +43 -81
  67. package/cpp/api/recorder/Convertor.h +31 -61
  68. package/cpp/api/recorder/DataTypes.h +8 -16
  69. package/cpp/api/recorder/JsiRecorder.h +83 -55
  70. package/cpp/api/recorder/RNRecorder.h +1 -1
  71. package/cpp/jsi/BoxedNativeObject.h +146 -0
  72. package/cpp/{jsi2 → jsi}/EnumMapper.h +4 -1
  73. package/cpp/{jsi2 → jsi}/JSIConverter.h +0 -31
  74. package/cpp/{jsi2 → jsi}/NativeObject.h +131 -152
  75. package/cpp/jsi/RuntimeAwareCache.cpp +1 -1
  76. package/cpp/jsi/RuntimeAwareCache.h +26 -8
  77. package/cpp/jsi/ViewProperty.h +5 -11
  78. package/cpp/rnskia/RNDawnContext.h +18 -2
  79. package/cpp/rnskia/RNDawnInterop.cpp +19 -0
  80. package/cpp/rnskia/RNDawnUtils.h +18 -1
  81. package/cpp/rnskia/RNSkJsiViewApi.h +20 -11
  82. package/cpp/rnskia/RNSkManager.cpp +9 -168
  83. package/cpp/rnskia/RNSkPictureView.h +1 -1
  84. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
  85. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +15 -0
  86. package/lib/commonjs/external/reanimated/renderHelpers.js +30 -1
  87. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  88. package/lib/commonjs/mock/index.js +0 -1
  89. package/lib/commonjs/mock/index.js.map +1 -1
  90. package/lib/commonjs/skia/NativeSetup.js +4 -0
  91. package/lib/commonjs/skia/NativeSetup.js.map +1 -1
  92. package/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +1 -0
  93. package/lib/commonjs/skia/SkiaWorkletSerialization.js +66 -0
  94. package/lib/commonjs/skia/SkiaWorkletSerialization.js.map +1 -0
  95. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +15 -6
  96. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  97. package/lib/commonjs/skia/types/Skia.d.ts +5 -15
  98. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  99. package/lib/commonjs/skia/types/index.d.ts +0 -1
  100. package/lib/commonjs/skia/types/index.js +0 -11
  101. package/lib/commonjs/skia/types/index.js.map +1 -1
  102. package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  103. package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
  104. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
  105. package/lib/commonjs/skia/web/JsiSkia.js +1 -4
  106. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  107. package/lib/commonjs/sksg/Container.native.js +20 -1
  108. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  109. package/lib/commonjs/views/index.d.ts +0 -1
  110. package/lib/commonjs/views/index.js +0 -11
  111. package/lib/commonjs/views/index.js.map +1 -1
  112. package/lib/module/external/reanimated/renderHelpers.d.ts +15 -0
  113. package/lib/module/external/reanimated/renderHelpers.js +29 -0
  114. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  115. package/lib/module/mock/index.js +0 -1
  116. package/lib/module/mock/index.js.map +1 -1
  117. package/lib/module/skia/NativeSetup.js +4 -0
  118. package/lib/module/skia/NativeSetup.js.map +1 -1
  119. package/lib/module/skia/SkiaWorkletSerialization.d.ts +1 -0
  120. package/lib/module/skia/SkiaWorkletSerialization.js +59 -0
  121. package/lib/module/skia/SkiaWorkletSerialization.js.map +1 -0
  122. package/lib/module/skia/types/Image/ImageFactory.d.ts +15 -6
  123. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  124. package/lib/module/skia/types/Skia.d.ts +5 -15
  125. package/lib/module/skia/types/Skia.js.map +1 -1
  126. package/lib/module/skia/types/index.d.ts +0 -1
  127. package/lib/module/skia/types/index.js +0 -1
  128. package/lib/module/skia/types/index.js.map +1 -1
  129. package/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  130. package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
  131. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
  132. package/lib/module/skia/web/JsiSkia.js +1 -4
  133. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  134. package/lib/module/sksg/Container.native.js +21 -2
  135. package/lib/module/sksg/Container.native.js.map +1 -1
  136. package/lib/module/views/index.d.ts +0 -1
  137. package/lib/module/views/index.js +0 -1
  138. package/lib/module/views/index.js.map +1 -1
  139. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  140. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  141. package/lib/typescript/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +2 -0
  142. package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  143. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -2
  144. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +15 -0
  145. package/lib/typescript/lib/module/mock/index.d.ts +0 -2
  146. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -2
  147. package/lib/typescript/lib/module/skia/SkiaWorkletSerialization.d.ts +1 -0
  148. package/lib/typescript/lib/module/skia/types/index.d.ts +0 -1
  149. package/lib/typescript/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  150. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -2
  151. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  152. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +15 -0
  153. package/lib/typescript/src/skia/SkiaWorkletSerialization.d.ts +1 -0
  154. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +15 -6
  155. package/lib/typescript/src/skia/types/Skia.d.ts +5 -15
  156. package/lib/typescript/src/skia/types/index.d.ts +0 -1
  157. package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +2 -2
  158. package/lib/typescript/src/views/index.d.ts +0 -1
  159. package/package.json +8 -5
  160. package/react-native-skia.podspec +38 -5
  161. package/src/external/reanimated/renderHelpers.ts +30 -0
  162. package/src/mock/index.ts +0 -1
  163. package/src/skia/NativeSetup.ts +5 -0
  164. package/src/skia/SkiaWorkletSerialization.ts +67 -0
  165. package/src/skia/types/Image/ImageFactory.ts +15 -6
  166. package/src/skia/types/Skia.ts +5 -15
  167. package/src/skia/types/index.ts +0 -1
  168. package/src/skia/web/JsiSkImageFactory.ts +3 -3
  169. package/src/skia/web/JsiSkia.ts +2 -5
  170. package/src/sksg/Container.native.ts +40 -2
  171. package/src/views/index.ts +0 -1
  172. package/android/cpp/jni/JniWebGPUView.cpp +0 -112
  173. package/android/cpp/rnskia-android/SkiaPlatformContext.h +0 -26
  174. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUSurfaceView.java +0 -43
  175. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUTextureView.java +0 -50
  176. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUView.java +0 -98
  177. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewAPI.java +0 -19
  178. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +0 -58
  179. package/apple/RNWebGPUAppleNativeBuffer.mm +0 -33
  180. package/apple/SkiaPlatformContext.h +0 -20
  181. package/apple/SkiaPlatformContext.mm +0 -21
  182. package/apple/SkiaWebGPUView.mm +0 -81
  183. package/apple/WebGPUMetalView.mm +0 -136
  184. package/cpp/api/JsiSkHostObjects.h +0 -257
  185. package/cpp/jsi/JsiHostObject.cpp +0 -137
  186. package/cpp/jsi/JsiHostObject.h +0 -385
  187. package/cpp/rnwgpu/ArrayBuffer.h +0 -117
  188. package/cpp/rnwgpu/Canvas.h +0 -50
  189. package/cpp/rnwgpu/PlatformContext.h +0 -18
  190. package/cpp/rnwgpu/SurfaceRegistry.h +0 -605
  191. package/cpp/rnwgpu/api/AppleNativeBuffer.h +0 -22
  192. package/cpp/rnwgpu/api/Convertors.h +0 -783
  193. package/cpp/rnwgpu/api/External.h +0 -12
  194. package/cpp/rnwgpu/api/GPU.cpp +0 -162
  195. package/cpp/rnwgpu/api/GPU.h +0 -60
  196. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -240
  197. package/cpp/rnwgpu/api/GPUAdapter.h +0 -60
  198. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  199. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  200. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  201. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  202. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -107
  203. package/cpp/rnwgpu/api/GPUBuffer.h +0 -88
  204. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -75
  205. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -70
  206. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  207. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  208. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  209. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  210. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  211. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  212. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  213. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  214. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  215. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -614
  216. package/cpp/rnwgpu/api/GPUDevice.h +0 -258
  217. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  218. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  219. package/cpp/rnwgpu/api/GPUError.h +0 -35
  220. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  221. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -139
  222. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -95
  223. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  224. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  225. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  226. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  227. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  228. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  229. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  230. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  231. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -179
  232. package/cpp/rnwgpu/api/GPUQueue.h +0 -84
  233. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  234. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  235. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  236. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  237. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  238. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  239. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  240. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  241. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -56
  242. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  243. package/cpp/rnwgpu/api/GPUSharedFence.cpp +0 -80
  244. package/cpp/rnwgpu/api/GPUSharedFence.h +0 -53
  245. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -135
  246. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -75
  247. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  248. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  249. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  250. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  251. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  252. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -60
  253. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  254. package/cpp/rnwgpu/api/ImageBitmap.h +0 -62
  255. package/cpp/rnwgpu/api/NativeBufferUtils.h +0 -87
  256. package/cpp/rnwgpu/api/RNWebGPU.h +0 -82
  257. package/cpp/rnwgpu/api/WebGPUConstants.h +0 -36
  258. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -64
  259. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  260. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -56
  261. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -97
  262. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -57
  263. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -52
  264. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -56
  265. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -56
  266. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -59
  267. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  268. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  269. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -66
  270. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -58
  271. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  272. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -45
  273. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -45
  274. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -56
  275. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -58
  276. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -67
  277. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -56
  278. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -103
  279. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -109
  280. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -38
  281. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -90
  282. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -73
  283. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -62
  284. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  285. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -65
  286. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -81
  287. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -54
  288. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  289. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -54
  290. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -57
  291. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -69
  292. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -61
  293. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -55
  294. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -43
  295. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -45
  296. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -80
  297. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -81
  298. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -101
  299. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -92
  300. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -58
  301. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -103
  302. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -51
  303. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -45
  304. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -110
  305. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -60
  306. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -62
  307. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  308. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +0 -58
  309. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +0 -51
  310. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -73
  311. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -64
  312. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -59
  313. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -59
  314. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -91
  315. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  316. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -91
  317. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -64
  318. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -53
  319. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -62
  320. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -73
  321. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  322. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -214
  323. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -58
  324. package/cpp/rnwgpu/async/RuntimeContext.cpp +0 -199
  325. package/cpp/rnwgpu/async/RuntimeContext.h +0 -134
  326. package/lib/commonjs/skia/types/WebGPU.d.ts +0 -184
  327. package/lib/commonjs/skia/types/WebGPU.js +0 -105
  328. package/lib/commonjs/skia/types/WebGPU.js.map +0 -1
  329. package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -8
  330. package/lib/commonjs/specs/WebGPUViewNativeComponent.js +0 -10
  331. package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +0 -1
  332. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  333. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +0 -103
  334. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  335. package/lib/commonjs/specs/utils.d.ts +0 -1
  336. package/lib/commonjs/specs/utils.js +0 -11
  337. package/lib/commonjs/specs/utils.js.map +0 -1
  338. package/lib/commonjs/views/WebGPUCanvas.d.ts +0 -33
  339. package/lib/commonjs/views/WebGPUCanvas.js +0 -79
  340. package/lib/commonjs/views/WebGPUCanvas.js.map +0 -1
  341. package/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -23
  342. package/lib/commonjs/views/WebGPUCanvas.web.js +0 -20
  343. package/lib/commonjs/views/WebGPUCanvas.web.js.map +0 -1
  344. package/lib/module/skia/types/WebGPU.d.ts +0 -184
  345. package/lib/module/skia/types/WebGPU.js +0 -99
  346. package/lib/module/skia/types/WebGPU.js.map +0 -1
  347. package/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -8
  348. package/lib/module/specs/WebGPUViewNativeComponent.js +0 -4
  349. package/lib/module/specs/WebGPUViewNativeComponent.js.map +0 -1
  350. package/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  351. package/lib/module/specs/WebGPUViewNativeComponent.web.js +0 -96
  352. package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  353. package/lib/module/specs/utils.d.ts +0 -1
  354. package/lib/module/specs/utils.js +0 -5
  355. package/lib/module/specs/utils.js.map +0 -1
  356. package/lib/module/views/WebGPUCanvas.d.ts +0 -33
  357. package/lib/module/views/WebGPUCanvas.js +0 -70
  358. package/lib/module/views/WebGPUCanvas.js.map +0 -1
  359. package/lib/module/views/WebGPUCanvas.web.d.ts +0 -23
  360. package/lib/module/views/WebGPUCanvas.web.js +0 -12
  361. package/lib/module/views/WebGPUCanvas.web.js.map +0 -1
  362. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +0 -2
  363. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -4
  364. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -3
  365. package/lib/typescript/lib/commonjs/specs/utils.d.ts +0 -2
  366. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.d.ts +0 -6
  367. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -6
  368. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +0 -31
  369. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -2
  370. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -2
  371. package/lib/typescript/lib/module/specs/utils.d.ts +0 -1
  372. package/lib/typescript/lib/module/views/WebGPUCanvas.d.ts +0 -7
  373. package/lib/typescript/lib/module/views/WebGPUCanvas.web.d.ts +0 -8
  374. package/lib/typescript/src/skia/types/WebGPU.d.ts +0 -184
  375. package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +0 -8
  376. package/lib/typescript/src/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  377. package/lib/typescript/src/specs/utils.d.ts +0 -1
  378. package/lib/typescript/src/views/WebGPUCanvas.d.ts +0 -33
  379. package/lib/typescript/src/views/WebGPUCanvas.web.d.ts +0 -23
  380. package/src/skia/types/WebGPU.ts +0 -226
  381. package/src/specs/WebGPUViewNativeComponent.ts +0 -11
  382. package/src/specs/WebGPUViewNativeComponent.web.ts +0 -110
  383. package/src/specs/utils.ts +0 -4
  384. package/src/views/WebGPUCanvas.tsx +0 -125
  385. package/src/views/WebGPUCanvas.web.tsx +0 -36
  386. /package/cpp/{jsi2 → jsi}/Promise.cpp +0 -0
  387. /package/cpp/{jsi2 → jsi}/Promise.h +0 -0
@@ -1,1969 +0,0 @@
1
- #pragma once
2
-
3
- #include <string>
4
-
5
- #include "jsi2/EnumMapper.h"
6
- #include "rnwgpu/api/External.h"
7
- #include "webgpu/webgpu_cpp.h"
8
-
9
- namespace rnwgpu {
10
- namespace EnumMapper {
11
-
12
- inline void convertJSUnionToEnum(const std::string &inUnion,
13
- wgpu::AddressMode *outEnum) {
14
- if (inUnion == "clamp-to-edge") {
15
- *outEnum = wgpu::AddressMode::ClampToEdge;
16
- } else if (inUnion == "repeat") {
17
- *outEnum = wgpu::AddressMode::Repeat;
18
- } else if (inUnion == "mirror-repeat") {
19
- *outEnum = wgpu::AddressMode::MirrorRepeat;
20
- } else {
21
- throw invalidUnion(inUnion);
22
- }
23
- }
24
-
25
- inline void convertEnumToJSUnion(wgpu::AddressMode inEnum,
26
- std::string *outUnion) {
27
- switch (inEnum) {
28
- case wgpu::AddressMode::ClampToEdge:
29
- *outUnion = "clamp-to-edge";
30
- break;
31
- case wgpu::AddressMode::Repeat:
32
- *outUnion = "repeat";
33
- break;
34
- case wgpu::AddressMode::MirrorRepeat:
35
- *outUnion = "mirror-repeat";
36
- break;
37
- default:
38
- throw invalidEnum(inEnum);
39
- }
40
- }
41
-
42
- inline void convertJSUnionToEnum(const std::string &inUnion,
43
- wgpu::BlendFactor *outEnum) {
44
- if (inUnion == "zero") {
45
- *outEnum = wgpu::BlendFactor::Zero;
46
- } else if (inUnion == "one") {
47
- *outEnum = wgpu::BlendFactor::One;
48
- } else if (inUnion == "src") {
49
- *outEnum = wgpu::BlendFactor::Src;
50
- } else if (inUnion == "one-minus-src") {
51
- *outEnum = wgpu::BlendFactor::OneMinusSrc;
52
- } else if (inUnion == "src-alpha") {
53
- *outEnum = wgpu::BlendFactor::SrcAlpha;
54
- } else if (inUnion == "one-minus-src-alpha") {
55
- *outEnum = wgpu::BlendFactor::OneMinusSrcAlpha;
56
- } else if (inUnion == "dst") {
57
- *outEnum = wgpu::BlendFactor::Dst;
58
- } else if (inUnion == "one-minus-dst") {
59
- *outEnum = wgpu::BlendFactor::OneMinusDst;
60
- } else if (inUnion == "dst-alpha") {
61
- *outEnum = wgpu::BlendFactor::DstAlpha;
62
- } else if (inUnion == "one-minus-dst-alpha") {
63
- *outEnum = wgpu::BlendFactor::OneMinusDstAlpha;
64
- } else if (inUnion == "src-alpha-saturated") {
65
- *outEnum = wgpu::BlendFactor::SrcAlphaSaturated;
66
- } else if (inUnion == "constant") {
67
- *outEnum = wgpu::BlendFactor::Constant;
68
- } else if (inUnion == "one-minus-constant") {
69
- *outEnum = wgpu::BlendFactor::OneMinusConstant;
70
- } else if (inUnion == "src1") {
71
- *outEnum = wgpu::BlendFactor::Src1;
72
- } else if (inUnion == "one-minus-src1") {
73
- *outEnum = wgpu::BlendFactor::OneMinusSrc1;
74
- } else if (inUnion == "src1-alpha") {
75
- *outEnum = wgpu::BlendFactor::Src1Alpha;
76
- } else if (inUnion == "one-minus-src1-alpha") {
77
- *outEnum = wgpu::BlendFactor::OneMinusSrc1Alpha;
78
- } else {
79
- throw invalidUnion(inUnion);
80
- }
81
- }
82
-
83
- inline void convertEnumToJSUnion(wgpu::BlendFactor inEnum,
84
- std::string *outUnion) {
85
- switch (inEnum) {
86
- case wgpu::BlendFactor::Zero:
87
- *outUnion = "zero";
88
- break;
89
- case wgpu::BlendFactor::One:
90
- *outUnion = "one";
91
- break;
92
- case wgpu::BlendFactor::Src:
93
- *outUnion = "src";
94
- break;
95
- case wgpu::BlendFactor::OneMinusSrc:
96
- *outUnion = "one-minus-src";
97
- break;
98
- case wgpu::BlendFactor::SrcAlpha:
99
- *outUnion = "src-alpha";
100
- break;
101
- case wgpu::BlendFactor::OneMinusSrcAlpha:
102
- *outUnion = "one-minus-src-alpha";
103
- break;
104
- case wgpu::BlendFactor::Dst:
105
- *outUnion = "dst";
106
- break;
107
- case wgpu::BlendFactor::OneMinusDst:
108
- *outUnion = "one-minus-dst";
109
- break;
110
- case wgpu::BlendFactor::DstAlpha:
111
- *outUnion = "dst-alpha";
112
- break;
113
- case wgpu::BlendFactor::OneMinusDstAlpha:
114
- *outUnion = "one-minus-dst-alpha";
115
- break;
116
- case wgpu::BlendFactor::SrcAlphaSaturated:
117
- *outUnion = "src-alpha-saturated";
118
- break;
119
- case wgpu::BlendFactor::Constant:
120
- *outUnion = "constant";
121
- break;
122
- case wgpu::BlendFactor::OneMinusConstant:
123
- *outUnion = "one-minus-constant";
124
- break;
125
- case wgpu::BlendFactor::Src1:
126
- *outUnion = "src1";
127
- break;
128
- case wgpu::BlendFactor::OneMinusSrc1:
129
- *outUnion = "one-minus-src1";
130
- break;
131
- case wgpu::BlendFactor::Src1Alpha:
132
- *outUnion = "src1-alpha";
133
- break;
134
- case wgpu::BlendFactor::OneMinusSrc1Alpha:
135
- *outUnion = "one-minus-src1-alpha";
136
- break;
137
- default:
138
- throw invalidEnum(inEnum);
139
- }
140
- }
141
-
142
- inline void convertJSUnionToEnum(const std::string &inUnion,
143
- wgpu::BlendOperation *outEnum) {
144
- if (inUnion == "add") {
145
- *outEnum = wgpu::BlendOperation::Add;
146
- } else if (inUnion == "subtract") {
147
- *outEnum = wgpu::BlendOperation::Subtract;
148
- } else if (inUnion == "reverse-subtract") {
149
- *outEnum = wgpu::BlendOperation::ReverseSubtract;
150
- } else if (inUnion == "min") {
151
- *outEnum = wgpu::BlendOperation::Min;
152
- } else if (inUnion == "max") {
153
- *outEnum = wgpu::BlendOperation::Max;
154
- } else {
155
- throw invalidUnion(inUnion);
156
- }
157
- }
158
-
159
- inline void convertEnumToJSUnion(wgpu::BlendOperation inEnum,
160
- std::string *outUnion) {
161
- switch (inEnum) {
162
- case wgpu::BlendOperation::Add:
163
- *outUnion = "add";
164
- break;
165
- case wgpu::BlendOperation::Subtract:
166
- *outUnion = "subtract";
167
- break;
168
- case wgpu::BlendOperation::ReverseSubtract:
169
- *outUnion = "reverse-subtract";
170
- break;
171
- case wgpu::BlendOperation::Min:
172
- *outUnion = "min";
173
- break;
174
- case wgpu::BlendOperation::Max:
175
- *outUnion = "max";
176
- break;
177
- default:
178
- throw invalidEnum(inEnum);
179
- }
180
- }
181
-
182
- inline void convertJSUnionToEnum(const std::string &inUnion,
183
- wgpu::BufferBindingType *outEnum) {
184
- if (inUnion == "uniform") {
185
- *outEnum = wgpu::BufferBindingType::Uniform;
186
- } else if (inUnion == "storage") {
187
- *outEnum = wgpu::BufferBindingType::Storage;
188
- } else if (inUnion == "read-only-storage") {
189
- *outEnum = wgpu::BufferBindingType::ReadOnlyStorage;
190
- } else {
191
- throw invalidUnion(inUnion);
192
- }
193
- }
194
-
195
- inline void convertEnumToJSUnion(wgpu::BufferBindingType inEnum,
196
- std::string *outUnion) {
197
- switch (inEnum) {
198
- case wgpu::BufferBindingType::Uniform:
199
- *outUnion = "uniform";
200
- break;
201
- case wgpu::BufferBindingType::Storage:
202
- *outUnion = "storage";
203
- break;
204
- case wgpu::BufferBindingType::ReadOnlyStorage:
205
- *outUnion = "read-only-storage";
206
- break;
207
- default:
208
- throw invalidEnum(inEnum);
209
- }
210
- }
211
-
212
- inline void convertJSUnionToEnum(const std::string &inUnion,
213
- wgpu::BufferMapState *outEnum) {
214
- if (inUnion == "unmapped") {
215
- *outEnum = wgpu::BufferMapState::Unmapped;
216
- } else if (inUnion == "pending") {
217
- *outEnum = wgpu::BufferMapState::Pending;
218
- } else if (inUnion == "mapped") {
219
- *outEnum = wgpu::BufferMapState::Mapped;
220
- } else {
221
- throw invalidUnion(inUnion);
222
- }
223
- }
224
-
225
- inline void convertEnumToJSUnion(wgpu::BufferMapState inEnum,
226
- std::string *outUnion) {
227
- switch (inEnum) {
228
- case wgpu::BufferMapState::Unmapped:
229
- *outUnion = "unmapped";
230
- break;
231
- case wgpu::BufferMapState::Pending:
232
- *outUnion = "pending";
233
- break;
234
- case wgpu::BufferMapState::Mapped:
235
- *outUnion = "mapped";
236
- break;
237
- default:
238
- throw invalidEnum(inEnum);
239
- }
240
- }
241
-
242
- inline void convertJSUnionToEnum(const std::string &inUnion,
243
- wgpu::CompareFunction *outEnum) {
244
- if (inUnion == "never") {
245
- *outEnum = wgpu::CompareFunction::Never;
246
- } else if (inUnion == "less") {
247
- *outEnum = wgpu::CompareFunction::Less;
248
- } else if (inUnion == "equal") {
249
- *outEnum = wgpu::CompareFunction::Equal;
250
- } else if (inUnion == "less-equal") {
251
- *outEnum = wgpu::CompareFunction::LessEqual;
252
- } else if (inUnion == "greater") {
253
- *outEnum = wgpu::CompareFunction::Greater;
254
- } else if (inUnion == "not-equal") {
255
- *outEnum = wgpu::CompareFunction::NotEqual;
256
- } else if (inUnion == "greater-equal") {
257
- *outEnum = wgpu::CompareFunction::GreaterEqual;
258
- } else if (inUnion == "always") {
259
- *outEnum = wgpu::CompareFunction::Always;
260
- } else {
261
- throw invalidUnion(inUnion);
262
- }
263
- }
264
-
265
- inline void convertEnumToJSUnion(wgpu::CompareFunction inEnum,
266
- std::string *outUnion) {
267
- switch (inEnum) {
268
- case wgpu::CompareFunction::Never:
269
- *outUnion = "never";
270
- break;
271
- case wgpu::CompareFunction::Less:
272
- *outUnion = "less";
273
- break;
274
- case wgpu::CompareFunction::Equal:
275
- *outUnion = "equal";
276
- break;
277
- case wgpu::CompareFunction::LessEqual:
278
- *outUnion = "less-equal";
279
- break;
280
- case wgpu::CompareFunction::Greater:
281
- *outUnion = "greater";
282
- break;
283
- case wgpu::CompareFunction::NotEqual:
284
- *outUnion = "not-equal";
285
- break;
286
- case wgpu::CompareFunction::GreaterEqual:
287
- *outUnion = "greater-equal";
288
- break;
289
- case wgpu::CompareFunction::Always:
290
- *outUnion = "always";
291
- break;
292
- default:
293
- throw invalidEnum(inEnum);
294
- }
295
- }
296
-
297
- inline void convertJSUnionToEnum(const std::string &inUnion,
298
- wgpu::CompilationMessageType *outEnum) {
299
- if (inUnion == "error") {
300
- *outEnum = wgpu::CompilationMessageType::Error;
301
- } else if (inUnion == "warning") {
302
- *outEnum = wgpu::CompilationMessageType::Warning;
303
- } else if (inUnion == "info") {
304
- *outEnum = wgpu::CompilationMessageType::Info;
305
- } else {
306
- throw invalidUnion(inUnion);
307
- }
308
- }
309
-
310
- inline void convertEnumToJSUnion(wgpu::CompilationMessageType inEnum,
311
- std::string *outUnion) {
312
- switch (inEnum) {
313
- case wgpu::CompilationMessageType::Error:
314
- *outUnion = "error";
315
- break;
316
- case wgpu::CompilationMessageType::Warning:
317
- *outUnion = "warning";
318
- break;
319
- case wgpu::CompilationMessageType::Info:
320
- *outUnion = "info";
321
- break;
322
- default:
323
- throw invalidEnum(inEnum);
324
- }
325
- }
326
-
327
- inline void convertJSUnionToEnum(const std::string &inUnion,
328
- wgpu::CullMode *outEnum) {
329
- if (inUnion == "none") {
330
- *outEnum = wgpu::CullMode::None;
331
- } else if (inUnion == "front") {
332
- *outEnum = wgpu::CullMode::Front;
333
- } else if (inUnion == "back") {
334
- *outEnum = wgpu::CullMode::Back;
335
- } else {
336
- throw invalidUnion(inUnion);
337
- }
338
- }
339
-
340
- inline void convertEnumToJSUnion(wgpu::CullMode inEnum, std::string *outUnion) {
341
- switch (inEnum) {
342
- case wgpu::CullMode::None:
343
- *outUnion = "none";
344
- break;
345
- case wgpu::CullMode::Front:
346
- *outUnion = "front";
347
- break;
348
- case wgpu::CullMode::Back:
349
- *outUnion = "back";
350
- break;
351
- default:
352
- throw invalidEnum(inEnum);
353
- }
354
- }
355
-
356
- inline void convertJSUnionToEnum(const std::string &inUnion,
357
- wgpu::DeviceLostReason *outEnum) {
358
- if (inUnion == "unknown") {
359
- *outEnum = wgpu::DeviceLostReason::Unknown;
360
- } else if (inUnion == "destroyed") {
361
- *outEnum = wgpu::DeviceLostReason::Destroyed;
362
- } else {
363
- throw invalidUnion(inUnion);
364
- }
365
- }
366
-
367
- inline void convertEnumToJSUnion(wgpu::DeviceLostReason inEnum,
368
- std::string *outUnion) {
369
- switch (inEnum) {
370
- case wgpu::DeviceLostReason::Unknown:
371
- *outUnion = "unknown";
372
- break;
373
- case wgpu::DeviceLostReason::Destroyed:
374
- *outUnion = "destroyed";
375
- break;
376
- default:
377
- throw invalidEnum(inEnum);
378
- }
379
- }
380
-
381
- inline void convertJSUnionToEnum(const std::string &inUnion,
382
- wgpu::ErrorFilter *outEnum) {
383
- if (inUnion == "validation") {
384
- *outEnum = wgpu::ErrorFilter::Validation;
385
- } else if (inUnion == "out-of-memory") {
386
- *outEnum = wgpu::ErrorFilter::OutOfMemory;
387
- } else if (inUnion == "internal") {
388
- *outEnum = wgpu::ErrorFilter::Internal;
389
- } else {
390
- throw invalidUnion(inUnion);
391
- }
392
- }
393
-
394
- inline void convertEnumToJSUnion(wgpu::ErrorFilter inEnum,
395
- std::string *outUnion) {
396
- switch (inEnum) {
397
- case wgpu::ErrorFilter::Validation:
398
- *outUnion = "validation";
399
- break;
400
- case wgpu::ErrorFilter::OutOfMemory:
401
- *outUnion = "out-of-memory";
402
- break;
403
- case wgpu::ErrorFilter::Internal:
404
- *outUnion = "internal";
405
- break;
406
- default:
407
- throw invalidEnum(inEnum);
408
- }
409
- }
410
-
411
- inline void convertJSUnionToEnum(const std::string &inUnion,
412
- wgpu::FeatureName *outEnum) {
413
- if (inUnion == "depth-clip-control") {
414
- *outEnum = wgpu::FeatureName::DepthClipControl;
415
- } else if (inUnion == "depth32float-stencil8") {
416
- *outEnum = wgpu::FeatureName::Depth32FloatStencil8;
417
- } else if (inUnion == "texture-compression-bc") {
418
- *outEnum = wgpu::FeatureName::TextureCompressionBC;
419
- } else if (inUnion == "texture-compression-etc2") {
420
- *outEnum = wgpu::FeatureName::TextureCompressionETC2;
421
- } else if (inUnion == "texture-compression-astc") {
422
- *outEnum = wgpu::FeatureName::TextureCompressionASTC;
423
- } else if (inUnion == "timestamp-query") {
424
- *outEnum = wgpu::FeatureName::TimestampQuery;
425
- } else if (inUnion == "indirect-first-instance") {
426
- *outEnum = wgpu::FeatureName::IndirectFirstInstance;
427
- } else if (inUnion == "shader-f16") {
428
- *outEnum = wgpu::FeatureName::ShaderF16;
429
- } else if (inUnion == "rg11b10ufloat-renderable") {
430
- *outEnum = wgpu::FeatureName::RG11B10UfloatRenderable;
431
- } else if (inUnion == "bgra8unorm-storage") {
432
- *outEnum = wgpu::FeatureName::BGRA8UnormStorage;
433
- } else if (inUnion == "float32-filterable") {
434
- *outEnum = wgpu::FeatureName::Float32Filterable;
435
- } else if (inUnion == "subgroups") {
436
- *outEnum = wgpu::FeatureName::Subgroups;
437
- } else if (inUnion == "dawn-internal-usages") {
438
- *outEnum = wgpu::FeatureName::DawnInternalUsages;
439
- } else if (inUnion == "dawn-multi-planar-formats") {
440
- *outEnum = wgpu::FeatureName::DawnMultiPlanarFormats;
441
- } else if (inUnion == "dawn-native") {
442
- *outEnum = wgpu::FeatureName::DawnNative;
443
- } else if (inUnion == "chromium-experimental-timestamp-query-inside-passes") {
444
- *outEnum =
445
- wgpu::FeatureName::ChromiumExperimentalTimestampQueryInsidePasses;
446
- } else if (inUnion == "implicit-device-synchronization") {
447
- *outEnum = wgpu::FeatureName::ImplicitDeviceSynchronization;
448
- } else if (inUnion == "transient-attachments") {
449
- *outEnum = wgpu::FeatureName::TransientAttachments;
450
- } else if (inUnion == "msaa-render-to-single-sampled") {
451
- *outEnum = wgpu::FeatureName::MSAARenderToSingleSampled;
452
- } else if (inUnion == "dual-source-blending") {
453
- *outEnum = wgpu::FeatureName::DualSourceBlending;
454
- } else if (inUnion == "d3d11-multithread-protected") {
455
- *outEnum = wgpu::FeatureName::D3D11MultithreadProtected;
456
- } else if (inUnion == "angle-texture-sharing") {
457
- *outEnum = wgpu::FeatureName::ANGLETextureSharing;
458
- } else if (inUnion == "chromium-experimental-subgroups-matrix") {
459
- *outEnum = wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix;
460
- } else if (inUnion == "pixel-local-storage-coherent") {
461
- *outEnum = wgpu::FeatureName::PixelLocalStorageCoherent;
462
- } else if (inUnion == "pixel-local-storage-non-coherent") {
463
- *outEnum = wgpu::FeatureName::PixelLocalStorageNonCoherent;
464
- } else if (inUnion == "unorm16-texture-formats") {
465
- *outEnum = wgpu::FeatureName::Unorm16TextureFormats;
466
- } else if (inUnion == "multi-planar-format-extended-usages") {
467
- *outEnum = wgpu::FeatureName::MultiPlanarFormatExtendedUsages;
468
- } else if (inUnion == "multi-planar-format-p010") {
469
- *outEnum = wgpu::FeatureName::MultiPlanarFormatP010;
470
- } else if (inUnion == "host-mapped-pointer") {
471
- *outEnum = wgpu::FeatureName::HostMappedPointer;
472
- } else if (inUnion == "multi-planar-render-targets") {
473
- *outEnum = wgpu::FeatureName::MultiPlanarRenderTargets;
474
- } else if (inUnion == "multi-planar-format-nv12a") {
475
- *outEnum = wgpu::FeatureName::MultiPlanarFormatNv12a;
476
- } else if (inUnion == "framebuffer-fetch") {
477
- *outEnum = wgpu::FeatureName::FramebufferFetch;
478
- } else if (inUnion == "buffer-map-extended-usages") {
479
- *outEnum = wgpu::FeatureName::BufferMapExtendedUsages;
480
- } else if (inUnion == "adapter-properties-memory-heaps") {
481
- *outEnum = wgpu::FeatureName::AdapterPropertiesMemoryHeaps;
482
- } else if (inUnion == "adapter-properties-d3d") {
483
- *outEnum = wgpu::FeatureName::AdapterPropertiesD3D;
484
- } else if (inUnion == "adapter-properties-vk") {
485
- *outEnum = wgpu::FeatureName::AdapterPropertiesVk;
486
- } else if (inUnion == "format-capabilities") {
487
- *outEnum = wgpu::FeatureName::DawnFormatCapabilities;
488
- } else if (inUnion == "multi-planar-format-nv16") {
489
- *outEnum = wgpu::FeatureName::MultiPlanarFormatNv16;
490
- } else if (inUnion == "multi-planar-format-nv24") {
491
- *outEnum = wgpu::FeatureName::MultiPlanarFormatNv24;
492
- } else if (inUnion == "multi-planar-format-p210") {
493
- *outEnum = wgpu::FeatureName::MultiPlanarFormatP210;
494
- } else if (inUnion == "multi-planar-format-p410") {
495
- *outEnum = wgpu::FeatureName::MultiPlanarFormatP410;
496
- } else if (inUnion == "shared-texture-memory-vk-dedicated-allocation") {
497
- *outEnum = wgpu::FeatureName::SharedTextureMemoryVkDedicatedAllocation;
498
- } else if (inUnion == "shared-texture-memory-ahardware-buffer") {
499
- *outEnum = wgpu::FeatureName::SharedTextureMemoryAHardwareBuffer;
500
- } else if (inUnion == "shared-texture-memory-dma-buf") {
501
- *outEnum = wgpu::FeatureName::SharedTextureMemoryDmaBuf;
502
- } else if (inUnion == "shared-texture-memory-opaque-fd") {
503
- *outEnum = wgpu::FeatureName::SharedTextureMemoryOpaqueFD;
504
- } else if (inUnion == "shared-texture-memory-zircon-handle") {
505
- *outEnum = wgpu::FeatureName::SharedTextureMemoryZirconHandle;
506
- } else if (inUnion == "shared-texture-memory-dxgi-shared-handle") {
507
- *outEnum = wgpu::FeatureName::SharedTextureMemoryDXGISharedHandle;
508
- } else if (inUnion == "shared-texture-memory-d3d11-texture2d") {
509
- *outEnum = wgpu::FeatureName::SharedTextureMemoryD3D11Texture2D;
510
- } else if (inUnion == "shared-texture-memory-iosurface") {
511
- *outEnum = wgpu::FeatureName::SharedTextureMemoryIOSurface;
512
- } else if (inUnion == "shared-texture-memory-egl-image") {
513
- *outEnum = wgpu::FeatureName::SharedTextureMemoryEGLImage;
514
- } else if (inUnion == "shared-fence-vk-semaphore-opaque-fd") {
515
- *outEnum = wgpu::FeatureName::SharedFenceVkSemaphoreOpaqueFD;
516
- } else if (inUnion == "shared-fence-vk-semaphore-zircon-handle") {
517
- *outEnum = wgpu::FeatureName::SharedFenceVkSemaphoreZirconHandle;
518
- } else if (inUnion == "shared-fence-dxgi-shared-handle") {
519
- *outEnum = wgpu::FeatureName::SharedFenceDXGISharedHandle;
520
- } else if (inUnion == "shared-fence-mtl-shared-event") {
521
- *outEnum = wgpu::FeatureName::SharedFenceMTLSharedEvent;
522
- } else if (inUnion == "shared-buffer-memory-d3d12-resource") {
523
- *outEnum = wgpu::FeatureName::SharedBufferMemoryD3D12Resource;
524
- } else if (inUnion == "static-samplers") {
525
- *outEnum = wgpu::FeatureName::StaticSamplers;
526
- } else if (inUnion == "ycbcr-vulkan-samplers") {
527
- *outEnum = wgpu::FeatureName::YCbCrVulkanSamplers;
528
- } else if (inUnion == "shader-module-compilation-options") {
529
- *outEnum = wgpu::FeatureName::ShaderModuleCompilationOptions;
530
- } else if (inUnion == "dawn-load-resolve-texture") {
531
- *outEnum = wgpu::FeatureName::DawnLoadResolveTexture;
532
- } else if (inUnion == "clip-distances") {
533
- *outEnum = wgpu::FeatureName::ClipDistances;
534
- } else {
535
- throw invalidUnion(inUnion);
536
- }
537
- }
538
-
539
- inline void convertEnumToJSUnion(wgpu::FeatureName inEnum,
540
- std::string *outUnion) {
541
- switch (inEnum) {
542
- case wgpu::FeatureName::DepthClipControl:
543
- *outUnion = "depth-clip-control";
544
- break;
545
- case wgpu::FeatureName::Depth32FloatStencil8:
546
- *outUnion = "depth32float-stencil8";
547
- break;
548
- case wgpu::FeatureName::TextureCompressionBC:
549
- *outUnion = "texture-compression-bc";
550
- break;
551
- case wgpu::FeatureName::TextureCompressionETC2:
552
- *outUnion = "texture-compression-etc2";
553
- break;
554
- case wgpu::FeatureName::TextureCompressionASTC:
555
- *outUnion = "texture-compression-astc";
556
- break;
557
- case wgpu::FeatureName::TimestampQuery:
558
- *outUnion = "timestamp-query";
559
- break;
560
- case wgpu::FeatureName::IndirectFirstInstance:
561
- *outUnion = "indirect-first-instance";
562
- break;
563
- case wgpu::FeatureName::ShaderF16:
564
- *outUnion = "shader-f16";
565
- break;
566
- case wgpu::FeatureName::RG11B10UfloatRenderable:
567
- *outUnion = "rg11b10ufloat-renderable";
568
- break;
569
- case wgpu::FeatureName::BGRA8UnormStorage:
570
- *outUnion = "bgra8unorm-storage";
571
- break;
572
- case wgpu::FeatureName::Float32Filterable:
573
- *outUnion = "float32-filterable";
574
- break;
575
- case wgpu::FeatureName::Subgroups:
576
- *outUnion = "subgroups";
577
- break;
578
- case wgpu::FeatureName::DawnInternalUsages:
579
- *outUnion = "dawn-internal-usages";
580
- break;
581
- case wgpu::FeatureName::DawnMultiPlanarFormats:
582
- *outUnion = "dawn-multi-planar-formats";
583
- break;
584
- case wgpu::FeatureName::DawnNative:
585
- *outUnion = "dawn-native";
586
- break;
587
- case wgpu::FeatureName::DawnFormatCapabilities:
588
- *outUnion = "format-capabilities";
589
- break;
590
- case wgpu::FeatureName::ChromiumExperimentalTimestampQueryInsidePasses:
591
- *outUnion = "chromium-experimental-timestamp-query-inside-passes";
592
- break;
593
- case wgpu::FeatureName::ImplicitDeviceSynchronization:
594
- *outUnion = "implicit-device-synchronization";
595
- break;
596
- // case wgpu::FeatureName::SurfaceCapabilities:
597
- // *outUnion = "surface-capabilities";
598
- // break;
599
- case wgpu::FeatureName::TransientAttachments:
600
- *outUnion = "transient-attachments";
601
- break;
602
- case wgpu::FeatureName::MSAARenderToSingleSampled:
603
- *outUnion = "msaa-render-to-single-sampled";
604
- break;
605
- case wgpu::FeatureName::DualSourceBlending:
606
- *outUnion = "dual-source-blending";
607
- break;
608
- case wgpu::FeatureName::D3D11MultithreadProtected:
609
- *outUnion = "d3d11-multithread-protected";
610
- break;
611
- case wgpu::FeatureName::ANGLETextureSharing:
612
- *outUnion = "angle-texture-sharing";
613
- break;
614
- case wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix:
615
- *outUnion = "chromium-experimental-subgroups-matrix";
616
- break;
617
- case wgpu::FeatureName::PixelLocalStorageCoherent:
618
- *outUnion = "pixel-local-storage-coherent";
619
- break;
620
- case wgpu::FeatureName::PixelLocalStorageNonCoherent:
621
- *outUnion = "pixel-local-storage-non-coherent";
622
- break;
623
- case wgpu::FeatureName::Unorm16TextureFormats:
624
- *outUnion = "unorm16-texture-formats";
625
- break;
626
- case wgpu::FeatureName::MultiPlanarFormatExtendedUsages:
627
- *outUnion = "multi-planar-format-extended-usages";
628
- break;
629
- case wgpu::FeatureName::MultiPlanarFormatP010:
630
- *outUnion = "multi-planar-format-p010";
631
- break;
632
- case wgpu::FeatureName::HostMappedPointer:
633
- *outUnion = "host-mapped-pointer";
634
- break;
635
- case wgpu::FeatureName::MultiPlanarRenderTargets:
636
- *outUnion = "multi-planar-render-targets";
637
- break;
638
- case wgpu::FeatureName::MultiPlanarFormatNv12a:
639
- *outUnion = "multi-planar-format-nv12a";
640
- break;
641
- case wgpu::FeatureName::FramebufferFetch:
642
- *outUnion = "framebuffer-fetch";
643
- break;
644
- case wgpu::FeatureName::BufferMapExtendedUsages:
645
- *outUnion = "buffer-map-extended-usages";
646
- break;
647
- case wgpu::FeatureName::AdapterPropertiesMemoryHeaps:
648
- *outUnion = "adapter-properties-memory-heaps";
649
- break;
650
- case wgpu::FeatureName::AdapterPropertiesD3D:
651
- *outUnion = "adapter-properties-d3d";
652
- break;
653
- case wgpu::FeatureName::AdapterPropertiesVk:
654
- *outUnion = "adapter-properties-vk";
655
- break;
656
- case wgpu::FeatureName::MultiPlanarFormatNv16:
657
- *outUnion = "multi-planar-format-nv16";
658
- break;
659
- case wgpu::FeatureName::MultiPlanarFormatNv24:
660
- *outUnion = "multi-planar-format-nv24";
661
- break;
662
- case wgpu::FeatureName::MultiPlanarFormatP210:
663
- *outUnion = "multi-planar-format-p210";
664
- break;
665
- case wgpu::FeatureName::MultiPlanarFormatP410:
666
- *outUnion = "multi-planar-format-p410";
667
- break;
668
- case wgpu::FeatureName::SharedTextureMemoryVkDedicatedAllocation:
669
- *outUnion = "shared-texture-memory-vk-dedicated-allocation";
670
- break;
671
- case wgpu::FeatureName::SharedTextureMemoryAHardwareBuffer:
672
- *outUnion = "shared-texture-memory-ahardware-buffer";
673
- break;
674
- case wgpu::FeatureName::SharedTextureMemoryDmaBuf:
675
- *outUnion = "shared-texture-memory-dma-buf";
676
- break;
677
- case wgpu::FeatureName::SharedTextureMemoryOpaqueFD:
678
- *outUnion = "shared-texture-memory-opaque-fd";
679
- break;
680
- case wgpu::FeatureName::SharedTextureMemoryZirconHandle:
681
- *outUnion = "shared-texture-memory-zircon-handle";
682
- break;
683
- case wgpu::FeatureName::SharedTextureMemoryDXGISharedHandle:
684
- *outUnion = "shared-texture-memory-dxgi-shared-handle";
685
- break;
686
- case wgpu::FeatureName::SharedTextureMemoryD3D11Texture2D:
687
- *outUnion = "shared-texture-memory-d3d11-texture2d";
688
- break;
689
- case wgpu::FeatureName::SharedTextureMemoryIOSurface:
690
- *outUnion = "shared-texture-memory-iosurface";
691
- break;
692
- case wgpu::FeatureName::SharedTextureMemoryEGLImage:
693
- *outUnion = "shared-texture-memory-egl-image";
694
- break;
695
- case wgpu::FeatureName::SharedFenceVkSemaphoreOpaqueFD:
696
- *outUnion = "shared-fence-vk-semaphore-opaque-fd";
697
- break;
698
- case wgpu::FeatureName::SharedFenceVkSemaphoreZirconHandle:
699
- *outUnion = "shared-fence-vk-semaphore-zircon-handle";
700
- break;
701
- case wgpu::FeatureName::SharedFenceDXGISharedHandle:
702
- *outUnion = "shared-fence-dxgi-shared-handle";
703
- break;
704
- case wgpu::FeatureName::SharedFenceMTLSharedEvent:
705
- *outUnion = "shared-fence-mtl-shared-event";
706
- break;
707
- case wgpu::FeatureName::SharedBufferMemoryD3D12Resource:
708
- *outUnion = "shared-buffer-memory-d3d12-resource";
709
- break;
710
- case wgpu::FeatureName::StaticSamplers:
711
- *outUnion = "static-samplers";
712
- break;
713
- case wgpu::FeatureName::YCbCrVulkanSamplers:
714
- *outUnion = "ycbcr-vulkan-samplers";
715
- break;
716
- case wgpu::FeatureName::ShaderModuleCompilationOptions:
717
- *outUnion = "shader-module-compilation-options";
718
- break;
719
- case wgpu::FeatureName::DawnLoadResolveTexture:
720
- *outUnion = "dawn-load-resolve-texture";
721
- break;
722
- case wgpu::FeatureName::ClipDistances:
723
- *outUnion = "clip-distances";
724
- break;
725
- default:
726
- throw invalidEnum(inEnum);
727
- }
728
- }
729
-
730
- inline void convertJSUnionToEnum(const std::string &inUnion,
731
- wgpu::FilterMode *outEnum) {
732
- if (inUnion == "nearest") {
733
- *outEnum = wgpu::FilterMode::Nearest;
734
- } else if (inUnion == "linear") {
735
- *outEnum = wgpu::FilterMode::Linear;
736
- } else {
737
- throw invalidUnion(inUnion);
738
- }
739
- }
740
-
741
- inline void convertEnumToJSUnion(wgpu::FilterMode inEnum,
742
- std::string *outUnion) {
743
- switch (inEnum) {
744
- case wgpu::FilterMode::Nearest:
745
- *outUnion = "nearest";
746
- break;
747
- case wgpu::FilterMode::Linear:
748
- *outUnion = "linear";
749
- break;
750
- default:
751
- throw invalidEnum(inEnum);
752
- }
753
- }
754
-
755
- inline void convertJSUnionToEnum(const std::string &inUnion,
756
- wgpu::FrontFace *outEnum) {
757
- if (inUnion == "ccw") {
758
- *outEnum = wgpu::FrontFace::CCW;
759
- } else if (inUnion == "cw") {
760
- *outEnum = wgpu::FrontFace::CW;
761
- } else {
762
- throw invalidUnion(inUnion);
763
- }
764
- }
765
-
766
- inline void convertEnumToJSUnion(wgpu::FrontFace inEnum,
767
- std::string *outUnion) {
768
- switch (inEnum) {
769
- case wgpu::FrontFace::CCW:
770
- *outUnion = "ccw";
771
- break;
772
- case wgpu::FrontFace::CW:
773
- *outUnion = "cw";
774
- break;
775
- default:
776
- throw invalidEnum(inEnum);
777
- }
778
- }
779
-
780
- inline void convertJSUnionToEnum(const std::string &inUnion,
781
- wgpu::IndexFormat *outEnum) {
782
- if (inUnion == "uint16") {
783
- *outEnum = wgpu::IndexFormat::Uint16;
784
- } else if (inUnion == "uint32") {
785
- *outEnum = wgpu::IndexFormat::Uint32;
786
- } else {
787
- throw invalidUnion(inUnion);
788
- }
789
- }
790
-
791
- inline void convertEnumToJSUnion(wgpu::IndexFormat inEnum,
792
- std::string *outUnion) {
793
- switch (inEnum) {
794
- case wgpu::IndexFormat::Uint16:
795
- *outUnion = "uint16";
796
- break;
797
- case wgpu::IndexFormat::Uint32:
798
- *outUnion = "uint32";
799
- break;
800
- default:
801
- throw invalidEnum(inEnum);
802
- }
803
- }
804
-
805
- inline void convertJSUnionToEnum(const std::string &inUnion,
806
- wgpu::LoadOp *outEnum) {
807
- if (inUnion == "load") {
808
- *outEnum = wgpu::LoadOp::Load;
809
- } else if (inUnion == "clear") {
810
- *outEnum = wgpu::LoadOp::Clear;
811
- } else {
812
- throw invalidUnion(inUnion);
813
- }
814
- }
815
-
816
- inline void convertEnumToJSUnion(wgpu::LoadOp inEnum, std::string *outUnion) {
817
- switch (inEnum) {
818
- case wgpu::LoadOp::Load:
819
- *outUnion = "load";
820
- break;
821
- case wgpu::LoadOp::Clear:
822
- *outUnion = "clear";
823
- break;
824
- default:
825
- throw invalidEnum(inEnum);
826
- }
827
- }
828
-
829
- inline void convertJSUnionToEnum(const std::string &inUnion,
830
- wgpu::MipmapFilterMode *outEnum) {
831
- if (inUnion == "nearest") {
832
- *outEnum = wgpu::MipmapFilterMode::Nearest;
833
- } else if (inUnion == "linear") {
834
- *outEnum = wgpu::MipmapFilterMode::Linear;
835
- } else {
836
- throw invalidUnion(inUnion);
837
- }
838
- }
839
-
840
- inline void convertEnumToJSUnion(wgpu::MipmapFilterMode inEnum,
841
- std::string *outUnion) {
842
- switch (inEnum) {
843
- case wgpu::MipmapFilterMode::Nearest:
844
- *outUnion = "nearest";
845
- break;
846
- case wgpu::MipmapFilterMode::Linear:
847
- *outUnion = "linear";
848
- break;
849
- default:
850
- throw invalidEnum(inEnum);
851
- }
852
- }
853
-
854
- inline void convertJSUnionToEnum(const std::string &inUnion,
855
- wgpu::PowerPreference *outEnum) {
856
- if (inUnion == "low-power") {
857
- *outEnum = wgpu::PowerPreference::LowPower;
858
- } else if (inUnion == "high-performance") {
859
- *outEnum = wgpu::PowerPreference::HighPerformance;
860
- } else {
861
- throw invalidUnion(inUnion);
862
- }
863
- }
864
-
865
- inline void convertEnumToJSUnion(wgpu::PowerPreference inEnum,
866
- std::string *outUnion) {
867
- switch (inEnum) {
868
- case wgpu::PowerPreference::LowPower:
869
- *outUnion = "low-power";
870
- break;
871
- case wgpu::PowerPreference::HighPerformance:
872
- *outUnion = "high-performance";
873
- break;
874
- default:
875
- throw invalidEnum(inEnum);
876
- }
877
- }
878
-
879
- inline void convertJSUnionToEnum(const std::string &inUnion,
880
- wgpu::PrimitiveTopology *outEnum) {
881
- if (inUnion == "point-list") {
882
- *outEnum = wgpu::PrimitiveTopology::PointList;
883
- } else if (inUnion == "line-list") {
884
- *outEnum = wgpu::PrimitiveTopology::LineList;
885
- } else if (inUnion == "line-strip") {
886
- *outEnum = wgpu::PrimitiveTopology::LineStrip;
887
- } else if (inUnion == "triangle-list") {
888
- *outEnum = wgpu::PrimitiveTopology::TriangleList;
889
- } else if (inUnion == "triangle-strip") {
890
- *outEnum = wgpu::PrimitiveTopology::TriangleStrip;
891
- } else {
892
- throw invalidUnion(inUnion);
893
- }
894
- }
895
-
896
- inline void convertEnumToJSUnion(wgpu::PrimitiveTopology inEnum,
897
- std::string *outUnion) {
898
- switch (inEnum) {
899
- case wgpu::PrimitiveTopology::PointList:
900
- *outUnion = "point-list";
901
- break;
902
- case wgpu::PrimitiveTopology::LineList:
903
- *outUnion = "line-list";
904
- break;
905
- case wgpu::PrimitiveTopology::LineStrip:
906
- *outUnion = "line-strip";
907
- break;
908
- case wgpu::PrimitiveTopology::TriangleList:
909
- *outUnion = "triangle-list";
910
- break;
911
- case wgpu::PrimitiveTopology::TriangleStrip:
912
- *outUnion = "triangle-strip";
913
- break;
914
- default:
915
- throw invalidEnum(inEnum);
916
- }
917
- }
918
-
919
- inline void convertJSUnionToEnum(const std::string &inUnion,
920
- wgpu::QueryType *outEnum) {
921
- if (inUnion == "occlusion") {
922
- *outEnum = wgpu::QueryType::Occlusion;
923
- } else if (inUnion == "timestamp") {
924
- *outEnum = wgpu::QueryType::Timestamp;
925
- } else {
926
- throw invalidUnion(inUnion);
927
- }
928
- }
929
-
930
- inline void convertEnumToJSUnion(wgpu::QueryType inEnum,
931
- std::string *outUnion) {
932
- switch (inEnum) {
933
- case wgpu::QueryType::Occlusion:
934
- *outUnion = "occlusion";
935
- break;
936
- case wgpu::QueryType::Timestamp:
937
- *outUnion = "timestamp";
938
- break;
939
- default:
940
- throw invalidEnum(inEnum);
941
- }
942
- }
943
-
944
- inline void convertJSUnionToEnum(const std::string &inUnion,
945
- wgpu::SamplerBindingType *outEnum) {
946
- if (inUnion == "filtering") {
947
- *outEnum = wgpu::SamplerBindingType::Filtering;
948
- } else if (inUnion == "non-filtering") {
949
- *outEnum = wgpu::SamplerBindingType::NonFiltering;
950
- } else if (inUnion == "comparison") {
951
- *outEnum = wgpu::SamplerBindingType::Comparison;
952
- } else {
953
- throw invalidUnion(inUnion);
954
- }
955
- }
956
-
957
- inline void convertEnumToJSUnion(wgpu::SamplerBindingType inEnum,
958
- std::string *outUnion) {
959
- switch (inEnum) {
960
- case wgpu::SamplerBindingType::Filtering:
961
- *outUnion = "filtering";
962
- break;
963
- case wgpu::SamplerBindingType::NonFiltering:
964
- *outUnion = "non-filtering";
965
- break;
966
- case wgpu::SamplerBindingType::Comparison:
967
- *outUnion = "comparison";
968
- break;
969
- default:
970
- throw invalidEnum(inEnum);
971
- }
972
- }
973
-
974
- inline void convertJSUnionToEnum(const std::string &inUnion,
975
- wgpu::StencilOperation *outEnum) {
976
- if (inUnion == "zero") {
977
- *outEnum = wgpu::StencilOperation::Zero;
978
- } else if (inUnion == "keep") {
979
- *outEnum = wgpu::StencilOperation::Keep;
980
- } else if (inUnion == "replace") {
981
- *outEnum = wgpu::StencilOperation::Replace;
982
- } else if (inUnion == "invert") {
983
- *outEnum = wgpu::StencilOperation::Invert;
984
- } else if (inUnion == "increment-clamp") {
985
- *outEnum = wgpu::StencilOperation::IncrementClamp;
986
- } else if (inUnion == "decrement-clamp") {
987
- *outEnum = wgpu::StencilOperation::DecrementClamp;
988
- } else if (inUnion == "increment-wrap") {
989
- *outEnum = wgpu::StencilOperation::IncrementWrap;
990
- } else if (inUnion == "decrement-wrap") {
991
- *outEnum = wgpu::StencilOperation::DecrementWrap;
992
- } else {
993
- throw invalidUnion(inUnion);
994
- }
995
- }
996
-
997
- inline void convertEnumToJSUnion(wgpu::StencilOperation inEnum,
998
- std::string *outUnion) {
999
- switch (inEnum) {
1000
- case wgpu::StencilOperation::Zero:
1001
- *outUnion = "zero";
1002
- break;
1003
- case wgpu::StencilOperation::Keep:
1004
- *outUnion = "keep";
1005
- break;
1006
- case wgpu::StencilOperation::Replace:
1007
- *outUnion = "replace";
1008
- break;
1009
- case wgpu::StencilOperation::Invert:
1010
- *outUnion = "invert";
1011
- break;
1012
- case wgpu::StencilOperation::IncrementClamp:
1013
- *outUnion = "increment-clamp";
1014
- break;
1015
- case wgpu::StencilOperation::DecrementClamp:
1016
- *outUnion = "decrement-clamp";
1017
- break;
1018
- case wgpu::StencilOperation::IncrementWrap:
1019
- *outUnion = "increment-wrap";
1020
- break;
1021
- case wgpu::StencilOperation::DecrementWrap:
1022
- *outUnion = "decrement-wrap";
1023
- break;
1024
- default:
1025
- throw invalidEnum(inEnum);
1026
- }
1027
- }
1028
-
1029
- inline void convertJSUnionToEnum(const std::string &inUnion,
1030
- wgpu::StorageTextureAccess *outEnum) {
1031
- if (inUnion == "write-only") {
1032
- *outEnum = wgpu::StorageTextureAccess::WriteOnly;
1033
- } else if (inUnion == "read-only") {
1034
- *outEnum = wgpu::StorageTextureAccess::ReadOnly;
1035
- } else if (inUnion == "read-write") {
1036
- *outEnum = wgpu::StorageTextureAccess::ReadWrite;
1037
- } else {
1038
- throw invalidUnion(inUnion);
1039
- }
1040
- }
1041
-
1042
- inline void convertEnumToJSUnion(wgpu::StorageTextureAccess inEnum,
1043
- std::string *outUnion) {
1044
- switch (inEnum) {
1045
- case wgpu::StorageTextureAccess::WriteOnly:
1046
- *outUnion = "write-only";
1047
- break;
1048
- case wgpu::StorageTextureAccess::ReadOnly:
1049
- *outUnion = "read-only";
1050
- break;
1051
- case wgpu::StorageTextureAccess::ReadWrite:
1052
- *outUnion = "read-write";
1053
- break;
1054
- default:
1055
- throw invalidEnum(inEnum);
1056
- }
1057
- }
1058
-
1059
- inline void convertJSUnionToEnum(const std::string &inUnion,
1060
- wgpu::StoreOp *outEnum) {
1061
- if (inUnion == "store") {
1062
- *outEnum = wgpu::StoreOp::Store;
1063
- } else if (inUnion == "discard") {
1064
- *outEnum = wgpu::StoreOp::Discard;
1065
- } else {
1066
- throw invalidUnion(inUnion);
1067
- }
1068
- }
1069
-
1070
- inline void convertEnumToJSUnion(wgpu::StoreOp inEnum, std::string *outUnion) {
1071
- switch (inEnum) {
1072
- case wgpu::StoreOp::Store:
1073
- *outUnion = "store";
1074
- break;
1075
- case wgpu::StoreOp::Discard:
1076
- *outUnion = "discard";
1077
- break;
1078
- default:
1079
- throw invalidEnum(inEnum);
1080
- }
1081
- }
1082
-
1083
- inline void convertJSUnionToEnum(const std::string &inUnion,
1084
- wgpu::TextureAspect *outEnum) {
1085
- if (inUnion == "all") {
1086
- *outEnum = wgpu::TextureAspect::All;
1087
- } else if (inUnion == "stencil-only") {
1088
- *outEnum = wgpu::TextureAspect::StencilOnly;
1089
- } else if (inUnion == "depth-only") {
1090
- *outEnum = wgpu::TextureAspect::DepthOnly;
1091
- } else {
1092
- throw invalidUnion(inUnion);
1093
- }
1094
- }
1095
-
1096
- inline void convertEnumToJSUnion(wgpu::TextureAspect inEnum,
1097
- std::string *outUnion) {
1098
- switch (inEnum) {
1099
- case wgpu::TextureAspect::All:
1100
- *outUnion = "all";
1101
- break;
1102
- case wgpu::TextureAspect::StencilOnly:
1103
- *outUnion = "stencil-only";
1104
- break;
1105
- case wgpu::TextureAspect::DepthOnly:
1106
- *outUnion = "depth-only";
1107
- break;
1108
- default:
1109
- throw invalidEnum(inEnum);
1110
- }
1111
- }
1112
-
1113
- inline void convertJSUnionToEnum(const std::string &inUnion,
1114
- wgpu::TextureDimension *outEnum) {
1115
- if (inUnion == "1d") {
1116
- *outEnum = wgpu::TextureDimension::e1D;
1117
- } else if (inUnion == "2d") {
1118
- *outEnum = wgpu::TextureDimension::e2D;
1119
- } else if (inUnion == "3d") {
1120
- *outEnum = wgpu::TextureDimension::e3D;
1121
- } else {
1122
- throw invalidUnion(inUnion);
1123
- }
1124
- }
1125
-
1126
- inline void convertEnumToJSUnion(wgpu::TextureDimension inEnum,
1127
- std::string *outUnion) {
1128
- switch (inEnum) {
1129
- case wgpu::TextureDimension::e1D:
1130
- *outUnion = "1d";
1131
- break;
1132
- case wgpu::TextureDimension::e2D:
1133
- *outUnion = "2d";
1134
- break;
1135
- case wgpu::TextureDimension::e3D:
1136
- *outUnion = "3d";
1137
- break;
1138
- default:
1139
- throw invalidEnum(inEnum);
1140
- }
1141
- }
1142
-
1143
- inline void convertJSUnionToEnum(const std::string &inUnion,
1144
- wgpu::TextureFormat *outEnum) {
1145
- if (inUnion == "depth32float-stencil8") {
1146
- *outEnum = wgpu::TextureFormat::Depth32FloatStencil8;
1147
- } else if (inUnion == "r8unorm") {
1148
- *outEnum = wgpu::TextureFormat::R8Unorm;
1149
- } else if (inUnion == "r8snorm") {
1150
- *outEnum = wgpu::TextureFormat::R8Snorm;
1151
- } else if (inUnion == "r8uint") {
1152
- *outEnum = wgpu::TextureFormat::R8Uint;
1153
- } else if (inUnion == "r8sint") {
1154
- *outEnum = wgpu::TextureFormat::R8Sint;
1155
- } else if (inUnion == "r16uint") {
1156
- *outEnum = wgpu::TextureFormat::R16Uint;
1157
- } else if (inUnion == "r16sint") {
1158
- *outEnum = wgpu::TextureFormat::R16Sint;
1159
- } else if (inUnion == "r16float") {
1160
- *outEnum = wgpu::TextureFormat::R16Float;
1161
- } else if (inUnion == "rg8unorm") {
1162
- *outEnum = wgpu::TextureFormat::RG8Unorm;
1163
- } else if (inUnion == "rg8snorm") {
1164
- *outEnum = wgpu::TextureFormat::RG8Snorm;
1165
- } else if (inUnion == "rg8uint") {
1166
- *outEnum = wgpu::TextureFormat::RG8Uint;
1167
- } else if (inUnion == "rg8sint") {
1168
- *outEnum = wgpu::TextureFormat::RG8Sint;
1169
- } else if (inUnion == "r32uint") {
1170
- *outEnum = wgpu::TextureFormat::R32Uint;
1171
- } else if (inUnion == "r32sint") {
1172
- *outEnum = wgpu::TextureFormat::R32Sint;
1173
- } else if (inUnion == "r32float") {
1174
- *outEnum = wgpu::TextureFormat::R32Float;
1175
- } else if (inUnion == "rg16uint") {
1176
- *outEnum = wgpu::TextureFormat::RG16Uint;
1177
- } else if (inUnion == "rg16sint") {
1178
- *outEnum = wgpu::TextureFormat::RG16Sint;
1179
- } else if (inUnion == "rg16float") {
1180
- *outEnum = wgpu::TextureFormat::RG16Float;
1181
- } else if (inUnion == "rgba8unorm") {
1182
- *outEnum = wgpu::TextureFormat::RGBA8Unorm;
1183
- } else if (inUnion == "rgba8unorm-srgb") {
1184
- *outEnum = wgpu::TextureFormat::RGBA8UnormSrgb;
1185
- } else if (inUnion == "rgba8snorm") {
1186
- *outEnum = wgpu::TextureFormat::RGBA8Snorm;
1187
- } else if (inUnion == "rgba8uint") {
1188
- *outEnum = wgpu::TextureFormat::RGBA8Uint;
1189
- } else if (inUnion == "rgba8sint") {
1190
- *outEnum = wgpu::TextureFormat::RGBA8Sint;
1191
- } else if (inUnion == "bgra8unorm") {
1192
- *outEnum = wgpu::TextureFormat::BGRA8Unorm;
1193
- } else if (inUnion == "bgra8unorm-srgb") {
1194
- *outEnum = wgpu::TextureFormat::BGRA8UnormSrgb;
1195
- } else if (inUnion == "rgb9e5ufloat") {
1196
- *outEnum = wgpu::TextureFormat::RGB9E5Ufloat;
1197
- } else if (inUnion == "rgb10a2uint") {
1198
- *outEnum = wgpu::TextureFormat::RGB10A2Uint;
1199
- } else if (inUnion == "rgb10a2unorm") {
1200
- *outEnum = wgpu::TextureFormat::RGB10A2Unorm;
1201
- } else if (inUnion == "rg11b10ufloat") {
1202
- *outEnum = wgpu::TextureFormat::RG11B10Ufloat;
1203
- } else if (inUnion == "rg32uint") {
1204
- *outEnum = wgpu::TextureFormat::RG32Uint;
1205
- } else if (inUnion == "rg32sint") {
1206
- *outEnum = wgpu::TextureFormat::RG32Sint;
1207
- } else if (inUnion == "rg32float") {
1208
- *outEnum = wgpu::TextureFormat::RG32Float;
1209
- } else if (inUnion == "rgba16uint") {
1210
- *outEnum = wgpu::TextureFormat::RGBA16Uint;
1211
- } else if (inUnion == "rgba16sint") {
1212
- *outEnum = wgpu::TextureFormat::RGBA16Sint;
1213
- } else if (inUnion == "rgba16float") {
1214
- *outEnum = wgpu::TextureFormat::RGBA16Float;
1215
- } else if (inUnion == "rgba32uint") {
1216
- *outEnum = wgpu::TextureFormat::RGBA32Uint;
1217
- } else if (inUnion == "rgba32sint") {
1218
- *outEnum = wgpu::TextureFormat::RGBA32Sint;
1219
- } else if (inUnion == "rgba32float") {
1220
- *outEnum = wgpu::TextureFormat::RGBA32Float;
1221
- } else if (inUnion == "stencil8") {
1222
- *outEnum = wgpu::TextureFormat::Stencil8;
1223
- } else if (inUnion == "depth16unorm") {
1224
- *outEnum = wgpu::TextureFormat::Depth16Unorm;
1225
- } else if (inUnion == "depth24plus") {
1226
- *outEnum = wgpu::TextureFormat::Depth24Plus;
1227
- } else if (inUnion == "depth24plus-stencil8") {
1228
- *outEnum = wgpu::TextureFormat::Depth24PlusStencil8;
1229
- } else if (inUnion == "depth32float") {
1230
- *outEnum = wgpu::TextureFormat::Depth32Float;
1231
- } else if (inUnion == "bc1-rgba-unorm") {
1232
- *outEnum = wgpu::TextureFormat::BC1RGBAUnorm;
1233
- } else if (inUnion == "bc1-rgba-unorm-srgb") {
1234
- *outEnum = wgpu::TextureFormat::BC1RGBAUnormSrgb;
1235
- } else if (inUnion == "bc2-rgba-unorm") {
1236
- *outEnum = wgpu::TextureFormat::BC2RGBAUnorm;
1237
- } else if (inUnion == "bc2-rgba-unorm-srgb") {
1238
- *outEnum = wgpu::TextureFormat::BC2RGBAUnormSrgb;
1239
- } else if (inUnion == "bc3-rgba-unorm") {
1240
- *outEnum = wgpu::TextureFormat::BC3RGBAUnorm;
1241
- } else if (inUnion == "bc3-rgba-unorm-srgb") {
1242
- *outEnum = wgpu::TextureFormat::BC3RGBAUnormSrgb;
1243
- } else if (inUnion == "bc4-r-unorm") {
1244
- *outEnum = wgpu::TextureFormat::BC4RUnorm;
1245
- } else if (inUnion == "bc4-r-snorm") {
1246
- *outEnum = wgpu::TextureFormat::BC4RSnorm;
1247
- } else if (inUnion == "bc5-rg-unorm") {
1248
- *outEnum = wgpu::TextureFormat::BC5RGUnorm;
1249
- } else if (inUnion == "bc5-rg-snorm") {
1250
- *outEnum = wgpu::TextureFormat::BC5RGSnorm;
1251
- } else if (inUnion == "bc6h-rgb-ufloat") {
1252
- *outEnum = wgpu::TextureFormat::BC6HRGBUfloat;
1253
- } else if (inUnion == "bc6h-rgb-float") {
1254
- *outEnum = wgpu::TextureFormat::BC6HRGBFloat;
1255
- } else if (inUnion == "bc7-rgba-unorm") {
1256
- *outEnum = wgpu::TextureFormat::BC7RGBAUnorm;
1257
- } else if (inUnion == "bc7-rgba-unorm-srgb") {
1258
- *outEnum = wgpu::TextureFormat::BC7RGBAUnormSrgb;
1259
- } else if (inUnion == "etc2-rgb8unorm") {
1260
- *outEnum = wgpu::TextureFormat::ETC2RGB8Unorm;
1261
- } else if (inUnion == "etc2-rgb8unorm-srgb") {
1262
- *outEnum = wgpu::TextureFormat::ETC2RGB8UnormSrgb;
1263
- } else if (inUnion == "etc2-rgb8a1unorm") {
1264
- *outEnum = wgpu::TextureFormat::ETC2RGB8A1Unorm;
1265
- } else if (inUnion == "etc2-rgb8a1unorm-srgb") {
1266
- *outEnum = wgpu::TextureFormat::ETC2RGB8A1UnormSrgb;
1267
- } else if (inUnion == "etc2-rgba8unorm") {
1268
- *outEnum = wgpu::TextureFormat::ETC2RGBA8Unorm;
1269
- } else if (inUnion == "etc2-rgba8unorm-srgb") {
1270
- *outEnum = wgpu::TextureFormat::ETC2RGBA8UnormSrgb;
1271
- } else if (inUnion == "eac-r11unorm") {
1272
- *outEnum = wgpu::TextureFormat::EACR11Unorm;
1273
- } else if (inUnion == "eac-r11snorm") {
1274
- *outEnum = wgpu::TextureFormat::EACR11Snorm;
1275
- } else if (inUnion == "eac-rg11unorm") {
1276
- *outEnum = wgpu::TextureFormat::EACRG11Unorm;
1277
- } else if (inUnion == "eac-rg11snorm") {
1278
- *outEnum = wgpu::TextureFormat::EACRG11Snorm;
1279
- } else if (inUnion == "astc-4x4-unorm") {
1280
- *outEnum = wgpu::TextureFormat::ASTC4x4Unorm;
1281
- } else if (inUnion == "astc-4x4-unorm-srgb") {
1282
- *outEnum = wgpu::TextureFormat::ASTC4x4UnormSrgb;
1283
- } else if (inUnion == "astc-5x4-unorm") {
1284
- *outEnum = wgpu::TextureFormat::ASTC5x4Unorm;
1285
- } else if (inUnion == "astc-5x4-unorm-srgb") {
1286
- *outEnum = wgpu::TextureFormat::ASTC5x4UnormSrgb;
1287
- } else if (inUnion == "astc-5x5-unorm") {
1288
- *outEnum = wgpu::TextureFormat::ASTC5x5Unorm;
1289
- } else if (inUnion == "astc-5x5-unorm-srgb") {
1290
- *outEnum = wgpu::TextureFormat::ASTC5x5UnormSrgb;
1291
- } else if (inUnion == "astc-6x5-unorm") {
1292
- *outEnum = wgpu::TextureFormat::ASTC6x5Unorm;
1293
- } else if (inUnion == "astc-6x5-unorm-srgb") {
1294
- *outEnum = wgpu::TextureFormat::ASTC6x5UnormSrgb;
1295
- } else if (inUnion == "astc-6x6-unorm") {
1296
- *outEnum = wgpu::TextureFormat::ASTC6x6Unorm;
1297
- } else if (inUnion == "astc-6x6-unorm-srgb") {
1298
- *outEnum = wgpu::TextureFormat::ASTC6x6UnormSrgb;
1299
- } else if (inUnion == "astc-8x5-unorm") {
1300
- *outEnum = wgpu::TextureFormat::ASTC8x5Unorm;
1301
- } else if (inUnion == "astc-8x5-unorm-srgb") {
1302
- *outEnum = wgpu::TextureFormat::ASTC8x5UnormSrgb;
1303
- } else if (inUnion == "astc-8x6-unorm") {
1304
- *outEnum = wgpu::TextureFormat::ASTC8x6Unorm;
1305
- } else if (inUnion == "astc-8x6-unorm-srgb") {
1306
- *outEnum = wgpu::TextureFormat::ASTC8x6UnormSrgb;
1307
- } else if (inUnion == "astc-8x8-unorm") {
1308
- *outEnum = wgpu::TextureFormat::ASTC8x8Unorm;
1309
- } else if (inUnion == "astc-8x8-unorm-srgb") {
1310
- *outEnum = wgpu::TextureFormat::ASTC8x8UnormSrgb;
1311
- } else if (inUnion == "astc-10x5-unorm") {
1312
- *outEnum = wgpu::TextureFormat::ASTC10x5Unorm;
1313
- } else if (inUnion == "astc-10x5-unorm-srgb") {
1314
- *outEnum = wgpu::TextureFormat::ASTC10x5UnormSrgb;
1315
- } else if (inUnion == "astc-10x6-unorm") {
1316
- *outEnum = wgpu::TextureFormat::ASTC10x6Unorm;
1317
- } else if (inUnion == "astc-10x6-unorm-srgb") {
1318
- *outEnum = wgpu::TextureFormat::ASTC10x6UnormSrgb;
1319
- } else if (inUnion == "astc-10x8-unorm") {
1320
- *outEnum = wgpu::TextureFormat::ASTC10x8Unorm;
1321
- } else if (inUnion == "astc-10x8-unorm-srgb") {
1322
- *outEnum = wgpu::TextureFormat::ASTC10x8UnormSrgb;
1323
- } else if (inUnion == "astc-10x10-unorm") {
1324
- *outEnum = wgpu::TextureFormat::ASTC10x10Unorm;
1325
- } else if (inUnion == "astc-10x10-unorm-srgb") {
1326
- *outEnum = wgpu::TextureFormat::ASTC10x10UnormSrgb;
1327
- } else if (inUnion == "astc-12x10-unorm") {
1328
- *outEnum = wgpu::TextureFormat::ASTC12x10Unorm;
1329
- } else if (inUnion == "astc-12x10-unorm-srgb") {
1330
- *outEnum = wgpu::TextureFormat::ASTC12x10UnormSrgb;
1331
- } else if (inUnion == "astc-12x12-unorm") {
1332
- *outEnum = wgpu::TextureFormat::ASTC12x12Unorm;
1333
- } else if (inUnion == "astc-12x12-unorm-srgb") {
1334
- *outEnum = wgpu::TextureFormat::ASTC12x12UnormSrgb;
1335
- } else {
1336
- throw invalidUnion(inUnion);
1337
- }
1338
- }
1339
-
1340
- inline void convertEnumToJSUnion(wgpu::TextureFormat inEnum,
1341
- std::string *outUnion) {
1342
- switch (inEnum) {
1343
- case wgpu::TextureFormat::Depth32FloatStencil8:
1344
- *outUnion = "depth32float-stencil8";
1345
- break;
1346
- case wgpu::TextureFormat::R8Unorm:
1347
- *outUnion = "r8unorm";
1348
- break;
1349
- case wgpu::TextureFormat::R8Snorm:
1350
- *outUnion = "r8snorm";
1351
- break;
1352
- case wgpu::TextureFormat::R8Uint:
1353
- *outUnion = "r8uint";
1354
- break;
1355
- case wgpu::TextureFormat::R8Sint:
1356
- *outUnion = "r8sint";
1357
- break;
1358
- case wgpu::TextureFormat::R16Uint:
1359
- *outUnion = "r16uint";
1360
- break;
1361
- case wgpu::TextureFormat::R16Sint:
1362
- *outUnion = "r16sint";
1363
- break;
1364
- case wgpu::TextureFormat::R16Float:
1365
- *outUnion = "r16float";
1366
- break;
1367
- case wgpu::TextureFormat::RG8Unorm:
1368
- *outUnion = "rg8unorm";
1369
- break;
1370
- case wgpu::TextureFormat::RG8Snorm:
1371
- *outUnion = "rg8snorm";
1372
- break;
1373
- case wgpu::TextureFormat::RG8Uint:
1374
- *outUnion = "rg8uint";
1375
- break;
1376
- case wgpu::TextureFormat::RG8Sint:
1377
- *outUnion = "rg8sint";
1378
- break;
1379
- case wgpu::TextureFormat::R32Uint:
1380
- *outUnion = "r32uint";
1381
- break;
1382
- case wgpu::TextureFormat::R32Sint:
1383
- *outUnion = "r32sint";
1384
- break;
1385
- case wgpu::TextureFormat::R32Float:
1386
- *outUnion = "r32float";
1387
- break;
1388
- case wgpu::TextureFormat::RG16Uint:
1389
- *outUnion = "rg16uint";
1390
- break;
1391
- case wgpu::TextureFormat::RG16Sint:
1392
- *outUnion = "rg16sint";
1393
- break;
1394
- case wgpu::TextureFormat::RG16Float:
1395
- *outUnion = "rg16float";
1396
- break;
1397
- case wgpu::TextureFormat::RGBA8Unorm:
1398
- *outUnion = "rgba8unorm";
1399
- break;
1400
- case wgpu::TextureFormat::RGBA8UnormSrgb:
1401
- *outUnion = "rgba8unorm-srgb";
1402
- break;
1403
- case wgpu::TextureFormat::RGBA8Snorm:
1404
- *outUnion = "rgba8snorm";
1405
- break;
1406
- case wgpu::TextureFormat::RGBA8Uint:
1407
- *outUnion = "rgba8uint";
1408
- break;
1409
- case wgpu::TextureFormat::RGBA8Sint:
1410
- *outUnion = "rgba8sint";
1411
- break;
1412
- case wgpu::TextureFormat::BGRA8Unorm:
1413
- *outUnion = "bgra8unorm";
1414
- break;
1415
- case wgpu::TextureFormat::BGRA8UnormSrgb:
1416
- *outUnion = "bgra8unorm-srgb";
1417
- break;
1418
- case wgpu::TextureFormat::RGB9E5Ufloat:
1419
- *outUnion = "rgb9e5ufloat";
1420
- break;
1421
- case wgpu::TextureFormat::RGB10A2Uint:
1422
- *outUnion = "rgb10a2uint";
1423
- break;
1424
- case wgpu::TextureFormat::RGB10A2Unorm:
1425
- *outUnion = "rgb10a2unorm";
1426
- break;
1427
- case wgpu::TextureFormat::RG11B10Ufloat:
1428
- *outUnion = "rg11b10ufloat";
1429
- break;
1430
- case wgpu::TextureFormat::RG32Uint:
1431
- *outUnion = "rg32uint";
1432
- break;
1433
- case wgpu::TextureFormat::RG32Sint:
1434
- *outUnion = "rg32sint";
1435
- break;
1436
- case wgpu::TextureFormat::RG32Float:
1437
- *outUnion = "rg32float";
1438
- break;
1439
- case wgpu::TextureFormat::RGBA16Uint:
1440
- *outUnion = "rgba16uint";
1441
- break;
1442
- case wgpu::TextureFormat::RGBA16Sint:
1443
- *outUnion = "rgba16sint";
1444
- break;
1445
- case wgpu::TextureFormat::RGBA16Float:
1446
- *outUnion = "rgba16float";
1447
- break;
1448
- case wgpu::TextureFormat::RGBA32Uint:
1449
- *outUnion = "rgba32uint";
1450
- break;
1451
- case wgpu::TextureFormat::RGBA32Sint:
1452
- *outUnion = "rgba32sint";
1453
- break;
1454
- case wgpu::TextureFormat::RGBA32Float:
1455
- *outUnion = "rgba32float";
1456
- break;
1457
- case wgpu::TextureFormat::Stencil8:
1458
- *outUnion = "stencil8";
1459
- break;
1460
- case wgpu::TextureFormat::Depth16Unorm:
1461
- *outUnion = "depth16unorm";
1462
- break;
1463
- case wgpu::TextureFormat::Depth24Plus:
1464
- *outUnion = "depth24plus";
1465
- break;
1466
- case wgpu::TextureFormat::Depth24PlusStencil8:
1467
- *outUnion = "depth24plus-stencil8";
1468
- break;
1469
- case wgpu::TextureFormat::Depth32Float:
1470
- *outUnion = "depth32float";
1471
- break;
1472
- case wgpu::TextureFormat::BC1RGBAUnorm:
1473
- *outUnion = "bc1-rgba-unorm";
1474
- break;
1475
- case wgpu::TextureFormat::BC1RGBAUnormSrgb:
1476
- *outUnion = "bc1-rgba-unorm-srgb";
1477
- break;
1478
- case wgpu::TextureFormat::BC2RGBAUnorm:
1479
- *outUnion = "bc2-rgba-unorm";
1480
- break;
1481
- case wgpu::TextureFormat::BC2RGBAUnormSrgb:
1482
- *outUnion = "bc2-rgba-unorm-srgb";
1483
- break;
1484
- case wgpu::TextureFormat::BC3RGBAUnorm:
1485
- *outUnion = "bc3-rgba-unorm";
1486
- break;
1487
- case wgpu::TextureFormat::BC3RGBAUnormSrgb:
1488
- *outUnion = "bc3-rgba-unorm-srgb";
1489
- break;
1490
- case wgpu::TextureFormat::BC4RUnorm:
1491
- *outUnion = "bc4-r-unorm";
1492
- break;
1493
- case wgpu::TextureFormat::BC4RSnorm:
1494
- *outUnion = "bc4-r-snorm";
1495
- break;
1496
- case wgpu::TextureFormat::BC5RGUnorm:
1497
- *outUnion = "bc5-rg-unorm";
1498
- break;
1499
- case wgpu::TextureFormat::BC5RGSnorm:
1500
- *outUnion = "bc5-rg-snorm";
1501
- break;
1502
- case wgpu::TextureFormat::BC6HRGBUfloat:
1503
- *outUnion = "bc6h-rgb-ufloat";
1504
- break;
1505
- case wgpu::TextureFormat::BC6HRGBFloat:
1506
- *outUnion = "bc6h-rgb-float";
1507
- break;
1508
- case wgpu::TextureFormat::BC7RGBAUnorm:
1509
- *outUnion = "bc7-rgba-unorm";
1510
- break;
1511
- case wgpu::TextureFormat::BC7RGBAUnormSrgb:
1512
- *outUnion = "bc7-rgba-unorm-srgb";
1513
- break;
1514
- case wgpu::TextureFormat::ETC2RGB8Unorm:
1515
- *outUnion = "etc2-rgb8unorm";
1516
- break;
1517
- case wgpu::TextureFormat::ETC2RGB8UnormSrgb:
1518
- *outUnion = "etc2-rgb8unorm-srgb";
1519
- break;
1520
- case wgpu::TextureFormat::ETC2RGB8A1Unorm:
1521
- *outUnion = "etc2-rgb8a1unorm";
1522
- break;
1523
- case wgpu::TextureFormat::ETC2RGB8A1UnormSrgb:
1524
- *outUnion = "etc2-rgb8a1unorm-srgb";
1525
- break;
1526
- case wgpu::TextureFormat::ETC2RGBA8Unorm:
1527
- *outUnion = "etc2-rgba8unorm";
1528
- break;
1529
- case wgpu::TextureFormat::ETC2RGBA8UnormSrgb:
1530
- *outUnion = "etc2-rgba8unorm-srgb";
1531
- break;
1532
- case wgpu::TextureFormat::EACR11Unorm:
1533
- *outUnion = "eac-r11unorm";
1534
- break;
1535
- case wgpu::TextureFormat::EACR11Snorm:
1536
- *outUnion = "eac-r11snorm";
1537
- break;
1538
- case wgpu::TextureFormat::EACRG11Unorm:
1539
- *outUnion = "eac-rg11unorm";
1540
- break;
1541
- case wgpu::TextureFormat::EACRG11Snorm:
1542
- *outUnion = "eac-rg11snorm";
1543
- break;
1544
- case wgpu::TextureFormat::ASTC4x4Unorm:
1545
- *outUnion = "astc-4x4-unorm";
1546
- break;
1547
- case wgpu::TextureFormat::ASTC4x4UnormSrgb:
1548
- *outUnion = "astc-4x4-unorm-srgb";
1549
- break;
1550
- case wgpu::TextureFormat::ASTC5x4Unorm:
1551
- *outUnion = "astc-5x4-unorm";
1552
- break;
1553
- case wgpu::TextureFormat::ASTC5x4UnormSrgb:
1554
- *outUnion = "astc-5x4-unorm-srgb";
1555
- break;
1556
- case wgpu::TextureFormat::ASTC5x5Unorm:
1557
- *outUnion = "astc-5x5-unorm";
1558
- break;
1559
- case wgpu::TextureFormat::ASTC5x5UnormSrgb:
1560
- *outUnion = "astc-5x5-unorm-srgb";
1561
- break;
1562
- case wgpu::TextureFormat::ASTC6x5Unorm:
1563
- *outUnion = "astc-6x5-unorm";
1564
- break;
1565
- case wgpu::TextureFormat::ASTC6x5UnormSrgb:
1566
- *outUnion = "astc-6x5-unorm-srgb";
1567
- break;
1568
- case wgpu::TextureFormat::ASTC6x6Unorm:
1569
- *outUnion = "astc-6x6-unorm";
1570
- break;
1571
- case wgpu::TextureFormat::ASTC6x6UnormSrgb:
1572
- *outUnion = "astc-6x6-unorm-srgb";
1573
- break;
1574
- case wgpu::TextureFormat::ASTC8x5Unorm:
1575
- *outUnion = "astc-8x5-unorm";
1576
- break;
1577
- case wgpu::TextureFormat::ASTC8x5UnormSrgb:
1578
- *outUnion = "astc-8x5-unorm-srgb";
1579
- break;
1580
- case wgpu::TextureFormat::ASTC8x6Unorm:
1581
- *outUnion = "astc-8x6-unorm";
1582
- break;
1583
- case wgpu::TextureFormat::ASTC8x6UnormSrgb:
1584
- *outUnion = "astc-8x6-unorm-srgb";
1585
- break;
1586
- case wgpu::TextureFormat::ASTC8x8Unorm:
1587
- *outUnion = "astc-8x8-unorm";
1588
- break;
1589
- case wgpu::TextureFormat::ASTC8x8UnormSrgb:
1590
- *outUnion = "astc-8x8-unorm-srgb";
1591
- break;
1592
- case wgpu::TextureFormat::ASTC10x5Unorm:
1593
- *outUnion = "astc-10x5-unorm";
1594
- break;
1595
- case wgpu::TextureFormat::ASTC10x5UnormSrgb:
1596
- *outUnion = "astc-10x5-unorm-srgb";
1597
- break;
1598
- case wgpu::TextureFormat::ASTC10x6Unorm:
1599
- *outUnion = "astc-10x6-unorm";
1600
- break;
1601
- case wgpu::TextureFormat::ASTC10x6UnormSrgb:
1602
- *outUnion = "astc-10x6-unorm-srgb";
1603
- break;
1604
- case wgpu::TextureFormat::ASTC10x8Unorm:
1605
- *outUnion = "astc-10x8-unorm";
1606
- break;
1607
- case wgpu::TextureFormat::ASTC10x8UnormSrgb:
1608
- *outUnion = "astc-10x8-unorm-srgb";
1609
- break;
1610
- case wgpu::TextureFormat::ASTC10x10Unorm:
1611
- *outUnion = "astc-10x10-unorm";
1612
- break;
1613
- case wgpu::TextureFormat::ASTC10x10UnormSrgb:
1614
- *outUnion = "astc-10x10-unorm-srgb";
1615
- break;
1616
- case wgpu::TextureFormat::ASTC12x10Unorm:
1617
- *outUnion = "astc-12x10-unorm";
1618
- break;
1619
- case wgpu::TextureFormat::ASTC12x10UnormSrgb:
1620
- *outUnion = "astc-12x10-unorm-srgb";
1621
- break;
1622
- case wgpu::TextureFormat::ASTC12x12Unorm:
1623
- *outUnion = "astc-12x12-unorm";
1624
- break;
1625
- case wgpu::TextureFormat::ASTC12x12UnormSrgb:
1626
- *outUnion = "astc-12x12-unorm-srgb";
1627
- break;
1628
- default:
1629
- throw invalidEnum(inEnum);
1630
- }
1631
- }
1632
-
1633
- inline void convertJSUnionToEnum(const std::string &inUnion,
1634
- wgpu::TextureSampleType *outEnum) {
1635
- if (inUnion == "float") {
1636
- *outEnum = wgpu::TextureSampleType::Float;
1637
- } else if (inUnion == "unfilterable-float") {
1638
- *outEnum = wgpu::TextureSampleType::UnfilterableFloat;
1639
- } else if (inUnion == "depth") {
1640
- *outEnum = wgpu::TextureSampleType::Depth;
1641
- } else if (inUnion == "sint") {
1642
- *outEnum = wgpu::TextureSampleType::Sint;
1643
- } else if (inUnion == "uint") {
1644
- *outEnum = wgpu::TextureSampleType::Uint;
1645
- } else {
1646
- throw invalidUnion(inUnion);
1647
- }
1648
- }
1649
-
1650
- inline void convertEnumToJSUnion(wgpu::TextureSampleType inEnum,
1651
- std::string *outUnion) {
1652
- switch (inEnum) {
1653
- case wgpu::TextureSampleType::Float:
1654
- *outUnion = "float";
1655
- break;
1656
- case wgpu::TextureSampleType::UnfilterableFloat:
1657
- *outUnion = "unfilterable-float";
1658
- break;
1659
- case wgpu::TextureSampleType::Depth:
1660
- *outUnion = "depth";
1661
- break;
1662
- case wgpu::TextureSampleType::Sint:
1663
- *outUnion = "sint";
1664
- break;
1665
- case wgpu::TextureSampleType::Uint:
1666
- *outUnion = "uint";
1667
- break;
1668
- default:
1669
- throw invalidEnum(inEnum);
1670
- }
1671
- }
1672
-
1673
- inline void convertJSUnionToEnum(const std::string &inUnion,
1674
- wgpu::TextureViewDimension *outEnum) {
1675
- if (inUnion == "1d") {
1676
- *outEnum = wgpu::TextureViewDimension::e1D;
1677
- } else if (inUnion == "2d") {
1678
- *outEnum = wgpu::TextureViewDimension::e2D;
1679
- } else if (inUnion == "3d") {
1680
- *outEnum = wgpu::TextureViewDimension::e3D;
1681
- } else if (inUnion == "2d-array") {
1682
- *outEnum = wgpu::TextureViewDimension::e2DArray;
1683
- } else if (inUnion == "cube") {
1684
- *outEnum = wgpu::TextureViewDimension::Cube;
1685
- } else if (inUnion == "cube-array") {
1686
- *outEnum = wgpu::TextureViewDimension::CubeArray;
1687
- } else {
1688
- throw invalidUnion(inUnion);
1689
- }
1690
- }
1691
-
1692
- inline void convertEnumToJSUnion(wgpu::TextureViewDimension inEnum,
1693
- std::string *outUnion) {
1694
- switch (inEnum) {
1695
- case wgpu::TextureViewDimension::e1D:
1696
- *outUnion = "1d";
1697
- break;
1698
- case wgpu::TextureViewDimension::e2D:
1699
- *outUnion = "2d";
1700
- break;
1701
- case wgpu::TextureViewDimension::e3D:
1702
- *outUnion = "3d";
1703
- break;
1704
- case wgpu::TextureViewDimension::e2DArray:
1705
- *outUnion = "2d-array";
1706
- break;
1707
- case wgpu::TextureViewDimension::Cube:
1708
- *outUnion = "cube";
1709
- break;
1710
- case wgpu::TextureViewDimension::CubeArray:
1711
- *outUnion = "cube-array";
1712
- break;
1713
- default:
1714
- throw invalidEnum(inEnum);
1715
- }
1716
- }
1717
-
1718
- inline void convertJSUnionToEnum(const std::string &inUnion,
1719
- wgpu::VertexFormat *outEnum) {
1720
- if (inUnion == "uint32") {
1721
- *outEnum = wgpu::VertexFormat::Uint32;
1722
- } else if (inUnion == "uint8x2") {
1723
- *outEnum = wgpu::VertexFormat::Uint8x2;
1724
- } else if (inUnion == "uint8x4") {
1725
- *outEnum = wgpu::VertexFormat::Uint8x4;
1726
- } else if (inUnion == "sint8x2") {
1727
- *outEnum = wgpu::VertexFormat::Sint8x2;
1728
- } else if (inUnion == "sint8x4") {
1729
- *outEnum = wgpu::VertexFormat::Sint8x4;
1730
- } else if (inUnion == "unorm8x2") {
1731
- *outEnum = wgpu::VertexFormat::Unorm8x2;
1732
- } else if (inUnion == "unorm8x4") {
1733
- *outEnum = wgpu::VertexFormat::Unorm8x4;
1734
- } else if (inUnion == "snorm8x2") {
1735
- *outEnum = wgpu::VertexFormat::Snorm8x2;
1736
- } else if (inUnion == "snorm8x4") {
1737
- *outEnum = wgpu::VertexFormat::Snorm8x4;
1738
- } else if (inUnion == "uint16x2") {
1739
- *outEnum = wgpu::VertexFormat::Uint16x2;
1740
- } else if (inUnion == "uint16x4") {
1741
- *outEnum = wgpu::VertexFormat::Uint16x4;
1742
- } else if (inUnion == "sint16x2") {
1743
- *outEnum = wgpu::VertexFormat::Sint16x2;
1744
- } else if (inUnion == "sint16x4") {
1745
- *outEnum = wgpu::VertexFormat::Sint16x4;
1746
- } else if (inUnion == "unorm16x2") {
1747
- *outEnum = wgpu::VertexFormat::Unorm16x2;
1748
- } else if (inUnion == "unorm16x4") {
1749
- *outEnum = wgpu::VertexFormat::Unorm16x4;
1750
- } else if (inUnion == "snorm16x2") {
1751
- *outEnum = wgpu::VertexFormat::Snorm16x2;
1752
- } else if (inUnion == "snorm16x4") {
1753
- *outEnum = wgpu::VertexFormat::Snorm16x4;
1754
- } else if (inUnion == "float16x2") {
1755
- *outEnum = wgpu::VertexFormat::Float16x2;
1756
- } else if (inUnion == "float16x4") {
1757
- *outEnum = wgpu::VertexFormat::Float16x4;
1758
- } else if (inUnion == "float32") {
1759
- *outEnum = wgpu::VertexFormat::Float32;
1760
- } else if (inUnion == "float32x2") {
1761
- *outEnum = wgpu::VertexFormat::Float32x2;
1762
- } else if (inUnion == "float32x3") {
1763
- *outEnum = wgpu::VertexFormat::Float32x3;
1764
- } else if (inUnion == "float32x4") {
1765
- *outEnum = wgpu::VertexFormat::Float32x4;
1766
- } else if (inUnion == "uint32x2") {
1767
- *outEnum = wgpu::VertexFormat::Uint32x2;
1768
- } else if (inUnion == "uint32x3") {
1769
- *outEnum = wgpu::VertexFormat::Uint32x3;
1770
- } else if (inUnion == "uint32x4") {
1771
- *outEnum = wgpu::VertexFormat::Uint32x4;
1772
- } else if (inUnion == "sint32") {
1773
- *outEnum = wgpu::VertexFormat::Sint32;
1774
- } else if (inUnion == "sint32x2") {
1775
- *outEnum = wgpu::VertexFormat::Sint32x2;
1776
- } else if (inUnion == "sint32x3") {
1777
- *outEnum = wgpu::VertexFormat::Sint32x3;
1778
- } else if (inUnion == "sint32x4") {
1779
- *outEnum = wgpu::VertexFormat::Sint32x4;
1780
- } else if (inUnion == "unorm10-10-10-2") {
1781
- *outEnum = wgpu::VertexFormat::Unorm10_10_10_2;
1782
- } else {
1783
- throw invalidUnion(inUnion);
1784
- }
1785
- }
1786
-
1787
- inline void convertEnumToJSUnion(wgpu::VertexFormat inEnum,
1788
- std::string *outUnion) {
1789
- switch (inEnum) {
1790
- case wgpu::VertexFormat::Uint32:
1791
- *outUnion = "uint32";
1792
- break;
1793
- case wgpu::VertexFormat::Uint8x2:
1794
- *outUnion = "uint8x2";
1795
- break;
1796
- case wgpu::VertexFormat::Uint8x4:
1797
- *outUnion = "uint8x4";
1798
- break;
1799
- case wgpu::VertexFormat::Sint8x2:
1800
- *outUnion = "sint8x2";
1801
- break;
1802
- case wgpu::VertexFormat::Sint8x4:
1803
- *outUnion = "sint8x4";
1804
- break;
1805
- case wgpu::VertexFormat::Unorm8x2:
1806
- *outUnion = "unorm8x2";
1807
- break;
1808
- case wgpu::VertexFormat::Unorm8x4:
1809
- *outUnion = "unorm8x4";
1810
- break;
1811
- case wgpu::VertexFormat::Snorm8x2:
1812
- *outUnion = "snorm8x2";
1813
- break;
1814
- case wgpu::VertexFormat::Snorm8x4:
1815
- *outUnion = "snorm8x4";
1816
- break;
1817
- case wgpu::VertexFormat::Uint16x2:
1818
- *outUnion = "uint16x2";
1819
- break;
1820
- case wgpu::VertexFormat::Uint16x4:
1821
- *outUnion = "uint16x4";
1822
- break;
1823
- case wgpu::VertexFormat::Sint16x2:
1824
- *outUnion = "sint16x2";
1825
- break;
1826
- case wgpu::VertexFormat::Sint16x4:
1827
- *outUnion = "sint16x4";
1828
- break;
1829
- case wgpu::VertexFormat::Unorm16x2:
1830
- *outUnion = "unorm16x2";
1831
- break;
1832
- case wgpu::VertexFormat::Unorm16x4:
1833
- *outUnion = "unorm16x4";
1834
- break;
1835
- case wgpu::VertexFormat::Snorm16x2:
1836
- *outUnion = "snorm16x2";
1837
- break;
1838
- case wgpu::VertexFormat::Snorm16x4:
1839
- *outUnion = "snorm16x4";
1840
- break;
1841
- case wgpu::VertexFormat::Float16x2:
1842
- *outUnion = "float16x2";
1843
- break;
1844
- case wgpu::VertexFormat::Float16x4:
1845
- *outUnion = "float16x4";
1846
- break;
1847
- case wgpu::VertexFormat::Float32:
1848
- *outUnion = "float32";
1849
- break;
1850
- case wgpu::VertexFormat::Float32x2:
1851
- *outUnion = "float32x2";
1852
- break;
1853
- case wgpu::VertexFormat::Float32x3:
1854
- *outUnion = "float32x3";
1855
- break;
1856
- case wgpu::VertexFormat::Float32x4:
1857
- *outUnion = "float32x4";
1858
- break;
1859
- case wgpu::VertexFormat::Uint32x2:
1860
- *outUnion = "uint32x2";
1861
- break;
1862
- case wgpu::VertexFormat::Uint32x3:
1863
- *outUnion = "uint32x3";
1864
- break;
1865
- case wgpu::VertexFormat::Uint32x4:
1866
- *outUnion = "uint32x4";
1867
- break;
1868
- case wgpu::VertexFormat::Sint32:
1869
- *outUnion = "sint32";
1870
- break;
1871
- case wgpu::VertexFormat::Sint32x2:
1872
- *outUnion = "sint32x2";
1873
- break;
1874
- case wgpu::VertexFormat::Sint32x3:
1875
- *outUnion = "sint32x3";
1876
- break;
1877
- case wgpu::VertexFormat::Sint32x4:
1878
- *outUnion = "sint32x4";
1879
- break;
1880
- case wgpu::VertexFormat::Unorm10_10_10_2:
1881
- *outUnion = "unorm10-10-10-2";
1882
- break;
1883
- default:
1884
- throw invalidEnum(inEnum);
1885
- }
1886
- }
1887
-
1888
- inline void convertJSUnionToEnum(const std::string &inUnion,
1889
- wgpu::VertexStepMode *outEnum) {
1890
- if (inUnion == "vertex") {
1891
- *outEnum = wgpu::VertexStepMode::Vertex;
1892
- } else if (inUnion == "instance") {
1893
- *outEnum = wgpu::VertexStepMode::Instance;
1894
- } else {
1895
- throw invalidUnion(inUnion);
1896
- }
1897
- }
1898
-
1899
- inline void convertEnumToJSUnion(wgpu::VertexStepMode inEnum,
1900
- std::string *outUnion) {
1901
- switch (inEnum) {
1902
- case wgpu::VertexStepMode::Vertex:
1903
- *outUnion = "vertex";
1904
- break;
1905
- case wgpu::VertexStepMode::Instance:
1906
- *outUnion = "instance";
1907
- break;
1908
- default:
1909
- throw invalidEnum(inEnum);
1910
- }
1911
- }
1912
-
1913
- inline void convertJSUnionToEnum(const std::string &inUnion,
1914
- rnwgpu::PredefinedColorSpace *outEnum) {
1915
- if (inUnion == "display-p3") {
1916
- *outEnum = rnwgpu::PredefinedColorSpace::DisplayP3;
1917
- } else if (inUnion == "srgb") {
1918
- *outEnum = rnwgpu::PredefinedColorSpace::Srgb;
1919
- } else {
1920
- throw invalidUnion(inUnion);
1921
- }
1922
- }
1923
-
1924
- inline void convertEnumToJSUnion(rnwgpu::PredefinedColorSpace inEnum,
1925
- std::string *outUnion) {
1926
- switch (inEnum) {
1927
- case rnwgpu::PredefinedColorSpace::DisplayP3:
1928
- *outUnion = "display-p3";
1929
- break;
1930
- case rnwgpu::PredefinedColorSpace::Srgb:
1931
- *outUnion = "srgb";
1932
- break;
1933
- default:
1934
- throw invalidEnum(inEnum);
1935
- }
1936
- }
1937
-
1938
- inline void convertJSUnionToEnum(const std::string &inUnion,
1939
- rnwgpu::PremultiplyAlpha *outEnum) {
1940
- if (inUnion == "none") {
1941
- *outEnum = rnwgpu::PremultiplyAlpha::None;
1942
- } else if (inUnion == "default") {
1943
- *outEnum = rnwgpu::PremultiplyAlpha::Default;
1944
- } else if (inUnion == "premultiply") {
1945
- *outEnum = rnwgpu::PremultiplyAlpha::Premultiply;
1946
- } else {
1947
- throw invalidUnion(inUnion);
1948
- }
1949
- }
1950
-
1951
- inline void convertEnumToJSUnion(rnwgpu::PremultiplyAlpha inEnum,
1952
- std::string *outUnion) {
1953
- switch (inEnum) {
1954
- case rnwgpu::PremultiplyAlpha::None:
1955
- *outUnion = "none";
1956
- break;
1957
- case rnwgpu::PremultiplyAlpha::Default:
1958
- *outUnion = "default";
1959
- break;
1960
- case rnwgpu::PremultiplyAlpha::Premultiply:
1961
- *outUnion = "premultiply";
1962
- break;
1963
- default:
1964
- throw invalidEnum(inEnum);
1965
- }
1966
- }
1967
-
1968
- } // namespace EnumMapper
1969
- } // namespace rnwgpu