@nativescript/canvas 2.0.0-webgpu.1 → 2.0.0-webgpu.11

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 (289) hide show
  1. package/Canvas/common.d.ts +2 -16
  2. package/Canvas/common.js +1 -62
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +6 -8
  5. package/Canvas/index.android.js +116 -62
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +7 -8
  8. package/Canvas/index.ios.d.ts +3 -2
  9. package/Canvas/index.ios.js +115 -74
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +1 -0
  12. package/Canvas2D/CanvasRenderingContext2D/index.js +72 -72
  13. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  14. package/Canvas2D/DOMMatrix/index.js +1 -1
  15. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  16. package/Canvas2D/ImageData/index.js.map +1 -1
  17. package/Canvas2D/Path2D/index.js.map +1 -1
  18. package/Dom/Dom.js +8 -1
  19. package/Dom/Dom.js.map +1 -1
  20. package/Dom/Group.d.ts +1 -2
  21. package/Dom/Group.js.map +1 -1
  22. package/Dom/Image.d.ts +4 -1
  23. package/Dom/Image.js +15 -2
  24. package/Dom/Image.js.map +1 -1
  25. package/Dom/Paint.d.ts +1 -1
  26. package/Dom/Paint.js.map +1 -1
  27. package/Dom/Text.js.map +1 -1
  28. package/Dom/shaders/LinearGradient.js.map +1 -1
  29. package/Dom/shaders/TwoPointConicalGradient.js.map +1 -1
  30. package/Dom/shapes/Atlas.js.map +1 -1
  31. package/Dom/shapes/Circle.js.map +1 -1
  32. package/Dom/shapes/Line.js.map +1 -1
  33. package/Dom/shapes/Oval.js.map +1 -1
  34. package/Dom/shapes/Path.d.ts +1 -1
  35. package/Dom/shapes/Path.js.map +1 -1
  36. package/Dom/shapes/Rect.js.map +1 -1
  37. package/Dom/shapes/RoundedRect.js.map +1 -1
  38. package/Dom/shapes/index.js.map +1 -1
  39. package/ImageAsset/index.d.ts +3 -1
  40. package/ImageAsset/index.js +38 -6
  41. package/ImageAsset/index.js.map +1 -1
  42. package/ImageBitmap/index.js +3 -3
  43. package/ImageBitmap/index.js.map +1 -1
  44. package/README.md +62 -3
  45. package/TextDecoder/index.js +3 -3
  46. package/TextDecoder/index.js.map +1 -1
  47. package/TextEncoder/index.js +3 -3
  48. package/TextEncoder/index.js.map +1 -1
  49. package/WebGL/WebGLExtensions/index.js +5 -5
  50. package/WebGL/WebGLExtensions/index.js.map +1 -1
  51. package/WebGL/WebGLRenderingContext/common.js.map +1 -1
  52. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  53. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  54. package/WebGPU/Constants.js.map +1 -1
  55. package/WebGPU/GPU.js.map +1 -1
  56. package/WebGPU/GPUAdapter.d.ts +4 -2
  57. package/WebGPU/GPUAdapter.js +3 -0
  58. package/WebGPU/GPUAdapter.js.map +1 -1
  59. package/WebGPU/GPUAdapterInfo.js.map +1 -1
  60. package/WebGPU/GPUBindGroup.d.ts +1 -0
  61. package/WebGPU/GPUBindGroup.js +3 -0
  62. package/WebGPU/GPUBindGroup.js.map +1 -1
  63. package/WebGPU/GPUBindGroupLayout.d.ts +1 -0
  64. package/WebGPU/GPUBindGroupLayout.js +3 -0
  65. package/WebGPU/GPUBindGroupLayout.js.map +1 -1
  66. package/WebGPU/GPUBuffer.js +6 -2
  67. package/WebGPU/GPUBuffer.js.map +1 -1
  68. package/WebGPU/GPUCanvasContext.d.ts +1 -1
  69. package/WebGPU/GPUCanvasContext.js +13 -10
  70. package/WebGPU/GPUCanvasContext.js.map +1 -1
  71. package/WebGPU/GPUCommandBuffer.d.ts +1 -0
  72. package/WebGPU/GPUCommandBuffer.js +3 -0
  73. package/WebGPU/GPUCommandBuffer.js.map +1 -1
  74. package/WebGPU/GPUCommandEncoder.d.ts +1 -0
  75. package/WebGPU/GPUCommandEncoder.js +3 -0
  76. package/WebGPU/GPUCommandEncoder.js.map +1 -1
  77. package/WebGPU/GPUComputePassEncoder.d.ts +1 -0
  78. package/WebGPU/GPUComputePassEncoder.js +3 -0
  79. package/WebGPU/GPUComputePassEncoder.js.map +1 -1
  80. package/WebGPU/GPUComputePipeline.d.ts +1 -0
  81. package/WebGPU/GPUComputePipeline.js +3 -0
  82. package/WebGPU/GPUComputePipeline.js.map +1 -1
  83. package/WebGPU/GPUDevice.d.ts +4 -4
  84. package/WebGPU/GPUDevice.js +32 -9
  85. package/WebGPU/GPUDevice.js.map +1 -1
  86. package/WebGPU/GPUExternalTexture.d.ts +1 -0
  87. package/WebGPU/GPUExternalTexture.js +3 -0
  88. package/WebGPU/GPUExternalTexture.js.map +1 -1
  89. package/WebGPU/GPUPipelineLayout.d.ts +1 -0
  90. package/WebGPU/GPUPipelineLayout.js +3 -0
  91. package/WebGPU/GPUPipelineLayout.js.map +1 -1
  92. package/WebGPU/GPUQuerySet.d.ts +1 -0
  93. package/WebGPU/GPUQuerySet.js +3 -0
  94. package/WebGPU/GPUQuerySet.js.map +1 -1
  95. package/WebGPU/GPUQueue.d.ts +1 -0
  96. package/WebGPU/GPUQueue.js +11 -0
  97. package/WebGPU/GPUQueue.js.map +1 -1
  98. package/WebGPU/GPURenderBundle.d.ts +1 -0
  99. package/WebGPU/GPURenderBundle.js +3 -0
  100. package/WebGPU/GPURenderBundle.js.map +1 -1
  101. package/WebGPU/GPURenderBundleEncoder.d.ts +4 -2
  102. package/WebGPU/GPURenderBundleEncoder.js +7 -3
  103. package/WebGPU/GPURenderBundleEncoder.js.map +1 -1
  104. package/WebGPU/GPURenderPassEncoder.d.ts +2 -1
  105. package/WebGPU/GPURenderPassEncoder.js +5 -2
  106. package/WebGPU/GPURenderPassEncoder.js.map +1 -1
  107. package/WebGPU/GPURenderPipeline.d.ts +1 -0
  108. package/WebGPU/GPURenderPipeline.js +3 -0
  109. package/WebGPU/GPURenderPipeline.js.map +1 -1
  110. package/WebGPU/GPUSampler.d.ts +1 -0
  111. package/WebGPU/GPUSampler.js +3 -0
  112. package/WebGPU/GPUSampler.js.map +1 -1
  113. package/WebGPU/GPUShaderModule.d.ts +1 -1
  114. package/WebGPU/GPUShaderModule.js +2 -2
  115. package/WebGPU/GPUShaderModule.js.map +1 -1
  116. package/WebGPU/GPUTexture.d.ts +1 -0
  117. package/WebGPU/GPUTexture.js +3 -0
  118. package/WebGPU/GPUTexture.js.map +1 -1
  119. package/WebGPU/GPUTextureView.d.ts +1 -0
  120. package/WebGPU/GPUTextureView.js +3 -0
  121. package/WebGPU/GPUTextureView.js.map +1 -1
  122. package/WebGPU/Interfaces.d.ts +14 -4
  123. package/WebGPU/Types.d.ts +28 -27
  124. package/WebGPU/Utils.d.ts +1 -1
  125. package/WebGPU/Utils.js.map +1 -1
  126. package/angular/{esm2020 → esm2022}/index.mjs +5 -5
  127. package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs +4 -4
  128. package/angular/{fesm2020 → fesm2022}/nativescript-canvas-angular.mjs.map +1 -1
  129. package/angular/package.json +4 -10
  130. package/helpers.js.map +1 -1
  131. package/package.json +2 -2
  132. package/platforms/android/canvas-release.aar +0 -0
  133. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  134. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +26 -9
  135. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2091 -2055
  136. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  137. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  138. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +971 -205
  139. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +38 -9
  140. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +38 -9
  141. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  142. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +645 -602
  143. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  144. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +52 -18
  145. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2091 -2055
  146. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  147. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  148. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  149. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +971 -205
  150. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +38 -9
  151. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +38 -9
  152. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +971 -205
  153. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +38 -9
  154. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +38 -9
  155. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +25 -25
  156. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  157. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +647 -604
  158. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +685 -638
  159. package/platforms/ios/src/NSOperationQueueWrapper.h +2 -0
  160. package/platforms/ios/src/cpp/AsyncCallback.h +206 -0
  161. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +13 -13
  162. package/platforms/ios/src/cpp/Helpers.h +2 -164
  163. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +13 -13
  164. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +1 -1
  165. package/platforms/ios/src/cpp/ImageBitmapImpl.h +2 -1
  166. package/platforms/ios/src/cpp/JSIReadFileCallback.h +4 -4
  167. package/platforms/ios/src/cpp/NativeType.h +87 -0
  168. package/platforms/ios/src/cpp/ObjectWrapperImpl.h +50 -0
  169. package/platforms/ios/src/cpp/OneByteStringResource.cpp +2 -2
  170. package/platforms/ios/src/cpp/PromiseCallback.h +198 -0
  171. package/platforms/ios/src/cpp/RafImpl.h +2 -2
  172. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +0 -6
  173. package/platforms/ios/src/cpp/TextDecoderImpl.h +3 -3
  174. package/platforms/ios/src/cpp/TextEncoderImpl.cpp +1 -1
  175. package/platforms/ios/src/cpp/TextEncoderImpl.h +3 -3
  176. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +8 -7
  177. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +1 -1
  178. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +3 -3
  179. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +146 -76
  180. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +74 -20
  181. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +5 -6
  182. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +4 -4
  183. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +10 -10
  184. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +2 -2
  185. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +6 -3
  186. package/platforms/ios/src/cpp/canvas2d/Path2D.h +7 -7
  187. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +3 -3
  188. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
  189. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
  190. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
  191. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +3 -3
  192. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +3 -3
  193. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +8 -8
  194. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
  195. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +1 -1
  196. package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
  197. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +5 -5
  198. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +3 -2
  199. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +2 -2
  200. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
  201. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
  202. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
  203. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
  204. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
  205. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
  206. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
  207. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +2 -2
  208. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +5 -5
  209. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
  210. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
  211. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
  212. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
  213. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
  214. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
  215. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
  216. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
  217. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
  218. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +2 -2
  219. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
  220. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
  221. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
  222. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
  223. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
  224. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
  225. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +722 -722
  226. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
  227. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
  228. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
  229. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
  230. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
  231. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +2 -2
  232. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +137 -69
  233. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.h +1 -1
  234. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.cpp +1 -1
  235. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.h +1 -1
  236. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +32 -6
  237. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +5 -2
  238. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +27 -1
  239. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +4 -1
  240. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +80 -32
  241. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +8 -4
  242. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +19 -14
  243. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +1 -1
  244. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +29 -2
  245. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +4 -1
  246. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +455 -457
  247. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +5 -1
  248. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +42 -14
  249. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +4 -1
  250. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +26 -1
  251. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +3 -1
  252. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +1699 -727
  253. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +4 -2
  254. package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +54 -41
  255. package/platforms/ios/src/cpp/webgpu/GPUImpl.h +2 -2
  256. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +27 -1
  257. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +8 -5
  258. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +2 -3
  259. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +2 -2
  260. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +65 -25
  261. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +4 -1
  262. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.cpp +42 -14
  263. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +4 -1
  264. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +26 -1
  265. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +4 -1
  266. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +34 -7
  267. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +4 -1
  268. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +26 -1
  269. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +4 -1
  270. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +27 -1
  271. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +5 -2
  272. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +25 -1
  273. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +5 -2
  274. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.cpp +2 -2
  275. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.h +2 -2
  276. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +33 -8
  277. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +6 -4
  278. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +27 -1
  279. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h +5 -2
  280. package/platforms/ios/src/cpp/webgpu/GPUUtils.h +511 -0
  281. package/react/index.d.ts +1 -1
  282. package/utils.d.ts +1 -1
  283. package/utils.js.map +1 -1
  284. package/angular/fesm2015/nativescript-canvas-angular.mjs.map +0 -1
  285. package/angular/fesm2020/nativescript-canvas-angular.mjs +0 -24
  286. package/typings/objc!CanvasNative.d.ts +0 -2038
  287. package/typings/objc!CanvasNative.js +0 -1
  288. package/typings/objc!CanvasNative.js.map +0 -1
  289. /package/angular/{esm2020 → esm2022}/nativescript-canvas-angular.mjs +0 -0
@@ -21,7 +21,7 @@ void GPUBufferImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolat
21
21
  auto context = isolate->GetCurrentContext();
22
22
  auto func = ctor->GetFunction(context).ToLocalChecked();
23
23
 
24
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUBuffer"), func).FromJust();;
24
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUBuffer"), func).FromJust();
25
25
  }
26
26
 
27
27
  GPUBufferImpl *GPUBufferImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -75,6 +75,11 @@ v8::Local<v8::FunctionTemplate> GPUBufferImpl::GetCtor(v8::Isolate *isolate) {
75
75
  ConvertToV8String(isolate, "getMappedRange"),
76
76
  v8::FunctionTemplate::New(isolate, &GetMappedRange));
77
77
 
78
+ tmpl->SetLazyDataProperty(
79
+ ConvertToV8String(isolate, "label"),
80
+ GetLabel
81
+ );
82
+
78
83
 
79
84
  cache->GPUBufferTmpl =
80
85
  std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
@@ -127,12 +132,17 @@ void GPUBufferImpl::UnMap(const v8::FunctionCallbackInfo<v8::Value> &args) {
127
132
  canvas_native_webgpu_buffer_unmap(ptr->GetGPUBuffer());
128
133
  }
129
134
 
135
+ struct MapAsyncData {
136
+ enum CanvasGPUErrorType type;
137
+ char* error;
138
+ };
130
139
 
131
140
  void GPUBufferImpl::MapAsync(const v8::FunctionCallbackInfo<v8::Value> &args) {
132
141
  GPUBufferImpl *ptr = GetPointer(args.This());
133
142
  if (ptr == nullptr) {
134
143
  return;
135
144
  }
145
+
136
146
  auto isolate = args.GetIsolate();
137
147
  auto context = isolate->GetCurrentContext();
138
148
  auto mode = args[0]->Int32Value(context).ToChecked();
@@ -154,42 +164,59 @@ void GPUBufferImpl::MapAsync(const v8::FunctionCallbackInfo<v8::Value> &args) {
154
164
  auto resolver = v8::Promise::Resolver::New(isolate->GetCurrentContext()).ToLocalChecked();
155
165
  args.GetReturnValue().Set(resolver->GetPromise());
156
166
 
157
- v8::Global<v8::Promise::Resolver> promise(isolate, resolver);
158
167
  auto callback = new PromiseCallback{
159
168
  isolate,
160
- std::move(promise)
169
+ resolver,
170
+ [](bool done, void *data){
171
+ auto async_data = static_cast<PromiseCallback *>(data);
172
+ auto func = async_data->inner_.get();
173
+ if (func != nullptr && func->isolate_ != nullptr) {
174
+ v8::Isolate *isolate = func->isolate_;
175
+ v8::Locker locker(isolate);
176
+ v8::Isolate::Scope isolate_scope(
177
+ isolate);
178
+ v8::HandleScope handle_scope(
179
+ isolate);
180
+ v8::Local<v8::Promise::Resolver> callback = func->callback_.Get(
181
+ isolate);
182
+ v8::Local<v8::Context> context = callback->GetCreationContextChecked();
183
+ v8::Context::Scope context_scope(
184
+ context);
185
+
186
+
187
+ if (func->data == nullptr) {
188
+ callback->Resolve(context, v8::Undefined(isolate));
189
+ } else {
190
+ auto errorData = static_cast<MapAsyncData*>(func->data);
191
+ callback->Reject(context,
192
+ v8::Exception::Error(
193
+ ConvertToV8String(
194
+ isolate,
195
+ errorData->error)));
196
+ canvas_native_string_destroy(
197
+ errorData->error);
198
+ delete errorData;
199
+ func->data = nullptr;
200
+ }
201
+ }
202
+ delete static_cast<PromiseCallback *>(data);
203
+ }
161
204
  };
162
- canvas_native_webgpu_buffer_map_async(ptr->GetGPUBuffer(), (GPUMapMode) mode, offset, size,
163
- [](char *error, void *data) {
205
+ callback->prepare();
206
+
207
+
208
+ canvas_native_webgpu_buffer_map_async(ptr->GetGPUBuffer(), mode == 1 ? GPUMapMode::GPUMapModeRead : GPUMapMode::GPUMapModeWrite, offset, size,
209
+ [](enum CanvasGPUErrorType type, char *error, void *data) {
164
210
  if (data != nullptr) {
165
- auto func = static_cast<PromiseCallback *>(data);
166
- if (func->isolate != nullptr) {
167
- v8::Isolate *isolate = func->isolate;
168
- v8::Locker locker(isolate);
169
- v8::Isolate::Scope isolate_scope(
170
- isolate);
171
- v8::HandleScope handle_scope(
172
- isolate);
173
- v8::Local<v8::Promise::Resolver> callback = func->callback.Get(
174
- isolate);
175
- v8::Local<v8::Context> context = callback->GetCreationContextChecked();
176
- v8::Context::Scope context_scope(
177
- context);
178
-
179
- auto ret = v8::Object::New(
180
- isolate);
181
- if (error == nullptr) {
182
- callback->Resolve(context, ret);
183
- } else {
184
- callback->Reject(context,
185
- v8::Exception::Error(
186
- ConvertToV8String(
187
- isolate,
188
- error)));
189
- canvas_native_string_destroy(
190
- error);
211
+ auto async_data = static_cast<PromiseCallback *>(data);
212
+ auto inner = async_data->inner_.get();
213
+ if (inner != nullptr) {
214
+ if(error != nullptr){
215
+ inner->data = new MapAsyncData {
216
+ type, error
217
+ };
191
218
  }
192
- delete static_cast<PromiseCallback *>(data);
219
+ async_data->execute(true);
193
220
  }
194
221
  }
195
222
  }, callback);
@@ -227,3 +254,24 @@ void GPUBufferImpl::GetMappedRange(const v8::FunctionCallbackInfo<v8::Value> &ar
227
254
  args.GetReturnValue().Set(ab);
228
255
  }
229
256
  }
257
+
258
+
259
+ void
260
+ GPUBufferImpl::GetLabel(v8::Local<v8::Name> name,
261
+ const v8::PropertyCallbackInfo<v8::Value> &info) {
262
+ auto ptr = GetPointer(info.This());
263
+ if (ptr != nullptr) {
264
+ auto label = canvas_native_webgpu_buffer_get_label(ptr->buffer_);
265
+ if (label == nullptr) {
266
+ info.GetReturnValue().SetEmptyString();
267
+ return;
268
+ }
269
+ info.GetReturnValue().Set(
270
+ ConvertToV8String(info.GetIsolate(), label)
271
+ );
272
+ canvas_native_string_destroy(label);
273
+ return;
274
+ }
275
+
276
+ info.GetReturnValue().SetEmptyString();
277
+ }
@@ -8,6 +8,7 @@
8
8
  #include "Helpers.h"
9
9
  #include "ObjectWrapperImpl.h"
10
10
 
11
+
11
12
  class GPUBufferImpl : ObjectWrapperImpl {
12
13
  public:
13
14
  explicit GPUBufferImpl(const CanvasGPUBuffer *buffer);
@@ -24,14 +25,14 @@ public:
24
25
 
25
26
  static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
26
27
 
27
- static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUBufferImpl *adapter) {
28
+ static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUBufferImpl *buffer) {
28
29
  auto context = isolate->GetCurrentContext();
29
30
  v8::EscapableHandleScope scope(isolate);
30
31
  auto object = GPUBufferImpl::GetCtor(isolate)->GetFunction(
31
32
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
32
- SetNativeType(object, NativeType::GPUBuffer);
33
- object->SetAlignedPointerInInternalField(0, adapter);
34
- adapter->BindFinalizer(isolate, object);
33
+ SetNativeType(buffer, NativeType::GPUBuffer);
34
+ object->SetAlignedPointerInInternalField(0, buffer);
35
+ buffer->BindFinalizer(isolate, object);
35
36
  return scope.Escape(object);
36
37
  }
37
38
 
@@ -50,6 +51,9 @@ public:
50
51
 
51
52
  static void GetMappedRange(const v8::FunctionCallbackInfo<v8::Value> &args);
52
53
 
54
+ static void GetLabel(v8::Local<v8::Name> name,
55
+ const v8::PropertyCallbackInfo<v8::Value> &info);
56
+
53
57
 
54
58
  private:
55
59
  const CanvasGPUBuffer *buffer_;
@@ -224,9 +224,14 @@ void GPUCanvasContextImpl::GetCurrentTexture(const v8::FunctionCallbackInfo<v8::
224
224
  auto texture = canvas_native_webgpu_context_get_current_texture(ctx);
225
225
 
226
226
  if (texture != nullptr) {
227
- auto textureImpl = new GPUTextureImpl(texture);
228
- auto ret = GPUTextureImpl::NewInstance(isolate, textureImpl);
229
- args.GetReturnValue().Set(ret);
227
+ if(canvas_native_webgpu_texture_get_status(texture) == SurfaceGetCurrentTextureStatusSuccess){
228
+ auto textureImpl = new GPUTextureImpl(texture);
229
+ auto ret = GPUTextureImpl::NewInstance(isolate, textureImpl);
230
+ args.GetReturnValue().Set(ret);
231
+ }else {
232
+ canvas_native_webgpu_texture_release(texture);
233
+ args.GetReturnValue().SetNull();
234
+ }
230
235
  return;
231
236
  }
232
237
 
@@ -270,7 +275,7 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
270
275
  auto formats = v8::Array::New(isolate, (int) formats_len);
271
276
  for (int i = 0; i < formats_len; i++) {
272
277
  auto format = canvas_native_string_buffer_get_value_at(cap->formats, i);
273
- formats->Set(context, i, ConvertToV8String(isolate, format));
278
+ formats->Set(context, i, ConvertToV8String(isolate, format)).FromJust();
274
279
  canvas_native_string_destroy(format);
275
280
  }
276
281
 
@@ -280,7 +285,7 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
280
285
 
281
286
  for (int i = 0; i < present_modes_len; i++) {
282
287
  auto mode = canvas_native_string_buffer_get_value_at(cap->present_modes, i);
283
- present_modes->Set(context, i, ConvertToV8String(isolate, mode));
288
+ present_modes->Set(context, i, ConvertToV8String(isolate, mode)).FromJust();
284
289
  canvas_native_string_destroy(mode);
285
290
  }
286
291
 
@@ -290,15 +295,15 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
290
295
 
291
296
  for (int i = 0; i < alpha_modes_len; i++) {
292
297
  auto mode = canvas_native_string_buffer_get_value_at(cap->alpha_modes, i);
293
- alpha_modes->Set(context, i, ConvertToV8String(isolate, mode));
298
+ alpha_modes->Set(context, i, ConvertToV8String(isolate, mode)).FromJust();
294
299
  canvas_native_string_destroy(mode);
295
300
  }
296
301
 
297
- ret->Set(context, ConvertToV8String(isolate, "format"), formats);
298
- ret->Set(context, ConvertToV8String(isolate, "presentModes"), present_modes);
299
- ret->Set(context, ConvertToV8String(isolate, "alphaModes"), alpha_modes);
302
+ ret->Set(context, ConvertToV8String(isolate, "format"), formats).FromJust();
303
+ ret->Set(context, ConvertToV8String(isolate, "presentModes"), present_modes).FromJust();
304
+ ret->Set(context, ConvertToV8String(isolate, "alphaModes"), alpha_modes).FromJust();
300
305
  ret->Set(context, ConvertToV8String(isolate, "usages"),
301
- v8::Uint32::NewFromUnsigned(isolate, cap->usages));
306
+ v8::Uint32::NewFromUnsigned(isolate, cap->usages)).FromJust();
302
307
 
303
308
  canvas_native_webgpu_struct_surface_capabilities_release(cap);
304
309
 
@@ -309,9 +314,9 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
309
314
 
310
315
  }
311
316
 
312
- ret->Set(context, ConvertToV8String(isolate, "format"), v8::Array::New(isolate));
313
- ret->Set(context, ConvertToV8String(isolate, "presentModes"), v8::Array::New(isolate));
314
- ret->Set(context, ConvertToV8String(isolate, "alphaModes"), v8::Array::New(isolate));
315
- ret->Set(context, ConvertToV8String(isolate, "usages"), v8::Uint32::New(isolate, 0));
317
+ ret->Set(context, ConvertToV8String(isolate, "format"), v8::Array::New(isolate)).FromJust();
318
+ ret->Set(context, ConvertToV8String(isolate, "presentModes"), v8::Array::New(isolate)).FromJust();
319
+ ret->Set(context, ConvertToV8String(isolate, "alphaModes"), v8::Array::New(isolate)).FromJust();
320
+ ret->Set(context, ConvertToV8String(isolate, "usages"), v8::Uint32::New(isolate, 0)).FromJust();
316
321
  args.GetReturnValue().Set(ret);
317
322
  }
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUCanvasContextImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUCanvasContext);
34
+ SetNativeType(ctx, NativeType::GPUCanvasContext);
35
35
  object->SetAlignedPointerInInternalField(0, ctx);
36
36
  ctx->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -5,7 +5,8 @@
5
5
  #include "GPUCommandBufferImpl.h"
6
6
  #include "Caches.h"
7
7
 
8
- GPUCommandBufferImpl::GPUCommandBufferImpl(const CanvasGPUCommandBuffer *commandBuffer) : commandBuffer_(
8
+ GPUCommandBufferImpl::GPUCommandBufferImpl(const CanvasGPUCommandBuffer *commandBuffer)
9
+ : commandBuffer_(
9
10
  commandBuffer) {}
10
11
 
11
12
  const CanvasGPUCommandBuffer *GPUCommandBufferImpl::GetGPUCommandBuffer() {
@@ -22,7 +23,7 @@ void GPUCommandBufferImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate
22
23
  auto context = isolate->GetCurrentContext();
23
24
  auto func = ctor->GetFunction(context).ToLocalChecked();
24
25
 
25
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandBuffer"), func).FromJust();;
26
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandBuffer"), func).FromJust();
26
27
  }
27
28
 
28
29
  GPUCommandBufferImpl *GPUCommandBufferImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -47,8 +48,34 @@ v8::Local<v8::FunctionTemplate> GPUCommandBufferImpl::GetCtor(v8::Isolate *isola
47
48
  auto tmpl = ctorTmpl->InstanceTemplate();
48
49
  tmpl->SetInternalFieldCount(2);
49
50
 
51
+ tmpl->SetLazyDataProperty(
52
+ ConvertToV8String(isolate, "label"),
53
+ GetLabel
54
+ );
55
+
50
56
 
51
57
  cache->GPUCommandBufferTmpl =
52
58
  std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
53
59
  return ctorTmpl;
54
60
  }
61
+
62
+
63
+ void
64
+ GPUCommandBufferImpl::GetLabel(v8::Local<v8::Name> name,
65
+ const v8::PropertyCallbackInfo<v8::Value> &info) {
66
+ auto ptr = GetPointer(info.This());
67
+ if (ptr != nullptr) {
68
+ auto label = canvas_native_webgpu_command_buffer_get_label(ptr->commandBuffer_);
69
+ if (label == nullptr) {
70
+ info.GetReturnValue().SetEmptyString();
71
+ return;
72
+ }
73
+ info.GetReturnValue().Set(
74
+ ConvertToV8String(info.GetIsolate(), label)
75
+ );
76
+ canvas_native_string_destroy(label);
77
+ return;
78
+ }
79
+
80
+ info.GetReturnValue().SetEmptyString();
81
+ }
@@ -31,12 +31,15 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUCommandBufferImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUCommandBuffer);
34
+ SetNativeType(commandBuffer, NativeType::GPUCommandBuffer);
35
35
  object->SetAlignedPointerInInternalField(0, commandBuffer);
36
36
  commandBuffer->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
38
38
  }
39
39
 
40
+ static void GetLabel(v8::Local<v8::Name> name,
41
+ const v8::PropertyCallbackInfo<v8::Value> &info);
42
+
40
43
  private:
41
44
  const CanvasGPUCommandBuffer *commandBuffer_;
42
45
  };