@nativescript/canvas 2.0.0-alpha.8 → 2.0.0-beta.0

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 (541) hide show
  1. package/Canvas/common.d.ts +213 -25
  2. package/Canvas/common.js +705 -452
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +10 -1
  5. package/Canvas/index.android.js +155 -52
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +8 -0
  8. package/Canvas/index.ios.d.ts +7 -4
  9. package/Canvas/index.ios.js +159 -106
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasGradient/index.d.ts +1 -3
  12. package/Canvas2D/CanvasGradient/index.js +1 -10
  13. package/Canvas2D/CanvasGradient/index.js.map +1 -1
  14. package/Canvas2D/CanvasPattern/index.d.ts +1 -3
  15. package/Canvas2D/CanvasPattern/index.js +1 -10
  16. package/Canvas2D/CanvasPattern/index.js.map +1 -1
  17. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +9 -5
  18. package/Canvas2D/CanvasRenderingContext2D/index.js +174 -245
  19. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  20. package/Canvas2D/DOMMatrix/index.js +3 -3
  21. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  22. package/Canvas2D/ImageData/index.js +6 -6
  23. package/Canvas2D/ImageData/index.js.map +1 -1
  24. package/Canvas2D/Path2D/index.d.ts +0 -2
  25. package/Canvas2D/Path2D/index.js +32 -42
  26. package/Canvas2D/Path2D/index.js.map +1 -1
  27. package/Dom/Paint.js +2 -3
  28. package/Dom/Paint.js.map +1 -1
  29. package/Dom/shapes/Circle.js +1 -2
  30. package/Dom/shapes/Circle.js.map +1 -1
  31. package/Dom/shapes/Points.js +1 -2
  32. package/Dom/shapes/Points.js.map +1 -1
  33. package/ImageAsset/index.d.ts +2 -2
  34. package/ImageAsset/index.js +33 -37
  35. package/ImageAsset/index.js.map +1 -1
  36. package/ImageBitmap/index.d.ts +0 -2
  37. package/ImageBitmap/index.js +47 -33
  38. package/ImageBitmap/index.js.map +1 -1
  39. package/LICENSE +201 -0
  40. package/SVG/SVG.js +1 -1
  41. package/SVG/SVG.js.map +1 -1
  42. package/TextDecoder/index.d.ts +0 -2
  43. package/TextDecoder/index.js +3 -12
  44. package/TextDecoder/index.js.map +1 -1
  45. package/TextEncoder/index.d.ts +0 -2
  46. package/TextEncoder/index.js +4 -13
  47. package/TextEncoder/index.js.map +1 -1
  48. package/WebGL/WebGLExtensions/index.d.ts +4 -12
  49. package/WebGL/WebGLExtensions/index.js +27 -77
  50. package/WebGL/WebGLExtensions/index.js.map +1 -1
  51. package/WebGL/WebGLProgram.d.ts +0 -1
  52. package/WebGL/WebGLProgram.js +0 -3
  53. package/WebGL/WebGLProgram.js.map +1 -1
  54. package/WebGL/WebGLRenderingContext/common.d.ts +1 -3
  55. package/WebGL/WebGLRenderingContext/common.js +3 -13
  56. package/WebGL/WebGLRenderingContext/common.js.map +1 -1
  57. package/WebGL/WebGLRenderingContext/index.d.ts +19 -17
  58. package/WebGL/WebGLRenderingContext/index.js +354 -728
  59. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  60. package/WebGL2/WebGL2RenderingContext/common.d.ts +2 -2
  61. package/WebGL2/WebGL2RenderingContext/common.js +2 -2
  62. package/WebGL2/WebGL2RenderingContext/common.js.map +1 -1
  63. package/WebGL2/WebGL2RenderingContext/index.d.ts +1 -1
  64. package/WebGL2/WebGL2RenderingContext/index.js +116 -285
  65. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  66. package/angular/esm2020/index.mjs +4 -4
  67. package/angular/fesm2015/nativescript-canvas-angular.mjs +4 -4
  68. package/angular/fesm2020/nativescript-canvas-angular.mjs +4 -4
  69. package/angular/package.json +2 -2
  70. package/index.js.map +1 -1
  71. package/package.json +3 -2
  72. package/platforms/android/canvas-release.aar +0 -0
  73. package/platforms/android/include.gradle +15 -0
  74. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  75. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +135 -68
  76. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +10 -0
  77. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +144 -0
  78. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2808 -68
  79. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  80. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  81. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +5677 -2409
  82. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +44 -25
  83. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  84. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +44 -25
  85. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  86. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  87. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +270 -136
  88. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +10 -0
  89. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +144 -0
  90. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2808 -68
  91. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  92. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  93. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  94. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +5677 -2409
  95. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +44 -25
  96. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  97. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +44 -25
  98. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +5677 -2409
  99. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +44 -25
  100. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  101. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +44 -25
  102. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +42 -31
  103. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  104. package/platforms/ios/Podfile +5 -2
  105. package/platforms/ios/build.xcconfig +3 -3
  106. package/platforms/ios/src/CanvasModule.h +0 -2
  107. package/platforms/ios/src/CanvasModule.mm +4 -4
  108. package/platforms/ios/src/NSOperationQueueWrapper.h +11 -0
  109. package/platforms/ios/src/NSOperationQueueWrapper.mm +74 -0
  110. package/platforms/ios/src/cpp/Caches.cpp +35 -0
  111. package/platforms/ios/src/cpp/Caches.h +190 -0
  112. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +1593 -0
  113. package/platforms/ios/src/cpp/CanvasJSIModule.h +16 -34
  114. package/platforms/ios/src/cpp/Common.h +30 -0
  115. package/platforms/ios/src/cpp/ConcurrentMap.h +54 -0
  116. package/platforms/ios/src/cpp/Helpers.h +336 -38
  117. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +802 -0
  118. package/platforms/ios/src/cpp/ImageAssetImpl.h +46 -12
  119. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +189 -0
  120. package/platforms/ios/src/cpp/ImageBitmapImpl.h +42 -16
  121. package/platforms/ios/src/cpp/JSICallback.h +83 -5
  122. package/platforms/ios/src/cpp/JSIReadFileCallback.h +86 -6
  123. package/platforms/ios/src/cpp/JSIRuntime.cpp +21 -0
  124. package/platforms/ios/src/cpp/JSIRuntime.h +7 -0
  125. package/platforms/ios/src/cpp/ObjectWrapperImpl.h +31 -0
  126. package/platforms/ios/src/cpp/OneByteStringResource.cpp +55 -0
  127. package/platforms/ios/src/cpp/OneByteStringResource.h +36 -0
  128. package/platforms/ios/src/cpp/PerIsolateData.cpp +49 -0
  129. package/platforms/ios/src/cpp/PerIsolateData.h +54 -0
  130. package/platforms/ios/src/cpp/RafImpl.cpp +8 -0
  131. package/platforms/ios/src/cpp/RafImpl.h +11 -8
  132. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +193 -0
  133. package/platforms/ios/src/cpp/TextDecoderImpl.h +23 -13
  134. package/platforms/ios/src/cpp/TextEncoderImpl.cpp +139 -0
  135. package/platforms/ios/src/cpp/TextEncoderImpl.h +21 -12
  136. package/platforms/ios/src/cpp/URLImpl.cpp +464 -0
  137. package/platforms/ios/src/cpp/URLImpl.h +121 -0
  138. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.cpp +71 -0
  139. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +29 -13
  140. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +89 -0
  141. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +49 -12
  142. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +2809 -0
  143. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +1331 -21
  144. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +207 -0
  145. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +27 -13
  146. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +807 -0
  147. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +173 -13
  148. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +499 -0
  149. package/platforms/ios/src/cpp/canvas2d/Path2D.h +422 -12
  150. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.cpp +253 -0
  151. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +51 -12
  152. package/platforms/ios/src/cpp/gl.h +57 -7
  153. package/platforms/ios/src/cpp/gl3stub.c +425 -0
  154. package/platforms/ios/src/cpp/gl3stub.h +665 -0
  155. package/platforms/ios/src/cpp/gles3jni.h +37 -0
  156. package/platforms/ios/src/cpp/include/robin_hood.h +2544 -0
  157. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.cpp +91 -0
  158. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +33 -13
  159. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +42 -7
  160. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +47 -11
  161. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +41 -6
  162. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +41 -7
  163. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +6845 -0
  164. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +3217 -388
  165. package/platforms/ios/src/cpp/webgl/{WebGLRenderingContextBase.mm → WebGLRenderingContextBase.cpp} +18 -17
  166. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +16 -36
  167. package/platforms/ios/src/cpp/webgl/WebGLShader.h +41 -7
  168. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.cpp +50 -0
  169. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +67 -12
  170. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +41 -7
  171. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +45 -9
  172. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.cpp +136 -0
  173. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +88 -12
  174. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.cpp +35 -0
  175. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +26 -6
  176. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.cpp +41 -0
  177. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +26 -6
  178. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.cpp +306 -0
  179. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +47 -13
  180. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +49 -6
  181. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +37 -15
  182. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +47 -6
  183. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +49 -6
  184. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +41 -16
  185. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +44 -6
  186. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +39 -16
  187. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +37 -16
  188. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +42 -6
  189. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +40 -16
  190. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.cpp +110 -0
  191. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +149 -14
  192. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +51 -8
  193. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +49 -6
  194. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +49 -8
  195. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +76 -6
  196. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +57 -6
  197. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +53 -6
  198. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +59 -6
  199. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +46 -6
  200. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.cpp +38 -0
  201. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +157 -14
  202. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.cpp +32 -0
  203. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +61 -13
  204. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +4564 -0
  205. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1790 -342
  206. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +41 -4
  207. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +42 -3
  208. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +45 -11
  209. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +43 -4
  210. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +44 -4
  211. package/platforms/ios/src/module.modulemap +1 -0
  212. package/{pods → src-native/ios}/NativeScript.podspec +12 -25
  213. package/typings/objc!CanvasNative.d.ts +2038 -0
  214. package/typings/objc!CanvasNative.js +1 -0
  215. package/typings/objc!CanvasNative.js.map +1 -0
  216. package/utils.d.ts +3 -1
  217. package/utils.js +7 -20
  218. package/utils.js.map +1 -1
  219. package/angular/nativescript-canvas-angular.d.ts +0 -5
  220. package/platforms/ios/src/cpp/CanvasJSIModule.mm +0 -1105
  221. package/platforms/ios/src/cpp/ImageAssetImpl.mm +0 -417
  222. package/platforms/ios/src/cpp/ImageBitmapImpl.mm +0 -126
  223. package/platforms/ios/src/cpp/RafImpl.mm +0 -10
  224. package/platforms/ios/src/cpp/TextDecoderImpl.mm +0 -97
  225. package/platforms/ios/src/cpp/TextEncoderImpl.mm +0 -60
  226. package/platforms/ios/src/cpp/VecMutableBuffer.h +0 -46
  227. package/platforms/ios/src/cpp/canvas-cxx/src/lib.rs.cc +0 -6156
  228. package/platforms/ios/src/cpp/canvas-cxx/src/lib.rs.h +0 -2867
  229. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.mm +0 -42
  230. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.mm +0 -49
  231. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.mm +0 -1972
  232. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.mm +0 -68
  233. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.mm +0 -149
  234. package/platforms/ios/src/cpp/canvas2d/Path2D.mm +0 -335
  235. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.mm +0 -68
  236. package/platforms/ios/src/cpp/rust/cxx.cc +0 -793
  237. package/platforms/ios/src/cpp/rust/cxx.h +0 -1111
  238. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.mm +0 -39
  239. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.mm +0 -5958
  240. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.mm +0 -40
  241. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.mm +0 -108
  242. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.mm +0 -28
  243. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.mm +0 -42
  244. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.mm +0 -295
  245. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.mm +0 -40
  246. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.mm +0 -37
  247. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.mm +0 -28
  248. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.mm +0 -31
  249. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.mm +0 -28
  250. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.mm +0 -127
  251. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.mm +0 -45
  252. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.mm +0 -45
  253. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.mm +0 -31
  254. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.mm +0 -70
  255. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.mm +0 -47
  256. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.mm +0 -46
  257. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.mm +0 -49
  258. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.mm +0 -30
  259. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.mm +0 -177
  260. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.mm +0 -64
  261. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.mm +0 -4556
  262. package/pods/Headers/jsi/decorator.h +0 -770
  263. package/pods/Headers/jsi/instrumentation.h +0 -117
  264. package/pods/Headers/jsi/jsi-inl.h +0 -338
  265. package/pods/Headers/jsi/jsi.h +0 -1571
  266. package/pods/Headers/jsi/jsilib.h +0 -59
  267. package/pods/Headers/jsi/threadsafe.h +0 -79
  268. package/pods/Headers/v8runtime/HostProxy.h +0 -71
  269. package/pods/Headers/v8runtime/JSIV8ValueConverter.h +0 -74
  270. package/pods/Headers/v8runtime/V8PointerValue.h +0 -44
  271. package/pods/Headers/v8runtime/V8Runtime.h +0 -240
  272. package/pods/Headers/v8runtime/V8RuntimeConfig.h +0 -26
  273. package/pods/Headers/v8runtime/V8RuntimeFactory.h +0 -21
  274. /package/platforms/ios/src/cpp/{OnRafCallback.mm → OnRafCallback.cpp} +0 -0
  275. /package/{pods → src-native/ios}/Headers/include/APIDesign.md +0 -0
  276. /package/{pods → src-native/ios}/Headers/include/DEPS +0 -0
  277. /package/{pods → src-native/ios}/Headers/include/DIR_METADATA +0 -0
  278. /package/{pods → src-native/ios}/Headers/include/OWNERS +0 -0
  279. /package/{pods → src-native/ios}/Headers/include/cppgc/DEPS +0 -0
  280. /package/{pods → src-native/ios}/Headers/include/cppgc/OWNERS +0 -0
  281. /package/{pods → src-native/ios}/Headers/include/cppgc/README.md +0 -0
  282. /package/{pods → src-native/ios}/Headers/include/cppgc/allocation.h +0 -0
  283. /package/{pods → src-native/ios}/Headers/include/cppgc/common.h +0 -0
  284. /package/{pods → src-native/ios}/Headers/include/cppgc/cross-thread-persistent.h +0 -0
  285. /package/{pods → src-native/ios}/Headers/include/cppgc/custom-space.h +0 -0
  286. /package/{pods → src-native/ios}/Headers/include/cppgc/default-platform.h +0 -0
  287. /package/{pods → src-native/ios}/Headers/include/cppgc/ephemeron-pair.h +0 -0
  288. /package/{pods → src-native/ios}/Headers/include/cppgc/explicit-management.h +0 -0
  289. /package/{pods → src-native/ios}/Headers/include/cppgc/garbage-collected.h +0 -0
  290. /package/{pods → src-native/ios}/Headers/include/cppgc/heap-consistency.h +0 -0
  291. /package/{pods → src-native/ios}/Headers/include/cppgc/heap-state.h +0 -0
  292. /package/{pods → src-native/ios}/Headers/include/cppgc/heap-statistics.h +0 -0
  293. /package/{pods → src-native/ios}/Headers/include/cppgc/heap.h +0 -0
  294. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/api-constants.h +0 -0
  295. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/atomic-entry-flag.h +0 -0
  296. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/caged-heap-local-data.h +0 -0
  297. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/compiler-specific.h +0 -0
  298. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/finalizer-trait.h +0 -0
  299. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/gc-info.h +0 -0
  300. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/logging.h +0 -0
  301. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/name-trait.h +0 -0
  302. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/persistent-node.h +0 -0
  303. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/pointer-policies.h +0 -0
  304. /package/{pods → src-native/ios}/Headers/include/cppgc/internal/write-barrier.h +0 -0
  305. /package/{pods → src-native/ios}/Headers/include/cppgc/liveness-broker.h +0 -0
  306. /package/{pods → src-native/ios}/Headers/include/cppgc/macros.h +0 -0
  307. /package/{pods → src-native/ios}/Headers/include/cppgc/member.h +0 -0
  308. /package/{pods → src-native/ios}/Headers/include/cppgc/name-provider.h +0 -0
  309. /package/{pods → src-native/ios}/Headers/include/cppgc/object-size-trait.h +0 -0
  310. /package/{pods → src-native/ios}/Headers/include/cppgc/persistent.h +0 -0
  311. /package/{pods → src-native/ios}/Headers/include/cppgc/platform.h +0 -0
  312. /package/{pods → src-native/ios}/Headers/include/cppgc/prefinalizer.h +0 -0
  313. /package/{pods → src-native/ios}/Headers/include/cppgc/process-heap-statistics.h +0 -0
  314. /package/{pods → src-native/ios}/Headers/include/cppgc/sentinel-pointer.h +0 -0
  315. /package/{pods → src-native/ios}/Headers/include/cppgc/source-location.h +0 -0
  316. /package/{pods → src-native/ios}/Headers/include/cppgc/testing.h +0 -0
  317. /package/{pods → src-native/ios}/Headers/include/cppgc/trace-trait.h +0 -0
  318. /package/{pods → src-native/ios}/Headers/include/cppgc/type-traits.h +0 -0
  319. /package/{pods → src-native/ios}/Headers/include/cppgc/visitor.h +0 -0
  320. /package/{pods → src-native/ios}/Headers/include/js_protocol-1.2.json +0 -0
  321. /package/{pods → src-native/ios}/Headers/include/js_protocol-1.3.json +0 -0
  322. /package/{pods → src-native/ios}/Headers/include/js_protocol.pdl +0 -0
  323. /package/{pods → src-native/ios}/Headers/include/libffi/arm64/ffi.h +0 -0
  324. /package/{pods → src-native/ios}/Headers/include/libffi/arm64/ffitarget.h +0 -0
  325. /package/{pods → src-native/ios}/Headers/include/libffi/x86_64/ffi.h +0 -0
  326. /package/{pods → src-native/ios}/Headers/include/libffi/x86_64/ffitarget.h +0 -0
  327. /package/{pods → src-native/ios}/Headers/include/libffi.h +0 -0
  328. /package/{pods → src-native/ios}/Headers/include/libplatform/DEPS +0 -0
  329. /package/{pods → src-native/ios}/Headers/include/libplatform/libplatform-export.h +0 -0
  330. /package/{pods → src-native/ios}/Headers/include/libplatform/libplatform.h +0 -0
  331. /package/{pods → src-native/ios}/Headers/include/libplatform/v8-tracing.h +0 -0
  332. /package/{pods → src-native/ios}/Headers/include/v8-array-buffer.h +0 -0
  333. /package/{pods → src-native/ios}/Headers/include/v8-callbacks.h +0 -0
  334. /package/{pods → src-native/ios}/Headers/include/v8-container.h +0 -0
  335. /package/{pods → src-native/ios}/Headers/include/v8-context.h +0 -0
  336. /package/{pods → src-native/ios}/Headers/include/v8-cppgc.h +0 -0
  337. /package/{pods → src-native/ios}/Headers/include/v8-data.h +0 -0
  338. /package/{pods → src-native/ios}/Headers/include/v8-date.h +0 -0
  339. /package/{pods → src-native/ios}/Headers/include/v8-debug.h +0 -0
  340. /package/{pods → src-native/ios}/Headers/include/v8-embedder-heap.h +0 -0
  341. /package/{pods → src-native/ios}/Headers/include/v8-embedder-state-scope.h +0 -0
  342. /package/{pods → src-native/ios}/Headers/include/v8-exception.h +0 -0
  343. /package/{pods → src-native/ios}/Headers/include/v8-extension.h +0 -0
  344. /package/{pods → src-native/ios}/Headers/include/v8-external.h +0 -0
  345. /package/{pods → src-native/ios}/Headers/include/v8-fast-api-calls.h +0 -0
  346. /package/{pods → src-native/ios}/Headers/include/v8-forward.h +0 -0
  347. /package/{pods → src-native/ios}/Headers/include/v8-function-callback.h +0 -0
  348. /package/{pods → src-native/ios}/Headers/include/v8-function.h +0 -0
  349. /package/{pods → src-native/ios}/Headers/include/v8-initialization.h +0 -0
  350. /package/{pods → src-native/ios}/Headers/include/v8-inspector-protocol.h +0 -0
  351. /package/{pods → src-native/ios}/Headers/include/v8-inspector.h +0 -0
  352. /package/{pods → src-native/ios}/Headers/include/v8-internal.h +0 -0
  353. /package/{pods → src-native/ios}/Headers/include/v8-isolate.h +0 -0
  354. /package/{pods → src-native/ios}/Headers/include/v8-json.h +0 -0
  355. /package/{pods → src-native/ios}/Headers/include/v8-local-handle.h +0 -0
  356. /package/{pods → src-native/ios}/Headers/include/v8-locker.h +0 -0
  357. /package/{pods → src-native/ios}/Headers/include/v8-maybe.h +0 -0
  358. /package/{pods → src-native/ios}/Headers/include/v8-memory-span.h +0 -0
  359. /package/{pods → src-native/ios}/Headers/include/v8-message.h +0 -0
  360. /package/{pods → src-native/ios}/Headers/include/v8-metrics.h +0 -0
  361. /package/{pods → src-native/ios}/Headers/include/v8-microtask-queue.h +0 -0
  362. /package/{pods → src-native/ios}/Headers/include/v8-microtask.h +0 -0
  363. /package/{pods → src-native/ios}/Headers/include/v8-object.h +0 -0
  364. /package/{pods → src-native/ios}/Headers/include/v8-persistent-handle.h +0 -0
  365. /package/{pods → src-native/ios}/Headers/include/v8-platform.h +0 -0
  366. /package/{pods → src-native/ios}/Headers/include/v8-primitive-object.h +0 -0
  367. /package/{pods → src-native/ios}/Headers/include/v8-primitive.h +0 -0
  368. /package/{pods → src-native/ios}/Headers/include/v8-profiler.h +0 -0
  369. /package/{pods → src-native/ios}/Headers/include/v8-promise.h +0 -0
  370. /package/{pods → src-native/ios}/Headers/include/v8-proxy.h +0 -0
  371. /package/{pods → src-native/ios}/Headers/include/v8-regexp.h +0 -0
  372. /package/{pods → src-native/ios}/Headers/include/v8-script.h +0 -0
  373. /package/{pods → src-native/ios}/Headers/include/v8-snapshot.h +0 -0
  374. /package/{pods → src-native/ios}/Headers/include/v8-statistics.h +0 -0
  375. /package/{pods → src-native/ios}/Headers/include/v8-template.h +0 -0
  376. /package/{pods → src-native/ios}/Headers/include/v8-traced-handle.h +0 -0
  377. /package/{pods → src-native/ios}/Headers/include/v8-typed-array.h +0 -0
  378. /package/{pods → src-native/ios}/Headers/include/v8-unwinder-state.h +0 -0
  379. /package/{pods → src-native/ios}/Headers/include/v8-unwinder.h +0 -0
  380. /package/{pods → src-native/ios}/Headers/include/v8-util.h +0 -0
  381. /package/{pods → src-native/ios}/Headers/include/v8-value-serializer-version.h +0 -0
  382. /package/{pods → src-native/ios}/Headers/include/v8-value-serializer.h +0 -0
  383. /package/{pods → src-native/ios}/Headers/include/v8-value.h +0 -0
  384. /package/{pods → src-native/ios}/Headers/include/v8-version-string.h +0 -0
  385. /package/{pods → src-native/ios}/Headers/include/v8-version.h +0 -0
  386. /package/{pods → src-native/ios}/Headers/include/v8-wasm-trap-handler-posix.h +0 -0
  387. /package/{pods → src-native/ios}/Headers/include/v8-wasm-trap-handler-win.h +0 -0
  388. /package/{pods → src-native/ios}/Headers/include/v8-wasm.h +0 -0
  389. /package/{pods → src-native/ios}/Headers/include/v8-weak-callback-info.h +0 -0
  390. /package/{pods → src-native/ios}/Headers/include/v8.h +0 -0
  391. /package/{pods → src-native/ios}/Headers/include/v8config.h +0 -0
  392. /package/{pods → src-native/ios}/Headers/inspector/InspectorServer.h +0 -0
  393. /package/{pods → src-native/ios}/Headers/inspector/JsV8InspectorClient.h +0 -0
  394. /package/{pods → src-native/ios}/Headers/inspector/base/trace_event/common/trace_event_common.h +0 -0
  395. /package/{pods → src-native/ios}/Headers/inspector/base64.h +0 -0
  396. /package/{pods → src-native/ios}/Headers/inspector/src/base/address-region.h +0 -0
  397. /package/{pods → src-native/ios}/Headers/inspector/src/base/atomic-utils.h +0 -0
  398. /package/{pods → src-native/ios}/Headers/inspector/src/base/atomicops.h +0 -0
  399. /package/{pods → src-native/ios}/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +0 -0
  400. /package/{pods → src-native/ios}/Headers/inspector/src/base/base-export.h +0 -0
  401. /package/{pods → src-native/ios}/Headers/inspector/src/base/bits.h +0 -0
  402. /package/{pods → src-native/ios}/Headers/inspector/src/base/build_config.h +0 -0
  403. /package/{pods → src-native/ios}/Headers/inspector/src/base/compiler-specific.h +0 -0
  404. /package/{pods → src-native/ios}/Headers/inspector/src/base/export-template.h +0 -0
  405. /package/{pods → src-native/ios}/Headers/inspector/src/base/flags.h +0 -0
  406. /package/{pods → src-native/ios}/Headers/inspector/src/base/immediate-crash.h +0 -0
  407. /package/{pods → src-native/ios}/Headers/inspector/src/base/lazy-instance.h +0 -0
  408. /package/{pods → src-native/ios}/Headers/inspector/src/base/logging.h +0 -0
  409. /package/{pods → src-native/ios}/Headers/inspector/src/base/macros.h +0 -0
  410. /package/{pods → src-native/ios}/Headers/inspector/src/base/memory.h +0 -0
  411. /package/{pods → src-native/ios}/Headers/inspector/src/base/once.h +0 -0
  412. /package/{pods → src-native/ios}/Headers/inspector/src/base/optional.h +0 -0
  413. /package/{pods → src-native/ios}/Headers/inspector/src/base/platform/mutex.h +0 -0
  414. /package/{pods → src-native/ios}/Headers/inspector/src/base/platform/platform.h +0 -0
  415. /package/{pods → src-native/ios}/Headers/inspector/src/base/platform/semaphore.h +0 -0
  416. /package/{pods → src-native/ios}/Headers/inspector/src/base/platform/v8-time.h +0 -0
  417. /package/{pods → src-native/ios}/Headers/inspector/src/base/platform/wrappers.h +0 -0
  418. /package/{pods → src-native/ios}/Headers/inspector/src/base/safe_conversions.h +0 -0
  419. /package/{pods → src-native/ios}/Headers/inspector/src/base/safe_conversions_impl.h +0 -0
  420. /package/{pods → src-native/ios}/Headers/inspector/src/base/template-utils.h +0 -0
  421. /package/{pods → src-native/ios}/Headers/inspector/src/base/v8-fallthrough.h +0 -0
  422. /package/{pods → src-native/ios}/Headers/inspector/src/common/checks.h +0 -0
  423. /package/{pods → src-native/ios}/Headers/inspector/src/common/globals.h +0 -0
  424. /package/{pods → src-native/ios}/Headers/inspector/src/debug/debug-interface.h +0 -0
  425. /package/{pods → src-native/ios}/Headers/inspector/src/debug/interface-types.h +0 -0
  426. /package/{pods → src-native/ios}/Headers/inspector/src/init/v8.h +0 -0
  427. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/custom-preview.h +0 -0
  428. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/injected-script.h +0 -0
  429. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/inspected-context.h +0 -0
  430. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/CSS.h +0 -0
  431. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Console.h +0 -0
  432. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/DOM.h +0 -0
  433. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Debugger.h +0 -0
  434. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Forward.h +0 -0
  435. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/HeapProfiler.h +0 -0
  436. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Log.h +0 -0
  437. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Network.h +0 -0
  438. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Overlay.h +0 -0
  439. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Page.h +0 -0
  440. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Profiler.h +0 -0
  441. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Protocol.h +0 -0
  442. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Runtime.h +0 -0
  443. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Schema.h +0 -0
  444. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/protocol/Security.h +0 -0
  445. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/remote-object-id.h +0 -0
  446. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/search-util.h +0 -0
  447. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/string-16.h +0 -0
  448. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/string-util.h +0 -0
  449. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-console-agent-impl.h +0 -0
  450. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-console-message.h +0 -0
  451. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-console.h +0 -0
  452. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-css-agent-impl.h +0 -0
  453. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +0 -0
  454. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-debugger-id.h +0 -0
  455. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-debugger-script.h +0 -0
  456. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-debugger.h +0 -0
  457. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-dom-agent-impl.h +0 -0
  458. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +0 -0
  459. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-inspector-impl.h +0 -0
  460. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-inspector-session-impl.h +0 -0
  461. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-log-agent-impl.h +0 -0
  462. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-network-agent-impl.h +0 -0
  463. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +0 -0
  464. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +0 -0
  465. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-page-agent-impl.h +0 -0
  466. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +0 -0
  467. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-regex.h +0 -0
  468. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +0 -0
  469. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-schema-agent-impl.h +0 -0
  470. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-stack-trace-impl.h +0 -0
  471. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-string-conversions.h +0 -0
  472. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/v8-value-utils.h +0 -0
  473. /package/{pods → src-native/ios}/Headers/inspector/src/inspector/value-mirror.h +0 -0
  474. /package/{pods → src-native/ios}/Headers/inspector/src/libplatform/default-platform.h +0 -0
  475. /package/{pods → src-native/ios}/Headers/inspector/src/logging/tracing-flags.h +0 -0
  476. /package/{pods → src-native/ios}/Headers/inspector/src/numbers/conversions.h +0 -0
  477. /package/{pods → src-native/ios}/Headers/inspector/src/tracing/trace-event.h +0 -0
  478. /package/{pods → src-native/ios}/Headers/inspector/src/utils/allocation.h +0 -0
  479. /package/{pods → src-native/ios}/Headers/inspector/src/utils/vector.h +0 -0
  480. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +0 -0
  481. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +0 -0
  482. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +0 -0
  483. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +0 -0
  484. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +0 -0
  485. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +0 -0
  486. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +0 -0
  487. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +0 -0
  488. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +0 -0
  489. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +0 -0
  490. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +0 -0
  491. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +0 -0
  492. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +0 -0
  493. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +0 -0
  494. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +0 -0
  495. /package/{pods → src-native/ios}/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +0 -0
  496. /package/{pods → src-native/ios}/Headers/inspector/utils.h +0 -0
  497. /package/{pods → src-native/ios}/Headers/inspector/v8-inspector-platform.h +0 -0
  498. /package/{pods → src-native/ios}/Headers/runtime/ArgConverter.h +0 -0
  499. /package/{pods → src-native/ios}/Headers/runtime/ArrayAdapter.h +0 -0
  500. /package/{pods → src-native/ios}/Headers/runtime/Caches.h +0 -0
  501. /package/{pods → src-native/ios}/Headers/runtime/ClassBuilder.h +0 -0
  502. /package/{pods → src-native/ios}/Headers/runtime/Common.h +0 -0
  503. /package/{pods → src-native/ios}/Headers/runtime/ConcurrentMap.h +0 -0
  504. /package/{pods → src-native/ios}/Headers/runtime/ConcurrentQueue.h +0 -0
  505. /package/{pods → src-native/ios}/Headers/runtime/Console.h +0 -0
  506. /package/{pods → src-native/ios}/Headers/runtime/Constants.h +0 -0
  507. /package/{pods → src-native/ios}/Headers/runtime/DataWrapper.h +0 -0
  508. /package/{pods → src-native/ios}/Headers/runtime/DictionaryAdapter.h +0 -0
  509. /package/{pods → src-native/ios}/Headers/runtime/ExtVector.h +0 -0
  510. /package/{pods → src-native/ios}/Headers/runtime/FFICall.h +0 -0
  511. /package/{pods → src-native/ios}/Headers/runtime/FastEnumerationAdapter.h +0 -0
  512. /package/{pods → src-native/ios}/Headers/runtime/FunctionReference.h +0 -0
  513. /package/{pods → src-native/ios}/Headers/runtime/Helpers.h +0 -0
  514. /package/{pods → src-native/ios}/Headers/runtime/InlineFunctions.h +0 -0
  515. /package/{pods → src-native/ios}/Headers/runtime/Interop.h +0 -0
  516. /package/{pods → src-native/ios}/Headers/runtime/KnownUnknownClassPair.h +0 -0
  517. /package/{pods → src-native/ios}/Headers/runtime/Metadata.h +0 -0
  518. /package/{pods → src-native/ios}/Headers/runtime/MetadataBuilder.h +0 -0
  519. /package/{pods → src-native/ios}/Headers/runtime/MetadataInlines.h +0 -0
  520. /package/{pods → src-native/ios}/Headers/runtime/ModuleInternal.h +0 -0
  521. /package/{pods → src-native/ios}/Headers/runtime/NSDataAdapter.h +0 -0
  522. /package/{pods → src-native/ios}/Headers/runtime/NativeScriptException.h +0 -0
  523. /package/{pods → src-native/ios}/Headers/runtime/ObjectManager.h +0 -0
  524. /package/{pods → src-native/ios}/Headers/runtime/OneByteStringResource.h +0 -0
  525. /package/{pods → src-native/ios}/Headers/runtime/Pointer.h +0 -0
  526. /package/{pods → src-native/ios}/Headers/runtime/PromiseProxy.h +0 -0
  527. /package/{pods → src-native/ios}/Headers/runtime/Reference.h +0 -0
  528. /package/{pods → src-native/ios}/Headers/runtime/Runtime.h +0 -0
  529. /package/{pods → src-native/ios}/Headers/runtime/RuntimeConfig.h +0 -0
  530. /package/{pods → src-native/ios}/Headers/runtime/SetTimeout.h +0 -0
  531. /package/{pods → src-native/ios}/Headers/runtime/SimpleAllocator.h +0 -0
  532. /package/{pods → src-native/ios}/Headers/runtime/StringHasher.h +0 -0
  533. /package/{pods → src-native/ios}/Headers/runtime/SymbolIterator.h +0 -0
  534. /package/{pods → src-native/ios}/Headers/runtime/SymbolLoader.h +0 -0
  535. /package/{pods → src-native/ios}/Headers/runtime/TNSDerivedClass.h +0 -0
  536. /package/{pods → src-native/ios}/Headers/runtime/TSHelpers.h +0 -0
  537. /package/{pods → src-native/ios}/Headers/runtime/Tasks.h +0 -0
  538. /package/{pods → src-native/ios}/Headers/runtime/UnmanagedType.h +0 -0
  539. /package/{pods → src-native/ios}/Headers/runtime/WeakRef.h +0 -0
  540. /package/{pods → src-native/ios}/Headers/runtime/Worker.h +0 -0
  541. /package/{pods → src-native/ios}/Headers/runtime/robin_hood.h +0 -0
@@ -1,4556 +0,0 @@
1
- //
2
- // Created by Osei Fortune on 22/03/2022.
3
- //
4
-
5
- #include "WebGL2RenderingContext.h"
6
-
7
- WebGL2RenderingContext::WebGL2RenderingContext(rust::Box<WebGLState> state) : WebGLRenderingContext(
8
- std::move(state), WebGLRenderingVersion::V2) {
9
- }
10
-
11
-
12
- WebGL2RenderingContext::WebGL2RenderingContext(rust::Box<WebGLState> state,
13
- WebGLRenderingVersion version)
14
- : WebGLRenderingContext(std::move(state), version) {
15
-
16
- }
17
-
18
-
19
- std::vector<jsi::PropNameID> WebGL2RenderingContext::getPropertyNames(jsi::Runtime &rt) {
20
- std::vector<jsi::PropNameID> ret;
21
-
22
- // gl2 + gl1 props
23
- ret.reserve(353 + 434);
24
-
25
- // 351
26
- ret.push_back(jsi::PropNameID::forAscii(rt, "beginQuery"));
27
- ret.push_back(jsi::PropNameID::forAscii(rt, "beginTransformFeedback"));
28
- ret.push_back(jsi::PropNameID::forAscii(rt, "bindBufferBase"));
29
- ret.push_back(jsi::PropNameID::forAscii(rt, "bindBufferRange"));
30
- ret.push_back(jsi::PropNameID::forAscii(rt, "bindSampler"));
31
- ret.push_back(jsi::PropNameID::forAscii(rt, "bindTransformFeedback"));
32
- ret.push_back(jsi::PropNameID::forAscii(rt, "bindVertexArray"));
33
- ret.push_back(jsi::PropNameID::forAscii(rt, "blitFramebuffer"));
34
- ret.push_back(jsi::PropNameID::forAscii(rt, "clearBufferfi"));
35
- ret.push_back(jsi::PropNameID::forAscii(rt, "clearBufferfv"));
36
- ret.push_back(jsi::PropNameID::forAscii(rt, "clearBufferiv"));
37
- ret.push_back(jsi::PropNameID::forAscii(rt, "clearBufferuiv"));
38
- ret.push_back(jsi::PropNameID::forAscii(rt, "clientWaitSync"));
39
- ret.push_back(jsi::PropNameID::forAscii(rt, "compressedTexSubImage3D"));
40
- ret.push_back(jsi::PropNameID::forAscii(rt, "copyBufferSubData"));
41
- ret.push_back(jsi::PropNameID::forAscii(rt, "copyTexSubImage3D"));
42
- ret.push_back(jsi::PropNameID::forAscii(rt, "createQuery"));
43
- ret.push_back(jsi::PropNameID::forAscii(rt, "createSampler"));
44
- ret.push_back(jsi::PropNameID::forAscii(rt, "createTransformFeedback"));
45
- ret.push_back(jsi::PropNameID::forAscii(rt, "createVertexArray"));
46
- ret.push_back(jsi::PropNameID::forAscii(rt, "deleteQuery"));
47
- ret.push_back(jsi::PropNameID::forAscii(rt, "deleteSampler"));
48
- ret.push_back(jsi::PropNameID::forAscii(rt, "deleteSync"));
49
- ret.push_back(jsi::PropNameID::forAscii(rt, "deleteTransformFeedback"));
50
- ret.push_back(jsi::PropNameID::forAscii(rt, "deleteVertexArray"));
51
- ret.push_back(jsi::PropNameID::forAscii(rt, "drawArraysInstanced"));
52
- ret.push_back(jsi::PropNameID::forAscii(rt, "drawBuffers"));
53
- ret.push_back(jsi::PropNameID::forAscii(rt, "drawElementsInstanced"));
54
- ret.push_back(jsi::PropNameID::forAscii(rt, "drawRangeElements"));
55
- ret.push_back(jsi::PropNameID::forAscii(rt, "endQuery"));
56
- ret.push_back(jsi::PropNameID::forAscii(rt, "endTransformFeedback"));
57
- ret.push_back(jsi::PropNameID::forAscii(rt, "fenceSync"));
58
- ret.push_back(jsi::PropNameID::forAscii(rt, "framebufferTextureLayer"));
59
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform1ui"));
60
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform1uiv"));
61
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform2ui"));
62
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform2uiv"));
63
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform3ui"));
64
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform3uiv"));
65
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform4ui"));
66
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniform4uiv"));
67
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniformBlockBinding"));
68
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniformMatrix2x3fv"));
69
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniformMatrix2x4fv"));
70
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniformMatrix3x2fv"));
71
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniformMatrix3x4fv"));
72
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniformMatrix4x2fv"));
73
- ret.push_back(jsi::PropNameID::forAscii(rt, "uniformMatrix4x3fv"));
74
- ret.push_back(jsi::PropNameID::forAscii(rt, "vertexAttribDivisor"));
75
- ret.push_back(jsi::PropNameID::forAscii(rt, "vertexAttribI4i"));
76
- ret.push_back(jsi::PropNameID::forAscii(rt, "vertexAttribI4iv"));
77
- ret.push_back(jsi::PropNameID::forAscii(rt, "vertexAttribI4ui"));
78
- ret.push_back(jsi::PropNameID::forAscii(rt, "vertexAttribI4uiv"));
79
- ret.push_back(jsi::PropNameID::forAscii(rt, "getActiveUniformBlockName"));
80
- ret.push_back(jsi::PropNameID::forAscii(rt, "getActiveUniformBlockParameter"));
81
- ret.push_back(jsi::PropNameID::forAscii(rt, "getActiveUniforms"));
82
- ret.push_back(jsi::PropNameID::forAscii(rt, "getBufferSubData"));
83
- ret.push_back(jsi::PropNameID::forAscii(rt, "getFragDataLocation"));
84
- ret.push_back(jsi::PropNameID::forAscii(rt, "getIndexedParameter"));
85
- ret.push_back(jsi::PropNameID::forAscii(rt, "getInternalformatParameter"));
86
- ret.push_back(jsi::PropNameID::forAscii(rt, "getParameter"));
87
- ret.push_back(jsi::PropNameID::forAscii(rt, "getQueryParameter"));
88
- ret.push_back(jsi::PropNameID::forAscii(rt, "getQuery"));
89
- ret.push_back(jsi::PropNameID::forAscii(rt, "getSamplerParameter"));
90
- ret.push_back(jsi::PropNameID::forAscii(rt, "getSyncParameter"));
91
- ret.push_back(jsi::PropNameID::forAscii(rt, "getTransformFeedbackVarying"));
92
- ret.push_back(jsi::PropNameID::forAscii(rt, "getUniformBlockIndex"));
93
- ret.push_back(jsi::PropNameID::forAscii(rt, "getUniformIndices"));
94
- ret.push_back(jsi::PropNameID::forAscii(rt, "invalidateFramebuffer"));
95
- ret.push_back(jsi::PropNameID::forAscii(rt, "invalidateSubFramebuffer"));
96
- ret.push_back(jsi::PropNameID::forAscii(rt, "isQuery"));
97
- ret.push_back(jsi::PropNameID::forAscii(rt, "isSampler"));
98
- ret.push_back(jsi::PropNameID::forAscii(rt, "isSync"));
99
- ret.push_back(jsi::PropNameID::forAscii(rt, "isTransformFeedback"));
100
- ret.push_back(jsi::PropNameID::forAscii(rt, "isVertexArray"));
101
- ret.push_back(jsi::PropNameID::forAscii(rt, "pauseTransformFeedback"));
102
- ret.push_back(jsi::PropNameID::forAscii(rt, "readBuffer"));
103
- ret.push_back(jsi::PropNameID::forAscii(rt, "renderbufferStorageMultisample"));
104
- ret.push_back(jsi::PropNameID::forAscii(rt, "resumeTransformFeedback"));
105
- ret.push_back(jsi::PropNameID::forAscii(rt, "samplerParameterf"));
106
- ret.push_back(jsi::PropNameID::forAscii(rt, "samplerParameteri"));
107
- ret.push_back(jsi::PropNameID::forAscii(rt, "texImage3D"));
108
- ret.push_back(jsi::PropNameID::forAscii(rt, "texStorage2D"));
109
- ret.push_back(jsi::PropNameID::forAscii(rt, "texStorage3D"));
110
- ret.push_back(jsi::PropNameID::forAscii(rt, "texSubImage3D"));
111
- ret.push_back(jsi::PropNameID::forAscii(rt, "transformFeedbackVaryings"));
112
-
113
-
114
- ret.push_back(jsi::PropNameID::forAscii(rt, "READ_BUFFER"));
115
-
116
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNPACK_ROW_LENGTH"));
117
-
118
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNPACK_SKIP_ROWS"));
119
-
120
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNPACK_SKIP_PIXELS"));
121
-
122
- ret.push_back(jsi::PropNameID::forAscii(rt, "PACK_ROW_LENGTH"));
123
-
124
- ret.push_back(jsi::PropNameID::forAscii(rt, "PACK_SKIP_ROWS"));
125
-
126
- ret.push_back(jsi::PropNameID::forAscii(rt, "PACK_SKIP_PIXELS"));
127
-
128
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_BINDING_3D"));
129
-
130
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNPACK_SKIP_IMAGES"));
131
-
132
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNPACK_IMAGE_HEIGHT"));
133
-
134
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_3D_TEXTURE_SIZE"));
135
-
136
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_ELEMENTS_VERTICES"));
137
-
138
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_ELEMENTS_INDICES"));
139
-
140
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_TEXTURE_LOD_BIAS"));
141
-
142
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_FRAGMENT_UNIFORM_COMPONENTS"));
143
-
144
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_VERTEX_UNIFORM_COMPONENTS"));
145
-
146
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_ARRAY_TEXTURE_LAYERS"));
147
-
148
- ret.push_back(jsi::PropNameID::forAscii(rt, "MIN_PROGRAM_TEXEL_OFFSET"));
149
-
150
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_PROGRAM_TEXEL_OFFSET"));
151
-
152
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_VARYING_COMPONENTS"));
153
-
154
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAGMENT_SHADER_DERIVATIVE_HINT"));
155
-
156
- ret.push_back(jsi::PropNameID::forAscii(rt, "RASTERIZER_DISCARD"));
157
-
158
- ret.push_back(jsi::PropNameID::forAscii(rt, "VERTEX_ARRAY_BINDING"));
159
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_VERTEX_OUTPUT_COMPONENTS"));
160
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_FRAGMENT_INPUT_COMPONENTS"));
161
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_SERVER_WAIT_TIMEOUT"));
162
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_ELEMENT_INDEX"));
163
-
164
- ret.push_back(jsi::PropNameID::forAscii(rt, "RED"));
165
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB8"));
166
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA8"));
167
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB10_A2"));
168
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_3D"));
169
-
170
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_WRAP_R"));
171
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_MIN_LOD"));
172
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_MAX_LOD"));
173
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_BASE_LEVEL"));
174
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_MAX_LEVEL"));
175
-
176
-
177
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_COMPARE_MODE"));
178
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_COMPARE_FUNC"));
179
- ret.push_back(jsi::PropNameID::forAscii(rt, "SRGB"));
180
- ret.push_back(jsi::PropNameID::forAscii(rt, "SRGB8"));
181
- ret.push_back(jsi::PropNameID::forAscii(rt, "SRGB8_ALPHA8"));
182
-
183
- ret.push_back(jsi::PropNameID::forAscii(rt, "COMPARE_REF_TO_TEXTURE"));
184
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA32F"));
185
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB32F"));
186
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA16F"));
187
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB16F"));
188
-
189
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_2D_ARRAY"));
190
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_BINDING_2D_ARRAY"));
191
- ret.push_back(jsi::PropNameID::forAscii(rt, "R11F_G11F_B10F"));
192
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB9_E5"));
193
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA32UI"));
194
-
195
-
196
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB32UI"));
197
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA16UI"));
198
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB16UI"));
199
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA8UI"));
200
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB8UI"));
201
-
202
-
203
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA32I"));
204
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB32I"));
205
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA16I"));
206
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB16I"));
207
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA8I"));
208
-
209
-
210
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB8I"));
211
- ret.push_back(jsi::PropNameID::forAscii(rt, "RED_INTEGER"));
212
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB_INTEGER"));
213
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA_INTEGER"));
214
- ret.push_back(jsi::PropNameID::forAscii(rt, "R8"));
215
-
216
-
217
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG8"));
218
- ret.push_back(jsi::PropNameID::forAscii(rt, "R16F"));
219
- ret.push_back(jsi::PropNameID::forAscii(rt, "R32F"));
220
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG16F"));
221
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG32F"));
222
-
223
-
224
- ret.push_back(jsi::PropNameID::forAscii(rt, "R8I"));
225
- ret.push_back(jsi::PropNameID::forAscii(rt, "R8UI"));
226
- ret.push_back(jsi::PropNameID::forAscii(rt, "R16I"));
227
- ret.push_back(jsi::PropNameID::forAscii(rt, "R16UI"));
228
- ret.push_back(jsi::PropNameID::forAscii(rt, "R32I"));
229
-
230
-
231
- ret.push_back(jsi::PropNameID::forAscii(rt, "R32UI"));
232
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG8I"));
233
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG8UI"));
234
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG16I"));
235
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG16UI"));
236
-
237
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG32I"));
238
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG32UI"));
239
- ret.push_back(jsi::PropNameID::forAscii(rt, "R8_SNORM"));
240
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG8_SNORM"));
241
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB8_SNORM"));
242
-
243
-
244
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGBA8_SNORM"));
245
- ret.push_back(jsi::PropNameID::forAscii(rt, "RGB10_A2UI"));
246
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_IMMUTABLE_FORMAT"));
247
- ret.push_back(jsi::PropNameID::forAscii(rt, "TEXTURE_IMMUTABLE_LEVELS"));
248
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_2_10_10_10_REV"));
249
-
250
-
251
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_10F_11F_11F_REV"));
252
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_5_9_9_9_REV"));
253
- ret.push_back(jsi::PropNameID::forAscii(rt, "FLOAT_32_UNSIGNED_INT_24_8_REV"));
254
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_24_8"));
255
- ret.push_back(jsi::PropNameID::forAscii(rt, "HALF_FLOAT"));
256
-
257
-
258
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG"));
259
- ret.push_back(jsi::PropNameID::forAscii(rt, "RG_INTEGER"));
260
- ret.push_back(jsi::PropNameID::forAscii(rt, "INT_2_10_10_10_REV"));
261
- ret.push_back(jsi::PropNameID::forAscii(rt, "QUERY_RESULT_AVAILABLE"));
262
- ret.push_back(jsi::PropNameID::forAscii(rt, "QUERY_RESULT"));
263
-
264
-
265
- ret.push_back(jsi::PropNameID::forAscii(rt, "CURRENT_QUERY"));
266
- ret.push_back(jsi::PropNameID::forAscii(rt, "ANY_SAMPLES_PASSED"));
267
- ret.push_back(jsi::PropNameID::forAscii(rt, "ANY_SAMPLES_PASSED_CONSERVATIVE"));
268
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_DRAW_BUFFERS"));
269
-
270
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER0"));
271
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER1"));
272
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER2"));
273
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER3)"));
274
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER4"));
275
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER5"));
276
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER6"));
277
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER7"));
278
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER8"));
279
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER9"));
280
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER10"));
281
-
282
- /* Getting GL parameter information */
283
-
284
- /* Textures */
285
-
286
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER11"));
287
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER12"));
288
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER13"));
289
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER14"));
290
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_BUFFER15"));
291
-
292
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_COLOR_ATTACHMENTS"));
293
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT1"));
294
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT2"));
295
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT3"));
296
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT4"));
297
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT5"));
298
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT6"));
299
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT7"));
300
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT8"));
301
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT9"));
302
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT10"));
303
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT11"));
304
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT12"));
305
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT13"));
306
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT14"));
307
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR_ATTACHMENT15"));
308
-
309
- ret.push_back(jsi::PropNameID::forAscii(rt, "SAMPLER_3D"));
310
- ret.push_back(jsi::PropNameID::forAscii(rt, "SAMPLER_2D_SHADOW"));
311
- ret.push_back(jsi::PropNameID::forAscii(rt, "SAMPLER_2D_ARRAY"));
312
- ret.push_back(jsi::PropNameID::forAscii(rt, "SAMPLER_2D_ARRAY_SHADOW"));
313
- ret.push_back(jsi::PropNameID::forAscii(rt, "SAMPLER_CUBE_SHADOW"));
314
-
315
- ret.push_back(jsi::PropNameID::forAscii(rt, "INT_SAMPLER_2D"));
316
- ret.push_back(jsi::PropNameID::forAscii(rt, "INT_SAMPLER_3D"));
317
- ret.push_back(jsi::PropNameID::forAscii(rt, "INT_SAMPLER_CUBE"));
318
- ret.push_back(jsi::PropNameID::forAscii(rt, "INT_SAMPLER_2D_ARRAY"));
319
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_SAMPLER_2D"));
320
-
321
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_SAMPLER_3D"));
322
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_SAMPLER_CUBE"));
323
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_SAMPLER_2D_ARRAY"));
324
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_SAMPLES"));
325
- ret.push_back(jsi::PropNameID::forAscii(rt, "SAMPLER_BINDING"));
326
-
327
- ret.push_back(jsi::PropNameID::forAscii(rt, "PIXEL_PACK_BUFFER"));
328
- ret.push_back(jsi::PropNameID::forAscii(rt, "PIXEL_UNPACK_BUFFER"));
329
- ret.push_back(jsi::PropNameID::forAscii(rt, "PIXEL_PACK_BUFFER_BINDING"));
330
- ret.push_back(jsi::PropNameID::forAscii(rt, "PIXEL_UNPACK_BUFFER_BINDING"));
331
- ret.push_back(jsi::PropNameID::forAscii(rt, "COPY_READ_BUFFER"));
332
-
333
- ret.push_back(jsi::PropNameID::forAscii(rt, "COPY_WRITE_BUFFER"));
334
- ret.push_back(jsi::PropNameID::forAscii(rt, "COPY_READ_BUFFER_BINDING"));
335
- ret.push_back(jsi::PropNameID::forAscii(rt, "COPY_WRITE_BUFFER_BINDING"));
336
- ret.push_back(jsi::PropNameID::forAscii(rt, "FLOAT_MAT2x3"));
337
- ret.push_back(jsi::PropNameID::forAscii(rt, "FLOAT_MAT2x4"));
338
-
339
- ret.push_back(jsi::PropNameID::forAscii(rt, "FLOAT_MAT3x2"));
340
- ret.push_back(jsi::PropNameID::forAscii(rt, "FLOAT_MAT3x4"));
341
- ret.push_back(jsi::PropNameID::forAscii(rt, "FLOAT_MAT4x2"));
342
- ret.push_back(jsi::PropNameID::forAscii(rt, "FLOAT_MAT4x3"));
343
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_VEC2"));
344
-
345
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_VEC3"));
346
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_INT_VEC4"));
347
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNED_NORMALIZED"));
348
- ret.push_back(jsi::PropNameID::forAscii(rt, "SIGNED_NORMALIZED"));
349
-
350
- /* Vertex attributes */
351
-
352
- ret.push_back(jsi::PropNameID::forAscii(rt, "VERTEX_ATTRIB_ARRAY_INTEGER"));
353
- ret.push_back(jsi::PropNameID::forAscii(rt, "VERTEX_ATTRIB_ARRAY_DIVISOR"));
354
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_BUFFER_MODE"));
355
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"));
356
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_VARYINGS"));
357
-
358
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_BUFFER_START"));
359
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_BUFFER_SIZE"));
360
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"));
361
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"));
362
-
363
- /* Textures */
364
-
365
- /* Pixel types */
366
-
367
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"));
368
- ret.push_back(jsi::PropNameID::forAscii(rt, "INTERLEAVED_ATTRIBS"));
369
- ret.push_back(jsi::PropNameID::forAscii(rt, "SEPARATE_ATTRIBS"));
370
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_BUFFER"));
371
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_BUFFER_BINDING"));
372
-
373
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK"));
374
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_PAUSED"));
375
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_ACTIVE"));
376
- ret.push_back(jsi::PropNameID::forAscii(rt, "TRANSFORM_FEEDBACK_BINDING"));
377
-
378
- /* Pixel types */
379
-
380
- /* Queries */
381
-
382
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"));
383
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"));
384
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_RED_SIZE"));
385
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"));
386
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"));
387
-
388
- /* Queries */
389
-
390
- /* Draw buffers */
391
-
392
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"));
393
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"));
394
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"));
395
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_DEFAULT"));
396
- ret.push_back(jsi::PropNameID::forAscii(rt, "DEPTH_STENCIL_ATTACHMENT"));
397
-
398
- ret.push_back(jsi::PropNameID::forAscii(rt, "DEPTH_STENCIL"));
399
- ret.push_back(jsi::PropNameID::forAscii(rt, "DEPTH24_STENCIL8"));
400
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_FRAMEBUFFER_BINDING"));
401
- ret.push_back(jsi::PropNameID::forAscii(rt, "READ_FRAMEBUFFER"));
402
- ret.push_back(jsi::PropNameID::forAscii(rt, "DRAW_FRAMEBUFFER"));
403
-
404
- ret.push_back(jsi::PropNameID::forAscii(rt, "READ_FRAMEBUFFER_BINDING"));
405
- ret.push_back(jsi::PropNameID::forAscii(rt, "RENDERBUFFER_SAMPLES"));
406
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"));
407
- ret.push_back(jsi::PropNameID::forAscii(rt, "FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"));
408
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BUFFER"));
409
-
410
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BUFFER_BINDING"));
411
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BUFFER_START"));
412
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BUFFER_SIZE"));
413
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_VERTEX_UNIFORM_BLOCKS"));
414
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_FRAGMENT_UNIFORM_BLOCKS"));
415
-
416
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_COMBINED_UNIFORM_BLOCKS"));
417
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_UNIFORM_BUFFER_BINDINGS"));
418
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_UNIFORM_BLOCK_SIZE"));
419
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"));
420
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"));
421
-
422
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BUFFER_OFFSET_ALIGNMENT"));
423
- ret.push_back(jsi::PropNameID::forAscii(rt, "ACTIVE_UNIFORM_BLOCKS"));
424
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_TYPE"));
425
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_SIZE"));
426
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BLOCK_INDEX"));
427
-
428
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_OFFSET"));
429
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_ARRAY_STRIDE"));
430
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_MATRIX_STRIDE"));
431
-
432
- /* Draw buffers */
433
-
434
- /* Samplers */
435
-
436
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_IS_ROW_MAJOR"));
437
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BLOCK_BINDING"));
438
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BLOCK_DATA_SIZE"));
439
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BLOCK_ACTIVE_UNIFORMS"));
440
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"));
441
-
442
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"));
443
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"));
444
- ret.push_back(jsi::PropNameID::forAscii(rt, "OBJECT_TYPE"));
445
- ret.push_back(jsi::PropNameID::forAscii(rt, "SYNC_CONDITION"));
446
- ret.push_back(jsi::PropNameID::forAscii(rt, "SYNC_STATUS"));
447
-
448
- ret.push_back(jsi::PropNameID::forAscii(rt, "SYNC_FLAGS"));
449
- ret.push_back(jsi::PropNameID::forAscii(rt, "SYNC_FENCE"));
450
- ret.push_back(jsi::PropNameID::forAscii(rt, "SYNC_GPU_COMMANDS_COMPLETE"));
451
- ret.push_back(jsi::PropNameID::forAscii(rt, "UNSIGNALED"));
452
- ret.push_back(jsi::PropNameID::forAscii(rt, "SIGNALED"));
453
-
454
- /* Samplers */
455
-
456
- /* Buffers */
457
-
458
- ret.push_back(jsi::PropNameID::forAscii(rt, "ALREADY_SIGNALED"));
459
- ret.push_back(jsi::PropNameID::forAscii(rt, "TIMEOUT_EXPIRED"));
460
- ret.push_back(jsi::PropNameID::forAscii(rt, "CONDITION_SATISFIED"));
461
- ret.push_back(jsi::PropNameID::forAscii(rt, "WAIT_FAILED"));
462
- ret.push_back(jsi::PropNameID::forAscii(rt, "SYNC_FLUSH_COMMANDS_BIT"));
463
-
464
- ret.push_back(jsi::PropNameID::forAscii(rt, "COLOR"));
465
- ret.push_back(jsi::PropNameID::forAscii(rt, "DEPTH"));
466
- ret.push_back(jsi::PropNameID::forAscii(rt, "STENCIL"));
467
-
468
- /* Buffers */
469
-
470
- /* Data types */
471
-
472
- ret.push_back(jsi::PropNameID::forAscii(rt, "MIN"));
473
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX"));
474
- ret.push_back(jsi::PropNameID::forAscii(rt, "DEPTH_COMPONENT24"));
475
- ret.push_back(jsi::PropNameID::forAscii(rt, "STREAM_READ"));
476
- ret.push_back(jsi::PropNameID::forAscii(rt, "STREAM_COPY"));
477
-
478
- ret.push_back(jsi::PropNameID::forAscii(rt, "STATIC_READ"));
479
- ret.push_back(jsi::PropNameID::forAscii(rt, "STATIC_COPY"));
480
- ret.push_back(jsi::PropNameID::forAscii(rt, "DYNAMIC_READ"));
481
- ret.push_back(jsi::PropNameID::forAscii(rt, "DYNAMIC_COPY"));
482
- ret.push_back(jsi::PropNameID::forAscii(rt, "DEPTH_COMPONENT32F"));
483
- ret.push_back(jsi::PropNameID::forAscii(rt, "DEPTH32F_STENCIL8"));
484
-
485
- /* Data types */
486
-
487
- ret.push_back(jsi::PropNameID::forAscii(rt, "INVALID_INDEX"));
488
- ret.push_back(jsi::PropNameID::forAscii(rt, "TIMEOUT_IGNORED"));
489
-
490
- /* Vertex attributes */
491
-
492
- /* Transform feedback */
493
-
494
- ret.push_back(jsi::PropNameID::forAscii(rt, "MAX_CLIENT_WAIT_TIMEOUT_WEBGL"));
495
-
496
- /* Transform feedback */
497
-
498
-
499
- /* GL 1 */
500
-
501
- ret.push_back(jsi::PropNameID::forUtf8(rt, "__resized"));
502
- ret.push_back(jsi::PropNameID::forUtf8(rt, "__startRaf"));
503
- ret.push_back(jsi::PropNameID::forUtf8(rt, "__stopRaf"));
504
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("activeTexture")));
505
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("attachShader")));
506
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("bindAttribLocation")));
507
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("bindBuffer")));
508
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("bindFramebuffer")));
509
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("bindRenderbuffer")));
510
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("bindTexture")));
511
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("blendColor")));
512
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("blendEquationSeparate")));
513
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("blendEquation")));
514
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("blendFuncSeparate")));
515
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("blendFunc")));
516
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("bufferData")));
517
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("bufferSubData")));
518
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("checkFramebufferStatus")));
519
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("clearColor")));
520
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("clearDepth")));
521
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("clearStencil")));
522
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("clear")));
523
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("colorMask")));
524
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("commit")));
525
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("compileShader")));
526
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("compressedTexImage2D")));
527
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("compressedTexSubImage2D")));
528
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("copyTexImage2D")));
529
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("copyTexSubImage2D")));
530
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("createBuffer")));
531
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("createFramebuffer")));
532
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("createProgram")));
533
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("createRenderbuffer")));
534
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("createShader")));
535
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("createTexture")));
536
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("cullFace")));
537
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("deleteBuffer")));
538
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("deleteFramebuffer")));
539
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("deleteProgram")));
540
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("deleteRenderbuffer")));
541
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("deleteShader")));
542
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("deleteTexture")));
543
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("depthFunc")));
544
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("depthMask")));
545
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("depthRange")));
546
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("detachShader")));
547
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("disableVertexAttribArray")));
548
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("disable")));
549
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("drawArrays")));
550
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("drawElements")));
551
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("enableVertexAttribArray")));
552
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("enable")));
553
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("finish")));
554
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("flush")));
555
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("framebufferRenderbuffer")));
556
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("framebufferTexture2D")));
557
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("frontFace")));
558
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("generateMipmap")));
559
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getActiveAttrib")));
560
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getActiveUniform")));
561
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getAttachedShaders")));
562
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getAttribLocation")));
563
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getBufferParameter")));
564
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getContextAttributes")));
565
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getError")));
566
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getExtension")));
567
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getFramebufferAttachmentParameter")));
568
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getParameter")));
569
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getProgramInfoLog")));
570
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getProgramParameter")));
571
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getRenderbufferParameter")));
572
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getShaderInfoLog")));
573
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getShaderParameter")));
574
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getShaderPrecisionFormat")));
575
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getShaderSource")));
576
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getSupportedExtensions")));
577
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getTexParameter")));
578
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getUniformLocation")));
579
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getUniform")));
580
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getVertexAttribOffset")));
581
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("getVertexAttrib")));
582
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("hint")));
583
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isBuffer")));
584
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isContextLost")));
585
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isEnabled")));
586
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isFramebuffer")));
587
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isProgram")));
588
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isRenderbuffer")));
589
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isShader")));
590
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("isTexture")));
591
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("lineWidth")));
592
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("linkProgram")));
593
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("pixelStorei")));
594
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("polygonOffset")));
595
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("readPixels")));
596
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("renderbufferStorage")));
597
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("sampleCoverage")));
598
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("scissor")));
599
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("shaderSource")));
600
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("stencilFuncSeparate")));
601
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("stencilFunc")));
602
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("stencilMaskSeparate")));
603
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("stencilMask")));
604
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("stencilOpSeparate")));
605
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("stencilOp")));
606
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("texImage2D")));
607
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("texParameterf")));
608
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("texParameteri")));
609
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("texSubImage2D")));
610
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform1f")));
611
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform1iv")));
612
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform1fv")));
613
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform1i")));
614
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform2f")));
615
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform2iv")));
616
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform2fv")));
617
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform2i")));
618
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform3f")));
619
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform3iv")));
620
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform3fv")));
621
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform3i")));
622
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform4f")));
623
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform4iv")));
624
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform4fv")));
625
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniform4i")));
626
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniformMatrix2fv")));
627
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniformMatrix3fv")));
628
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("uniformMatrix4fv")));
629
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("useProgram")));
630
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("validateProgram")));
631
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib1f")));
632
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib1fv")));
633
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib2f")));
634
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib2fv")));
635
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib3f")));
636
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib3fv")));
637
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib4f")));
638
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttrib4fv")));
639
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttribPointer")));
640
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("viewport")));
641
- ret.push_back(jsi::PropNameID::forUtf8(rt, std::string("__toDataURL")));
642
-
643
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_BUFFER_BIT"));
644
-
645
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BUFFER_BIT"));
646
-
647
- ret.push_back(jsi::PropNameID::forUtf8(rt, "COLOR_BUFFER_BIT"));
648
-
649
- ret.push_back(jsi::PropNameID::forUtf8(rt, "POINTS"));
650
-
651
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINES"));
652
-
653
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINE_LOOP"));
654
-
655
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINE_STRIP"));
656
-
657
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TRIANGLES"));
658
-
659
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TRIANGLE_STRIP"));
660
-
661
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TRIANGLE_FAN"));
662
-
663
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ZERO"));
664
-
665
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ONE"));
666
-
667
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SRC_COLOR"));
668
-
669
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ONE_MINUS_SRC_COLOR"));
670
-
671
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SRC_ALPHA"));
672
-
673
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ONE_MINUS_SRC_ALPHA"));
674
-
675
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DST_ALPHA"));
676
-
677
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ONE_MINUS_DST_ALPHA"));
678
-
679
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DST_COLOR"));
680
-
681
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ONE_MINUS_DST_COLOR"));
682
-
683
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SRC_ALPHA_SATURATE"));
684
-
685
-
686
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CONSTANT_COLOR"));
687
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ONE_MINUS_CONSTANT_COLOR"));
688
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CONSTANT_ALPHA"));
689
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ONE_MINUS_CONSTANT_ALPHA"));
690
-
691
-
692
- /* Blending equations */
693
-
694
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FUNC_ADD"));
695
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FUNC_SUBTRACT"));
696
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FUNC_REVERSE_SUBTRACT"));
697
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_EQUATION"));
698
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_EQUATION_RGB"));
699
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_EQUATION_ALPHA"));
700
-
701
-
702
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_DST_RGB"));
703
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_SRC_RGB"));
704
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_DST_ALPHA"));
705
-
706
-
707
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_SRC_ALPHA"));
708
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND_COLOR"));
709
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ARRAY_BUFFER_BINDING"));
710
-
711
-
712
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ELEMENT_ARRAY_BUFFER_BINDING"));
713
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINE_WIDTH"));
714
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ALIASED_POINT_SIZE_RANGE"));
715
-
716
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ALIASED_LINE_WIDTH_RANGE"));
717
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CULL_FACE_MODE"));
718
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRONT_FACE"));
719
-
720
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_RANGE"));
721
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_WRITEMASK"));
722
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_CLEAR_VALUE"));
723
-
724
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_FUNC"));
725
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_CLEAR_VALUE"));
726
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_FUNC"));
727
-
728
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_FAIL"));
729
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_PASS_DEPTH_FAIL"));
730
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_PASS_DEPTH_PASS"));
731
-
732
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_REF"));
733
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_VALUE_MASK"));
734
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_WRITEMASK"));
735
-
736
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BACK_FUNC"));
737
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BACK_FAIL"));
738
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BACK_PASS_DEPTH_FAIL"));
739
-
740
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BACK_PASS_DEPTH_PASS"));
741
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BACK_REF"));
742
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BACK_VALUE_MASK"));
743
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BACK_WRITEMASK"));
744
-
745
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VIEWPORT"));
746
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SCISSOR_BOX"));
747
- ret.push_back(jsi::PropNameID::forUtf8(rt, "COLOR_CLEAR_VALUE"));
748
- ret.push_back(jsi::PropNameID::forUtf8(rt, "COLOR_WRITEMASK"));
749
-
750
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNPACK_ALIGNMENT"));
751
- ret.push_back(jsi::PropNameID::forUtf8(rt, "PACK_ALIGNMENT"));
752
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_TEXTURE_SIZE"));
753
-
754
-
755
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_VIEWPORT_DIMS"));
756
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SUBPIXEL_BITS"));
757
-
758
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RED_BITS"));
759
- ret.push_back(jsi::PropNameID::forUtf8(rt, "GREEN_BITS"));
760
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLUE_BITS"));
761
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ALPHA_BITS"));
762
-
763
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_BITS"));
764
- ret.push_back(jsi::PropNameID::forUtf8(rt, "POLYGON_OFFSET_UNITS"));
765
- ret.push_back(jsi::PropNameID::forUtf8(rt, "POLYGON_OFFSET_FACTOR"));
766
-
767
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_BINDING_2D"));
768
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLE_BUFFERS"));
769
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLES"));
770
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLE_COVERAGE_VALUE"));
771
-
772
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLE_COVERAGE_INVERT"));
773
- ret.push_back(jsi::PropNameID::forUtf8(rt, "COMPRESSED_TEXTURE_FORMATS"));
774
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VENDOR"));
775
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERER"));
776
-
777
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERSION"));
778
- ret.push_back(jsi::PropNameID::forUtf8(rt, "IMPLEMENTATION_COLOR_READ_TYPE"));
779
- ret.push_back(jsi::PropNameID::forUtf8(rt, "IMPLEMENTATION_COLOR_READ_FORMAT"));
780
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BROWSER_DEFAULT_WEBGL"));
781
-
782
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STATIC_DRAW"));
783
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STREAM_DRAW"));
784
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DYNAMIC_DRAW"));
785
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ARRAY_BUFFER"));
786
-
787
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ELEMENT_ARRAY_BUFFER"));
788
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BUFFER_SIZE"));
789
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BUFFER_USAGE"));
790
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CURRENT_VERTEX_ATTRIB"));
791
-
792
-
793
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_ATTRIB_ARRAY_ENABLED"));
794
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_ATTRIB_ARRAY_SIZE"));
795
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_ATTRIB_ARRAY_STRIDE"));
796
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_ATTRIB_ARRAY_TYPE"));
797
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_ATTRIB_ARRAY_NORMALIZED"));
798
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_ATTRIB_ARRAY_POINTER"));
799
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"));
800
-
801
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CULL_FACE"));
802
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRONT"));
803
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BACK"));
804
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRONT_AND_BACK"));
805
-
806
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BLEND"));
807
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_TEST"));
808
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DITHER"));
809
- ret.push_back(jsi::PropNameID::forUtf8(rt, "POLYGON_OFFSET_FILL"));
810
-
811
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLE_ALPHA_TO_COVERAGE"));
812
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLE_COVERAGE"));
813
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SCISSOR_TEST"));
814
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_TEST"));
815
-
816
-
817
- /* Errors */
818
-
819
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NO_ERROR"));
820
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INVALID_ENUM"));
821
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INVALID_VALUE"));
822
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INVALID_OPERATION"));
823
-
824
- ret.push_back(jsi::PropNameID::forUtf8(rt, "OUT_OF_MEMORY"));
825
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CONTEXT_LOST_WEBGL"));
826
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CW"));
827
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CCW"));
828
-
829
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DONT_CARE"));
830
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FASTEST"));
831
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NICEST"));
832
- ret.push_back(jsi::PropNameID::forUtf8(rt, "GENERATE_MIPMAP_HINT"));
833
-
834
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BYTE"));
835
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNSIGNED_BYTE"));
836
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SHORT"));
837
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNSIGNED_SHORT"));
838
-
839
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INT"));
840
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNSIGNED_INT"));
841
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FLOAT"));
842
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_COMPONENT"));
843
-
844
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ALPHA"));
845
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RGB"));
846
-
847
- /* Clearing buffers */
848
-
849
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RGBA"));
850
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LUMINANCE"));
851
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LUMINANCE_ALPHA"));
852
-
853
- /* Clearing buffers */
854
-
855
- /* Rendering primitives */
856
-
857
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNSIGNED_SHORT_4_4_4_4"));
858
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNSIGNED_SHORT_5_5_5_1"));
859
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNSIGNED_SHORT_5_6_5"));
860
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAGMENT_SHADER"));
861
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VERTEX_SHADER"));
862
- ret.push_back(jsi::PropNameID::forUtf8(rt, "COMPILE_STATUS"));
863
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DELETE_STATUS"));
864
-
865
- /* Rendering primitives */
866
-
867
- /* Blending modes */
868
-
869
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINK_STATUS"));
870
- ret.push_back(jsi::PropNameID::forUtf8(rt, "VALIDATE_STATUS"));
871
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ATTACHED_SHADERS"));
872
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ACTIVE_ATTRIBUTES"));
873
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ACTIVE_UNIFORMS"));
874
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_VERTEX_ATTRIBS"));
875
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_VERTEX_UNIFORM_VECTORS"));
876
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_VARYING_VECTORS"));
877
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_COMBINED_TEXTURE_IMAGE_UNITS"));
878
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_VERTEX_TEXTURE_IMAGE_UNITS"));
879
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_TEXTURE_IMAGE_UNITS"));
880
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_FRAGMENT_UNIFORM_VECTORS"));
881
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SHADER_TYPE"));
882
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SHADING_LANGUAGE_VERSION"));
883
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CURRENT_PROGRAM"));
884
-
885
- /* Blending modes */
886
-
887
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NEVER"));
888
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LESS"));
889
- ret.push_back(jsi::PropNameID::forUtf8(rt, "EQUAL"));
890
-
891
- /* Blending equations */
892
-
893
- /* Getting GL parameter information */
894
-
895
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LEQUAL"));
896
- ret.push_back(jsi::PropNameID::forUtf8(rt, "GREATER"));
897
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NOTEQUAL"));
898
- ret.push_back(jsi::PropNameID::forUtf8(rt, "GEQUAL"));
899
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ALWAYS"));
900
- ret.push_back(jsi::PropNameID::forUtf8(rt, "KEEP"));
901
- ret.push_back(jsi::PropNameID::forUtf8(rt, "REPLACE"));
902
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INCR"));
903
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DECR"));
904
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INVERT"));
905
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INCR_WRAP"));
906
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DECR_WRAP"));
907
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NEAREST"));
908
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINEAR"));
909
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NEAREST_MIPMAP_NEAREST"));
910
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINEAR_MIPMAP_NEAREST"));
911
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NEAREST_MIPMAP_LINEAR"));
912
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LINEAR_MIPMAP_LINEAR"));
913
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_MAG_FILTER"));
914
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_MIN_FILTER"));
915
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_WRAP_S"));
916
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_WRAP_T"));
917
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_2D"));
918
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE"));
919
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_CUBE_MAP"));
920
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_BINDING_CUBE_MAP"));
921
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_CUBE_MAP_POSITIVE_X"));
922
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_CUBE_MAP_NEGATIVE_X"));
923
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_CUBE_MAP_POSITIVE_Y"));
924
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_CUBE_MAP_NEGATIVE_Y"));
925
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_CUBE_MAP_POSITIVE_Z"));
926
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE_CUBE_MAP_NEGATIVE_Z"));
927
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_CUBE_MAP_TEXTURE_SIZE"));
928
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE0"));
929
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE1"));
930
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE2"));
931
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE3"));
932
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE4"));
933
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE5"));
934
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE6"));
935
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE7"));
936
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE8"));
937
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE9"));
938
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE10"));
939
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE11"));
940
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE12"));
941
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE13"));
942
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE14"));
943
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE15"));
944
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE16"));
945
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE17"));
946
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE18"));
947
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE19"));
948
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE20"));
949
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE21"));
950
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE22"));
951
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE23"));
952
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE24"));
953
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE25"));
954
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE26"));
955
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE27"));
956
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE28"));
957
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE29"));
958
-
959
- /* Getting GL parameter information */
960
-
961
- /* Buffers */
962
-
963
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE30"));
964
- ret.push_back(jsi::PropNameID::forUtf8(rt, "TEXTURE31"));
965
- ret.push_back(jsi::PropNameID::forUtf8(rt, "ACTIVE_TEXTURE"));
966
- ret.push_back(jsi::PropNameID::forUtf8(rt, "REPEAT"));
967
- ret.push_back(jsi::PropNameID::forUtf8(rt, "CLAMP_TO_EDGE"));
968
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MIRRORED_REPEAT"));
969
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FLOAT_VEC2"));
970
-
971
- /* Buffers */
972
-
973
- /* Vertex attributes */
974
-
975
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FLOAT_VEC3"));
976
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FLOAT_VEC4"));
977
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INT_VEC2"));
978
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INT_VEC3"));
979
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INT_VEC4"));
980
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BOOL"));
981
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BOOL_VEC2"));
982
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BOOL_VEC3"));
983
-
984
- /* Vertex attributes */
985
-
986
- /* Culling */
987
-
988
- ret.push_back(jsi::PropNameID::forUtf8(rt, "BOOL_VEC4"));
989
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FLOAT_MAT2"));
990
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FLOAT_MAT3"));
991
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FLOAT_MAT4"));
992
-
993
- /* Culling */
994
-
995
- /* Enabling and disabling */
996
-
997
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLER_2D"));
998
- ret.push_back(jsi::PropNameID::forUtf8(rt, "SAMPLER_CUBE"));
999
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LOW_FLOAT"));
1000
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MEDIUM_FLOAT"));
1001
- ret.push_back(jsi::PropNameID::forUtf8(rt, "HIGH_FLOAT"));
1002
- ret.push_back(jsi::PropNameID::forUtf8(rt, "LOW_INT"));
1003
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MEDIUM_INT"));
1004
- ret.push_back(jsi::PropNameID::forUtf8(rt, "HIGH_INT"));
1005
-
1006
- /* Enabling and disabling */
1007
-
1008
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER"));
1009
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER"));
1010
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RGBA4"));
1011
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RGB5_A1"));
1012
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RGB565"));
1013
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_COMPONENT16"));
1014
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_INDEX8"));
1015
-
1016
- /* Errors */
1017
-
1018
- /* Front face directions */
1019
-
1020
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_STENCIL"));
1021
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_WIDTH"));
1022
-
1023
- /* Front face directions */
1024
-
1025
- /* Hints */
1026
-
1027
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_HEIGHT"));
1028
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_INTERNAL_FORMAT"));
1029
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_RED_SIZE"));
1030
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_GREEN_SIZE"));
1031
-
1032
- /* Hints */
1033
-
1034
- /* Data types */
1035
-
1036
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_BLUE_SIZE"));
1037
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_ALPHA_SIZE"));
1038
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_DEPTH_SIZE"));
1039
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_STENCIL_SIZE"));
1040
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"));
1041
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"));
1042
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"));
1043
-
1044
- /* Data types */
1045
-
1046
- /* Pixel formats */
1047
-
1048
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"));
1049
- ret.push_back(jsi::PropNameID::forUtf8(rt, "COLOR_ATTACHMENT0"));
1050
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_ATTACHMENT"));
1051
- ret.push_back(jsi::PropNameID::forUtf8(rt, "STENCIL_ATTACHMENT"));
1052
- ret.push_back(jsi::PropNameID::forUtf8(rt, "DEPTH_STENCIL_ATTACHMENT"));
1053
- ret.push_back(jsi::PropNameID::forUtf8(rt, "NONE"));
1054
-
1055
- /* Pixel formats */
1056
-
1057
- /* Pixel types */
1058
-
1059
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_COMPLETE"));
1060
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_INCOMPLETE_ATTACHMENT"));
1061
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"));
1062
-
1063
- /* Pixel types */
1064
-
1065
- /* Shaders */
1066
-
1067
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_INCOMPLETE_DIMENSIONS"));
1068
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_UNSUPPORTED"));
1069
- ret.push_back(jsi::PropNameID::forUtf8(rt, "FRAMEBUFFER_BINDING"));
1070
- ret.push_back(jsi::PropNameID::forUtf8(rt, "RENDERBUFFER_BINDING"));
1071
- ret.push_back(jsi::PropNameID::forUtf8(rt, "MAX_RENDERBUFFER_SIZE"));
1072
- ret.push_back(jsi::PropNameID::forUtf8(rt, "INVALID_FRAMEBUFFER_OPERATION"));
1073
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNPACK_FLIP_Y_WEBGL"));
1074
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNPACK_PREMULTIPLY_ALPHA_WEBGL"));
1075
- ret.push_back(jsi::PropNameID::forUtf8(rt, "UNPACK_COLORSPACE_CONVERSION_WEBGL"));
1076
-
1077
-
1078
- /* GL 1 */
1079
-
1080
-
1081
- return ret;
1082
- }
1083
-
1084
- jsi::Value WebGL2RenderingContext::get(jsi::Runtime &runtime, const jsi::PropNameID &name) {
1085
- auto methodName = name.utf8(runtime);
1086
-
1087
- auto prop = GetProperty(methodName);
1088
-
1089
-
1090
- if (methodName == "beginQuery") {
1091
- return jsi::Function::createFromHostFunction(runtime,
1092
- jsi::PropNameID::forAscii(runtime, methodName),
1093
- 2,
1094
- [this](jsi::Runtime &runtime,
1095
- const jsi::Value &thisValue,
1096
- const jsi::Value *arguments,
1097
- size_t count) -> jsi::Value {
1098
-
1099
- if (count > 1 && arguments[0].isNumber() &&
1100
- arguments[1].isObject()) {
1101
- auto target = (uint32_t) arguments[0].asNumber();
1102
- auto queryObject = arguments[1].asObject(
1103
- runtime);
1104
-
1105
- if (queryObject.isHostObject(
1106
- runtime)) {
1107
- auto query = queryObject.asHostObject<WebGLQuery>(
1108
- runtime);
1109
- canvas_native_webgl2_begin_query(
1110
- target,
1111
- query->GetQuery(),
1112
- this->GetState()
1113
- );
1114
- }
1115
- }
1116
- return jsi::Value::undefined();
1117
- }
1118
- );
1119
- } else if (methodName == "beginTransformFeedback") {
1120
- return jsi::Function::createFromHostFunction(runtime,
1121
- jsi::PropNameID::forAscii(runtime, methodName),
1122
- 1,
1123
- [this](jsi::Runtime &runtime,
1124
- const jsi::Value &thisValue,
1125
- const jsi::Value *arguments,
1126
- size_t count) -> jsi::Value {
1127
-
1128
- if (count > 0 && arguments[0].isNumber()) {
1129
- canvas_native_webgl2_begin_transform_feedback(
1130
- (uint32_t) arguments[0].asNumber(),
1131
- this->GetState()
1132
- );
1133
- }
1134
-
1135
- return jsi::Value::undefined();
1136
- }
1137
- );
1138
- } else if (methodName == "bindBufferBase") {
1139
- return jsi::Function::createFromHostFunction(runtime,
1140
- jsi::PropNameID::forAscii(runtime, methodName),
1141
- 3,
1142
- [this](jsi::Runtime &runtime,
1143
- const jsi::Value &thisValue,
1144
- const jsi::Value *arguments,
1145
- size_t count) -> jsi::Value {
1146
-
1147
- if (count > 2 && arguments[2].isObject()) {
1148
- auto target = (uint32_t) arguments[0].asNumber();
1149
- auto index = (uint32_t) arguments[1].asNumber();
1150
- auto bufferObject = arguments[2].asObject(
1151
- runtime);
1152
- if (bufferObject.isHostObject(
1153
- runtime)) {
1154
- auto buffer = bufferObject.asHostObject<WebGLBuffer>(
1155
- runtime);
1156
-
1157
- canvas_native_webgl2_bind_buffer_base(
1158
- target,
1159
- index,
1160
- buffer->GetBuffer(),
1161
- this->GetState()
1162
- );
1163
- }
1164
- }
1165
-
1166
- return jsi::Value::undefined();
1167
- }
1168
- );
1169
- } else if (methodName == "bindBufferRange") {
1170
- return jsi::Function::createFromHostFunction(runtime,
1171
- jsi::PropNameID::forAscii(runtime, methodName),
1172
- 5,
1173
- [this](jsi::Runtime &runtime,
1174
- const jsi::Value &thisValue,
1175
- const jsi::Value *arguments,
1176
- size_t count) -> jsi::Value {
1177
-
1178
- if (count > 4 && arguments[2].isObject()) {
1179
- auto target = (uint32_t) arguments[0].asNumber();
1180
- auto index = (uint32_t) arguments[1].asNumber();
1181
- auto offset = arguments[3].asNumber();
1182
- auto size = arguments[4].asNumber();
1183
- auto bufferObject = arguments[2].asObject(
1184
- runtime);
1185
- if (bufferObject.isHostObject(
1186
- runtime)) {
1187
- auto buffer = bufferObject.asHostObject<WebGLBuffer>(
1188
- runtime);
1189
- canvas_native_webgl2_bind_buffer_range(
1190
- target,
1191
- index,
1192
- buffer->GetBuffer(),
1193
- static_cast<ssize_t>(offset),
1194
- static_cast<ssize_t>(size),
1195
- this->GetState()
1196
- );
1197
- }
1198
- }
1199
-
1200
- return jsi::Value::undefined();
1201
-
1202
- }
1203
- );
1204
- } else if (methodName == "bindSampler") {
1205
- return jsi::Function::createFromHostFunction(runtime,
1206
- jsi::PropNameID::forAscii(runtime, methodName),
1207
- 2,
1208
- [this](jsi::Runtime &runtime,
1209
- const jsi::Value &thisValue,
1210
- const jsi::Value *arguments,
1211
- size_t count) -> jsi::Value {
1212
-
1213
- if (count > 1 && arguments[1].isObject()) {
1214
- auto samplerObject = arguments[1].asObject(
1215
- runtime);
1216
- if (samplerObject.isHostObject(
1217
- runtime)) {
1218
- auto unit = (uint32_t) arguments[0].asNumber();
1219
- auto sampler = samplerObject.asHostObject<WebGLSampler>(
1220
- runtime);
1221
-
1222
- canvas_native_webgl2_bind_sampler(
1223
- unit,
1224
- sampler->GetSampler(),
1225
- this->GetState()
1226
- );
1227
- }
1228
- }
1229
-
1230
- return jsi::Value::undefined();
1231
-
1232
- }
1233
- );
1234
- } else if (methodName == "bindTransformFeedback") {
1235
- return jsi::Function::createFromHostFunction(runtime,
1236
- jsi::PropNameID::forAscii(runtime, methodName),
1237
- 2,
1238
- [this](jsi::Runtime &runtime,
1239
- const jsi::Value &thisValue,
1240
- const jsi::Value *arguments,
1241
- size_t count) -> jsi::Value {
1242
-
1243
- if (count > 1 && arguments[1].isObject()) {
1244
- auto transformFeedbackObject = arguments[1].asObject(
1245
- runtime);
1246
- if (transformFeedbackObject.isHostObject(
1247
- runtime)) {
1248
- auto target = (uint32_t) arguments[0].asNumber();
1249
- auto transformFeedback = transformFeedbackObject.asHostObject<WebGLTransformFeedback>(
1250
- runtime);
1251
-
1252
- canvas_native_webgl2_bind_transform_feedback(
1253
- target,
1254
- transformFeedback->GetFeedback(),
1255
- this->GetState()
1256
- );
1257
- }
1258
- }
1259
-
1260
- return jsi::Value::undefined();
1261
- }
1262
- );
1263
- } else if (methodName == "bindVertexArray") {
1264
- return jsi::Function::createFromHostFunction(runtime,
1265
- jsi::PropNameID::forAscii(runtime, methodName),
1266
- 3,
1267
- [this](jsi::Runtime &runtime,
1268
- const jsi::Value &thisValue,
1269
- const jsi::Value *arguments,
1270
- size_t count) -> jsi::Value {
1271
-
1272
- if (count > 0) {
1273
- if (arguments[0].isNull()) {
1274
- canvas_native_webgl2_bind_vertex_array(
1275
- 0,
1276
- this->GetState()
1277
- );
1278
- return jsi::Value::undefined();
1279
- }
1280
-
1281
- if (arguments[0].isObject()) {
1282
- auto vertexArrayObject = arguments[0].asObject(
1283
- runtime);
1284
- if (vertexArrayObject.isHostObject(
1285
- runtime)) {
1286
- auto vertexArray = vertexArrayObject.asHostObject<WebGLVertexArrayObject>(
1287
- runtime);
1288
-
1289
- if (vertexArray != nullptr) {
1290
-
1291
- canvas_native_webgl2_bind_vertex_array(
1292
- vertexArray->GetVertexArrayObject(),
1293
- this->GetState()
1294
- );
1295
- }
1296
- }
1297
- }
1298
-
1299
- }
1300
-
1301
- return jsi::Value::undefined();
1302
- }
1303
- );
1304
- } else if (methodName == "blitFramebuffer") {
1305
- return jsi::Function::createFromHostFunction(runtime,
1306
- jsi::PropNameID::forAscii(runtime, methodName),
1307
- 10,
1308
- [this](jsi::Runtime &runtime,
1309
- const jsi::Value &thisValue,
1310
- const jsi::Value *arguments,
1311
- size_t count) -> jsi::Value {
1312
-
1313
- if (count > 9) {
1314
- auto srcX0 = (int32_t) arguments[0].asNumber();
1315
- auto srcY0 = (int32_t) arguments[1].asNumber();
1316
-
1317
- auto srcX1 = (int32_t) arguments[2].asNumber();
1318
- auto srcY1 = (int32_t) arguments[3].asNumber();
1319
-
1320
- auto dstX0 = (int32_t) arguments[4].asNumber();
1321
- auto dstY0 = (int32_t) arguments[5].asNumber();
1322
-
1323
- auto dstX1 = (int32_t) arguments[6].asNumber();
1324
- auto dstY1 = (int32_t) arguments[7].asNumber();
1325
-
1326
- auto mask = (uint32_t) arguments[8].asNumber();
1327
- auto filter = (uint32_t) arguments[9].asNumber();
1328
- canvas_native_webgl2_blit_framebuffer(
1329
- srcX0,
1330
- srcY0,
1331
- srcX1,
1332
- srcY1,
1333
- dstX0,
1334
- dstY0,
1335
- dstX1,
1336
- dstY1,
1337
- mask,
1338
- filter,
1339
- this->GetState()
1340
- );
1341
- }
1342
-
1343
- return jsi::Value::undefined();
1344
-
1345
- }
1346
- );
1347
- } else if (methodName == "clearBufferfv") {
1348
- return jsi::Function::createFromHostFunction(runtime,
1349
- jsi::PropNameID::forAscii(runtime, methodName),
1350
- 3,
1351
- [this](jsi::Runtime &runtime,
1352
- const jsi::Value &thisValue,
1353
- const jsi::Value *arguments,
1354
- size_t count) -> jsi::Value {
1355
-
1356
- if (count > 2 && arguments[0].isObject() &&
1357
- arguments[1].isObject()) {
1358
- auto bufferObject = arguments[0].asObject(
1359
- runtime);
1360
- auto drawbuffer = (int32_t) arguments[1].asNumber();
1361
- auto values = arguments[2].asObject(
1362
- runtime);
1363
- if (bufferObject.isHostObject(
1364
- runtime)) {
1365
- auto buffer = bufferObject.asHostObject<WebGLBuffer>(
1366
- runtime);
1367
- if (values.isArray(runtime)) {
1368
- auto array = values.getArray(
1369
- runtime);
1370
- auto len = array.size(runtime);
1371
- rust::Vec<float> buf;
1372
- buf.reserve(len);
1373
- for (int j = 0; j < len; ++j) {
1374
- auto item = array.getValueAtIndex(
1375
- runtime, j);
1376
- if (!item.isNumber()) {
1377
- buf.push_back(
1378
- std::nanf(""));
1379
- } else {
1380
- buf.push_back(
1381
- static_cast<float>(item.asNumber())
1382
- );
1383
- }
1384
- }
1385
-
1386
- rust::Slice<const float> slice(
1387
- buf.data(),
1388
- buf.size());
1389
- canvas_native_webgl2_clear_bufferfv(
1390
- buffer->GetBuffer(),
1391
- drawbuffer,
1392
- slice,
1393
- this->GetState()
1394
- );
1395
-
1396
- } else if (values.isFloat32Array(
1397
- runtime)) {
1398
- auto buff = values.getTypedArray(
1399
- runtime);
1400
- auto slice = GetTypedArrayData<const float>(
1401
- runtime, buff);
1402
- canvas_native_webgl2_clear_bufferfv(
1403
- buffer->GetBuffer(),
1404
- drawbuffer,
1405
- slice,
1406
- this->GetState()
1407
- );
1408
- }
1409
- }
1410
- }
1411
-
1412
- return jsi::Value::undefined();
1413
- }
1414
- );
1415
- } else if (methodName == "clearBufferiv") {
1416
- return jsi::Function::createFromHostFunction(runtime,
1417
- jsi::PropNameID::forAscii(runtime, methodName),
1418
- 3,
1419
- [this](jsi::Runtime &runtime,
1420
- const jsi::Value &thisValue,
1421
- const jsi::Value *arguments,
1422
- size_t count) -> jsi::Value {
1423
-
1424
- if (count > 2 && arguments[0].isObject() &&
1425
- arguments[1].isObject()) {
1426
- auto bufferObject = arguments[0].asObject(
1427
- runtime);
1428
- auto drawbuffer = (int32_t) arguments[1].asNumber();
1429
- auto values = arguments[2].asObject(
1430
- runtime);
1431
- if (bufferObject.isHostObject(
1432
- runtime)) {
1433
- auto buffer = bufferObject.asHostObject<WebGLBuffer>(
1434
- runtime);
1435
- if (values.isArray(runtime)) {
1436
- auto array = values.getArray(
1437
- runtime);
1438
- auto len = array.size(runtime);
1439
- rust::Vec<int32_t> buf;
1440
- buf.reserve(len);
1441
- for (int j = 0; j < len; ++j) {
1442
- auto item = array.getValueAtIndex(
1443
- runtime, j);
1444
- buf.push_back(
1445
- static_cast<int32_t>(item.asNumber())
1446
- );
1447
- }
1448
- rust::Slice<const int32_t> slice(
1449
- buf.data(),
1450
- buf.size());
1451
-
1452
- canvas_native_webgl2_clear_bufferiv(
1453
- buffer->GetBuffer(),
1454
- drawbuffer,
1455
- slice,
1456
- this->GetState()
1457
- );
1458
-
1459
- } else if (values.isInt32Array(
1460
- runtime)) {
1461
- auto buff = values.getTypedArray(
1462
- runtime);
1463
- auto slice = GetTypedArrayData<const int32_t>(
1464
- runtime, buff);
1465
- canvas_native_webgl2_clear_bufferiv(
1466
- buffer->GetBuffer(),
1467
- drawbuffer,
1468
- slice,
1469
- this->GetState()
1470
- );
1471
- }
1472
- }
1473
- }
1474
-
1475
- return jsi::Value::undefined();
1476
- }
1477
- );
1478
- } else if (methodName == "clearBufferuiv") {
1479
- return jsi::Function::createFromHostFunction(runtime,
1480
- jsi::PropNameID::forAscii(runtime, methodName),
1481
- 3,
1482
- [this](jsi::Runtime &runtime,
1483
- const jsi::Value &thisValue,
1484
- const jsi::Value *arguments,
1485
- size_t count) -> jsi::Value {
1486
- if (count > 2 && arguments[0].isObject() &&
1487
- arguments[1].isObject()) {
1488
- auto bufferObject = arguments[0].asObject(
1489
- runtime);
1490
- auto drawbuffer = (int32_t) arguments[1].asNumber();
1491
- auto values = arguments[2].asObject(
1492
- runtime);
1493
- if (bufferObject.isHostObject(
1494
- runtime)) {
1495
- auto buffer = bufferObject.asHostObject<WebGLBuffer>(
1496
- runtime);
1497
- if (values.isArray(runtime)) {
1498
- auto array = values.getArray(
1499
- runtime);
1500
- auto len = array.size(runtime);
1501
- rust::Vec<uint32_t> buf;
1502
- buf.reserve(len);
1503
- for (int j = 0; j < len; ++j) {
1504
- auto item = array.getValueAtIndex(
1505
- runtime, j);
1506
- buf.push_back(
1507
- static_cast<uint32_t>(item.asNumber())
1508
- );
1509
- }
1510
-
1511
- rust::Slice<const uint32_t> slice(
1512
- buf.data(),
1513
- buf.size());
1514
-
1515
- canvas_native_webgl2_clear_bufferuiv(
1516
- buffer->GetBuffer(),
1517
- drawbuffer,
1518
- slice,
1519
- this->GetState()
1520
- );
1521
-
1522
- } else if (values.isUint32Array(
1523
- runtime)) {
1524
- auto buff = values.getTypedArray(
1525
- runtime);
1526
- auto slice = GetTypedArrayData<const uint32_t>(
1527
- runtime, buff);
1528
- canvas_native_webgl2_clear_bufferuiv(
1529
- buffer->GetBuffer(),
1530
- drawbuffer,
1531
- slice,
1532
- this->GetState()
1533
- );
1534
- }
1535
- }
1536
- }
1537
- return jsi::Value::undefined();
1538
-
1539
- }
1540
- );
1541
- } else if (methodName == "clientWaitSync") {
1542
- return jsi::Function::createFromHostFunction(runtime,
1543
- jsi::PropNameID::forAscii(runtime, methodName),
1544
- 3,
1545
- [this](jsi::Runtime &runtime,
1546
- const jsi::Value &thisValue,
1547
- const jsi::Value *arguments,
1548
- size_t count) -> jsi::Value {
1549
-
1550
-
1551
- if (count > 2 && arguments[0].isObject()) {
1552
- auto syncObject = arguments[0].asObject(
1553
- runtime);
1554
-
1555
- if (syncObject.isHostObject(runtime)) {
1556
- auto sync = syncObject.asHostObject<WebGLSyncImpl>(
1557
- runtime);
1558
- if (sync != nullptr) {
1559
- auto flags = (uint32_t) arguments[1].asNumber();
1560
- auto timeout = arguments[2].asNumber();
1561
- auto ret = canvas_native_webgl2_client_wait_sync(
1562
- sync->GetSync(),
1563
- flags,
1564
- static_cast<ssize_t>(timeout),
1565
- this->GetState()
1566
- );
1567
- return {(int32_t) ret};
1568
- }
1569
- }
1570
- }
1571
- // todo decide if WAIT_FAILED should be returned here
1572
- return jsi::Value::undefined();
1573
- }
1574
- );
1575
- } else if (methodName == "compressedTexSubImage3D") {
1576
- return jsi::Function::createFromHostFunction(runtime,
1577
- jsi::PropNameID::forAscii(runtime, methodName),
1578
- 12,
1579
- [this](jsi::Runtime &runtime,
1580
- const jsi::Value &thisValue,
1581
- const jsi::Value *arguments,
1582
- size_t count) -> jsi::Value {
1583
- if (count > 8) {
1584
- auto target = (uint32_t) arguments[0].asNumber();
1585
- auto level = (int32_t) arguments[1].asNumber();
1586
- auto xoffset = (int32_t) arguments[2].asNumber();
1587
- auto yoffset = (int32_t) arguments[3].asNumber();
1588
- auto zoffset = (int32_t) arguments[4].asNumber();
1589
- auto width = (int32_t) arguments[5].asNumber();
1590
- auto height = (int32_t) arguments[6].asNumber();
1591
- auto depth = (int32_t) arguments[7].asNumber();
1592
- auto format = (uint32_t) arguments[8].asNumber();
1593
-
1594
- if (arguments[9].isObject()) {
1595
- auto imageSizeOrBuf = arguments[9].asObject(
1596
- runtime);
1597
- if (imageSizeOrBuf.isTypedArray(
1598
- runtime)) {
1599
- auto array = imageSizeOrBuf.getTypedArray(
1600
- runtime);
1601
- auto slice = GetTypedArrayData<const uint8_t>(
1602
- runtime, array);
1603
-
1604
- size_t srcOffset = 0;
1605
- if (arguments[10].isNumber()) {
1606
- srcOffset = static_cast<size_t>(arguments[10].asNumber());
1607
- }
1608
- size_t srcLengthOverride = 0;
1609
- if (arguments[11].isNumber()) {
1610
- srcLengthOverride = static_cast<size_t>(arguments[11].asNumber());
1611
- }
1612
-
1613
-
1614
- canvas_native_webgl2_compressed_tex_sub_image3d(
1615
- target,
1616
- level,
1617
- xoffset,
1618
- yoffset,
1619
- zoffset,
1620
- width,
1621
- height,
1622
- depth,
1623
- format,
1624
- slice,
1625
- srcOffset,
1626
- srcLengthOverride,
1627
- this->GetState()
1628
- );
1629
- }
1630
- } else {
1631
- auto imageSizeOrBuf = (int32_t) arguments[0].asNumber();
1632
- auto offset = 0;
1633
- if (arguments[10].isNumber()) {
1634
- offset = (int32_t) arguments[10].asNumber();
1635
- }
1636
- canvas_native_webgl2_compressed_tex_sub_image3d_none(
1637
- target,
1638
- level,
1639
- xoffset,
1640
- yoffset,
1641
- zoffset,
1642
- width,
1643
- height,
1644
- depth,
1645
- format,
1646
- imageSizeOrBuf,
1647
- offset,
1648
- this->GetState()
1649
- );
1650
- }
1651
- }
1652
- return jsi::Value::undefined();
1653
- }
1654
- );
1655
- } else if (methodName == "copyBufferSubData") {
1656
- return jsi::Function::createFromHostFunction(runtime,
1657
- jsi::PropNameID::forAscii(runtime, methodName),
1658
- 5,
1659
- [this](jsi::Runtime &runtime,
1660
- const jsi::Value &thisValue,
1661
- const jsi::Value *arguments,
1662
- size_t count) -> jsi::Value {
1663
- if (count > 4) {
1664
- auto readTarget = (uint32_t) arguments[0].asNumber();
1665
- auto writeTarget = (uint32_t) arguments[1].asNumber();
1666
- auto readOffset = arguments[2].asNumber();
1667
- auto writeOffset = arguments[3].asNumber();
1668
- auto size = arguments[4].asNumber();
1669
- canvas_native_webgl2_copy_buffer_sub_data(
1670
- readTarget,
1671
- writeTarget,
1672
- static_cast<ssize_t>(readOffset),
1673
- static_cast<ssize_t>(writeOffset),
1674
- static_cast<ssize_t>(size),
1675
- this->GetState()
1676
- );
1677
- }
1678
-
1679
- return jsi::Value::undefined();
1680
- }
1681
- );
1682
- } else if (methodName == "copyTexSubImage3D") {
1683
- return jsi::Function::createFromHostFunction(runtime,
1684
- jsi::PropNameID::forAscii(runtime, methodName),
1685
- 9,
1686
- [this](jsi::Runtime &runtime,
1687
- const jsi::Value &thisValue,
1688
- const jsi::Value *arguments,
1689
- size_t count) -> jsi::Value {
1690
-
1691
- if (count > 8) {
1692
- auto target = (uint32_t) arguments[0].asNumber();
1693
- auto level = (int32_t) arguments[1].asNumber();
1694
- auto xoffset = (int32_t) arguments[2].asNumber();
1695
- auto yoffset = (int32_t) arguments[3].asNumber();
1696
- auto zoffset = (int32_t) arguments[4].asNumber();
1697
- auto x = (int32_t) arguments[5].asNumber();
1698
- auto y = (int32_t) arguments[6].asNumber();
1699
- auto width = (int32_t) arguments[7].asNumber();
1700
- auto height = (int32_t) arguments[8].asNumber();
1701
- canvas_native_webgl2_copy_tex_sub_image3d(
1702
- target,
1703
- level,
1704
- xoffset,
1705
- yoffset,
1706
- zoffset,
1707
- x,
1708
- y,
1709
- width,
1710
- height,
1711
- this->GetState()
1712
- );
1713
- }
1714
-
1715
- return jsi::Value::undefined();
1716
- }
1717
- );
1718
- } else if (methodName == "createQuery") {
1719
- return jsi::Function::createFromHostFunction(runtime,
1720
- jsi::PropNameID::forAscii(runtime, methodName),
1721
- 0,
1722
- [this](jsi::Runtime &runtime,
1723
- const jsi::Value &thisValue,
1724
- const jsi::Value *arguments,
1725
- size_t count) -> jsi::Value {
1726
-
1727
- auto ret = canvas_native_webgl2_create_query(
1728
- this->GetState());
1729
- auto query = std::make_shared<WebGLQuery>(
1730
- ret);
1731
- return jsi::Object::createFromHostObject(
1732
- runtime, query);
1733
- }
1734
- );
1735
- } else if (methodName == "createSampler") {
1736
- return jsi::Function::createFromHostFunction(runtime,
1737
- jsi::PropNameID::forAscii(runtime, methodName),
1738
- 0,
1739
- [this](jsi::Runtime &runtime,
1740
- const jsi::Value &thisValue,
1741
- const jsi::Value *arguments,
1742
- size_t count) -> jsi::Value {
1743
- auto ret = canvas_native_webgl2_create_sampler(
1744
- this->GetState());
1745
- auto sampler = std::make_shared<WebGLSampler>(
1746
- ret);
1747
- return jsi::Object::createFromHostObject(
1748
- runtime, sampler);
1749
- }
1750
- );
1751
- } else if (methodName == "createTransformFeedback") {
1752
- return jsi::Function::createFromHostFunction(runtime,
1753
- jsi::PropNameID::forAscii(runtime, methodName),
1754
- 0,
1755
- [this](jsi::Runtime &runtime,
1756
- const jsi::Value &thisValue,
1757
- const jsi::Value *arguments,
1758
- size_t count) -> jsi::Value {
1759
- auto ret = canvas_native_webgl2_create_transform_feedback(
1760
- this->GetState());
1761
-
1762
- auto feedback = std::make_shared<WebGLTransformFeedback>(
1763
- ret);
1764
- return jsi::Object::createFromHostObject(
1765
- runtime, feedback);
1766
- }
1767
- );
1768
- } else if (methodName == "createVertexArray") {
1769
- return jsi::Function::createFromHostFunction(runtime,
1770
- jsi::PropNameID::forAscii(runtime, methodName),
1771
- 0,
1772
- [this](jsi::Runtime &runtime,
1773
- const jsi::Value &thisValue,
1774
- const jsi::Value *arguments,
1775
- size_t count) -> jsi::Value {
1776
- auto ret = canvas_native_webgl2_create_vertex_array(
1777
- this->GetState());
1778
-
1779
- auto vertexArrayObject = std::make_shared<WebGLVertexArrayObject>(
1780
- ret);
1781
- return jsi::Object::createFromHostObject(
1782
- runtime, vertexArrayObject);
1783
- }
1784
- );
1785
- } else if (methodName == "clearBufferfi") {
1786
- return jsi::Function::createFromHostFunction(runtime,
1787
- jsi::PropNameID::forAscii(runtime, methodName),
1788
- 4,
1789
- [this](jsi::Runtime &runtime,
1790
- const jsi::Value &thisValue,
1791
- const jsi::Value *arguments,
1792
- size_t count) -> jsi::Value {
1793
-
1794
-
1795
- if (count > 3 && arguments[0].isObject()) {
1796
- auto bufferObject = arguments[0].asObject(
1797
- runtime);
1798
- if (bufferObject.isHostObject(
1799
- runtime)) {
1800
- auto buffer = bufferObject.asHostObject<WebGLBuffer>(
1801
- runtime);
1802
- if (buffer != nullptr) {
1803
- auto drawbuffer = (int32_t) arguments[1].asNumber();
1804
- auto depth = arguments[2].asNumber();
1805
- auto stencil = (int32_t) arguments[3].asNumber();
1806
- canvas_native_webgl2_clear_bufferfi(
1807
- buffer->GetBuffer(),
1808
- drawbuffer,
1809
- static_cast<float>(depth),
1810
- stencil,
1811
- this->GetState()
1812
- );
1813
- }
1814
-
1815
- }
1816
- }
1817
-
1818
- return jsi::Value::undefined();
1819
-
1820
- }
1821
- );
1822
- } else if (methodName == "deleteQuery") {
1823
- return jsi::Function::createFromHostFunction(runtime,
1824
- jsi::PropNameID::forAscii(runtime, methodName),
1825
- 1,
1826
- [this](jsi::Runtime &runtime,
1827
- const jsi::Value &thisValue,
1828
- const jsi::Value *arguments,
1829
- size_t count) -> jsi::Value {
1830
-
1831
- if (arguments[0].isObject()) {
1832
- auto queryObject = arguments[0].asObject(
1833
- runtime);
1834
- if (queryObject.isHostObject(
1835
- runtime)) {
1836
- auto query = queryObject.asHostObject<WebGLQuery>(
1837
- runtime);
1838
-
1839
- if (query != nullptr) {
1840
- canvas_native_webgl2_delete_query_with_query(
1841
- query->GetQuery(),
1842
- this->GetState()
1843
- );
1844
- }
1845
-
1846
- }
1847
- }
1848
-
1849
- return jsi::Value::undefined();
1850
- }
1851
- );
1852
- } else if (methodName == "deleteSampler") {
1853
- return jsi::Function::createFromHostFunction(runtime,
1854
- jsi::PropNameID::forAscii(runtime, methodName),
1855
- 1,
1856
- [this](jsi::Runtime &runtime,
1857
- const jsi::Value &thisValue,
1858
- const jsi::Value *arguments,
1859
- size_t count) -> jsi::Value {
1860
-
1861
- if (arguments[0].isObject()) {
1862
- auto samplerObject = arguments[0].asObject(
1863
- runtime);
1864
- if (samplerObject.isHostObject(
1865
- runtime)) {
1866
- auto sampler = samplerObject.asHostObject<WebGLSampler>(
1867
- runtime);
1868
-
1869
- if (sampler != nullptr) {
1870
- canvas_native_webgl2_delete_sampler_with_sampler(
1871
- sampler->GetSampler(),
1872
- this->GetState()
1873
- );
1874
- }
1875
- }
1876
- }
1877
-
1878
- return jsi::Value::undefined();
1879
- }
1880
- );
1881
- } else if (methodName == "deleteSync") {
1882
- return jsi::Function::createFromHostFunction(runtime,
1883
- jsi::PropNameID::forAscii(runtime, methodName),
1884
- 3,
1885
- [this](jsi::Runtime &runtime,
1886
- const jsi::Value &thisValue,
1887
- const jsi::Value *arguments,
1888
- size_t count) -> jsi::Value {
1889
-
1890
- if (arguments[0].isObject()) {
1891
- auto syncObject = arguments[0].asObject(
1892
- runtime);
1893
- if (syncObject.isHostObject(runtime)) {
1894
- auto sync = syncObject.asHostObject<WebGLSyncImpl>(
1895
- runtime);
1896
-
1897
- if (sync != nullptr) {
1898
- canvas_native_webgl2_delete_sync_with_sync(
1899
- sync->GetSync(),
1900
- this->GetState()
1901
- );
1902
- }
1903
- }
1904
- }
1905
- return jsi::Value::undefined();
1906
- }
1907
- );
1908
- } else if (methodName == "deleteTransformFeedback") {
1909
- return jsi::Function::createFromHostFunction(runtime,
1910
- jsi::PropNameID::forAscii(runtime, methodName),
1911
- 3,
1912
- [this](jsi::Runtime &runtime,
1913
- const jsi::Value &thisValue,
1914
- const jsi::Value *arguments,
1915
- size_t count) -> jsi::Value {
1916
-
1917
- if (arguments[0].isObject()) {
1918
- auto transformFeedbackObject = arguments[0].asObject(
1919
- runtime);
1920
- if (transformFeedbackObject.isHostObject(
1921
- runtime)) {
1922
- auto transformFeedback = transformFeedbackObject.asHostObject<WebGLTransformFeedback>(
1923
- runtime);
1924
-
1925
- if (transformFeedback != nullptr) {
1926
- canvas_native_webgl2_delete_transform_feedback(
1927
- transformFeedback->GetFeedback(),
1928
- this->GetState()
1929
- );
1930
- }
1931
-
1932
- }
1933
- }
1934
-
1935
- return jsi::Value::undefined();
1936
- }
1937
- );
1938
- } else if (methodName == "deleteVertexArray") {
1939
- return jsi::Function::createFromHostFunction(runtime,
1940
- jsi::PropNameID::forAscii(runtime, methodName),
1941
- 3,
1942
- [this](jsi::Runtime &runtime,
1943
- const jsi::Value &thisValue,
1944
- const jsi::Value *arguments,
1945
- size_t count) -> jsi::Value {
1946
-
1947
- if (arguments[0].isObject()) {
1948
- auto vertexArrayObject = arguments[0].asObject(
1949
- runtime);
1950
- if (vertexArrayObject.isHostObject(
1951
- runtime)) {
1952
- auto vertexArray = vertexArrayObject.asHostObject<WebGLVertexArrayObject>(
1953
- runtime);
1954
- if (vertexArray != nullptr) {
1955
- canvas_native_webgl2_delete_vertex_array_with_vertex_array(
1956
- vertexArray->GetVertexArrayObject(),
1957
- this->GetState()
1958
- );
1959
- }
1960
-
1961
- }
1962
- }
1963
-
1964
- return jsi::Value::undefined();
1965
- }
1966
- );
1967
- } else if (methodName == "drawArraysInstanced") {
1968
- return jsi::Function::createFromHostFunction(runtime,
1969
- jsi::PropNameID::forAscii(runtime, methodName),
1970
- 4,
1971
- [this](jsi::Runtime &runtime,
1972
- const jsi::Value &thisValue,
1973
- const jsi::Value *arguments,
1974
- size_t count) -> jsi::Value {
1975
-
1976
- if (count > 3) {
1977
- auto mode = (uint32_t) arguments[0].asNumber();
1978
- auto first = (int32_t) arguments[1].asNumber();
1979
- auto count_ = (int32_t) arguments[2].asNumber();
1980
- auto instanceCount = (int32_t) arguments[3].asNumber();
1981
- canvas_native_webgl2_draw_arrays_instanced(
1982
- mode,
1983
- first,
1984
- count_,
1985
- instanceCount,
1986
- this->GetState()
1987
- );
1988
-
1989
- this->UpdateInvalidateState();
1990
- }
1991
- return jsi::Value::undefined();
1992
- }
1993
- );
1994
- } else if (methodName == "drawBuffers") {
1995
- return jsi::Function::createFromHostFunction(runtime,
1996
- jsi::PropNameID::forAscii(runtime, methodName),
1997
- 1,
1998
- [this](jsi::Runtime &runtime,
1999
- const jsi::Value &thisValue,
2000
- const jsi::Value *arguments,
2001
- size_t count) -> jsi::Value {
2002
-
2003
-
2004
- if (arguments[0].isObject()) {
2005
- auto buffersObject = arguments[0].asObject(
2006
- runtime);
2007
- if (buffersObject.isArray(runtime)) {
2008
- auto array = buffersObject.getArray(
2009
- runtime);
2010
- auto len = array.size(runtime);
2011
- rust::Vec<uint32_t> buf;
2012
- buf.reserve(len);
2013
- for (int j = 0; j < len; ++j) {
2014
- auto item = array.getValueAtIndex(
2015
- runtime, j);
2016
- buf.emplace_back(
2017
- (uint32_t) item.asNumber());
2018
- }
2019
- rust::Slice<const uint32_t> slice(
2020
- buf.data(), buf.size());
2021
- canvas_native_webgl2_draw_buffers(
2022
- slice,
2023
- this->GetState());
2024
- }
2025
- }
2026
-
2027
- return jsi::Value::undefined();
2028
- }
2029
- );
2030
- } else if (methodName == "drawElementsInstanced") {
2031
- return jsi::Function::createFromHostFunction(runtime,
2032
- jsi::PropNameID::forAscii(runtime, methodName),
2033
- 5,
2034
- [this](jsi::Runtime &runtime,
2035
- const jsi::Value &thisValue,
2036
- const jsi::Value *arguments,
2037
- size_t count) -> jsi::Value {
2038
- if (count > 4) {
2039
- auto mode = (uint32_t) arguments[0].asNumber();
2040
- auto count_ = (int32_t) arguments[1].asNumber();
2041
- auto type = (uint32_t) arguments[2].asNumber();
2042
- auto offset = arguments[3].asNumber();
2043
- auto instanceCount = (int32_t) arguments[4].asNumber();
2044
- canvas_native_webgl2_draw_elements_instanced(
2045
- mode,
2046
- count_,
2047
- type,
2048
- static_cast<ssize_t>(offset),
2049
- instanceCount,
2050
- this->GetState()
2051
- );
2052
-
2053
- this->UpdateInvalidateState();
2054
- }
2055
- return jsi::Value::undefined();
2056
- }
2057
- );
2058
- } else if (methodName == "drawRangeElements") {
2059
- return jsi::Function::createFromHostFunction(runtime,
2060
- jsi::PropNameID::forAscii(runtime, methodName),
2061
- 6,
2062
- [this](jsi::Runtime &runtime,
2063
- const jsi::Value &thisValue,
2064
- const jsi::Value *arguments,
2065
- size_t count) -> jsi::Value {
2066
- if (count > 5) {
2067
- auto mode = (uint32_t) arguments[0].asNumber();
2068
- auto start = (uint32_t) arguments[1].asNumber();
2069
- auto end = (uint32_t) arguments[2].asNumber();
2070
- auto count_ = (int32_t) arguments[3].asNumber();
2071
- auto type = (uint32_t) arguments[4].asNumber();
2072
- auto offset = arguments[5].asNumber();
2073
- canvas_native_webgl2_draw_range_elements(
2074
- mode,
2075
- start,
2076
- end,
2077
- count_,
2078
- type,
2079
- static_cast<ssize_t>(offset),
2080
- this->GetState()
2081
- );
2082
-
2083
- this->UpdateInvalidateState();
2084
- }
2085
- return jsi::Value::undefined();
2086
- }
2087
- );
2088
- } else if (methodName == "endQuery") {
2089
- return jsi::Function::createFromHostFunction(runtime,
2090
- jsi::PropNameID::forAscii(runtime, methodName),
2091
- 1,
2092
- [this](jsi::Runtime &runtime,
2093
- const jsi::Value &thisValue,
2094
- const jsi::Value *arguments,
2095
- size_t count) -> jsi::Value {
2096
-
2097
-
2098
- if (arguments[0].isNumber()) {
2099
- auto target = (uint32_t) arguments[0].asNumber();
2100
- canvas_native_webgl2_end_query(target,
2101
- this->GetState());
2102
- }
2103
-
2104
- return jsi::Value::undefined();
2105
- }
2106
- );
2107
- } else if (methodName == "endTransformFeedback") {
2108
- return jsi::Function::createFromHostFunction(runtime,
2109
- jsi::PropNameID::forAscii(runtime, methodName),
2110
- 03,
2111
- [this](jsi::Runtime &runtime,
2112
- const jsi::Value &thisValue,
2113
- const jsi::Value *arguments,
2114
- size_t count) -> jsi::Value {
2115
- canvas_native_webgl2_end_transform_feedback(
2116
- this->GetState());
2117
- return jsi::Value::undefined();
2118
- }
2119
- );
2120
- } else if (methodName == "fenceSync") {
2121
- return jsi::Function::createFromHostFunction(runtime,
2122
- jsi::PropNameID::forAscii(runtime, methodName),
2123
- 2,
2124
- [this](jsi::Runtime &runtime,
2125
- const jsi::Value &thisValue,
2126
- const jsi::Value *arguments,
2127
- size_t count) -> jsi::Value {
2128
-
2129
- if (count > 1) {
2130
- auto condition = (uint32_t) arguments[0].asNumber();
2131
- auto flags = (uint32_t) arguments[1].asNumber();
2132
- canvas_native_webgl2_fence_sync(
2133
- condition,
2134
- flags,
2135
- this->GetState()
2136
- );
2137
- }
2138
-
2139
- return jsi::Value::undefined();
2140
- }
2141
- );
2142
- } else if (methodName == "framebufferTextureLayer") {
2143
- return jsi::Function::createFromHostFunction(runtime,
2144
- jsi::PropNameID::forAscii(runtime, methodName),
2145
- 5,
2146
- [this](jsi::Runtime &runtime,
2147
- const jsi::Value &thisValue,
2148
- const jsi::Value *arguments,
2149
- size_t count) -> jsi::Value {
2150
-
2151
-
2152
- if (count > 4 && arguments[2].isObject()) {
2153
- auto textureObject = arguments[2].asObject(
2154
- runtime);
2155
- if (textureObject.isHostObject(
2156
- runtime)) {
2157
- auto target = (uint32_t) arguments[0].asNumber();
2158
- auto attachment = (uint32_t) arguments[1].asNumber();
2159
- auto texture = textureObject.asHostObject<WebGLTexture>(
2160
- runtime);
2161
- auto level = (int32_t) arguments[3].asNumber();
2162
- auto layer = (int32_t) arguments[4].asNumber();
2163
- if (texture != nullptr) {
2164
- canvas_native_webgl2_framebuffer_texture_layer(
2165
- target,
2166
- attachment,
2167
- texture->GetTexture(),
2168
- level,
2169
- layer,
2170
- this->GetState()
2171
- );
2172
- }
2173
- }
2174
-
2175
- }
2176
-
2177
- return jsi::Value::undefined();
2178
- }
2179
- );
2180
- } else if (methodName == "getActiveUniformBlockName") {
2181
- return jsi::Function::createFromHostFunction(runtime,
2182
- jsi::PropNameID::forAscii(runtime, methodName),
2183
- 2,
2184
- [this](jsi::Runtime &runtime,
2185
- const jsi::Value &thisValue,
2186
- const jsi::Value *arguments,
2187
- size_t count) -> jsi::Value {
2188
-
2189
-
2190
- if (count > 1) {
2191
- auto program = getHostObject<WebGLProgram>(
2192
- runtime, arguments[0]);
2193
- if (program != nullptr) {
2194
- auto uniformBlockIndex = (uint32_t) arguments[1].asNumber();
2195
- auto name = canvas_native_webgl2_get_active_uniform_block_name(
2196
- program->GetProgram(),
2197
- uniformBlockIndex,
2198
- this->GetState()
2199
- );
2200
- return jsi::String::createFromAscii(
2201
- runtime, name.data(),
2202
- name.size());
2203
- }
2204
-
2205
- }
2206
-
2207
- return jsi::Value::undefined();
2208
- }
2209
- );
2210
- } else if (methodName == "getActiveUniformBlockParameter") {
2211
- return jsi::Function::createFromHostFunction(runtime,
2212
- jsi::PropNameID::forAscii(runtime, methodName),
2213
- 3,
2214
- [this](jsi::Runtime &runtime,
2215
- const jsi::Value &thisValue,
2216
- const jsi::Value *arguments,
2217
- size_t count) -> jsi::Value {
2218
-
2219
-
2220
- if (count > 2) {
2221
-
2222
- auto program = getHostObject<WebGLProgram>(
2223
- runtime, arguments[0]);
2224
-
2225
- if (program != nullptr) {
2226
- auto uniformBlockIndex = (uint32_t) arguments[1].asNumber();
2227
- auto pname = (uint32_t) arguments[2].asNumber();
2228
- auto ret = canvas_native_webgl2_get_active_uniform_block_parameter(
2229
- program->GetProgram(),
2230
- uniformBlockIndex,
2231
- pname,
2232
- this->GetState()
2233
- );
2234
-
2235
- switch (pname) {
2236
- case GL_UNIFORM_BLOCK_BINDING:
2237
- case GL_UNIFORM_BLOCK_DATA_SIZE:
2238
- case GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS:
2239
- return {canvas_native_webgl_result_get_i32(
2240
- *ret)};
2241
- case GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: {
2242
- auto value = canvas_native_webgl_result_get_u32_array(
2243
- *ret);
2244
- auto buffer = std::make_shared<VecMutableBuffer<uint32_t>>(
2245
- std::move(value));
2246
- auto array = jsi::ArrayBuffer(
2247
- runtime, buffer);
2248
-
2249
- auto Uint32Array = runtime.global()
2250
- .getProperty(
2251
- runtime,
2252
- "Uint32Array")
2253
- .asObject(runtime)
2254
- .asFunction(
2255
- runtime);
2256
-
2257
-
2258
- return Uint32Array.callAsConstructor(
2259
- runtime, array);
2260
- }
2261
- case GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:
2262
- case GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:
2263
- return {canvas_native_webgl_result_get_bool(
2264
- *ret)};
2265
- default:
2266
- return jsi::Value::null();
2267
- }
2268
- }
2269
- }
2270
-
2271
- return jsi::Value::null();
2272
- }
2273
- );
2274
- } else if (methodName == "getActiveUniforms") {
2275
- return jsi::Function::createFromHostFunction(runtime,
2276
- jsi::PropNameID::forAscii(runtime, methodName),
2277
- 3,
2278
- [this](jsi::Runtime &runtime,
2279
- const jsi::Value &thisValue,
2280
- const jsi::Value *arguments,
2281
- size_t count) -> jsi::Value {
2282
-
2283
-
2284
- if (count > 2 && arguments[1].isObject()) {
2285
-
2286
- auto program = getHostObject<WebGLProgram>(
2287
- runtime, arguments[0]);
2288
- auto uniformIndicesObject = arguments[1].asObject(
2289
- runtime);
2290
- auto pname = (uint32_t) arguments[2].asNumber();
2291
-
2292
- if (uniformIndicesObject.isArray(
2293
- runtime)) {
2294
- auto uniformIndices = uniformIndicesObject.asArray(
2295
- runtime);
2296
- auto size = uniformIndices.size(
2297
- runtime);
2298
- rust::Vec<uint32_t> buf;
2299
- buf.reserve(size);
2300
- for (int j = 0; j < size; j++) {
2301
- auto item = (uint32_t) uniformIndices.getValueAtIndex(
2302
- runtime, j).asNumber();
2303
- buf.emplace_back(item);
2304
- }
2305
- rust::Slice<const uint32_t> slice(
2306
- buf.data(), buf.size());
2307
- auto ret = canvas_native_webgl2_get_active_uniforms(
2308
- program->GetProgram(),
2309
- slice,
2310
- pname,
2311
- this->GetState()
2312
- );
2313
-
2314
- switch (pname) {
2315
- case GL_UNIFORM_TYPE:
2316
- case GL_UNIFORM_SIZE: {
2317
- auto value = canvas_native_webgl_result_get_u32_array(
2318
- *ret);
2319
- auto array = jsi::Array(
2320
- runtime,
2321
- value.size());
2322
- auto len = value.size();
2323
- for (int j = 0;
2324
- j < len; ++j) {
2325
- auto item = value[j];
2326
- array.setValueAtIndex(
2327
- runtime, j,
2328
- jsi::Value(
2329
- (int32_t) item));
2330
- }
2331
- return array;
2332
- }
2333
- break;
2334
- case GL_UNIFORM_BLOCK_INDEX:
2335
- case GL_UNIFORM_OFFSET:
2336
- case GL_UNIFORM_ARRAY_STRIDE:
2337
- case GL_UNIFORM_MATRIX_STRIDE: {
2338
- auto value = canvas_native_webgl_result_get_i32_array(
2339
- *ret);
2340
- auto array = jsi::Array(
2341
- runtime,
2342
- value.size());
2343
- auto len = value.size();
2344
- for (int j = 0;
2345
- j < len; ++j) {
2346
- auto item = value[j];
2347
- array.setValueAtIndex(
2348
- runtime, j,
2349
- jsi::Value(
2350
- item));
2351
- }
2352
- return array;
2353
- }
2354
- case GL_UNIFORM_IS_ROW_MAJOR: {
2355
- auto value = canvas_native_webgl_result_get_bool_array(
2356
- *ret);
2357
- auto len = value.size();
2358
- auto array = jsi::Array(
2359
- runtime,
2360
- len);
2361
- for (int j = 0;
2362
- j < len; ++j) {
2363
- bool item =
2364
- value[j] == 1;
2365
- array.setValueAtIndex(
2366
- runtime, j,
2367
- jsi::Value(
2368
- item));
2369
- }
2370
- return array;
2371
- }
2372
- default:
2373
- return jsi::Value::null();
2374
- }
2375
- }
2376
-
2377
-
2378
- }
2379
- return jsi::Value::null();
2380
- }
2381
- );
2382
- } else if (methodName == "getBufferSubData") {
2383
- return jsi::Function::createFromHostFunction(runtime,
2384
- jsi::PropNameID::forAscii(runtime, methodName),
2385
- 4,
2386
- [this](jsi::Runtime &runtime,
2387
- const jsi::Value &thisValue,
2388
- const jsi::Value *arguments,
2389
- size_t count) -> jsi::Value {
2390
-
2391
-
2392
- if (count >= 3 &&
2393
- arguments[2].isObject()) {
2394
- auto target = (uint32_t) arguments[0].asNumber();
2395
- auto srcByteOffset = arguments[1].asNumber();
2396
- auto dstDataObject = arguments[2].asObject(
2397
- runtime);
2398
-
2399
- if (dstDataObject.isTypedArray(
2400
- runtime)) {
2401
- ssize_t dstOffsetValue = 0;
2402
- if (arguments[3].isNumber()) {
2403
- dstOffsetValue = static_cast<ssize_t>(arguments[3].asNumber());
2404
- }
2405
-
2406
- ssize_t lengthValue = 0;
2407
- if (arguments[4].isNumber()) {
2408
- lengthValue = static_cast<ssize_t>(arguments[4].asNumber());
2409
- }
2410
-
2411
- auto array = dstDataObject.getTypedArray(
2412
- runtime);
2413
- auto slice = GetTypedArrayData<uint8_t>(
2414
- runtime, array);
2415
-
2416
- canvas_native_webgl2_get_buffer_sub_data(
2417
- target,
2418
- static_cast<ssize_t>(srcByteOffset),
2419
- slice,
2420
- dstOffsetValue,
2421
- lengthValue,
2422
- this->GetState()
2423
- );
2424
- }
2425
- }
2426
-
2427
- return jsi::Value::undefined();
2428
- }
2429
- );
2430
- } else if (methodName == "getFragDataLocation") {
2431
- return jsi::Function::createFromHostFunction(runtime,
2432
- jsi::PropNameID::forAscii(runtime, methodName),
2433
- 2,
2434
- [this](jsi::Runtime &runtime,
2435
- const jsi::Value &thisValue,
2436
- const jsi::Value *arguments,
2437
- size_t count) -> jsi::Value {
2438
-
2439
-
2440
- if (count > 1 && arguments[1].isString()) {
2441
- auto program = getHostObject<WebGLProgram>(
2442
- runtime, arguments[0]);
2443
-
2444
- if (program != nullptr) {
2445
- auto name = arguments[1].asString(
2446
- runtime).utf8(runtime);
2447
-
2448
- auto ret = canvas_native_webgl2_get_frag_data_location(
2449
- program->GetProgram(),
2450
- rust::Str(name.c_str()),
2451
- this->GetState()
2452
- );
2453
-
2454
- return {ret};
2455
- }
2456
- }
2457
-
2458
- return jsi::Value::null();
2459
- }
2460
- );
2461
- } else if (methodName == "getIndexedParameter") {
2462
- return jsi::Function::createFromHostFunction(runtime,
2463
- jsi::PropNameID::forAscii(runtime, methodName),
2464
- 2,
2465
- [this](jsi::Runtime &runtime,
2466
- const jsi::Value &thisValue,
2467
- const jsi::Value *arguments,
2468
- size_t count) -> jsi::Value {
2469
-
2470
- if (count > 1) {
2471
- auto target = (uint32_t) arguments[0].asNumber();
2472
- auto index = (uint32_t) arguments[1].asNumber();
2473
- auto ret = canvas_native_webgl2_get_indexed_parameter(
2474
- target,
2475
- index,
2476
- this->GetState()
2477
- );
2478
-
2479
- switch (target) {
2480
- case GL_UNIFORM_BUFFER_BINDING:
2481
- case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: {
2482
- auto buffer = canvas_native_webgl2_indexed_parameter_get_buffer_value(
2483
- *ret);
2484
- return jsi::Object::createFromHostObject(
2485
- runtime,
2486
- std::make_shared<WebGLBuffer>(
2487
- buffer));
2488
- }
2489
- break;
2490
- case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE:
2491
- case GL_TRANSFORM_FEEDBACK_BUFFER_START:
2492
- case GL_UNIFORM_BUFFER_SIZE:
2493
- case GL_UNIFORM_BUFFER_START: {
2494
- auto value = canvas_native_webgl2_indexed_parameter_get_value(
2495
- *ret);
2496
- return {static_cast<double>(value)};
2497
- }
2498
- break;
2499
- default:
2500
- return jsi::Value::null();
2501
- }
2502
- }
2503
-
2504
- return jsi::Value::null();
2505
- }
2506
- );
2507
- } else if (methodName == "getInternalformatParameter") {
2508
- return jsi::Function::createFromHostFunction(runtime,
2509
- jsi::PropNameID::forAscii(runtime, methodName),
2510
- 3,
2511
- [this](jsi::Runtime &runtime,
2512
- const jsi::Value &thisValue,
2513
- const jsi::Value *arguments,
2514
- size_t count) -> jsi::Value {
2515
- if (count > 2) {
2516
- auto target = (uint32_t) arguments[0].asNumber();
2517
- auto internalformat = (uint32_t) arguments[1].asNumber();
2518
- auto pname = (uint32_t) arguments[2].asNumber();
2519
- switch (internalformat) {
2520
- case GL_RGB:
2521
- case GL_RGBA:
2522
- case GL_R8UI:
2523
- case GL_R8I:
2524
- case GL_R16UI:
2525
- case GL_R16I:
2526
- case GL_R32UI:
2527
- case GL_R32I:
2528
- case GL_RG8UI:
2529
- case GL_RG8I:
2530
- case GL_RG16UI:
2531
- case GL_RG16I:
2532
- case GL_RG32UI:
2533
- case GL_RG32I:
2534
- case GL_RGBA8UI:
2535
- case GL_RGBA8I:
2536
- case GL_RGB10_A2UI:
2537
- case GL_RGBA16UI:
2538
- case GL_RGBA16I:
2539
- case GL_RGBA32UI:
2540
- case GL_RGBA32I: {
2541
- // empty
2542
-
2543
- auto value = rust::Vec<int32_t>();
2544
- auto buffer = std::make_shared<VecMutableBuffer<int32_t>>(
2545
- std::move(value));
2546
- auto array = jsi::ArrayBuffer(
2547
- runtime, buffer);
2548
-
2549
- auto Int32Array = runtime.global()
2550
- .getProperty(runtime,
2551
- "Int32Array")
2552
- .asObject(runtime)
2553
- .asFunction(runtime);
2554
-
2555
-
2556
- return Int32Array.callAsConstructor(
2557
- runtime, array);
2558
- }
2559
- case GL_R8:
2560
- case GL_RG8:
2561
- case GL_RGB565:
2562
- case GL_RGBA8:
2563
- case GL_SRGB8_ALPHA8:
2564
- case GL_RGB5_A1:
2565
- case GL_RGBA4:
2566
- case GL_RGB10_A2:
2567
- case GL_DEPTH_COMPONENT16:
2568
- case GL_DEPTH_COMPONENT24:
2569
- case GL_DEPTH_COMPONENT32F:
2570
- case GL_DEPTH24_STENCIL8:
2571
- case GL_DEPTH32F_STENCIL8:
2572
- case GL_STENCIL_INDEX8:
2573
- // noop
2574
- break;
2575
- case GL_R16F:
2576
- case GL_RG16F:
2577
- case GL_R32F:
2578
- case GL_RG32F:
2579
- case GL_RGBA32F:
2580
- case GL_R11F_G11F_B10F:
2581
- // noop
2582
- break;
2583
- default:
2584
- return jsi::Value::null();
2585
- }
2586
-
2587
-
2588
- auto ret = canvas_native_webgl2_get_internalformat_parameter(
2589
- target,
2590
- internalformat,
2591
- pname,
2592
- this->GetState()
2593
- );
2594
-
2595
- if (pname == GL_SAMPLES) {
2596
- auto value = canvas_native_webgl_result_get_i32_array(
2597
- *ret);
2598
-
2599
- auto buffer = std::make_shared<VecMutableBuffer<int32_t>>(
2600
- std::move(value));
2601
- auto array = jsi::ArrayBuffer(
2602
- runtime,
2603
- buffer);
2604
-
2605
- auto Int32Array = runtime.global()
2606
- .getProperty(runtime,
2607
- "Int32Array")
2608
- .asObject(runtime)
2609
- .asFunction(runtime);
2610
-
2611
-
2612
- return Int32Array.callAsConstructor(
2613
- runtime, array);
2614
- } else {
2615
- return jsi::Value::null();
2616
- }
2617
- }
2618
-
2619
- return jsi::Value::null();
2620
- }
2621
- );
2622
- } else if (methodName == "getParameter") {
2623
- return jsi::Function::createFromHostFunction(runtime,
2624
- jsi::PropNameID::forAscii(runtime, methodName),
2625
- 1,
2626
- [this](jsi::Runtime &runtime,
2627
- const jsi::Value &thisValue,
2628
- const jsi::Value *arguments,
2629
- size_t count) -> jsi::Value {
2630
-
2631
- if (count > 0) {
2632
- auto pname = (uint32_t) arguments[0].asNumber();
2633
- auto result = canvas_native_webgl2_get_parameter(
2634
- pname,
2635
- this->GetState());
2636
- switch (pname) {
2637
- case GL_COPY_READ_BUFFER_BINDING:
2638
- case GL_COPY_WRITE_BUFFER_BINDING:
2639
- case GL_DRAW_FRAMEBUFFER_BINDING:
2640
- return {canvas_native_webgl_result_get_i32(
2641
- *result)};
2642
- default:
2643
- return this->GetParameterInternal(
2644
- runtime, pname,
2645
- std::move(result));
2646
- }
2647
- }
2648
-
2649
- return jsi::Value::null();
2650
- }
2651
- );
2652
- } else if (methodName == "getQueryParameter") {
2653
- return jsi::Function::createFromHostFunction(runtime,
2654
- jsi::PropNameID::forAscii(runtime, methodName),
2655
- 2,
2656
- [this](jsi::Runtime &runtime,
2657
- const jsi::Value &thisValue,
2658
- const jsi::Value *arguments,
2659
- size_t count) -> jsi::Value {
2660
-
2661
-
2662
- if (count > 1) {
2663
- auto query = getHostObject<WebGLQuery>(
2664
- runtime, arguments[0]);
2665
- if (query != nullptr) {
2666
- auto pname = (uint32_t) arguments[1].asNumber();
2667
-
2668
-
2669
- auto ret = canvas_native_webgl2_get_query_parameter(
2670
- query->GetQuery(),
2671
- pname,
2672
- this->GetState());
2673
- if (pname == GL_QUERY_RESULT) {
2674
- return {canvas_native_webgl_result_get_bool(
2675
- *ret)};
2676
- } else if (pname ==
2677
- GL_QUERY_RESULT_AVAILABLE) {
2678
- return {(int32_t) canvas_native_webgl_result_get_u32(
2679
- *ret)};
2680
- }
2681
- }
2682
- }
2683
-
2684
- return jsi::Value::null();
2685
- }
2686
- );
2687
- } else if (methodName == "getQuery") {
2688
- return jsi::Function::createFromHostFunction(runtime,
2689
- jsi::PropNameID::forAscii(runtime, methodName),
2690
- 2,
2691
- [this](jsi::Runtime &runtime,
2692
- const jsi::Value &thisValue,
2693
- const jsi::Value *arguments,
2694
- size_t count) -> jsi::Value {
2695
-
2696
- if (count > 1) {
2697
- auto target = (uint32_t) arguments[0].asNumber();
2698
- auto pname = (uint32_t) arguments[1].asNumber();
2699
- auto ret = canvas_native_webgl2_get_query(
2700
- target,
2701
- pname,
2702
- this->GetState());
2703
- if (pname == GL_CURRENT_QUERY) {
2704
- return {canvas_native_webgl_result_get_i32(
2705
- *ret)};
2706
- }
2707
- }
2708
-
2709
- return jsi::Value::null();
2710
- }
2711
- );
2712
- } else if (methodName == "getSamplerParameter") {
2713
- return jsi::Function::createFromHostFunction(runtime,
2714
- jsi::PropNameID::forAscii(runtime, methodName),
2715
- 2,
2716
- [this](jsi::Runtime &runtime,
2717
- const jsi::Value &thisValue,
2718
- const jsi::Value *arguments,
2719
- size_t count) -> jsi::Value {
2720
-
2721
- if (count > 1) {
2722
- auto sampler = getHostObject<WebGLSampler>(
2723
- runtime, arguments[0]);
2724
- if (sampler != nullptr) {
2725
- auto pname = (uint32_t) arguments[1].asNumber();
2726
- auto ret = canvas_native_webgl2_get_sampler_parameter(
2727
- sampler->GetSampler(),
2728
- pname,
2729
- this->GetState());
2730
-
2731
- switch (pname) {
2732
- case GL_TEXTURE_MAX_LOD:
2733
- case GL_TEXTURE_MIN_LOD:
2734
- return {static_cast<double>(canvas_native_webgl_result_get_f32(
2735
- *ret))};
2736
- case GL_TEXTURE_COMPARE_FUNC:
2737
- case GL_TEXTURE_COMPARE_MODE:
2738
- case GL_TEXTURE_MAG_FILTER:
2739
- case GL_TEXTURE_MIN_FILTER:
2740
- case GL_TEXTURE_WRAP_R:
2741
- case GL_TEXTURE_WRAP_S:
2742
- case GL_TEXTURE_WRAP_T:
2743
- return {canvas_native_webgl_result_get_i32(
2744
- *ret)};
2745
- default:
2746
- return jsi::Value::null();
2747
- }
2748
- }
2749
- }
2750
-
2751
- return jsi::Value::null();
2752
- }
2753
- );
2754
- } else if (methodName == "getSyncParameter") {
2755
- return jsi::Function::createFromHostFunction(runtime,
2756
- jsi::PropNameID::forAscii(runtime, methodName),
2757
- 2,
2758
- [this](jsi::Runtime &runtime,
2759
- const jsi::Value &thisValue,
2760
- const jsi::Value *arguments,
2761
- size_t count) -> jsi::Value {
2762
-
2763
- if (count > 1) {
2764
- auto sync = getHostObject<WebGLSyncImpl>(
2765
- runtime, arguments[0]);
2766
- if (sync != nullptr) {
2767
- auto pname = (uint32_t) arguments[1].asNumber();
2768
- auto ret = canvas_native_webgl2_get_sync_parameter(
2769
- sync->GetSync(),
2770
- pname,
2771
- this->GetState());
2772
-
2773
- switch (pname) {
2774
- case GL_OBJECT_TYPE:
2775
- case GL_SYNC_STATUS:
2776
- case GL_SYNC_CONDITION:
2777
- case GL_SYNC_FLAGS:
2778
- return {canvas_native_webgl_result_get_i32(
2779
- *ret)};
2780
- default:
2781
- return jsi::Value::null();
2782
- }
2783
- }
2784
- }
2785
- return jsi::Value::null();
2786
- }
2787
- );
2788
- } else if (methodName == "getTransformFeedbackVarying") {
2789
- return jsi::Function::createFromHostFunction(runtime,
2790
- jsi::PropNameID::forAscii(runtime, methodName),
2791
- 2,
2792
- [this](jsi::Runtime &runtime,
2793
- const jsi::Value &thisValue,
2794
- const jsi::Value *arguments,
2795
- size_t count) -> jsi::Value {
2796
- if (count > 1) {
2797
- auto program = getHostObject<WebGLProgram>(
2798
- runtime, arguments[0]);
2799
- auto index = (uint32_t) arguments[1].asNumber();
2800
- if (program != nullptr) {
2801
- auto ret = canvas_native_webgl2_get_transform_feedback_varying(
2802
- program->GetProgram(),
2803
- index,
2804
- this->GetState()
2805
- );
2806
-
2807
- if (canvas_native_webgl_active_info_get_is_empty(
2808
- *ret)) {
2809
- return jsi::Value::null();
2810
- }
2811
-
2812
- auto info = std::make_shared<WebGLActiveInfoImpl>(
2813
- std::move(ret));
2814
-
2815
- return jsi::Object::createFromHostObject(
2816
- runtime, info);
2817
- }
2818
- }
2819
-
2820
- return jsi::Value::null();
2821
- }
2822
- );
2823
- } else if (methodName == "getUniformBlockIndex") {
2824
- return jsi::Function::createFromHostFunction(runtime,
2825
- jsi::PropNameID::forAscii(runtime, methodName),
2826
- 2,
2827
- [this](jsi::Runtime &runtime,
2828
- const jsi::Value &thisValue,
2829
- const jsi::Value *arguments,
2830
- size_t count) -> jsi::Value {
2831
- if (count > 1) {
2832
- auto program = getHostObject<WebGLProgram>(
2833
- runtime, arguments[0]);
2834
- auto index = (uint32_t) arguments[1].asNumber();
2835
- if (program != nullptr) {
2836
- auto ret = canvas_native_webgl2_get_transform_feedback_varying(
2837
- program->GetProgram(),
2838
- index,
2839
- this->GetState()
2840
- );
2841
-
2842
- if (canvas_native_webgl_active_info_get_is_empty(
2843
- *ret)) {
2844
- return jsi::Value::null();
2845
- }
2846
-
2847
- auto info = std::make_shared<WebGLActiveInfoImpl>(
2848
- std::move(ret));
2849
-
2850
- return jsi::Object::createFromHostObject(
2851
- runtime, info);
2852
- }
2853
- }
2854
-
2855
- return jsi::Value::null();
2856
- }
2857
- );
2858
- } else if (methodName == "getUniformIndices") {
2859
- return jsi::Function::createFromHostFunction(runtime,
2860
- jsi::PropNameID::forAscii(runtime, methodName),
2861
- 2,
2862
- [this](jsi::Runtime &runtime,
2863
- const jsi::Value &thisValue,
2864
- const jsi::Value *arguments,
2865
- size_t count) -> jsi::Value {
2866
-
2867
- if (count > 1 && arguments[1].isObject()) {
2868
- auto program = getHostObject<WebGLProgram>(
2869
- runtime, arguments[0]);
2870
- auto uniformNamesObject = arguments[1].asObject(
2871
- runtime);
2872
- if (program != nullptr &&
2873
- uniformNamesObject.isArray(
2874
- runtime)) {
2875
- auto uniformNames = uniformNamesObject.getArray(
2876
- runtime);
2877
- auto len = uniformNames.size(
2878
- runtime);
2879
- rust::Vec<rust::Str> store;
2880
- store.reserve(len);
2881
- for (int j = 0; j < len; ++j) {
2882
- auto name = uniformNames.getValueAtIndex(
2883
- runtime, j).asString(
2884
- runtime).utf8(runtime);
2885
- rust::Str val(name.data(),
2886
- name.size());
2887
- store.push_back(val);
2888
- }
2889
- rust::Slice<const rust::Str> slice(
2890
- store.data(),
2891
- store.size());
2892
- auto ret = canvas_native_webgl2_get_uniform_indices(
2893
- program->GetProgram(),
2894
- slice,
2895
- this->GetState());
2896
-
2897
- auto retSize = ret.size();
2898
- auto result = jsi::Array(runtime,
2899
- retSize);
2900
- for (int j = 0; j < retSize; ++j) {
2901
- auto item = ret[j];
2902
- result.setValueAtIndex(runtime,
2903
- j,
2904
- jsi::Value(
2905
- (int32_t) item));
2906
- }
2907
-
2908
- return result;
2909
- }
2910
- }
2911
-
2912
- return jsi::Value::null();
2913
- }
2914
- );
2915
- } else if (methodName == "invalidateFramebuffer") {
2916
- return jsi::Function::createFromHostFunction(runtime,
2917
- jsi::PropNameID::forAscii(runtime, methodName),
2918
- 2,
2919
- [this](jsi::Runtime &runtime,
2920
- const jsi::Value &thisValue,
2921
- const jsi::Value *arguments,
2922
- size_t count) -> jsi::Value {
2923
-
2924
-
2925
- if (count > 1 && arguments[1].isObject()) {
2926
- auto target = (uint32_t) arguments[0].asNumber();
2927
- auto attachments = arguments[1].asObject(
2928
- runtime);
2929
-
2930
- if (attachments.isArray(runtime)) {
2931
- auto array = attachments.getArray(
2932
- runtime);
2933
- auto len = array.size(runtime);
2934
- rust::Vec<uint32_t> buf;
2935
- buf.reserve(len);
2936
- for (int j = 0; j < len; ++j) {
2937
- auto item = (uint32_t) array.getValueAtIndex(
2938
- runtime, j).asNumber();
2939
- buf.push_back(item);
2940
- }
2941
-
2942
- rust::Slice<const uint32_t> slice(
2943
- buf.data(), buf.size());
2944
- canvas_native_webgl2_invalidate_framebuffer(
2945
- target, slice,
2946
- this->GetState());
2947
- }
2948
- }
2949
-
2950
- return jsi::Value::undefined();
2951
- }
2952
- );
2953
- } else if (methodName == "invalidateSubFramebuffer") {
2954
- return jsi::Function::createFromHostFunction(runtime,
2955
- jsi::PropNameID::forAscii(runtime, methodName),
2956
- 6,
2957
- [this](jsi::Runtime &runtime,
2958
- const jsi::Value &thisValue,
2959
- const jsi::Value *arguments,
2960
- size_t count) -> jsi::Value {
2961
-
2962
-
2963
- if (count > 5 && arguments[1].isObject()) {
2964
- auto attachments = arguments[1].asObject(
2965
- runtime);
2966
- if (attachments.isArray(runtime)) {
2967
- auto target = (uint32_t) arguments[0].asNumber();
2968
- auto x = (int32_t) arguments[2].asNumber();
2969
- auto y = (int32_t) arguments[3].asNumber();
2970
- auto width = (int32_t) arguments[4].asNumber();
2971
- auto height = (int32_t) arguments[5].asNumber();
2972
-
2973
- auto array = attachments.getArray(
2974
- runtime);
2975
- auto len = array.size(runtime);
2976
- rust::Vec<uint32_t> buf;
2977
- buf.reserve(len);
2978
- for (int j = 0; j < len; ++j) {
2979
- auto item = (uint) array.getValueAtIndex(
2980
- runtime, j).asNumber();
2981
- buf.push_back(item);
2982
- }
2983
- rust::Slice<const uint32_t> slice(
2984
- buf.data(), buf.size());
2985
-
2986
- canvas_native_webgl2_invalidate_sub_framebuffer(
2987
- target,
2988
- slice,
2989
- x,
2990
- y,
2991
- width,
2992
- height,
2993
- this->GetState());
2994
- }
2995
-
2996
-
2997
- }
2998
-
2999
- return jsi::Value::undefined();
3000
- }
3001
- );
3002
- } else if (methodName == "isQuery") {
3003
- return jsi::Function::createFromHostFunction(runtime,
3004
- jsi::PropNameID::forAscii(runtime, methodName),
3005
- 1,
3006
- [this](jsi::Runtime &runtime,
3007
- const jsi::Value &thisValue,
3008
- const jsi::Value *arguments,
3009
- size_t count) -> jsi::Value {
3010
- if (count > 0) {
3011
- auto query = getHostObject<WebGLQuery>(
3012
- runtime, arguments[0]);
3013
- if (query != nullptr) {
3014
- auto ret = canvas_native_webgl2_is_query(
3015
- query->GetQuery(),
3016
- this->GetState());
3017
- return {ret};
3018
- }
3019
- }
3020
- // todo check return
3021
- return {false};
3022
- }
3023
- );
3024
- } else if (methodName == "isSampler") {
3025
- return jsi::Function::createFromHostFunction(runtime,
3026
- jsi::PropNameID::forAscii(runtime, methodName),
3027
- 1,
3028
- [this](jsi::Runtime &runtime,
3029
- const jsi::Value &thisValue,
3030
- const jsi::Value *arguments,
3031
- size_t count) -> jsi::Value {
3032
- if (count > 0) {
3033
- auto sampler = getHostObject<WebGLSampler>(
3034
- runtime, arguments[0]);
3035
- if (sampler != nullptr) {
3036
- auto ret = canvas_native_webgl2_is_sampler(
3037
- sampler->GetSampler(),
3038
- this->GetState());
3039
- return {ret};
3040
- }
3041
- }
3042
- // todo check return
3043
- return {false};
3044
- }
3045
- );
3046
- } else if (methodName == "isSync") {
3047
- return jsi::Function::createFromHostFunction(runtime,
3048
- jsi::PropNameID::forAscii(runtime, methodName),
3049
- 1,
3050
- [this](jsi::Runtime &runtime,
3051
- const jsi::Value &thisValue,
3052
- const jsi::Value *arguments,
3053
- size_t count) -> jsi::Value {
3054
- if (count > 0) {
3055
- auto sync = getHostObject<WebGLSyncImpl>(
3056
- runtime, arguments[0]);
3057
- if (sync != nullptr) {
3058
- auto ret = canvas_native_webgl2_is_sync(
3059
- sync->GetSync(),
3060
- this->GetState());
3061
- return {ret};
3062
- }
3063
- }
3064
- // todo check return
3065
- return {false};
3066
- }
3067
- );
3068
- } else if (methodName == "isTransformFeedback") {
3069
- return jsi::Function::createFromHostFunction(runtime,
3070
- jsi::PropNameID::forAscii(runtime, methodName),
3071
- 1,
3072
- [this](jsi::Runtime &runtime,
3073
- const jsi::Value &thisValue,
3074
- const jsi::Value *arguments,
3075
- size_t count) -> jsi::Value {
3076
- if (count > 0) {
3077
- auto transformFeedback = getHostObject<WebGLTransformFeedback>(
3078
- runtime, arguments[0]);
3079
- if (transformFeedback != nullptr) {
3080
- auto ret = canvas_native_webgl2_is_transform_feedback(
3081
- transformFeedback->GetFeedback(),
3082
- this->GetState());
3083
- return {ret};
3084
- }
3085
- }
3086
- // todo check return
3087
- return {false};
3088
- }
3089
- );
3090
- } else if (methodName == "isVertexArray") {
3091
- return jsi::Function::createFromHostFunction(runtime,
3092
- jsi::PropNameID::forAscii(runtime, methodName),
3093
- 3,
3094
- [this](jsi::Runtime &runtime,
3095
- const jsi::Value &thisValue,
3096
- const jsi::Value *arguments,
3097
- size_t count) -> jsi::Value {
3098
- if (count > 0) {
3099
- auto vertexArray = getHostObject<WebGLVertexArrayObject>(
3100
- runtime, arguments[0]);
3101
- if (vertexArray != nullptr) {
3102
- auto ret = canvas_native_webgl2_is_vertex_array(
3103
- vertexArray->GetVertexArrayObject(),
3104
- this->GetState());
3105
- return {ret};
3106
- }
3107
- }
3108
- // todo check return
3109
- return {false};
3110
-
3111
-
3112
- }
3113
- );
3114
- } else if (methodName == "pauseTransformFeedback") {
3115
- return jsi::Function::createFromHostFunction(runtime,
3116
- jsi::PropNameID::forAscii(runtime, methodName),
3117
- 0,
3118
- [this](jsi::Runtime &runtime,
3119
- const jsi::Value &thisValue,
3120
- const jsi::Value *arguments,
3121
- size_t count) -> jsi::Value {
3122
-
3123
- canvas_native_webgl2_pause_transform_feedback(
3124
- this->GetState());
3125
-
3126
- return jsi::Value::undefined();
3127
- }
3128
- );
3129
- } else if (methodName == "readBuffer") {
3130
- return jsi::Function::createFromHostFunction(runtime,
3131
- jsi::PropNameID::forAscii(runtime, methodName),
3132
- 1,
3133
- [this](jsi::Runtime &runtime,
3134
- const jsi::Value &thisValue,
3135
- const jsi::Value *arguments,
3136
- size_t count) -> jsi::Value {
3137
- if (count > 0) {
3138
- auto src = (uint32_t) arguments[0].asNumber();
3139
- canvas_native_webgl2_read_buffer(
3140
- src,
3141
- this->GetState()
3142
- );
3143
- }
3144
-
3145
- return jsi::Value::undefined();
3146
- }
3147
- );
3148
- } else if (methodName == "renderbufferStorageMultisample") {
3149
- return jsi::Function::createFromHostFunction(runtime,
3150
- jsi::PropNameID::forAscii(runtime, methodName),
3151
- 5,
3152
- [this](jsi::Runtime &runtime,
3153
- const jsi::Value &thisValue,
3154
- const jsi::Value *arguments,
3155
- size_t count) -> jsi::Value {
3156
-
3157
- if (count > 4) {
3158
- auto target = (uint32_t) arguments[0].asNumber();
3159
- auto samples = (int32_t) arguments[1].asNumber();
3160
- auto internalFormat = (uint32_t) arguments[2].asNumber();
3161
- auto width = (int32_t) arguments[3].asNumber();
3162
- auto height = (int32_t) arguments[4].asNumber();
3163
- canvas_native_webgl2_renderbuffer_storage_multisample(
3164
- target,
3165
- samples,
3166
- internalFormat,
3167
- width,
3168
- height,
3169
- this->GetState()
3170
- );
3171
- }
3172
-
3173
- return jsi::Value::undefined();
3174
- }
3175
- );
3176
- } else if (methodName == "resumeTransformFeedback") {
3177
- return jsi::Function::createFromHostFunction(runtime,
3178
- jsi::PropNameID::forAscii(runtime, methodName),
3179
- 0,
3180
- [this](jsi::Runtime &runtime,
3181
- const jsi::Value &thisValue,
3182
- const jsi::Value *arguments,
3183
- size_t count) -> jsi::Value {
3184
- canvas_native_webgl2_resume_transform_feedback(
3185
- this->GetState());
3186
- return jsi::Value::undefined();
3187
- }
3188
- );
3189
- } else if (methodName == "samplerParameterf") {
3190
- return jsi::Function::createFromHostFunction(runtime,
3191
- jsi::PropNameID::forAscii(runtime, methodName),
3192
- 3,
3193
- [this](jsi::Runtime &runtime,
3194
- const jsi::Value &thisValue,
3195
- const jsi::Value *arguments,
3196
- size_t count) -> jsi::Value {
3197
-
3198
- if (count > 2) {
3199
- auto sampler = getHostObject<WebGLSampler>(
3200
- runtime, arguments[0]);
3201
- auto pname = (uint32_t) arguments[1].asNumber();
3202
- auto param = arguments[2].asNumber();
3203
- if (sampler != nullptr) {
3204
- canvas_native_webgl2_sampler_parameterf(
3205
- sampler->GetSampler(),
3206
- pname,
3207
- static_cast<float>(param),
3208
- this->GetState());
3209
- }
3210
- }
3211
-
3212
- return jsi::Value::undefined();
3213
- }
3214
- );
3215
- } else if (methodName == "samplerParameteri") {
3216
- return jsi::Function::createFromHostFunction(runtime,
3217
- jsi::PropNameID::forAscii(runtime, methodName),
3218
- 3,
3219
- [this](jsi::Runtime &runtime,
3220
- const jsi::Value &thisValue,
3221
- const jsi::Value *arguments,
3222
- size_t count) -> jsi::Value {
3223
-
3224
- if (count > 2) {
3225
- auto sampler = getHostObject<WebGLSampler>(
3226
- runtime, arguments[0]);
3227
- auto pname = (uint32_t) arguments[1].asNumber();
3228
- auto param = (int32_t) arguments[2].asNumber();
3229
- if (sampler != nullptr) {
3230
- canvas_native_webgl2_sampler_parameteri(
3231
- sampler->GetSampler(),
3232
- pname,
3233
- param,
3234
- this->GetState());
3235
- }
3236
- }
3237
-
3238
- return jsi::Value::undefined();
3239
- }
3240
- );
3241
- } else if (methodName == "texImage3D") {
3242
- return jsi::Function::createFromHostFunction(runtime,
3243
- jsi::PropNameID::forAscii(runtime, methodName),
3244
- 3,
3245
- [this](jsi::Runtime &runtime,
3246
- const jsi::Value &thisValue,
3247
- const jsi::Value *arguments,
3248
- size_t count) -> jsi::Value {
3249
-
3250
- if (count == 10) {
3251
- auto target = (int32_t) arguments[0].asNumber();
3252
- auto level = (int32_t) arguments[1].asNumber();
3253
- auto internalformat = (int32_t) arguments[2].asNumber();
3254
- auto width = (int32_t) arguments[3].asNumber();
3255
- auto height = (int32_t) arguments[4].asNumber();
3256
- auto depth = (int32_t) arguments[5].asNumber();
3257
- auto border = (int32_t) arguments[6].asNumber();
3258
- auto format = (int32_t) arguments[7].asNumber();
3259
- auto type = (uint32_t) arguments[8].asNumber();
3260
-
3261
-
3262
- if (arguments[9].isNumber()) {
3263
- auto imageOrPixelsOrOffset = arguments[9].asNumber();
3264
- canvas_native_webgl2_tex_image3d_none(
3265
- target,
3266
- level,
3267
- internalformat,
3268
- width,
3269
- height,
3270
- depth,
3271
- border,
3272
- format,
3273
- type,
3274
- static_cast<ssize_t>(imageOrPixelsOrOffset),
3275
- this->GetState()
3276
- );
3277
- return jsi::Value::undefined();
3278
- }
3279
-
3280
- if (arguments[9].isObject()) {
3281
- auto imageOrPixelsOrOffsetObject = arguments[9].asObject(
3282
- runtime);
3283
-
3284
- if (imageOrPixelsOrOffsetObject.isTypedArray(
3285
- runtime)) {
3286
- auto buf = imageOrPixelsOrOffsetObject.getTypedArray(
3287
- runtime);
3288
- auto slice = GetTypedArrayData<const uint8_t>(
3289
- runtime, buf);
3290
-
3291
-
3292
- canvas_native_webgl2_tex_image3d(
3293
- target,
3294
- level,
3295
- internalformat,
3296
- width,
3297
- height,
3298
- depth,
3299
- border,
3300
- format,
3301
- type,
3302
- slice,
3303
- this->GetState()
3304
- );
3305
- return jsi::Value::undefined();
3306
- }
3307
-
3308
- try {
3309
- auto image_asset = getHostObject<ImageAssetImpl>(
3310
- runtime, arguments[9]);
3311
- if (image_asset != nullptr) {
3312
- canvas_native_webgl2_tex_image3d_asset(
3313
- target,
3314
- level,
3315
- internalformat,
3316
- width,
3317
- height,
3318
- depth,
3319
- border,
3320
- format,
3321
- type,
3322
- image_asset->GetImageAsset(),
3323
- this->GetState()
3324
- );
3325
-
3326
- return jsi::Value::undefined();
3327
- }
3328
- } catch (...) {}
3329
-
3330
- try {
3331
- auto image_bitmap = getHostObject<ImageBitmapImpl>(
3332
- runtime, arguments[9]);
3333
- if (image_bitmap != nullptr) {
3334
- canvas_native_webgl2_tex_image3d_asset(
3335
- target,
3336
- level,
3337
- internalformat,
3338
- width,
3339
- height,
3340
- depth,
3341
- border,
3342
- format,
3343
- type,
3344
- image_bitmap->GetImageAsset(),
3345
- this->GetState()
3346
- );
3347
-
3348
- return jsi::Value::undefined();
3349
- }
3350
- } catch (...) {}
3351
-
3352
-
3353
- }
3354
- } else if (count > 10) {
3355
-
3356
- auto target = (int32_t) arguments[0].asNumber();
3357
- auto level = (int32_t) arguments[1].asNumber();
3358
- auto internalformat = (int32_t) arguments[2].asNumber();
3359
- auto width = (int32_t) arguments[3].asNumber();
3360
- auto height = (int32_t) arguments[4].asNumber();
3361
- auto depth = (int32_t) arguments[5].asNumber();
3362
- auto border = (int32_t) arguments[6].asNumber();
3363
- auto format = (int32_t) arguments[7].asNumber();
3364
- auto type = (uint32_t) arguments[8].asNumber();
3365
- if (arguments[9].isObject()) {
3366
- auto imageOrPixelsOrOffset = arguments[9].asObject(
3367
- runtime);
3368
- size_t srcOffsetValue = 0;
3369
- if (arguments[9].isNumber()) {
3370
- srcOffsetValue = static_cast<size_t>(arguments[9].asNumber());
3371
- }
3372
-
3373
- if (imageOrPixelsOrOffset.isTypedArray(
3374
- runtime)) {
3375
- auto buf = imageOrPixelsOrOffset.getTypedArray(
3376
- runtime);
3377
- auto size = buf.size(runtime);
3378
- auto array = GetTypedArrayData<const uint8_t>(
3379
- runtime, buf);
3380
-
3381
- srcOffsetValue =
3382
- srcOffsetValue * size;
3383
- if (srcOffsetValue >
3384
- size) {
3385
- return jsi::Value::undefined();
3386
- }
3387
-
3388
- canvas_native_webgl2_tex_image3d_offset(
3389
- target,
3390
- level,
3391
- internalformat,
3392
- width,
3393
- height,
3394
- depth,
3395
- border,
3396
- format,
3397
- type,
3398
- array,
3399
- srcOffsetValue,
3400
- this->GetState()
3401
- );
3402
- return jsi::Value::undefined();
3403
- }
3404
- }
3405
-
3406
- }
3407
-
3408
- return jsi::Value::undefined();
3409
- }
3410
- );
3411
- } else if (methodName == "texStorage2D") {
3412
- return jsi::Function::createFromHostFunction(runtime,
3413
- jsi::PropNameID::forAscii(runtime, methodName),
3414
- 5,
3415
- [this](jsi::Runtime &runtime,
3416
- const jsi::Value &thisValue,
3417
- const jsi::Value *arguments,
3418
- size_t count) -> jsi::Value {
3419
- if (count > 4) {
3420
- auto target = (uint32_t) arguments[0].asNumber();
3421
- auto levels = (int32_t) arguments[1].asNumber();
3422
- auto internalFormat = (uint32_t) arguments[2].asNumber();
3423
- auto width = (int32_t) arguments[3].asNumber();
3424
- auto height = (int32_t) arguments[4].asNumber();
3425
- canvas_native_webgl2_tex_storage2d(
3426
- target,
3427
- levels,
3428
- internalFormat,
3429
- width,
3430
- height,
3431
- this->GetState()
3432
- );
3433
- }
3434
-
3435
- return jsi::Value::undefined();
3436
-
3437
- }
3438
- );
3439
- } else if (methodName == "texStorage3D") {
3440
- return jsi::Function::createFromHostFunction(runtime,
3441
- jsi::PropNameID::forAscii(runtime, methodName),
3442
- 6,
3443
- [this](jsi::Runtime &runtime,
3444
- const jsi::Value &thisValue,
3445
- const jsi::Value *arguments,
3446
- size_t count) -> jsi::Value {
3447
-
3448
- if (count > 5) {
3449
- auto target = (uint32_t) arguments[0].asNumber();
3450
- auto levels = (int32_t) arguments[1].asNumber();
3451
- auto internalFormat = (uint32_t) arguments[2].asNumber();
3452
- auto width = (int32_t) arguments[3].asNumber();
3453
- auto height = (int32_t) arguments[4].asNumber();
3454
- auto depth = (int32_t) arguments[5].asNumber();
3455
- canvas_native_webgl2_tex_storage3d(
3456
- target,
3457
- levels,
3458
- internalFormat,
3459
- width,
3460
- height,
3461
- depth,
3462
- this->GetState()
3463
- );
3464
- }
3465
-
3466
- return jsi::Value::undefined();
3467
-
3468
- }
3469
- );
3470
- } else if (methodName == "texSubImage3D") {
3471
- return jsi::Function::createFromHostFunction(runtime,
3472
- jsi::PropNameID::forAscii(runtime, methodName),
3473
- 12,
3474
- [this](jsi::Runtime &runtime,
3475
- const jsi::Value &thisValue,
3476
- const jsi::Value *arguments,
3477
- size_t count) -> jsi::Value {
3478
- if (count == 11) {
3479
- auto target = (uint32_t) arguments[0].asNumber();
3480
- auto level = (int32_t) arguments[1].asNumber();
3481
- auto xoffset = (int32_t) arguments[2].asNumber();
3482
- auto yoffset = (int32_t) arguments[3].asNumber();
3483
- auto zoffset = (int32_t) arguments[4].asNumber();
3484
- auto width = (int32_t) arguments[5].asNumber();
3485
- auto height = (int32_t) arguments[6].asNumber();
3486
- auto depth = (int32_t) arguments[7].asNumber();
3487
- auto format = (uint32_t) arguments[8].asNumber();
3488
- auto type = (int32_t) arguments[9].asNumber();
3489
-
3490
- if (arguments[10].isNumber()) {
3491
- auto imageOrPixelsOrOffset = arguments[10].asNumber();
3492
- canvas_native_webgl2_tex_sub_image3d_none(
3493
- target,
3494
- level,
3495
- xoffset,
3496
- yoffset,
3497
- zoffset,
3498
- width,
3499
- height,
3500
- depth,
3501
- format,
3502
- type,
3503
- static_cast<ssize_t>(imageOrPixelsOrOffset),
3504
- this->GetState()
3505
- );
3506
- return jsi::Value::undefined();
3507
- }
3508
-
3509
- if (arguments[10].isObject()) {
3510
- auto imageOrPixelsOrOffsetObject = arguments[10].asObject(
3511
- runtime);
3512
- if (imageOrPixelsOrOffsetObject.isTypedArray(
3513
- runtime)) {
3514
- auto array = imageOrPixelsOrOffsetObject.getTypedArray(
3515
- runtime);
3516
- auto slice = GetTypedArrayData<const uint8_t>(
3517
- runtime, array);
3518
-
3519
- canvas_native_webgl2_tex_sub_image3d(
3520
- target,
3521
- level,
3522
- xoffset,
3523
- yoffset,
3524
- zoffset,
3525
- width,
3526
- height,
3527
- depth,
3528
- format,
3529
- type,
3530
- slice,
3531
- this->GetState()
3532
- );
3533
-
3534
- return jsi::Value::undefined();
3535
- }
3536
-
3537
- auto asset = getHostObject<ImageAssetImpl>(
3538
- runtime, arguments[10]);
3539
- if (asset != nullptr) {
3540
-
3541
- canvas_native_webgl2_tex_sub_image3d_asset(
3542
- target,
3543
- level,
3544
- xoffset,
3545
- yoffset,
3546
- zoffset,
3547
- width,
3548
- height,
3549
- depth,
3550
- format,
3551
- type,
3552
- asset->GetImageAsset(),
3553
- this->GetState()
3554
- );
3555
- }
3556
-
3557
- }
3558
-
3559
- } else if (count > 11) {
3560
- auto target = (uint32_t) arguments[0].asNumber();
3561
- auto level = (int32_t) arguments[1].asNumber();
3562
- auto xoffset = (int32_t) arguments[2].asNumber();
3563
- auto yoffset = (int32_t) arguments[3].asNumber();
3564
- auto zoffset = (int32_t) arguments[4].asNumber();
3565
- auto width = (int32_t) arguments[5].asNumber();
3566
- auto height = (int32_t) arguments[6].asNumber();
3567
- auto depth = (int32_t) arguments[7].asNumber();
3568
- auto format = (uint32_t) arguments[8].asNumber();
3569
- auto type = (uint32_t) arguments[9].asNumber();
3570
-
3571
- size_t srcOffsetValue = 0;
3572
- if (arguments[11].isNumber()) {
3573
- srcOffsetValue = static_cast<size_t>(arguments[11].asNumber());
3574
- }
3575
-
3576
- if (arguments[10].isObject()) {
3577
- auto imageOrPixelsOrOffsetObject = arguments[10].asObject(
3578
- runtime);
3579
-
3580
- if (imageOrPixelsOrOffsetObject.isTypedArray(
3581
- runtime)) {
3582
- auto array = imageOrPixelsOrOffsetObject.getTypedArray(
3583
- runtime);
3584
- auto buf = GetTypedArrayData<uint8_t>(
3585
- runtime, array);
3586
- auto size = array.size(
3587
- runtime);
3588
- srcOffsetValue =
3589
- srcOffsetValue * size;
3590
- if (srcOffsetValue > size) {
3591
- return jsi::Value::undefined();
3592
- }
3593
-
3594
- rust::Slice<const uint8_t> slice(
3595
- buf.data(),
3596
- buf.size());
3597
-
3598
- canvas_native_webgl2_tex_sub_image3d_offset(
3599
- target,
3600
- level,
3601
- xoffset,
3602
- yoffset,
3603
- zoffset,
3604
- width,
3605
- height,
3606
- depth,
3607
- format,
3608
- type,
3609
- slice,
3610
- srcOffsetValue,
3611
- this->GetState()
3612
- );
3613
- }
3614
-
3615
- }
3616
- }
3617
-
3618
- return jsi::Value::undefined();
3619
-
3620
- }
3621
- );
3622
- } else if (methodName == "transformFeedbackVaryings") {
3623
- return jsi::Function::createFromHostFunction(runtime,
3624
- jsi::PropNameID::forAscii(runtime, methodName),
3625
- 3,
3626
- [this](jsi::Runtime &runtime,
3627
- const jsi::Value &thisValue,
3628
- const jsi::Value *arguments,
3629
- size_t count) -> jsi::Value {
3630
- if (count > 2 && arguments[1].isObject()) {
3631
- auto program = getHostObject<WebGLProgram>(
3632
- runtime, arguments[0]);
3633
- auto varyingsObject = arguments[1].asObject(
3634
- runtime);
3635
- auto bufferMode = (uint32_t) arguments[2].asNumber();
3636
-
3637
- if (program != nullptr &&
3638
- varyingsObject.isArray(runtime)) {
3639
- auto varyings = varyingsObject.getArray(
3640
- runtime);
3641
- auto len = varyings.size(runtime);
3642
- rust::Vec<rust::Str> buf;
3643
- buf.reserve(len);
3644
- for (int j = 0; j < len; ++j) {
3645
- auto name = varyings.getValueAtIndex(
3646
- runtime, j).asString(
3647
- runtime).utf8(runtime);
3648
- rust::Str val(name.data(),
3649
- name.size());
3650
- buf.emplace_back(val);
3651
- }
3652
-
3653
- rust::Slice<const rust::Str> slice(
3654
- buf.data(), buf.size());
3655
-
3656
- canvas_native_webgl2_transform_feedback_varyings(
3657
- program->GetProgram(),
3658
- slice,
3659
- bufferMode,
3660
- this->GetState()
3661
- );
3662
- }
3663
- }
3664
- return jsi::Value::undefined();
3665
- }
3666
- );
3667
- } else if (methodName == "uniform1ui") {
3668
- return jsi::Function::createFromHostFunction(runtime,
3669
- jsi::PropNameID::forAscii(runtime, methodName),
3670
- 2,
3671
- [this](jsi::Runtime &runtime,
3672
- const jsi::Value &thisValue,
3673
- const jsi::Value *arguments,
3674
- size_t count) -> jsi::Value {
3675
-
3676
- if (count > 1 && arguments[1].isNumber()) {
3677
-
3678
- auto location = getHostObject<WebGLUniformLocation>(
3679
- runtime, arguments[0]);
3680
- auto v0 = (uint32_t) arguments[1].asNumber();
3681
-
3682
- if (location != nullptr) {
3683
- canvas_native_webgl2_uniform1ui(
3684
- location->GetUniformLocation(),
3685
- v0,
3686
- this->GetState()
3687
- );
3688
- }
3689
- }
3690
- return jsi::Value::undefined();
3691
- }
3692
- );
3693
- } else if (methodName == "uniform1uiv") {
3694
- return jsi::Function::createFromHostFunction(runtime,
3695
- jsi::PropNameID::forAscii(runtime, methodName),
3696
- 2,
3697
- [this](jsi::Runtime &runtime,
3698
- const jsi::Value &thisValue,
3699
- const jsi::Value *arguments,
3700
- size_t count) -> jsi::Value {
3701
-
3702
- if (count > 1 && arguments[1].isObject()) {
3703
- auto location = getHostObject<WebGLUniformLocation>(
3704
- runtime, arguments[0]);
3705
- auto data = arguments[1].asObject(
3706
- runtime);
3707
- if (location != nullptr &&
3708
- data.isUint32Array(runtime)) {
3709
- auto array = data.getTypedArray(
3710
- runtime);
3711
- auto slice = GetTypedArrayData<const uint32_t>(
3712
- runtime, array);
3713
- canvas_native_webgl2_uniform1uiv(
3714
- location->GetUniformLocation(),
3715
- slice,
3716
- this->GetState()
3717
- );
3718
- } else {
3719
- rust::Vec<uint32_t> buf;
3720
- auto array = data.getArray(
3721
- runtime);
3722
- auto len = array.size(runtime);
3723
- buf.reserve(len);
3724
- for (int i = 0; i < len; i++) {
3725
- auto item = (uint32_t) array.getValueAtIndex(
3726
- runtime, i).asNumber();
3727
- buf.push_back(item);
3728
- }
3729
- rust::Slice<const uint32_t> slice(
3730
- buf.data(), buf.size());
3731
- canvas_native_webgl2_uniform1uiv(
3732
- location->GetUniformLocation(),
3733
- slice,
3734
- this->GetState()
3735
- );
3736
- }
3737
-
3738
-
3739
- }
3740
- return jsi::Value::undefined();
3741
-
3742
- }
3743
- );
3744
- } else if (methodName == "uniform2ui") {
3745
- return jsi::Function::createFromHostFunction(runtime,
3746
- jsi::PropNameID::forAscii(runtime, methodName),
3747
- 3,
3748
- [this](jsi::Runtime &runtime,
3749
- const jsi::Value &thisValue,
3750
- const jsi::Value *arguments,
3751
- size_t count) -> jsi::Value {
3752
-
3753
- if (count > 2) {
3754
- auto location = getHostObject<WebGLUniformLocation>(
3755
- runtime, arguments[0]);
3756
- auto v0 = (uint32_t) arguments[1].asNumber();
3757
- auto v1 = (uint32_t) arguments[2].asNumber();
3758
-
3759
- if (location != nullptr) {
3760
- canvas_native_webgl2_uniform2ui(
3761
- location->GetUniformLocation(),
3762
- v0,
3763
- v1,
3764
- this->GetState()
3765
- );
3766
- }
3767
-
3768
-
3769
- }
3770
- return jsi::Value::undefined();
3771
- }
3772
- );
3773
- } else if (methodName == "uniform2uiv") {
3774
- return jsi::Function::createFromHostFunction(runtime,
3775
- jsi::PropNameID::forAscii(runtime, methodName),
3776
- 1,
3777
- [this](jsi::Runtime &runtime,
3778
- const jsi::Value &thisValue,
3779
- const jsi::Value *arguments,
3780
- size_t count) -> jsi::Value {
3781
-
3782
- if (count > 1 && arguments[1].isObject()) {
3783
-
3784
- auto location = getHostObject<WebGLUniformLocation>(
3785
- runtime, arguments[0]);
3786
- auto data = arguments[1].asObject(
3787
- runtime);
3788
-
3789
- if (data.isUint32Array(runtime)) {
3790
- auto array = data.getTypedArray(
3791
- runtime);
3792
- auto slice = GetTypedArrayData<const uint32_t>(
3793
- runtime, array);
3794
- canvas_native_webgl2_uniform2uiv(
3795
- location->GetUniformLocation(),
3796
- slice,
3797
- this->GetState()
3798
- );
3799
- } else {
3800
- rust::Vec<uint32_t> buf;
3801
- auto array = data.getArray(
3802
- runtime);
3803
- auto len = array.size(runtime);
3804
- buf.reserve(len);
3805
- for (int i = 0; i < len; i++) {
3806
- auto item = (uint32_t) array.getValueAtIndex(
3807
- runtime, i).asNumber();
3808
- buf.push_back(item);
3809
- }
3810
-
3811
- rust::Slice<const uint32_t> slice(
3812
- buf.data(), buf.size());
3813
- canvas_native_webgl2_uniform2uiv(
3814
- location->GetUniformLocation(),
3815
- slice,
3816
- this->GetState()
3817
- );
3818
- }
3819
- }
3820
- return jsi::Value::undefined();
3821
-
3822
- }
3823
- );
3824
- } else if (methodName == "uniform3ui") {
3825
- return jsi::Function::createFromHostFunction(runtime,
3826
- jsi::PropNameID::forAscii(runtime, methodName),
3827
- 4,
3828
- [this](jsi::Runtime &runtime,
3829
- const jsi::Value &thisValue,
3830
- const jsi::Value *arguments,
3831
- size_t count) -> jsi::Value {
3832
- if (count > 3) {
3833
- auto location = getHostObject<WebGLUniformLocation>(
3834
- runtime, arguments[0]);
3835
- auto v0 = (uint32_t) arguments[1].asNumber();
3836
- auto v1 = (uint32_t) arguments[2].asNumber();
3837
- auto v2 = (uint32_t) arguments[3].asNumber();
3838
- if (location != nullptr) {
3839
- canvas_native_webgl2_uniform3ui(
3840
- location->GetUniformLocation(),
3841
- v0,
3842
- v1,
3843
- v2,
3844
- this->GetState()
3845
- );
3846
- }
3847
- }
3848
-
3849
- return jsi::Value::undefined();
3850
- }
3851
- );
3852
- } else if (methodName == "uniform3uiv") {
3853
- return jsi::Function::createFromHostFunction(runtime,
3854
- jsi::PropNameID::forAscii(runtime, methodName),
3855
- 2,
3856
- [this](jsi::Runtime &runtime,
3857
- const jsi::Value &thisValue,
3858
- const jsi::Value *arguments,
3859
- size_t count) -> jsi::Value {
3860
-
3861
- if (count > 1 && arguments[1].isObject()) {
3862
- auto location = getHostObject<WebGLUniformLocation>(
3863
- runtime, arguments[0]);
3864
- auto data = arguments[1].asObject(
3865
- runtime);
3866
-
3867
- if (data.isUint32Array(runtime)) {
3868
- auto array = data.getTypedArray(
3869
- runtime);
3870
- auto slice = GetTypedArrayData<const uint32_t>(
3871
- runtime, array);
3872
- canvas_native_webgl2_uniform3uiv(
3873
- location->GetUniformLocation(),
3874
- slice,
3875
- this->GetState()
3876
- );
3877
- } else {
3878
- rust::Vec<uint32_t> buf;
3879
- auto array = data.getArray(
3880
- runtime);
3881
- auto len = array.size(runtime);
3882
- buf.reserve(len);
3883
- for (int i = 0; i < len; i++) {
3884
- auto item = array.getValueAtIndex(
3885
- runtime, i).asNumber();
3886
- buf.push_back((uint32_t) item);
3887
- }
3888
-
3889
- rust::Slice<const uint32_t> slice(
3890
- buf.data(), buf.size());
3891
-
3892
- canvas_native_webgl2_uniform3uiv(
3893
- location->GetUniformLocation(),
3894
- slice,
3895
- this->GetState()
3896
- );
3897
- }
3898
- }
3899
- return jsi::Value::undefined();
3900
-
3901
- }
3902
- );
3903
- } else if (methodName == "uniform4ui") {
3904
- return jsi::Function::createFromHostFunction(runtime,
3905
- jsi::PropNameID::forAscii(runtime, methodName),
3906
- 5,
3907
- [this](jsi::Runtime &runtime,
3908
- const jsi::Value &thisValue,
3909
- const jsi::Value *arguments,
3910
- size_t count) -> jsi::Value {
3911
-
3912
- if (count > 4) {
3913
-
3914
- auto location = getHostObject<WebGLUniformLocation>(
3915
- runtime, arguments[0]);
3916
- auto v0 = (uint32_t) arguments[1].asNumber();
3917
- auto v1 = (uint32_t) arguments[2].asNumber();
3918
- auto v2 = (uint32_t) arguments[3].asNumber();
3919
- auto v3 = (uint32_t) arguments[4].asNumber();
3920
- if (location != nullptr) {
3921
- canvas_native_webgl2_uniform4ui(
3922
- location->GetUniformLocation(),
3923
- v0,
3924
- v1,
3925
- v2,
3926
- v3,
3927
- this->GetState()
3928
- );
3929
- }
3930
- }
3931
-
3932
- return jsi::Value::undefined();
3933
- }
3934
- );
3935
- } else if (methodName == "uniform4uiv") {
3936
- return jsi::Function::createFromHostFunction(runtime,
3937
- jsi::PropNameID::forAscii(runtime, methodName),
3938
- 2,
3939
- [this](jsi::Runtime &runtime,
3940
- const jsi::Value &thisValue,
3941
- const jsi::Value *arguments,
3942
- size_t count) -> jsi::Value {
3943
-
3944
-
3945
- if (count > 1 && arguments[1].isObject()) {
3946
-
3947
- auto location = getHostObject<WebGLUniformLocation>(
3948
- runtime, arguments[0]);
3949
- auto data = arguments[1].asObject(
3950
- runtime);
3951
-
3952
- if (data.isUint32Array(runtime)) {
3953
- auto array = data.getTypedArray(
3954
- runtime);
3955
- auto slice = GetTypedArrayData<const uint32_t>(
3956
- runtime, array);
3957
- canvas_native_webgl2_uniform4uiv(
3958
- location->GetUniformLocation(),
3959
- slice,
3960
- this->GetState()
3961
- );
3962
- } else {
3963
- rust::Vec<uint32_t> buf;
3964
- auto array = data.getArray(
3965
- runtime);
3966
- auto len = array.size(runtime);
3967
- buf.reserve(len);
3968
- for (int i = 0; i < len; i++) {
3969
- auto item = array.getValueAtIndex(
3970
- runtime, i).asNumber();
3971
- buf.push_back((uint32_t) item);
3972
- }
3973
-
3974
- rust::Slice<const uint32_t> slice(
3975
- buf.data(), buf.size());
3976
-
3977
- canvas_native_webgl2_uniform4uiv(
3978
- location->GetUniformLocation(),
3979
- slice,
3980
- this->GetState()
3981
- );
3982
- }
3983
- }
3984
-
3985
- return jsi::Value::undefined();
3986
-
3987
- }
3988
- );
3989
- } else if (methodName == "uniformBlockBinding") {
3990
- return jsi::Function::createFromHostFunction(runtime,
3991
- jsi::PropNameID::forAscii(runtime, methodName),
3992
- 3,
3993
- [this](jsi::Runtime &runtime,
3994
- const jsi::Value &thisValue,
3995
- const jsi::Value *arguments,
3996
- size_t count) -> jsi::Value {
3997
- if (count > 2) {
3998
-
3999
- auto program = getHostObject<WebGLProgram>(
4000
- runtime, arguments[0]);
4001
- auto uniformBlockIndex = arguments[1].asNumber();
4002
- auto uniformBlockBinding = arguments[2].asNumber();
4003
-
4004
- if (program != nullptr) {
4005
- canvas_native_webgl2_uniform_block_binding(
4006
- program->GetProgram(),
4007
- (uint32_t) uniformBlockIndex,
4008
- (uint32_t) uniformBlockBinding,
4009
- this->GetState()
4010
- );
4011
- }
4012
-
4013
- }
4014
- return jsi::Value::undefined();
4015
- }
4016
- );
4017
- } else if (methodName == "uniformMatrix2x3fv") {
4018
- return jsi::Function::createFromHostFunction(runtime,
4019
- jsi::PropNameID::forAscii(runtime, methodName),
4020
- 3,
4021
- [this](jsi::Runtime &runtime,
4022
- const jsi::Value &thisValue,
4023
- const jsi::Value *arguments,
4024
- size_t count) -> jsi::Value {
4025
-
4026
- if (count > 2 && arguments[2].isObject()) {
4027
-
4028
- auto location = getHostObject<WebGLUniformLocation>(
4029
- runtime, arguments[0]);
4030
- auto transpose = arguments[1].asBool();
4031
- auto data = arguments[2].asObject(
4032
- runtime);
4033
-
4034
- if (data.isFloat32Array(runtime)) {
4035
- auto array = data.getTypedArray(
4036
- runtime);
4037
- auto slice = GetTypedArrayData<const float>(
4038
- runtime, array);
4039
- canvas_native_webgl2_uniform_matrix2x3fv(
4040
- location->GetUniformLocation(),
4041
- transpose,
4042
- slice,
4043
- this->GetState()
4044
- );
4045
- } else if (data.isArray(runtime)) {
4046
- rust::Vec<float> buf;
4047
- auto array = data.getArray(
4048
- runtime);
4049
- auto len = array.size(runtime);
4050
- for (int i = 0; i < len; i++) {
4051
- auto item = array.getValueAtIndex(
4052
- runtime, i);
4053
- if (item.isNumber()) {
4054
- buf.push_back(
4055
- static_cast<float>(item.asNumber()));
4056
- } else {
4057
- buf.push_back(
4058
- std::nanf(""));
4059
- }
4060
- }
4061
-
4062
- rust::Slice<const float> slice(
4063
- buf.data(), buf.size());
4064
-
4065
- canvas_native_webgl2_uniform_matrix2x3fv(
4066
- location->GetUniformLocation(),
4067
- transpose,
4068
- slice,
4069
- this->GetState()
4070
- );
4071
- }
4072
- }
4073
- return jsi::Value::undefined();
4074
-
4075
- }
4076
- );
4077
- } else if (methodName == "uniformMatrix2x4fv") {
4078
- return jsi::Function::createFromHostFunction(runtime,
4079
- jsi::PropNameID::forAscii(runtime, methodName),
4080
- 3,
4081
- [this](jsi::Runtime &runtime,
4082
- const jsi::Value &thisValue,
4083
- const jsi::Value *arguments,
4084
- size_t count) -> jsi::Value {
4085
-
4086
- if (count > 2 && arguments[2].isObject()) {
4087
-
4088
- auto location = getHostObject<WebGLUniformLocation>(
4089
- runtime, arguments[0]);
4090
- auto transpose = arguments[1].asBool();
4091
- auto data = arguments[2].asObject(
4092
- runtime);
4093
-
4094
- if (data.isFloat32Array(runtime)) {
4095
- auto array = data.getTypedArray(
4096
- runtime);
4097
- auto slice = GetTypedArrayData<const float>(
4098
- runtime, array);
4099
- canvas_native_webgl2_uniform_matrix2x4fv(
4100
- location->GetUniformLocation(),
4101
- transpose,
4102
- slice,
4103
- this->GetState()
4104
- );
4105
- } else if (data.isArray(runtime)) {
4106
- rust::Vec<float> buf;
4107
- auto array = data.getArray(
4108
- runtime);
4109
- auto len = array.size(runtime);
4110
- for (int i = 0; i < len; i++) {
4111
- auto item = array.getValueAtIndex(
4112
- runtime, i);
4113
- if (item.isNumber()) {
4114
- buf.push_back(
4115
- static_cast<float>(item.asNumber()));
4116
- } else {
4117
- buf.push_back(
4118
- std::nanf(""));
4119
- }
4120
- }
4121
- rust::Slice<const float> slice(
4122
- buf.data(), buf.size());
4123
-
4124
- canvas_native_webgl2_uniform_matrix2x4fv(
4125
- location->GetUniformLocation(),
4126
- transpose,
4127
- slice,
4128
- this->GetState()
4129
- );
4130
- }
4131
- }
4132
-
4133
- return jsi::Value::undefined();
4134
- }
4135
- );
4136
- } else if (methodName == "uniformMatrix3x2fv") {
4137
- return jsi::Function::createFromHostFunction(runtime,
4138
- jsi::PropNameID::forAscii(runtime, methodName),
4139
- 3,
4140
- [this](jsi::Runtime &runtime,
4141
- const jsi::Value &thisValue,
4142
- const jsi::Value *arguments,
4143
- size_t count) -> jsi::Value {
4144
-
4145
- if (count > 2 && arguments[2].isObject()) {
4146
-
4147
- auto location = getHostObject<WebGLUniformLocation>(
4148
- runtime, arguments[0]);
4149
- auto transpose = arguments[1].asBool();
4150
- auto data = arguments[2].asObject(
4151
- runtime);
4152
-
4153
- if (data.isFloat32Array(runtime)) {
4154
- auto array = data.getTypedArray(
4155
- runtime);
4156
- auto slice = GetTypedArrayData<const float>(
4157
- runtime, array);
4158
- canvas_native_webgl2_uniform_matrix3x2fv(
4159
- location->GetUniformLocation(),
4160
- transpose,
4161
- slice,
4162
- this->GetState()
4163
- );
4164
- } else if (data.isArray(runtime)) {
4165
- rust::Vec<float> buf;
4166
- auto array = data.getArray(
4167
- runtime);
4168
- auto len = array.size(runtime);
4169
- for (int i = 0; i < len; i++) {
4170
- auto item = array.getValueAtIndex(
4171
- runtime, i);
4172
- if (item.isNumber()) {
4173
- buf.push_back(
4174
- static_cast<float>(item.asNumber()));
4175
- } else {
4176
- buf.push_back(
4177
- std::nanf(""));
4178
- }
4179
- }
4180
-
4181
- rust::Slice<const float> slice(
4182
- buf.data(), buf.size());
4183
-
4184
- canvas_native_webgl2_uniform_matrix3x2fv(
4185
- location->GetUniformLocation(),
4186
- transpose,
4187
- slice,
4188
- this->GetState()
4189
- );
4190
- }
4191
- }
4192
-
4193
- return jsi::Value::undefined();
4194
- }
4195
- );
4196
- } else if (methodName == "uniformMatrix3x4fv") {
4197
- return jsi::Function::createFromHostFunction(runtime,
4198
- jsi::PropNameID::forAscii(runtime, methodName),
4199
- 3,
4200
- [this](jsi::Runtime &runtime,
4201
- const jsi::Value &thisValue,
4202
- const jsi::Value *arguments,
4203
- size_t count) -> jsi::Value {
4204
- if (count > 2 && arguments[2].isObject()) {
4205
-
4206
- auto location = getHostObject<WebGLUniformLocation>(
4207
- runtime, arguments[0]);
4208
- auto transpose = arguments[1].asBool();
4209
- auto data = arguments[2].asObject(
4210
- runtime);
4211
-
4212
- if (data.isFloat32Array(runtime)) {
4213
- auto array = data.getTypedArray(
4214
- runtime);
4215
- auto slice = GetTypedArrayData<const float>(
4216
- runtime, array);
4217
- canvas_native_webgl2_uniform_matrix3x4fv(
4218
- location->GetUniformLocation(),
4219
- transpose,
4220
- slice,
4221
- this->GetState()
4222
- );
4223
- } else if (data.isArray(runtime)) {
4224
- rust::Vec<float> buf;
4225
- auto array = data.getArray(
4226
- runtime);
4227
- auto len = array.size(runtime);
4228
- for (int i = 0; i < len; i++) {
4229
- auto item = array.getValueAtIndex(
4230
- runtime, i);
4231
- if (item.isNumber()) {
4232
- buf.push_back(
4233
- static_cast<float>(item.asNumber()));
4234
- } else {
4235
- buf.push_back(
4236
- std::nanf(""));
4237
- }
4238
- }
4239
-
4240
- rust::Slice<const float> slice(
4241
- buf.data(), buf.size());
4242
-
4243
- canvas_native_webgl2_uniform_matrix3x4fv(
4244
- location->GetUniformLocation(),
4245
- transpose,
4246
- slice,
4247
- this->GetState()
4248
- );
4249
- }
4250
- }
4251
-
4252
- return jsi::Value::undefined();
4253
- }
4254
- );
4255
- } else if (methodName == "uniformMatrix4x2fv") {
4256
- return jsi::Function::createFromHostFunction(runtime,
4257
- jsi::PropNameID::forAscii(runtime, methodName),
4258
- 3,
4259
- [this](jsi::Runtime &runtime,
4260
- const jsi::Value &thisValue,
4261
- const jsi::Value *arguments,
4262
- size_t count) -> jsi::Value {
4263
- if (count > 2 && arguments[2].isObject()) {
4264
-
4265
- auto location = getHostObject<WebGLUniformLocation>(
4266
- runtime, arguments[0]);
4267
- auto transpose = arguments[1].asBool();
4268
- auto data = arguments[2].asObject(
4269
- runtime);
4270
-
4271
- if (data.isFloat32Array(runtime)) {
4272
- auto array = data.getTypedArray(
4273
- runtime);
4274
- auto slice = GetTypedArrayData<const float>(
4275
- runtime, array);
4276
- canvas_native_webgl2_uniform_matrix4x2fv(
4277
- location->GetUniformLocation(),
4278
- transpose,
4279
- slice,
4280
- this->GetState()
4281
- );
4282
- } else if (data.isArray(runtime)) {
4283
- rust::Vec<float> buf;
4284
- auto array = data.getArray(
4285
- runtime);
4286
- auto len = array.size(runtime);
4287
- for (int i = 0; i < len; i++) {
4288
- auto item = array.getValueAtIndex(
4289
- runtime, i);
4290
- if (item.isNumber()) {
4291
- buf.push_back(
4292
- static_cast<float>(item.asNumber()));
4293
- } else {
4294
- buf.push_back(
4295
- std::nanf(""));
4296
- }
4297
- }
4298
-
4299
- rust::Slice<const float> slice(
4300
- buf.data(), buf.size());
4301
-
4302
- canvas_native_webgl2_uniform_matrix4x2fv(
4303
- location->GetUniformLocation(),
4304
- transpose,
4305
- slice,
4306
- this->GetState()
4307
- );
4308
- }
4309
- }
4310
- return jsi::Value::undefined();
4311
-
4312
- }
4313
- );
4314
- } else if (methodName == "uniformMatrix4x3fv") {
4315
- return jsi::Function::createFromHostFunction(runtime,
4316
- jsi::PropNameID::forAscii(runtime, methodName),
4317
- 3,
4318
- [this](jsi::Runtime &runtime,
4319
- const jsi::Value &thisValue,
4320
- const jsi::Value *arguments,
4321
- size_t count) -> jsi::Value {
4322
- if (count > 2 && arguments[2].isObject()) {
4323
-
4324
- auto location = getHostObject<WebGLUniformLocation>(
4325
- runtime, arguments[0]);
4326
- auto transpose = arguments[1].asBool();
4327
- auto data = arguments[2].asObject(
4328
- runtime);
4329
-
4330
- if (data.isFloat32Array(runtime)) {
4331
- auto array = data.getTypedArray(
4332
- runtime);
4333
- auto slice = GetTypedArrayData<const float>(
4334
- runtime, array);
4335
- canvas_native_webgl2_uniform_matrix4x3fv(
4336
- location->GetUniformLocation(),
4337
- transpose,
4338
- slice,
4339
- this->GetState()
4340
- );
4341
- } else if (data.isArray(runtime)) {
4342
- rust::Vec<float> buf;
4343
- auto array = data.getArray(
4344
- runtime);
4345
- auto len = array.size(runtime);
4346
- for (int i = 0; i < len; i++) {
4347
- auto item = array.getValueAtIndex(
4348
- runtime, i);
4349
- if (item.isNumber()) {
4350
- buf.push_back(
4351
- static_cast<float>(item.asNumber()));
4352
- } else {
4353
- buf.push_back(
4354
- std::nanf(""));
4355
- }
4356
- }
4357
-
4358
- rust::Slice<const float> slice(
4359
- buf.data(), buf.size());
4360
-
4361
- canvas_native_webgl2_uniform_matrix4x3fv(
4362
- location->GetUniformLocation(),
4363
- transpose,
4364
- slice,
4365
- this->GetState()
4366
- );
4367
- }
4368
- }
4369
-
4370
- return jsi::Value::undefined();
4371
- }
4372
- );
4373
- } else if (methodName == "vertexAttribDivisor") {
4374
- return jsi::Function::createFromHostFunction(runtime,
4375
- jsi::PropNameID::forAscii(runtime, methodName),
4376
- 2,
4377
- [this](jsi::Runtime &runtime,
4378
- const jsi::Value &thisValue,
4379
- const jsi::Value *arguments,
4380
- size_t count) -> jsi::Value {
4381
- if (count > 1) {
4382
- auto index = arguments[0].asNumber();
4383
- auto divisor = arguments[1].asNumber();
4384
- canvas_native_webgl2_vertex_attrib_divisor(
4385
- (uint32_t) index,
4386
- (uint32_t) divisor,
4387
- this->GetState()
4388
- );
4389
- }
4390
- return jsi::Value::undefined();
4391
- }
4392
- );
4393
- } else if (methodName == "vertexAttribI4i") {
4394
- return jsi::Function::createFromHostFunction(runtime,
4395
- jsi::PropNameID::forAscii(runtime, methodName),
4396
- 5,
4397
- [this](jsi::Runtime &runtime,
4398
- const jsi::Value &thisValue,
4399
- const jsi::Value *arguments,
4400
- size_t count) -> jsi::Value {
4401
-
4402
- if (count > 4) {
4403
- auto index = arguments[0].asNumber();
4404
- auto v0 = arguments[1].asNumber();
4405
- auto v1 = arguments[2].asNumber();
4406
- auto v2 = arguments[3].asNumber();
4407
- auto v3 = arguments[4].asNumber();
4408
- canvas_native_webgl2_vertex_attrib_i4i(
4409
- (uint32_t) index,
4410
- (int32_t) v0,
4411
- (int32_t) v1,
4412
- (int32_t) v2,
4413
- (int32_t) v3,
4414
- this->GetState()
4415
- );
4416
- }
4417
- return jsi::Value::undefined();
4418
- }
4419
- );
4420
- } else if (methodName == "vertexAttribI4iv") {
4421
- return jsi::Function::createFromHostFunction(runtime,
4422
- jsi::PropNameID::forAscii(runtime, methodName),
4423
- 2,
4424
- [this](jsi::Runtime &runtime,
4425
- const jsi::Value &thisValue,
4426
- const jsi::Value *arguments,
4427
- size_t count) -> jsi::Value {
4428
-
4429
- if (count > 1 && arguments[1].isObject()) {
4430
- auto index = (uint32_t) arguments[0].asNumber();
4431
- auto value = arguments[1].asObject(
4432
- runtime);
4433
- if (value.isInt32Array(runtime)) {
4434
- auto array = value.getTypedArray(
4435
- runtime);
4436
- auto slice = GetTypedArrayData<const int32_t>(
4437
- runtime, array);
4438
- canvas_native_webgl2_vertex_attrib_i4iv(
4439
- index,
4440
- slice,
4441
- this->GetState()
4442
- );
4443
- } else if (value.isArray(runtime)) {
4444
- auto array = value.getArray(
4445
- runtime);
4446
- auto len = array.size(runtime);
4447
- rust::Vec<int32_t> buf;
4448
- buf.reserve(len);
4449
- for (int i = 0; i < len; i++) {
4450
- auto item = (int32_t) array.getValueAtIndex(
4451
- runtime, i).asNumber();
4452
- buf.push_back(item);
4453
- }
4454
-
4455
- rust::Slice<const int32_t> slice(
4456
- buf.data(), buf.size());
4457
-
4458
- canvas_native_webgl2_vertex_attrib_i4iv(
4459
- index,
4460
- slice,
4461
- this->GetState()
4462
- );
4463
- }
4464
- }
4465
-
4466
- return jsi::Value::undefined();
4467
- }
4468
- );
4469
- } else if (methodName == "vertexAttribI4ui") {
4470
- return jsi::Function::createFromHostFunction(runtime,
4471
- jsi::PropNameID::forAscii(runtime, methodName),
4472
- 5,
4473
- [this](jsi::Runtime &runtime,
4474
- const jsi::Value &thisValue,
4475
- const jsi::Value *arguments,
4476
- size_t count) -> jsi::Value {
4477
-
4478
- if (count > 4) {
4479
- auto index = (uint32_t) arguments[0].asNumber();
4480
- auto v0 = (uint32_t) arguments[1].asNumber();
4481
- auto v1 = (uint32_t) arguments[2].asNumber();
4482
- auto v2 = (uint32_t) arguments[3].asNumber();
4483
- auto v3 = (uint32_t) arguments[4].asNumber();
4484
-
4485
- canvas_native_webgl2_vertex_attrib_i4ui(
4486
- index,
4487
- v0,
4488
- v1,
4489
- v2,
4490
- v3,
4491
- this->GetState()
4492
- );
4493
- }
4494
- return jsi::Value::undefined();
4495
- }
4496
- );
4497
- } else if (methodName == "vertexAttribI4uiv") {
4498
- return jsi::Function::createFromHostFunction(runtime,
4499
- jsi::PropNameID::forAscii(runtime, methodName),
4500
- 2,
4501
- [this](jsi::Runtime &runtime,
4502
- const jsi::Value &thisValue,
4503
- const jsi::Value *arguments,
4504
- size_t count) -> jsi::Value {
4505
-
4506
-
4507
- if (count > 1 && arguments[1].isObject()) {
4508
- auto index = (uint32_t) arguments[0].asNumber();
4509
- auto value = arguments[1].asObject(
4510
- runtime);
4511
- if (value.isUint32Array(runtime)) {
4512
- auto array = value.getTypedArray(
4513
- runtime);
4514
- auto slice = GetTypedArrayData<const uint32_t>(
4515
- runtime, array);
4516
- canvas_native_webgl2_vertex_attrib_i4uiv(
4517
- index,
4518
- slice,
4519
- this->GetState()
4520
- );
4521
- } else if (value.isArray(runtime)) {
4522
- auto array = value.getArray(
4523
- runtime);
4524
- auto len = array.size(runtime);
4525
- rust::Vec<uint32_t> buf;
4526
- buf.reserve(len);
4527
- for (int i = 0; i < len; i++) {
4528
- auto item = (uint32_t) array.getValueAtIndex(
4529
- runtime, i).asNumber();
4530
- buf.push_back(item);
4531
- }
4532
-
4533
- rust::Slice<const uint32_t> slice(
4534
- buf.data(), buf.size());
4535
-
4536
- canvas_native_webgl2_vertex_attrib_i4uiv(
4537
- index,
4538
- slice,
4539
- this->GetState()
4540
- );
4541
- }
4542
- }
4543
- return jsi::Value::undefined();
4544
- }
4545
- );
4546
- }
4547
-
4548
- if (!prop.isUndefined()) {
4549
- return prop;
4550
- }
4551
- auto gl_return = WebGLRenderingContext::get(runtime, name);
4552
- if (!gl_return.isUndefined()) {
4553
- return gl_return;
4554
- }
4555
- return jsi::Value::undefined();
4556
- }