@shopify/react-native-skia 2.10.0 → 2.11.0-next.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 (358) hide show
  1. package/android/CMakeLists.txt +7 -41
  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 +14 -20
  5. package/cpp/api/JsiSkAnimatedImage.h +13 -16
  6. package/cpp/api/JsiSkAnimatedImageFactory.h +9 -7
  7. package/cpp/api/JsiSkApi.h +94 -90
  8. package/cpp/api/JsiSkCanvas.h +108 -251
  9. package/cpp/api/JsiSkColorFilterFactory.h +45 -63
  10. package/cpp/api/JsiSkContourMeasure.h +19 -29
  11. package/cpp/api/JsiSkContourMeasureIter.h +6 -6
  12. package/cpp/api/JsiSkConverters.h +410 -0
  13. package/cpp/api/JsiSkDataFactory.h +9 -15
  14. package/cpp/api/JsiSkFont.h +99 -180
  15. package/cpp/api/JsiSkFontMgr.h +19 -21
  16. package/cpp/api/JsiSkFontMgrFactory.h +4 -5
  17. package/cpp/api/JsiSkImage.h +66 -66
  18. package/cpp/api/JsiSkImageFactory.h +66 -63
  19. package/cpp/api/JsiSkImageFilterFactory.h +354 -608
  20. package/cpp/api/JsiSkImageInfo.h +10 -13
  21. package/cpp/api/JsiSkMaskFilterFactory.h +8 -11
  22. package/cpp/api/JsiSkMatrix.h +36 -73
  23. package/cpp/api/JsiSkNativeObjects.h +60 -92
  24. package/cpp/api/JsiSkPaint.h +73 -131
  25. package/cpp/api/JsiSkParagraph.h +36 -53
  26. package/cpp/api/JsiSkParagraphBuilder.h +36 -64
  27. package/cpp/api/JsiSkParagraphBuilderFactory.h +11 -16
  28. package/cpp/api/JsiSkPath.h +216 -349
  29. package/cpp/api/JsiSkPathBuilder.h +133 -269
  30. package/cpp/api/JsiSkPathBuilderFactory.h +11 -11
  31. package/cpp/api/JsiSkPathEffectFactory.h +52 -72
  32. package/cpp/api/JsiSkPathFactory.h +129 -195
  33. package/cpp/api/JsiSkPicture.h +12 -18
  34. package/cpp/api/JsiSkPictureRecorder.h +14 -15
  35. package/cpp/api/JsiSkPoint.h +4 -4
  36. package/cpp/api/JsiSkRRect.h +7 -8
  37. package/cpp/api/JsiSkRSXform.h +10 -23
  38. package/cpp/api/JsiSkRect.h +23 -31
  39. package/cpp/api/JsiSkRuntimeEffect.h +67 -83
  40. package/cpp/api/JsiSkRuntimeEffectFactory.h +6 -10
  41. package/cpp/api/JsiSkRuntimeShaderBuilder.h +5 -14
  42. package/cpp/api/JsiSkSVG.h +4 -4
  43. package/cpp/api/JsiSkShaderFactory.h +153 -225
  44. package/cpp/api/JsiSkSkottie.h +104 -126
  45. package/cpp/api/JsiSkSurface.h +11 -14
  46. package/cpp/api/JsiSkSurfaceFactory.h +6 -7
  47. package/cpp/api/JsiSkTextBlobFactory.h +31 -54
  48. package/cpp/api/JsiSkTypeface.h +8 -12
  49. package/cpp/api/JsiSkTypefaceFactory.h +9 -7
  50. package/cpp/api/JsiSkTypefaceFontProvider.h +22 -23
  51. package/cpp/api/JsiSkTypefaceFontProviderFactory.h +5 -6
  52. package/cpp/api/JsiSkVertices.h +6 -8
  53. package/cpp/api/JsiSkiaContext.h +10 -11
  54. package/cpp/api/JsiVideo.h +31 -71
  55. package/cpp/dawn/include/dawn/dawn_proc.h +53 -0
  56. package/cpp/dawn/include/dawn/dawn_proc_table.h +330 -0
  57. package/cpp/dawn/include/dawn/dawn_thread_dispatch_proc.h +47 -0
  58. package/cpp/dawn/include/dawn/dawn_version.h +41 -0
  59. package/cpp/dawn/include/dawn/native/D3D11Backend.h +65 -0
  60. package/cpp/dawn/include/dawn/native/D3D12Backend.h +86 -0
  61. package/cpp/dawn/include/dawn/native/D3DBackend.h +56 -0
  62. package/cpp/dawn/include/dawn/native/DawnNative.h +369 -0
  63. package/cpp/dawn/include/dawn/native/MetalBackend.h +56 -0
  64. package/cpp/dawn/include/dawn/native/NullBackend.h +39 -0
  65. package/cpp/dawn/include/dawn/native/OpenGLBackend.h +89 -0
  66. package/cpp/dawn/include/dawn/native/VulkanBackend.h +183 -0
  67. package/cpp/dawn/include/dawn/native/WebGPUBackend.h +49 -0
  68. package/cpp/dawn/include/dawn/native/dawn_native_export.h +49 -0
  69. package/cpp/dawn/include/dawn/platform/DawnPlatform.h +210 -0
  70. package/cpp/dawn/include/dawn/platform/dawn_platform_export.h +49 -0
  71. package/cpp/dawn/include/dawn/replay/Replay.h +99 -0
  72. package/cpp/dawn/include/dawn/replay/dawn_replay_export.h +49 -0
  73. package/cpp/dawn/include/dawn/webgpu_cpp_print.h +2844 -0
  74. package/cpp/dawn/include/tint/tint.h +90 -0
  75. package/cpp/dawn/include/webgpu/webgpu.h +4987 -0
  76. package/cpp/dawn/include/webgpu/webgpu_cpp.h +10080 -0
  77. package/cpp/dawn/include/webgpu/webgpu_cpp_chained_struct.h +57 -0
  78. package/cpp/dawn/include/webgpu/webgpu_enum_class_bitmasks.h +161 -0
  79. package/cpp/dawn/include/webgpu/webgpu_glfw.h +88 -0
  80. package/cpp/jsi/JSIConverter.h +0 -31
  81. package/cpp/jsi/NativeObject.h +11 -6
  82. package/cpp/rnskia/RNDawnContext.h +18 -2
  83. package/cpp/rnskia/RNDawnInterop.cpp +19 -0
  84. package/cpp/rnskia/RNDawnUtils.h +18 -1
  85. package/cpp/rnskia/RNSkManager.cpp +5 -162
  86. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
  87. package/cpp/skia/src/gpu/graphite/ContextOptionsPriv.h +45 -0
  88. package/cpp/skia/src/gpu/graphite/ResourceTypes.h +360 -0
  89. package/cpp/skia/src/gpu/graphite/TextureProxyView.h +105 -0
  90. package/lib/commonjs/mock/index.js +0 -1
  91. package/lib/commonjs/mock/index.js.map +1 -1
  92. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +15 -6
  93. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  94. package/lib/commonjs/skia/types/Skia.d.ts +5 -15
  95. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  96. package/lib/commonjs/skia/types/index.d.ts +0 -1
  97. package/lib/commonjs/skia/types/index.js +0 -11
  98. package/lib/commonjs/skia/types/index.js.map +1 -1
  99. package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  100. package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
  101. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
  102. package/lib/commonjs/skia/web/JsiSkia.js +1 -4
  103. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  104. package/lib/commonjs/views/index.d.ts +0 -1
  105. package/lib/commonjs/views/index.js +0 -11
  106. package/lib/commonjs/views/index.js.map +1 -1
  107. package/lib/module/mock/index.js +0 -1
  108. package/lib/module/mock/index.js.map +1 -1
  109. package/lib/module/skia/types/Image/ImageFactory.d.ts +15 -6
  110. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  111. package/lib/module/skia/types/Skia.d.ts +5 -15
  112. package/lib/module/skia/types/Skia.js.map +1 -1
  113. package/lib/module/skia/types/index.d.ts +0 -1
  114. package/lib/module/skia/types/index.js +0 -1
  115. package/lib/module/skia/types/index.js.map +1 -1
  116. package/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  117. package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
  118. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
  119. package/lib/module/skia/web/JsiSkia.js +1 -4
  120. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  121. package/lib/module/views/index.d.ts +0 -1
  122. package/lib/module/views/index.js +0 -1
  123. package/lib/module/views/index.js.map +1 -1
  124. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  125. package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  126. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -2
  127. package/lib/typescript/lib/module/mock/index.d.ts +0 -2
  128. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -2
  129. package/lib/typescript/lib/module/skia/types/index.d.ts +0 -1
  130. package/lib/typescript/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  131. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -2
  132. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  133. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +15 -6
  134. package/lib/typescript/src/skia/types/Skia.d.ts +5 -15
  135. package/lib/typescript/src/skia/types/index.d.ts +0 -1
  136. package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +2 -2
  137. package/lib/typescript/src/views/index.d.ts +0 -1
  138. package/libs/.graphite +1 -0
  139. package/package.json +8 -9
  140. package/react-native-skia.podspec +38 -4
  141. package/src/mock/index.ts +0 -1
  142. package/src/skia/types/Image/ImageFactory.ts +15 -6
  143. package/src/skia/types/Skia.ts +5 -15
  144. package/src/skia/types/index.ts +0 -1
  145. package/src/skia/web/JsiSkImageFactory.ts +3 -3
  146. package/src/skia/web/JsiSkia.ts +2 -5
  147. package/src/views/index.ts +0 -1
  148. package/android/cpp/jni/JniWebGPUView.cpp +0 -112
  149. package/android/cpp/rnskia-android/SkiaPlatformContext.h +0 -26
  150. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUSurfaceView.java +0 -43
  151. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUTextureView.java +0 -50
  152. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUView.java +0 -98
  153. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewAPI.java +0 -19
  154. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +0 -58
  155. package/apple/RNWebGPUAppleNativeBuffer.mm +0 -33
  156. package/apple/SkiaPlatformContext.h +0 -20
  157. package/apple/SkiaPlatformContext.mm +0 -21
  158. package/apple/SkiaWebGPUView.mm +0 -81
  159. package/apple/WebGPUMetalView.mm +0 -136
  160. package/cpp/rnwgpu/ArrayBuffer.h +0 -116
  161. package/cpp/rnwgpu/Canvas.h +0 -52
  162. package/cpp/rnwgpu/PlatformContext.h +0 -18
  163. package/cpp/rnwgpu/SurfaceRegistry.h +0 -605
  164. package/cpp/rnwgpu/api/AppleNativeBuffer.h +0 -22
  165. package/cpp/rnwgpu/api/Convertors.h +0 -783
  166. package/cpp/rnwgpu/api/External.h +0 -12
  167. package/cpp/rnwgpu/api/GPU.cpp +0 -162
  168. package/cpp/rnwgpu/api/GPU.h +0 -60
  169. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -239
  170. package/cpp/rnwgpu/api/GPUAdapter.h +0 -60
  171. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  172. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  173. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  174. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  175. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -107
  176. package/cpp/rnwgpu/api/GPUBuffer.h +0 -88
  177. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -75
  178. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -70
  179. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  180. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  181. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  182. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  183. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  184. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  185. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  186. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  187. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  188. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -613
  189. package/cpp/rnwgpu/api/GPUDevice.h +0 -258
  190. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  191. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  192. package/cpp/rnwgpu/api/GPUError.h +0 -35
  193. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  194. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -139
  195. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -95
  196. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  197. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  198. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  199. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  200. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  201. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  202. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  203. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  204. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -179
  205. package/cpp/rnwgpu/api/GPUQueue.h +0 -84
  206. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  207. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  208. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  209. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  210. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  211. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  212. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  213. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  214. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -56
  215. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  216. package/cpp/rnwgpu/api/GPUSharedFence.cpp +0 -80
  217. package/cpp/rnwgpu/api/GPUSharedFence.h +0 -53
  218. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -135
  219. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -75
  220. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  221. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  222. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  223. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  224. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  225. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -60
  226. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  227. package/cpp/rnwgpu/api/ImageBitmap.h +0 -62
  228. package/cpp/rnwgpu/api/NativeBufferUtils.h +0 -87
  229. package/cpp/rnwgpu/api/RNWebGPU.h +0 -82
  230. package/cpp/rnwgpu/api/WebGPUConstants.h +0 -36
  231. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -64
  232. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  233. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -56
  234. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -97
  235. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -57
  236. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -52
  237. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -56
  238. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -56
  239. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -59
  240. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  241. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  242. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -66
  243. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -58
  244. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  245. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -45
  246. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -45
  247. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -56
  248. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -58
  249. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -67
  250. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -56
  251. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -103
  252. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -109
  253. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -38
  254. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -90
  255. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -73
  256. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -62
  257. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  258. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -65
  259. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -81
  260. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -54
  261. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  262. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -54
  263. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -57
  264. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -69
  265. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -61
  266. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -55
  267. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -43
  268. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -45
  269. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -80
  270. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -81
  271. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -101
  272. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -92
  273. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -58
  274. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -103
  275. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -51
  276. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -45
  277. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -110
  278. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -60
  279. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -62
  280. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  281. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +0 -58
  282. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +0 -51
  283. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -73
  284. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -64
  285. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -59
  286. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -59
  287. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -91
  288. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  289. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -91
  290. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -64
  291. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -53
  292. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -62
  293. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -73
  294. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  295. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -213
  296. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -58
  297. package/cpp/rnwgpu/async/RuntimeContext.cpp +0 -199
  298. package/cpp/rnwgpu/async/RuntimeContext.h +0 -134
  299. package/lib/commonjs/skia/types/WebGPU.d.ts +0 -184
  300. package/lib/commonjs/skia/types/WebGPU.js +0 -105
  301. package/lib/commonjs/skia/types/WebGPU.js.map +0 -1
  302. package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -8
  303. package/lib/commonjs/specs/WebGPUViewNativeComponent.js +0 -10
  304. package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +0 -1
  305. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  306. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +0 -103
  307. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  308. package/lib/commonjs/specs/utils.d.ts +0 -1
  309. package/lib/commonjs/specs/utils.js +0 -11
  310. package/lib/commonjs/specs/utils.js.map +0 -1
  311. package/lib/commonjs/views/WebGPUCanvas.d.ts +0 -33
  312. package/lib/commonjs/views/WebGPUCanvas.js +0 -79
  313. package/lib/commonjs/views/WebGPUCanvas.js.map +0 -1
  314. package/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -23
  315. package/lib/commonjs/views/WebGPUCanvas.web.js +0 -20
  316. package/lib/commonjs/views/WebGPUCanvas.web.js.map +0 -1
  317. package/lib/module/skia/types/WebGPU.d.ts +0 -184
  318. package/lib/module/skia/types/WebGPU.js +0 -99
  319. package/lib/module/skia/types/WebGPU.js.map +0 -1
  320. package/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -8
  321. package/lib/module/specs/WebGPUViewNativeComponent.js +0 -4
  322. package/lib/module/specs/WebGPUViewNativeComponent.js.map +0 -1
  323. package/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  324. package/lib/module/specs/WebGPUViewNativeComponent.web.js +0 -96
  325. package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  326. package/lib/module/specs/utils.d.ts +0 -1
  327. package/lib/module/specs/utils.js +0 -5
  328. package/lib/module/specs/utils.js.map +0 -1
  329. package/lib/module/views/WebGPUCanvas.d.ts +0 -33
  330. package/lib/module/views/WebGPUCanvas.js +0 -70
  331. package/lib/module/views/WebGPUCanvas.js.map +0 -1
  332. package/lib/module/views/WebGPUCanvas.web.d.ts +0 -23
  333. package/lib/module/views/WebGPUCanvas.web.js +0 -12
  334. package/lib/module/views/WebGPUCanvas.web.js.map +0 -1
  335. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +0 -2
  336. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -4
  337. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -3
  338. package/lib/typescript/lib/commonjs/specs/utils.d.ts +0 -2
  339. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.d.ts +0 -6
  340. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -6
  341. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +0 -31
  342. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -2
  343. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -2
  344. package/lib/typescript/lib/module/specs/utils.d.ts +0 -1
  345. package/lib/typescript/lib/module/views/WebGPUCanvas.d.ts +0 -7
  346. package/lib/typescript/lib/module/views/WebGPUCanvas.web.d.ts +0 -8
  347. package/lib/typescript/src/skia/types/WebGPU.d.ts +0 -184
  348. package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +0 -8
  349. package/lib/typescript/src/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  350. package/lib/typescript/src/specs/utils.d.ts +0 -1
  351. package/lib/typescript/src/views/WebGPUCanvas.d.ts +0 -33
  352. package/lib/typescript/src/views/WebGPUCanvas.web.d.ts +0 -23
  353. package/src/skia/types/WebGPU.ts +0 -226
  354. package/src/specs/WebGPUViewNativeComponent.ts +0 -11
  355. package/src/specs/WebGPUViewNativeComponent.web.ts +0 -110
  356. package/src/specs/utils.ts +0 -4
  357. package/src/views/WebGPUCanvas.tsx +0 -125
  358. package/src/views/WebGPUCanvas.web.tsx +0 -36
@@ -1,1969 +0,0 @@
1
- #pragma once
2
-
3
- #include <string>
4
-
5
- #include "jsi/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