@babylonjs/react-native 2.0.0 → 2.0.1-preview

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 (599) hide show
  1. package/package.json +1 -1
  2. package/react-native-babylon.podspec +2 -0
  3. package/shared/BabylonNative/CMakeLists.txt +2 -0
  4. package/shared/BabylonNative/Repo/CMakeLists.txt +16 -12
  5. package/shared/BabylonNative/Repo/Core/Graphics/CMakeLists.txt +41 -21
  6. package/shared/BabylonNative/Repo/Core/Graphics/Include/Platform/iOS/Babylon/Graphics/Platform.h +2 -2
  7. package/shared/BabylonNative/Repo/Core/Graphics/Include/Platform/macOS/Babylon/Graphics/Platform.h +2 -2
  8. package/shared/BabylonNative/Repo/Core/Graphics/Include/Platform/visionOS/Babylon/Graphics/Platform.h +2 -2
  9. package/shared/BabylonNative/Repo/Core/Graphics/Include/RendererType/Metal/Babylon/Graphics/RendererType.h +6 -6
  10. package/shared/BabylonNative/Repo/Core/Graphics/InternalInclude/Babylon/Graphics/BgfxCallback.h +1 -1
  11. package/shared/BabylonNative/Repo/Core/Graphics/Source/BgfxCallback.cpp +32 -9
  12. package/shared/BabylonNative/Repo/Core/Graphics/Source/DeviceImpl.cpp +7 -5
  13. package/shared/BabylonNative/Repo/Core/Graphics/Source/{DeviceImpl_Metal.cpp → DeviceImpl_Metal.mm} +4 -3
  14. package/shared/BabylonNative/Repo/Core/Graphics/Source/DeviceImpl_iOS.mm +5 -3
  15. package/shared/BabylonNative/Repo/Core/Graphics/Source/DeviceImpl_macOS.mm +10 -1
  16. package/shared/BabylonNative/Repo/Core/Graphics/Source/DeviceImpl_visionOS.mm +2 -4
  17. package/shared/BabylonNative/Repo/Dependencies/CMakeLists.txt +77 -12
  18. package/shared/BabylonNative/Repo/Dependencies/xr/CMakeLists.txt +1 -3
  19. package/shared/BabylonNative/Repo/Plugins/ExternalTexture/CMakeLists.txt +1 -6
  20. package/shared/BabylonNative/Repo/Plugins/ExternalTexture/Source/ExternalTexture_D3D11.cpp +4 -0
  21. package/shared/BabylonNative/Repo/Plugins/ExternalTexture/Source/ExternalTexture_D3D12.cpp +4 -0
  22. package/shared/BabylonNative/Repo/Plugins/ExternalTexture/Source/{ExternalTexture_Metal.mm → ExternalTexture_Metal.cpp} +128 -120
  23. package/shared/BabylonNative/Repo/Plugins/NativeCamera/CMakeLists.txt +2 -2
  24. package/shared/BabylonNative/Repo/Plugins/NativeCamera/Source/Apple/CameraDevice.mm +5 -5
  25. package/shared/BabylonNative/Repo/Plugins/NativeEngine/CMakeLists.txt +2 -1
  26. package/shared/BabylonNative/Repo/Plugins/NativeEngine/Source/NativeEngine.cpp +2 -1
  27. package/shared/BabylonNative/Repo/Plugins/NativeEngine/Source/ShaderProvider.cpp +6 -6
  28. package/shared/BabylonNative/Repo/Plugins/NativeOptimizations/CMakeLists.txt +1 -2
  29. package/shared/BabylonNative/Repo/Plugins/NativeTracing/CMakeLists.txt +1 -2
  30. package/shared/BabylonNative/Repo/Plugins/NativeXr/Source/NativeXrImpl.cpp +1 -0
  31. package/shared/BabylonNative/Repo/Plugins/ShaderCache/CMakeLists.txt +0 -2
  32. package/shared/BabylonNative/Repo/Plugins/ShaderCache/Include/Babylon/Plugins/ShaderCache.h +2 -2
  33. package/shared/BabylonNative/Repo/Plugins/ShaderCache/Source/ShaderCache.cpp +2 -2
  34. package/shared/BabylonNative/Repo/Plugins/ShaderCache/Source/ShaderCacheImpl.cpp +4 -4
  35. package/shared/BabylonNative/Repo/Plugins/ShaderCache/Source/ShaderCacheImpl.h +2 -2
  36. package/shared/BabylonNative/Repo/Plugins/ShaderCompiler/Source/ShaderCompilerCommon.cpp +2 -0
  37. package/shared/BabylonNative/Repo/Plugins/ShaderCompiler/Source/ShaderCompilerTraversers.cpp +4 -0
  38. package/shared/BabylonNative/Repo/Plugins/TestUtils/CMakeLists.txt +6 -8
  39. package/shared/BabylonNative/Repo/Plugins/TestUtils/Include/Babylon/Plugins/TestUtils.h +0 -1
  40. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/TestUtils.cpp +20 -6
  41. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/TestUtils.h +13 -13
  42. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/{Android/TestUtilsImpl.cpp → TestUtils_Android.cpp} +1 -10
  43. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/{Unix/TestUtilsImpl.cpp → TestUtils_Unix.cpp} +10 -20
  44. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/{Win32/TestUtilsImpl.cpp → TestUtils_Win32.cpp} +10 -20
  45. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/{WinRT/TestUtilsImpl.cpp → TestUtils_WinRT.cpp} +9 -13
  46. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/TestUtils_iOS.mm +25 -0
  47. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/TestUtils_macOS.mm +50 -0
  48. package/shared/BabylonNative/Repo/Polyfills/Canvas/Source/Shaders/dx11/fs_boxblur.h +1 -1
  49. package/shared/BabylonNative/Repo/Polyfills/Canvas/Source/Shaders/dx11/fs_gaussblur.h +1 -1
  50. package/shared/BabylonNative/Repo/Polyfills/Canvas/Source/Shaders/dx11/fs_nanovg_fill.h +1 -1
  51. package/shared/BabylonNative/Repo/Polyfills/Canvas/Source/Shaders/dx11/vs_fspass.h +1 -1
  52. package/shared/BabylonNative/Repo/Polyfills/Canvas/Source/Shaders/dx11/vs_nanovg_fill.h +1 -1
  53. package/shared/BabylonNative/Repo/Polyfills/Canvas/shaderc.cmake +2 -2
  54. package/shared/BabylonNative/Repo/azure-pipelines.yml +36 -24
  55. package/shared/BabylonNative/deps/arcana.cpp-src/CMakeLists.txt +17 -1
  56. package/shared/BabylonNative/deps/arcana.cpp-src/README.md +1 -1
  57. package/shared/BabylonNative/deps/arcana.cpp-src/Source/Shared/arcana/string.h +0 -12
  58. package/shared/BabylonNative/deps/arcana.cpp-src/Source/Shared/arcana/threading/cancellation.h +25 -12
  59. package/shared/BabylonNative/deps/arcana.cpp-src/Source/Windows.Test/Threading/CancellationMemoryLeakTest.cpp +37 -0
  60. package/shared/BabylonNative/deps/bgfx.cmake-src/CMakeLists.txt +3 -3
  61. package/shared/BabylonNative/deps/bgfx.cmake-src/README.md +5 -5
  62. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/LICENSE +1 -1
  63. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/README.md +31 -14
  64. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/args.h +5 -1
  65. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/aviwriter.h +1 -1
  66. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/bgfx_utils.cpp +4 -3
  67. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/bgfx_utils.h +1 -1
  68. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/common.h +43 -1
  69. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/common.sh +1 -1
  70. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/debugdraw.cpp +1 -1
  71. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/debugdraw.h +1 -1
  72. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_fill.bin.h +180 -29
  73. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_fill.sc +1 -1
  74. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h +305 -92
  75. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_fill_lit.sc +1 -1
  76. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h +328 -26
  77. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_fill_texture.sc +1 -1
  78. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_lines.bin.h +227 -13
  79. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_lines.sc +1 -1
  80. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h +290 -38
  81. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/fs_debugdraw_lines_stipple.sc +1 -1
  82. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/makefile +1 -1
  83. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill.bin.h +319 -95
  84. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill.sc +2 -1
  85. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h +410 -133
  86. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit.sc +2 -1
  87. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit_mesh.bin.h +378 -120
  88. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit_mesh.sc +1 -1
  89. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_mesh.bin.h +290 -85
  90. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_mesh.sc +1 -1
  91. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h +259 -18
  92. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_fill_texture.sc +1 -1
  93. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_lines.bin.h +228 -14
  94. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_lines.sc +1 -1
  95. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h +255 -16
  96. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/debugdraw/vs_debugdraw_lines_stipple.sc +1 -1
  97. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/cmd.cpp +1 -1
  98. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/cmd.h +1 -1
  99. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/dbg.h +1 -1
  100. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/dialog.cpp +1 -1
  101. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/dialog.h +1 -1
  102. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry.cpp +1 -1
  103. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry.h +1 -1
  104. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_android.cpp +1 -1
  105. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_glfw.cpp +1 -1
  106. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_html5.cpp +1 -1
  107. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_ios.mm +1 -1
  108. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_noop.cpp +1 -1
  109. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_osx.mm +2 -2
  110. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_p.h +1 -1
  111. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_sdl.cpp +1 -1
  112. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_windows.cpp +3 -3
  113. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/entry_x11.cpp +2 -2
  114. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/input.cpp +2 -2
  115. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/entry/input.h +1 -1
  116. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/example-glue.cpp +21 -9
  117. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_basic.bin.h +391 -75
  118. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_distance_field.bin.h +382 -119
  119. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_distance_field_drop_shadow.bin.h +587 -227
  120. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_distance_field_drop_shadow_image.bin.h +655 -265
  121. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_distance_field_outline.bin.h +452 -164
  122. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_distance_field_outline_drop_shadow_image.bin.h +719 -307
  123. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_distance_field_outline_image.bin.h +535 -208
  124. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/fs_font_distance_field_subpixel.bin.h +495 -125
  125. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/makefile +1 -1
  126. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_basic.bin.h +254 -16
  127. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_distance_field.bin.h +254 -16
  128. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_distance_field_drop_shadow.bin.h +340 -15
  129. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_distance_field_drop_shadow_image.bin.h +340 -15
  130. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_distance_field_outline.bin.h +310 -15
  131. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_distance_field_outline_drop_shadow_image.bin.h +340 -15
  132. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_distance_field_outline_image.bin.h +310 -15
  133. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/font/vs_font_distance_field_subpixel.bin.h +254 -16
  134. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_image.bin.h +277 -59
  135. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_ocornut_imgui.bin.h +324 -25
  136. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/imgui.cpp +9 -9
  137. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/imgui.h +1 -1
  138. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/makefile +1 -1
  139. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_image.bin.h +219 -15
  140. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_ocornut_imgui.bin.h +239 -7
  141. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/nanovg/fs_nanovg_fill.bin.h +925 -472
  142. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/nanovg/makefile +1 -1
  143. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/nanovg/nanovg_bgfx.cpp +1 -1
  144. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/nanovg/nanovg_bgfx.h +1 -1
  145. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/nanovg/vs_nanovg_fill.bin.h +223 -7
  146. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/packrect.h +1 -1
  147. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/ps/fs_particle.bin.h +382 -70
  148. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/ps/fs_particle.sc +1 -1
  149. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/ps/makefile +1 -1
  150. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/ps/particle_system.cpp +1 -1
  151. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/ps/particle_system.h +1 -1
  152. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/ps/vs_particle.bin.h +263 -18
  153. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/ps/vs_particle.sc +1 -1
  154. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/shaderlib.sh +10 -7
  155. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/include/bgfx/bgfx.h +149 -7
  156. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/include/bgfx/c99/bgfx.h +225 -101
  157. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/include/bgfx/defines.h +30 -21
  158. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/include/bgfx/embedded_shader.h +110 -60
  159. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/include/bgfx/platform.h +1 -1
  160. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/makefile +1 -1
  161. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/bgfx.idl +189 -70
  162. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/bgfx.lua +1 -1
  163. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/bindings-bf.lua +1 -1
  164. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/bindings-c3.lua +1 -1
  165. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/bindings-cs.lua +2 -2
  166. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/bindings-zig.lua +1 -1
  167. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/example-common.lua +1 -1
  168. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/genie.lua +3 -3
  169. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/geometryc.lua +1 -1
  170. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/geometryv.lua +1 -1
  171. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/shader-embeded.mk +18 -4
  172. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/shader.mk +21 -6
  173. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/shaderc.lua +139 -2
  174. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/temp.bgfx.h +2 -2
  175. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/temp.bgfx.hpp +2 -0
  176. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/temp.bgfx.idl.inl +1 -1
  177. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/temp.defines.h +1 -1
  178. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/texturec.lua +1 -1
  179. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/texturev.lua +1 -1
  180. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/scripts/tools.mk +1 -1
  181. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/amalgamated.cpp +2 -1
  182. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/amalgamated.mm +1 -1
  183. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/bgfx.cpp +406 -164
  184. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/bgfx.idl.inl +37 -9
  185. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/bgfx_compute.sh +40 -43
  186. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/bgfx_p.h +795 -170
  187. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/bgfx_shader.sh +205 -73
  188. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/charset.h +1 -1
  189. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/config.h +18 -4
  190. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/debug_renderdoc.cpp +8 -1
  191. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/debug_renderdoc.h +1 -1
  192. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/dxgi.cpp +1 -1
  193. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/dxgi.h +1 -1
  194. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/emscripten.h +1 -1
  195. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear0.bin.h +190 -36
  196. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear0.sc +1 -1
  197. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear1.bin.h +223 -46
  198. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear1.sc +1 -1
  199. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear2.bin.h +253 -55
  200. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear2.sc +1 -1
  201. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear3.bin.h +283 -65
  202. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear3.sc +1 -1
  203. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear4.bin.h +314 -75
  204. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear4.sc +1 -1
  205. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear5.bin.h +343 -85
  206. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear5.sc +1 -1
  207. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear6.bin.h +373 -94
  208. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear6.sc +1 -1
  209. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear7.bin.h +404 -105
  210. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_clear7.sc +1 -1
  211. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_debugfont.bin.h +401 -67
  212. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/fs_debugfont.sc +1 -1
  213. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/glcontext_egl.cpp +114 -36
  214. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/glcontext_egl.h +5 -1
  215. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/glcontext_html5.cpp +1 -1
  216. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/glcontext_html5.h +1 -1
  217. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/glcontext_wgl.cpp +1 -1
  218. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/glcontext_wgl.h +1 -1
  219. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/glimports.h +1 -1
  220. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/makefile +17 -13
  221. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/nvapi.cpp +1 -1
  222. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/nvapi.h +1 -1
  223. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer.h +50 -29
  224. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_agc.cpp +1 -1
  225. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_d3d.h +7 -1
  226. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_d3d11.cpp +291 -180
  227. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_d3d11.h +5 -2
  228. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_d3d12.cpp +635 -218
  229. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_d3d12.h +78 -10
  230. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_gl.cpp +65 -45
  231. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_gl.h +24 -3
  232. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_gnm.cpp +1 -1
  233. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_mtl.h +50 -24
  234. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_mtl.mm +158 -56
  235. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_noop.cpp +8 -12
  236. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_nvn.cpp +1 -1
  237. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_vk.cpp +810 -445
  238. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_vk.h +194 -133
  239. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_webgpu.cpp +6239 -0
  240. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/renderer_webgpu.h +897 -0
  241. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/shader.cpp +1 -1
  242. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/shader.h +1 -1
  243. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/shader_dxbc.cpp +1 -1
  244. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/shader_dxbc.h +1 -1
  245. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/shader_spirv.cpp +1 -1
  246. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/shader_spirv.h +1 -1
  247. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/topology.cpp +1 -1
  248. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/topology.h +1 -1
  249. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/version.h +3 -3
  250. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/vertexlayout.cpp +2 -1
  251. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/vertexlayout.h +1 -1
  252. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/vs_clear.bin.h +186 -24
  253. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/vs_clear.sc +1 -1
  254. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/vs_debugfont.bin.h +314 -44
  255. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/src/vs_debugfont.sc +1 -1
  256. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/3rdparty/nvtt/bc7/avpcl_mode4.cpp +2 -0
  257. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/3rdparty/nvtt/nvcore/debug.h +1 -1
  258. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/3rdparty/nvtt/nvtt.cpp +1 -1
  259. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/LICENSE +1 -1
  260. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/README.md +2 -1
  261. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/include/bimg/bimg.h +5 -1
  262. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/include/bimg/decode.h +1 -1
  263. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/include/bimg/encode.h +1 -1
  264. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/makefile +183 -0
  265. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/scripts/bimg.lua +1 -1
  266. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/scripts/bimg_decode.lua +2 -2
  267. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/scripts/bimg_encode.lua +1 -1
  268. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/scripts/genie.lua +1 -1
  269. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/scripts/texturec.lua +1 -1
  270. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/src/bimg_p.h +1 -1
  271. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/src/config.h +52 -40
  272. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/src/image.cpp +136 -120
  273. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/src/image_cubemap_filter.cpp +1 -1
  274. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/src/image_decode.cpp +17 -5
  275. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/src/image_encode.cpp +1 -1
  276. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/src/image_gnf.cpp +1 -1
  277. package/shared/BabylonNative/deps/bgfx.cmake-src/bimg/tools/texturec/texturec.cpp +3 -3
  278. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/LICENSE +1 -1
  279. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/README.md +1 -1
  280. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/allocator.h +1 -1
  281. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/bounds.h +1 -1
  282. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/bx.h +43 -1
  283. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/commandline.h +1 -1
  284. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/config.h +1 -1
  285. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/constants.h +1 -1
  286. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/cpu.h +1 -1
  287. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/debug.h +15 -5
  288. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/easing.h +1 -1
  289. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/endian.h +1 -1
  290. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/error.h +1 -1
  291. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/file.h +1 -1
  292. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/filepath.h +5 -1
  293. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/float4x4_t.h +1 -1
  294. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/handlealloc.h +1 -1
  295. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/hash.h +31 -1
  296. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/allocator.inl +1 -1
  297. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/bounds.inl +1 -1
  298. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/bx.inl +141 -3
  299. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/cpu.inl +1 -1
  300. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/easing.inl +1 -1
  301. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/endian.inl +1 -1
  302. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/error.inl +1 -1
  303. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/float4x4_t.inl +1 -1
  304. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/handlealloc.inl +1 -1
  305. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/hash.inl +28 -1
  306. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/math.inl +1 -1
  307. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/mpscqueue.inl +1 -1
  308. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/mutex.inl +1 -1
  309. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/os.inl +1 -1
  310. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/pixelformat.inl +1 -1
  311. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/readerwriter.inl +1 -1
  312. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/ringbuffer.inl +76 -8
  313. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/rng.inl +1 -1
  314. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/simd128_langext.inl +1 -1
  315. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/simd128_neon.inl +1 -1
  316. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/simd128_ref.inl +1 -1
  317. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/simd128_sse.inl +1 -1
  318. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/simd256_avx.inl +1 -1
  319. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/simd256_ref.inl +1 -1
  320. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/simd_ni.inl +1 -1
  321. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/sort.inl +1 -1
  322. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/spscqueue.inl +1 -1
  323. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/string.inl +237 -48
  324. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/timer.inl +67 -0
  325. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/typetraits.inl +1 -1
  326. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/inline/uint32_t.inl +1 -1
  327. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/macros.h +6 -6
  328. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/math.h +1 -1
  329. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/mpscqueue.h +1 -1
  330. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/mutex.h +1 -1
  331. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/os.h +1 -1
  332. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/pixelformat.h +1 -1
  333. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/platform.h +3 -3
  334. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/process.h +1 -1
  335. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/readerwriter.h +9 -1
  336. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/ringbuffer.h +145 -14
  337. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/rng.h +1 -1
  338. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/semaphore.h +1 -1
  339. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/settings.h +1 -1
  340. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/simd_t.h +1 -1
  341. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/sort.h +1 -1
  342. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/spscqueue.h +1 -1
  343. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/string.h +111 -42
  344. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/thread.h +5 -5
  345. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/timer.h +59 -1
  346. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/typetraits.h +1 -1
  347. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/uint32_t.h +1 -1
  348. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/include/bx/url.h +1 -1
  349. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/scripts/bin2c.lua +1 -1
  350. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/scripts/bx.lua +1 -1
  351. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/scripts/genie.lua +1 -1
  352. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/scripts/toolchain.lua +36 -18
  353. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/allocator.cpp +1 -1
  354. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/amalgamated.cpp +1 -1
  355. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/bounds.cpp +10 -10
  356. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/bx.cpp +3 -3
  357. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/commandline.cpp +1 -1
  358. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/crtnone.cpp +1 -1
  359. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/debug.cpp +866 -64
  360. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/dtoa.cpp +3 -9
  361. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/easing.cpp +1 -1
  362. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/file.cpp +1 -1
  363. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/filepath.cpp +7 -1
  364. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/hash.cpp +195 -37
  365. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/math.cpp +1 -1
  366. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/mutex.cpp +1 -1
  367. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/os.cpp +1 -1
  368. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/process.cpp +1 -1
  369. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/semaphore.cpp +27 -6
  370. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/settings.cpp +1 -1
  371. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/sort.cpp +1 -1
  372. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/string.cpp +206 -49
  373. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/thread.cpp +35 -38
  374. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/timer.cpp +5 -1
  375. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/src/url.cpp +1 -1
  376. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/allocator_test.cpp +1 -1
  377. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/atomic_test.cpp +1 -1
  378. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/cast_test.cpp +99 -1
  379. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/crt_test.cpp +1 -1
  380. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/dbg.h +1 -1
  381. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/easing_test.cpp +1 -1
  382. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/filepath_test.cpp +1 -1
  383. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/handle_bench.cpp +1 -1
  384. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/handle_test.cpp +6 -6
  385. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/hash_test.cpp +37 -8
  386. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/macros_test.cpp +1 -1
  387. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/main_test.cpp +1 -1
  388. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/math_bench.cpp +1 -1
  389. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/math_test.cpp +1 -1
  390. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/os_test.cpp +1 -1
  391. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/pixelformat_test.cpp +1 -1
  392. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/queue_test.cpp +1 -1
  393. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/readerwriter_test.cpp +1 -1
  394. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/ringbuffer_test.cpp +112 -7
  395. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/rng_test.cpp +1 -1
  396. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/run_test.cpp +6 -4
  397. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/settings_test.cpp +1 -1
  398. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/simd_bench.cpp +1 -1
  399. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/simd_test.cpp +1 -1
  400. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/sort_test.cpp +1 -1
  401. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/string_test.cpp +92 -39
  402. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/test.h +1 -1
  403. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/thread_test.cpp +1 -1
  404. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/tokenizecmd_test.cpp +1 -1
  405. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/typetraits_test.cpp +1 -1
  406. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/uint32_test.cpp +1 -1
  407. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/url_test.cpp +1 -1
  408. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tests/vsnprintf_test.cpp +365 -77
  409. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tools/bin/darwin/genie +0 -0
  410. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tools/bin/linux/genie +0 -0
  411. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tools/bin/windows/genie.exe +0 -0
  412. package/shared/BabylonNative/deps/bgfx.cmake-src/bx/tools/bin2c/bin2c.cpp +2 -2
  413. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bgfx/3rdparty/glslang.cmake +6 -5
  414. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bgfx/3rdparty/spirv-opt.cmake +5 -0
  415. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bgfx/3rdparty/tint.cmake +98 -0
  416. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bgfx/CMakeLists.txt +1 -0
  417. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bgfx/bgfx.cmake +11 -9
  418. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bgfx/examples.cmake +16 -4
  419. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bgfx/shaderc.cmake +21 -10
  420. package/shared/BabylonNative/deps/bgfx.cmake-src/cmake/bx/bx.cmake +5 -0
  421. package/shared/BabylonNative/deps/cmakeextensions-src/CMakeLists.txt +31 -5
  422. package/shared/BabylonNative/deps/cmakeextensions-src/README.md +6 -1
  423. package/shared/BabylonNative/deps/jsruntimehost-src/CMakeLists.txt +6 -5
  424. package/shared/BabylonNative/deps/jsruntimehost-src/Core/Node-API/Source/js_native_api_javascriptcore.cc +58 -4
  425. package/shared/BabylonNative/deps/jsruntimehost-src/Polyfills/CMakeLists.txt +4 -0
  426. package/shared/BabylonNative/deps/jsruntimehost-src/Polyfills/TextDecoder/CMakeLists.txt +15 -0
  427. package/shared/BabylonNative/deps/jsruntimehost-src/Polyfills/TextDecoder/Include/Babylon/Polyfills/TextDecoder.h +9 -0
  428. package/shared/BabylonNative/deps/jsruntimehost-src/Polyfills/TextDecoder/README.md +39 -0
  429. package/shared/BabylonNative/deps/jsruntimehost-src/Polyfills/TextDecoder/Source/TextDecoder.cpp +91 -0
  430. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/Foundation.hpp +47 -0
  431. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSArray.hpp +124 -0
  432. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSAutoreleasePool.hpp +83 -0
  433. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSBundle.hpp +374 -0
  434. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSData.hpp +54 -0
  435. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSDate.hpp +53 -0
  436. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSDefines.hpp +45 -0
  437. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSDictionary.hpp +128 -0
  438. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSEnumerator.hpp +78 -0
  439. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSError.hpp +173 -0
  440. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSLock.hpp +118 -0
  441. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSNotification.hpp +110 -0
  442. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSNumber.hpp +501 -0
  443. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSObjCRuntime.hpp +43 -0
  444. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSObject.hpp +302 -0
  445. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSPrivate.hpp +531 -0
  446. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSProcessInfo.hpp +386 -0
  447. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSRange.hpp +83 -0
  448. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSSet.hpp +87 -0
  449. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSSharedPtr.hpp +310 -0
  450. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSString.hpp +255 -0
  451. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSTypes.hpp +51 -0
  452. package/shared/BabylonNative/deps/metal-cpp-src/Foundation/NSURL.hpp +90 -0
  453. package/shared/BabylonNative/deps/metal-cpp-src/LICENSE.txt +202 -0
  454. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4AccelerationStructure.hpp +1395 -0
  455. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4Archive.hpp +93 -0
  456. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4ArgumentTable.hpp +187 -0
  457. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4BinaryFunction.hpp +50 -0
  458. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4BinaryFunctionDescriptor.hpp +97 -0
  459. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4CommandAllocator.hpp +100 -0
  460. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4CommandBuffer.hpp +193 -0
  461. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4CommandEncoder.hpp +134 -0
  462. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4CommandQueue.hpp +283 -0
  463. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4CommitFeedback.hpp +62 -0
  464. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4Compiler.hpp +345 -0
  465. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4CompilerTask.hpp +63 -0
  466. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4ComputeCommandEncoder.hpp +300 -0
  467. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4ComputePipeline.hpp +158 -0
  468. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4Counters.hpp +138 -0
  469. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4FunctionDescriptor.hpp +49 -0
  470. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4LibraryDescriptor.hpp +98 -0
  471. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4LibraryFunctionDescriptor.hpp +86 -0
  472. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4LinkingDescriptor.hpp +204 -0
  473. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4MachineLearningCommandEncoder.hpp +66 -0
  474. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4MachineLearningPipeline.hpp +172 -0
  475. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4MeshRenderPipeline.hpp +413 -0
  476. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4PipelineDataSetSerializer.hpp +85 -0
  477. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4PipelineState.hpp +150 -0
  478. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4RenderCommandEncoder.hpp +340 -0
  479. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4RenderPass.hpp +280 -0
  480. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4RenderPipeline.hpp +587 -0
  481. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4SpecializedFunctionDescriptor.hpp +100 -0
  482. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4StitchedFunctionDescriptor.hpp +86 -0
  483. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTL4TileRenderPipeline.hpp +173 -0
  484. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLAccelerationStructure.hpp +1887 -0
  485. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLAccelerationStructureCommandEncoder.hpp +260 -0
  486. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLAccelerationStructureTypes.hpp +292 -0
  487. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLAllocation.hpp +40 -0
  488. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLArgument.hpp +787 -0
  489. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLArgumentEncoder.hpp +235 -0
  490. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLBinaryArchive.hpp +152 -0
  491. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLBlitCommandEncoder.hpp +226 -0
  492. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLBlitPass.hpp +154 -0
  493. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLBuffer.hpp +119 -0
  494. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLCaptureManager.hpp +217 -0
  495. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLCaptureScope.hpp +91 -0
  496. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLCommandBuffer.hpp +464 -0
  497. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLCommandEncoder.hpp +117 -0
  498. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLCommandQueue.hpp +158 -0
  499. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLComputeCommandEncoder.hpp +324 -0
  500. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLComputePass.hpp +169 -0
  501. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLComputePipeline.hpp +439 -0
  502. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLCounters.hpp +243 -0
  503. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLDataType.hpp +129 -0
  504. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLDefines.hpp +41 -0
  505. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLDepthStencil.hpp +277 -0
  506. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLDevice.hpp +1493 -0
  507. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLDrawable.hpp +90 -0
  508. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLDynamicLibrary.hpp +78 -0
  509. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLEvent.hpp +170 -0
  510. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLFence.hpp +55 -0
  511. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLFunctionConstantValues.hpp +76 -0
  512. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLFunctionDescriptor.hpp +153 -0
  513. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLFunctionHandle.hpp +65 -0
  514. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLFunctionLog.hpp +101 -0
  515. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLFunctionStitching.hpp +319 -0
  516. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLGPUAddress.hpp +36 -0
  517. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLHeaderBridge.hpp +3120 -0
  518. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLHeap.hpp +318 -0
  519. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLIOCommandBuffer.hpp +182 -0
  520. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLIOCommandQueue.hpp +211 -0
  521. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLIOCompressor.hpp +94 -0
  522. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLIndirectCommandBuffer.hpp +376 -0
  523. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLIndirectCommandEncoder.hpp +272 -0
  524. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLIntersectionFunctionTable.hpp +173 -0
  525. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLLibrary.hpp +786 -0
  526. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLLinkedFunctions.hpp +110 -0
  527. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLLogState.hpp +111 -0
  528. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLParallelRenderCommandEncoder.hpp +83 -0
  529. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLPipeline.hpp +104 -0
  530. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLPixelFormat.hpp +173 -0
  531. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLPrivate.hpp +156 -0
  532. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLRasterizationRate.hpp +337 -0
  533. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLRenderCommandEncoder.hpp +1019 -0
  534. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLRenderPass.hpp +792 -0
  535. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLRenderPipeline.hpp +1876 -0
  536. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLResidencySet.hpp +178 -0
  537. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLResource.hpp +190 -0
  538. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLResourceStateCommandEncoder.hpp +98 -0
  539. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLResourceStatePass.hpp +154 -0
  540. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLResourceViewPool.hpp +118 -0
  541. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLSampler.hpp +345 -0
  542. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLStageInputOutputDescriptor.hpp +356 -0
  543. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLTensor.hpp +297 -0
  544. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLTexture.hpp +803 -0
  545. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLTextureViewPool.hpp +59 -0
  546. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLTypes.hpp +164 -0
  547. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLVersion.hpp +32 -0
  548. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLVertexDescriptor.hpp +326 -0
  549. package/shared/BabylonNative/deps/metal-cpp-src/Metal/MTLVisibleFunctionTable.hpp +96 -0
  550. package/shared/BabylonNative/deps/metal-cpp-src/Metal/Metal.hpp +120 -0
  551. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTL4FXFrameInterpolator.hpp +47 -0
  552. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTL4FXSpatialScaler.hpp +49 -0
  553. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTL4FXTemporalDenoisedScaler.hpp +49 -0
  554. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTL4FXTemporalScaler.hpp +49 -0
  555. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTLFXDefines.hpp +41 -0
  556. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTLFXFrameInterpolator.hpp +719 -0
  557. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTLFXPrivate.hpp +482 -0
  558. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTLFXSpatialScaler.hpp +397 -0
  559. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTLFXTemporalDenoisedScaler.hpp +1208 -0
  560. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MTLFXTemporalScaler.hpp +803 -0
  561. package/shared/BabylonNative/deps/metal-cpp-src/MetalFX/MetalFX.hpp +35 -0
  562. package/shared/BabylonNative/deps/metal-cpp-src/QuartzCore/CADefines.hpp +41 -0
  563. package/shared/BabylonNative/deps/metal-cpp-src/QuartzCore/CAMetalDrawable.hpp +57 -0
  564. package/shared/BabylonNative/deps/metal-cpp-src/QuartzCore/CAMetalLayer.hpp +216 -0
  565. package/shared/BabylonNative/deps/metal-cpp-src/QuartzCore/CAPrivate.hpp +150 -0
  566. package/shared/BabylonNative/deps/metal-cpp-src/QuartzCore/QuartzCore.hpp +28 -0
  567. package/shared/BabylonNative/deps/metal-cpp-src/README.md +313 -0
  568. package/shared/BabylonNative/deps/metal-cpp-src/SingleHeader/MakeSingleHeader.py +271 -0
  569. package/shared/BabylonNative/deps/metal-cpp-src/SingleHeader/Metal.hpp +28735 -0
  570. package/shared/BabylonNative/deps/spirv-cross-src/spirv_hlsl.cpp +173 -222
  571. package/shared/BabylonNative/deps/urllib-src/CMakeLists.txt +6 -7
  572. package/shared/BabylonNative/deps/urllib-src/Source/UrlRequest_Unix.cpp +1 -1
  573. package/shared/BabylonNative.cpp +4 -0
  574. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/Apple/TestUtilsImpl.mm +0 -57
  575. package/shared/BabylonNative/Repo/Plugins/TestUtils/Source/TestUtilsImplData.h +0 -18
  576. package/shared/BabylonNative/deps/arcana.cpp-src/Source/Android/Arcana.Android.vcxproj +0 -186
  577. package/shared/BabylonNative/deps/arcana.cpp-src/Source/Shared/Arcana.vcxitems +0 -47
  578. package/shared/BabylonNative/deps/arcana.cpp-src/Source/Windows/Arcana.Windows.Reference.vcxitems +0 -30
  579. package/shared/BabylonNative/deps/arcana.cpp-src/Source/Windows/Arcana.Windows.vcxproj +0 -218
  580. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/bounds.cpp +0 -2178
  581. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/bounds.h +0 -448
  582. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_color.bin.h +0 -100
  583. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_color.sc +0 -13
  584. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_cubemap.bin.h +0 -223
  585. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_cubemap.sc +0 -21
  586. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_image_swizz.bin.h +0 -256
  587. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_image_swizz.sc +0 -22
  588. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_latlong.bin.h +0 -308
  589. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_latlong.sc +0 -38
  590. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_texture.bin.h +0 -180
  591. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/fs_imgui_texture.sc +0 -16
  592. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_color.bin.h +0 -195
  593. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_color.sc +0 -15
  594. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_cubemap.bin.h +0 -203
  595. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_cubemap.sc +0 -15
  596. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_latlong.bin.h +0 -205
  597. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_latlong.sc +0 -15
  598. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_texture.bin.h +0 -233
  599. package/shared/BabylonNative/deps/bgfx.cmake-src/bgfx/examples/common/imgui/vs_imgui_texture.sc +0 -16
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2011-2025 Branimir Karadzic. All rights reserved.
2
+ * Copyright 2011-2026 Branimir Karadzic. All rights reserved.
3
3
  * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
4
4
  */
5
5
 
@@ -69,10 +69,99 @@ namespace bgfx
69
69
  }
70
70
  #endif // BGFX_CONFIG_USE_TINYSTL
71
71
 
72
+ struct Superluminal
73
+ {
74
+ struct SuppressTailCallOptimization
75
+ {
76
+ int64_t SuppressTailCall[3];
77
+ };
78
+
79
+ typedef void (*SuperluminalBeginEventtFn)(const char* _inID, const char* _inData, uint32_t _inColor);
80
+ typedef SuppressTailCallOptimization(*SuperluminalEndEventFn)();
81
+
82
+ static void stubSuperluminalBeginEvent(const char* _inID, const char* _inData, uint32_t _inColor)
83
+ {
84
+ BX_UNUSED(_inID, _inData, _inColor);
85
+ }
86
+
87
+ static SuppressTailCallOptimization stubSuperluminalEndEvent()
88
+ {
89
+ return {};
90
+ }
91
+
92
+ bool init()
93
+ {
94
+ if (!BX_ENABLED(BGFX_CONFIG_PROFILER) )
95
+ {
96
+ return false;
97
+ }
98
+
99
+ const char* superluminalDllName = "PerformanceAPI.dll";
100
+ superluminalDll = bx::dlopen(superluminalDllName);
101
+
102
+ if (NULL != superluminalDll)
103
+ {
104
+ void* funcPtrs[11];
105
+
106
+ typedef int (*PerformanceAPI_GetAPI)(int32_t _version, void** _funcPtrs);
107
+
108
+ constexpr int32_t version = 0x30000;
109
+
110
+ PerformanceAPI_GetAPI getApi = bx::dlsym<PerformanceAPI_GetAPI>(superluminalDll, "PerformanceAPI_GetAPI");
111
+ if (NULL == getApi)
112
+ {
113
+ BX_TRACE("Failed to obtain Superluminal's %s GetAPI function!", superluminalDllName);
114
+ bx::dlclose(superluminalDll);
115
+ return false;
116
+ }
117
+
118
+ if (getApi(version, funcPtrs) )
119
+ {
120
+ BX_TRACE("Superluminal's PerformanceAPI.dll is loaded!");
121
+ beginEvent = (SuperluminalBeginEventtFn)funcPtrs[2];
122
+ endEvent = (SuperluminalEndEventFn )funcPtrs[6];
123
+ return true;
124
+ }
125
+
126
+ BX_TRACE("Failed to obtain Superluminal's %s GetAPI function!", superluminalDllName);
127
+ bx::dlclose(superluminalDll);
128
+ }
129
+ else
130
+ {
131
+ BX_TRACE("Failed to load Superluminal's %s!", superluminalDllName);
132
+ }
133
+
134
+ return false;
135
+ }
136
+
137
+ void shutdown()
138
+ {
139
+ if (NULL != superluminalDll)
140
+ {
141
+ bx::dlclose(superluminalDll);
142
+ superluminalDll = NULL;
143
+ beginEvent = stubSuperluminalBeginEvent;
144
+ endEvent = stubSuperluminalEndEvent;
145
+ }
146
+ }
147
+
148
+ void* superluminalDll = NULL;
149
+ SuperluminalBeginEventtFn beginEvent = stubSuperluminalBeginEvent;
150
+ SuperluminalEndEventFn endEvent = stubSuperluminalEndEvent;
151
+ };
152
+
72
153
  struct CallbackStub : public CallbackI
73
154
  {
155
+ Superluminal m_superluminal;
156
+
157
+ CallbackStub()
158
+ {
159
+ m_superluminal.init();
160
+ }
161
+
74
162
  virtual ~CallbackStub()
75
163
  {
164
+ m_superluminal.shutdown();
76
165
  }
77
166
 
78
167
  virtual void fatal(const char* _filePath, uint16_t _line, Fatal::Enum _code, const char* _str) override
@@ -108,16 +197,19 @@ namespace bgfx
108
197
  bx::debugOutput(out);
109
198
  }
110
199
 
111
- virtual void profilerBegin(const char* /*_name*/, uint32_t /*_abgr*/, const char* /*_filePath*/, uint16_t /*_line*/) override
200
+ virtual void profilerBegin(const char* _name, uint32_t _abgr, const char* /*_filePath*/, uint16_t /*_line*/) override
112
201
  {
202
+ m_superluminal.beginEvent(" ", _name, _abgr);
113
203
  }
114
204
 
115
- virtual void profilerBeginLiteral(const char* /*_name*/, uint32_t /*_abgr*/, const char* /*_filePath*/, uint16_t /*_line*/) override
205
+ virtual void profilerBeginLiteral(const char* _name, uint32_t _abgr, const char* /*_filePath*/, uint16_t /*_line*/) override
116
206
  {
207
+ m_superluminal.beginEvent(_name, NULL, _abgr);
117
208
  }
118
209
 
119
210
  virtual void profilerEnd() override
120
211
  {
212
+ m_superluminal.endEvent();
121
213
  }
122
214
 
123
215
  virtual uint32_t cacheReadSize(uint64_t /*_id*/) override
@@ -134,7 +226,7 @@ namespace bgfx
134
226
  {
135
227
  }
136
228
 
137
- virtual void screenShot(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _data, uint32_t _size, bool _yflip) override
229
+ virtual void screenShot(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _pitch, TextureFormat::Enum _format, const void* _data, uint32_t _size, bool _yflip) override
138
230
  {
139
231
  BX_UNUSED(_filePath, _width, _height, _pitch, _data, _size, _yflip);
140
232
 
@@ -146,7 +238,39 @@ namespace bgfx
146
238
  bx::FileWriter writer;
147
239
  if (bx::open(&writer, filePath) )
148
240
  {
149
- bimg::imageWriteTga(&writer, _width, _height, _pitch, _data, false, _yflip);
241
+ if (TextureFormat::RGBA8 == _format)
242
+ {
243
+ bimg::imageSwizzleBgra8(const_cast<void*>(_data), _pitch, _width, _height, _data, _pitch);
244
+ bimg::imageWriteTga(&writer, _width, _height, _pitch, _data, false, _yflip);
245
+ }
246
+ else if (TextureFormat::BGRA8 == _format)
247
+ {
248
+ bimg::imageWriteTga(&writer, _width, _height, _pitch, _data, false, _yflip);
249
+ }
250
+ else
251
+ {
252
+ const uint8_t dstBpp = bimg::getBitsPerPixel(bimg::TextureFormat::BGRA8);
253
+ const uint32_t dstPitch = _width * dstBpp / 8;
254
+ const uint32_t dstSize = _height * dstPitch;
255
+
256
+ void* dst = bx::alloc(g_allocator, dstSize);
257
+
258
+ bimg::imageConvert(
259
+ g_allocator
260
+ , dst
261
+ , bimg::TextureFormat::BGRA8
262
+ , _data
263
+ , bimg::TextureFormat::Enum(_format)
264
+ , _width
265
+ , _height
266
+ , 1
267
+ );
268
+
269
+ bimg::imageWriteTga(&writer, _width, _height, _pitch, _data, false, _yflip);
270
+
271
+ bx::free(g_allocator, dst);
272
+ }
273
+
150
274
  bx::close(&writer);
151
275
  }
152
276
  }
@@ -381,7 +505,7 @@ namespace bgfx
381
505
  bx::write(&writer, tc, bx::ErrorAssert{});
382
506
 
383
507
  rci->destroyTexture(_handle);
384
- rci->createTexture(_handle, mem, _flags, 0);
508
+ rci->createTexture(_handle, mem, _flags, 0, 0);
385
509
 
386
510
  release(mem);
387
511
 
@@ -645,10 +769,10 @@ namespace bgfx
645
769
  .add(Attrib::TexCoord0, 2, AttribType::Float)
646
770
  .end();
647
771
 
648
- uint16_t width = 2048;
649
- uint16_t height = 24;
650
- uint8_t bpp = 1;
651
- uint32_t pitch = width*bpp;
772
+ const uint16_t width = 2048;
773
+ const uint16_t height = 24;
774
+ const uint8_t bpp = 1;
775
+ const uint32_t pitch = width*bpp;
652
776
 
653
777
  const Memory* mem;
654
778
 
@@ -675,6 +799,7 @@ namespace bgfx
675
799
  m_vb = s_ctx->createTransientVertexBuffer(kNumBatchVertices*m_layout.m_stride, &m_layout);
676
800
  m_ib = s_ctx->createTransientIndexBuffer(kNumBatchIndices*2);
677
801
  m_scale = bx::max<uint8_t>(scale, 1);
802
+ m_usedData = 0;
678
803
  }
679
804
 
680
805
  void TextVideoMemBlitter::shutdown()
@@ -733,7 +858,7 @@ namespace bgfx
733
858
  };
734
859
  static_assert(BX_COUNTOF(s_paletteLinear) == 16);
735
860
 
736
- void blit(RendererContextI* _renderCtx, TextVideoMemBlitter& _blitter, const TextVideoMem& _mem)
861
+ void dbgTextSubmit(RendererContextI* _renderCtx, TextVideoMemBlitter& _blitter, const TextVideoMem& _mem)
737
862
  {
738
863
  struct Vertex
739
864
  {
@@ -756,7 +881,7 @@ namespace bgfx
756
881
  const float fontHeight = (_mem.m_small ? 8.0f : 16.0f)*_blitter.m_scale;
757
882
  const float fontWidth = 8.0f * _blitter.m_scale;
758
883
 
759
- _renderCtx->blitSetup(_blitter);
884
+ _renderCtx->dbgTextRenderBegin(_blitter);
760
885
 
761
886
  const uint32_t* palette = 0 != (s_ctx->m_init.resolution.reset & BGFX_RESET_SRGB_BACKBUFFER)
762
887
  ? s_paletteLinear
@@ -765,10 +890,10 @@ namespace bgfx
765
890
 
766
891
  for (;yy < _mem.m_height;)
767
892
  {
768
- Vertex* vertex = (Vertex*)_blitter.m_vb->data;
893
+ Vertex* vertex = (Vertex *)_blitter.m_vb->data;
769
894
  uint16_t* indices = (uint16_t*)_blitter.m_ib->data;
770
895
  uint32_t startVertex = 0;
771
- uint32_t numIndices = 0;
896
+ uint32_t numIndices = 0;
772
897
 
773
898
  for (; yy < _mem.m_height && numIndices < kNumBatchIndices; ++yy)
774
899
  {
@@ -791,7 +916,7 @@ namespace bgfx
791
916
  const uint32_t fg = palette[attr&0xf];
792
917
  const uint32_t bg = palette[(attr>>4)&0xf];
793
918
 
794
- Vertex vert[4] =
919
+ const Vertex vert[4] =
795
920
  {
796
921
  { (xx )*fontWidth, (yy )*fontHeight, 0.0f, fg, bg, (ch )*8.0f*texelWidth, utop },
797
922
  { (xx+1)*fontWidth, (yy )*fontHeight, 0.0f, fg, bg, (ch+1)*8.0f*texelWidth, utop },
@@ -824,8 +949,10 @@ namespace bgfx
824
949
  }
825
950
  }
826
951
 
827
- _renderCtx->blitRender(_blitter, numIndices);
952
+ _renderCtx->dbgTextRender(_blitter, numIndices);
828
953
  }
954
+
955
+ _renderCtx->dbgTextRenderEnd(_blitter);
829
956
  }
830
957
 
831
958
  void ClearQuad::init()
@@ -834,7 +961,8 @@ namespace bgfx
834
961
 
835
962
  if (RendererType::Noop != g_caps.rendererType)
836
963
  {
837
- m_layout
964
+ VertexLayout layout;
965
+ layout
838
966
  .begin()
839
967
  .add(Attrib::Position, 2, AttribType::Float)
840
968
  .end();
@@ -862,7 +990,7 @@ namespace bgfx
862
990
  float m_y;
863
991
  };
864
992
 
865
- const uint16_t stride = m_layout.m_stride;
993
+ const uint16_t stride = layout.m_stride;
866
994
  const bgfx::Memory* mem = bgfx::alloc(4 * stride);
867
995
  Vertex* vertex = (Vertex*)mem->data;
868
996
  BX_ASSERT(stride == sizeof(Vertex), "Stride/Vertex mismatch (stride %d, sizeof(Vertex) %d)", stride, sizeof(Vertex));
@@ -879,7 +1007,8 @@ namespace bgfx
879
1007
  vertex->m_x = 1.0f;
880
1008
  vertex->m_y = 1.0f;
881
1009
 
882
- m_vb = s_ctx->createVertexBuffer(mem, m_layout, 0);
1010
+ m_layout = s_ctx->createVertexLayout(layout);
1011
+ m_vb = s_ctx->createVertexBuffer(mem, layout, 0);
883
1012
  }
884
1013
  }
885
1014
 
@@ -899,6 +1028,7 @@ namespace bgfx
899
1028
  }
900
1029
 
901
1030
  s_ctx->destroyVertexBuffer(m_vb);
1031
+ s_ctx->destroyVertexLayout(m_layout);
902
1032
  }
903
1033
  }
904
1034
 
@@ -1259,15 +1389,9 @@ namespace bgfx
1259
1389
  if (UINT32_MAX != m_draw.m_streamMask)
1260
1390
  {
1261
1391
  uint32_t numVertices = UINT32_MAX;
1262
- for (uint32_t idx = 0, streamMask = m_draw.m_streamMask
1263
- ; 0 != streamMask
1264
- ; streamMask >>= 1, idx += 1
1265
- )
1392
+ for (BitMaskToIndexIteratorT it(m_draw.m_streamMask); !it.isDone(); it.next() )
1266
1393
  {
1267
- const uint32_t ntz = bx::uint32_cnttz(streamMask);
1268
- streamMask >>= ntz;
1269
- idx += ntz;
1270
- numVertices = bx::min(numVertices, m_numVertices[idx]);
1394
+ numVertices = bx::min(numVertices, m_numVertices[it.idx]);
1271
1395
  }
1272
1396
 
1273
1397
  m_draw.m_numVertices = numVertices;
@@ -1352,35 +1476,36 @@ namespace bgfx
1352
1476
  , "Exceed number of available blit items per frame. BGFX_CONFIG_MAX_BLIT_ITEMS is %d. Skipping blit."
1353
1477
  , BGFX_CONFIG_MAX_BLIT_ITEMS
1354
1478
  );
1355
- if (m_frame->m_numBlitItems < BGFX_CONFIG_MAX_BLIT_ITEMS)
1479
+ const uint32_t blitItemIdx = bx::atomicFetchAndAddsat<uint32_t>(&m_frame->m_numBlitItems, 1, BGFX_CONFIG_MAX_BLIT_ITEMS);
1480
+ if (BGFX_CONFIG_MAX_BLIT_ITEMS-1 <= blitItemIdx)
1356
1481
  {
1357
- uint16_t item = m_frame->m_numBlitItems++;
1482
+ return;
1483
+ }
1358
1484
 
1359
- BlitItem& bi = m_frame->m_blitItem[item];
1360
- bi.m_srcX = _srcX;
1361
- bi.m_srcY = _srcY;
1362
- bi.m_srcZ = _srcZ;
1363
- bi.m_dstX = _dstX;
1364
- bi.m_dstY = _dstY;
1365
- bi.m_dstZ = _dstZ;
1366
- bi.m_width = _width;
1367
- bi.m_height = _height;
1368
- bi.m_depth = _depth;
1369
- bi.m_srcMip = _srcMip;
1370
- bi.m_dstMip = _dstMip;
1371
- bi.m_src = _src;
1372
- bi.m_dst = _dst;
1485
+ BlitItem& bi = m_frame->m_blitItem[blitItemIdx];
1486
+ bi.m_srcX = _srcX;
1487
+ bi.m_srcY = _srcY;
1488
+ bi.m_srcZ = _srcZ;
1489
+ bi.m_dstX = _dstX;
1490
+ bi.m_dstY = _dstY;
1491
+ bi.m_dstZ = _dstZ;
1492
+ bi.m_width = _width;
1493
+ bi.m_height = _height;
1494
+ bi.m_depth = _depth;
1495
+ bi.m_srcMip = _srcMip;
1496
+ bi.m_dstMip = _dstMip;
1497
+ bi.m_src = _src;
1498
+ bi.m_dst = _dst;
1373
1499
 
1374
- BlitKey key;
1375
- key.m_view = _id;
1376
- key.m_item = item;
1377
- m_frame->m_blitKeys[item] = key.encode();
1378
- }
1500
+ BlitKey key;
1501
+ key.m_view = _id;
1502
+ key.m_item = bx::narrowCast<uint16_t>(blitItemIdx);
1503
+ m_frame->m_blitKeys[blitItemIdx] = key.encode();
1379
1504
  }
1380
1505
 
1381
1506
  void Frame::sort()
1382
1507
  {
1383
- BGFX_PROFILER_SCOPE("bgfx/Sort", 0xff2040ff);
1508
+ BGFX_PROFILER_SCOPE("bgfx/Sort", kColorSubmit);
1384
1509
 
1385
1510
  ViewId viewRemap[BGFX_CONFIG_MAX_VIEWS];
1386
1511
  for (uint32_t ii = 0; ii < BGFX_CONFIG_MAX_VIEWS; ++ii)
@@ -1430,6 +1555,8 @@ namespace bgfx
1430
1555
  }
1431
1556
 
1432
1557
  bx::radixSort(m_blitKeys, (uint32_t*)&s_ctx->m_tempKeys, m_numBlitItems);
1558
+
1559
+ m_uniformCacheFrame.sort(viewRemap, s_ctx->m_tempKeys);
1433
1560
  }
1434
1561
 
1435
1562
  RenderFrame::Enum renderFrame(int32_t _msecs)
@@ -1468,7 +1595,7 @@ namespace bgfx
1468
1595
  return RenderFrame::NoContext;
1469
1596
  }
1470
1597
 
1471
- const uint32_t g_uniformTypeSize[UniformType::Count+1] =
1598
+ const uint32_t g_uniformTypeSize[] =
1472
1599
  {
1473
1600
  sizeof(int32_t),
1474
1601
  0,
@@ -1477,10 +1604,11 @@ namespace bgfx
1477
1604
  4*4*sizeof(float),
1478
1605
  1,
1479
1606
  };
1607
+ static_assert(UniformType::Count+1 == BX_COUNTOF(g_uniformTypeSize), "Must match UniformType::Enum!");
1480
1608
 
1481
1609
  void UniformBuffer::writeUniform(UniformType::Enum _type, uint16_t _loc, const void* _value, uint16_t _num)
1482
1610
  {
1483
- const uint32_t opcode = encodeOpcode(bx::narrowCast<uint8_t>(_type), _loc, _num, true);
1611
+ const uint32_t opcode = encodeOpcode(uint8_t(_type), _loc, _num, true);
1484
1612
  write(opcode);
1485
1613
  write(_value, g_uniformTypeSize[_type]*_num);
1486
1614
  }
@@ -1525,23 +1653,26 @@ namespace bgfx
1525
1653
  CAPS_FLAGS(BGFX_CAPS_INDEX32),
1526
1654
  CAPS_FLAGS(BGFX_CAPS_INSTANCING),
1527
1655
  CAPS_FLAGS(BGFX_CAPS_OCCLUSION_QUERY),
1656
+ CAPS_FLAGS(BGFX_CAPS_PRIMITIVE_ID),
1528
1657
  CAPS_FLAGS(BGFX_CAPS_RENDERER_MULTITHREADED),
1529
1658
  CAPS_FLAGS(BGFX_CAPS_SWAP_CHAIN),
1530
1659
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_2D_ARRAY),
1531
1660
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_3D),
1532
1661
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_BLIT),
1533
- CAPS_FLAGS(BGFX_CAPS_TRANSPARENT_BACKBUFFER),
1534
1662
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_COMPARE_ALL),
1535
1663
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_COMPARE_LEQUAL),
1536
1664
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_CUBE_ARRAY),
1537
1665
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_DIRECT_ACCESS),
1666
+ CAPS_FLAGS(BGFX_CAPS_TEXTURE_EXTERNAL),
1667
+ CAPS_FLAGS(BGFX_CAPS_TEXTURE_EXTERNAL_SHARED),
1538
1668
  CAPS_FLAGS(BGFX_CAPS_TEXTURE_READ_BACK),
1669
+ CAPS_FLAGS(BGFX_CAPS_TRANSPARENT_BACKBUFFER),
1670
+ CAPS_FLAGS(BGFX_CAPS_VARIABLE_RATE_SHADING),
1539
1671
  CAPS_FLAGS(BGFX_CAPS_VERTEX_ATTRIB_HALF),
1540
1672
  CAPS_FLAGS(BGFX_CAPS_VERTEX_ATTRIB_UINT10),
1541
1673
  CAPS_FLAGS(BGFX_CAPS_VERTEX_ATTRIB_INT8),
1542
1674
  CAPS_FLAGS(BGFX_CAPS_VERTEX_ATTRIB_UINT16),
1543
1675
  CAPS_FLAGS(BGFX_CAPS_VERTEX_ID),
1544
- CAPS_FLAGS(BGFX_CAPS_PRIMITIVE_ID),
1545
1676
  CAPS_FLAGS(BGFX_CAPS_VIEWPORT_LAYER_ARRAY),
1546
1677
  #undef CAPS_FLAGS
1547
1678
  };
@@ -1610,6 +1741,18 @@ namespace bgfx
1610
1741
  BX_TRACE("\t C Seq %016" PRIx64, kSortKeyComputeSeqMask);
1611
1742
  BX_TRACE("\t C Program %016" PRIx64, kSortKeyComputeProgramMask);
1612
1743
 
1744
+ BX_TRACE("");
1745
+ BX_TRACE("Blit key masks:");
1746
+ BX_TRACE("\tView %08" PRIx32, BlitKey::kViewMask);
1747
+ BX_TRACE("\tItem %08" PRIx32, BlitKey::kItemMask);
1748
+
1749
+ BX_TRACE("");
1750
+ BX_TRACE("Uniform cache key masks:");
1751
+ BX_TRACE("\tView %016" PRIx64, UniformCacheKey::kViewMask);
1752
+ BX_TRACE("\tHandle %016" PRIx64, UniformCacheKey::kHandleMask);
1753
+ BX_TRACE("\tOffset %016" PRIx64, UniformCacheKey::kOffsetMask);
1754
+ BX_TRACE("\tSize %016" PRIx64, UniformCacheKey::kSizeMask);
1755
+
1613
1756
  BX_TRACE("");
1614
1757
  BX_TRACE("Capabilities (renderer %s, vendor 0x%04x, device 0x%04x):"
1615
1758
  , s_ctx->m_renderCtx->getRendererName()
@@ -1657,39 +1800,46 @@ namespace bgfx
1657
1800
 
1658
1801
  BX_TRACE("");
1659
1802
  BX_TRACE("Supported texture formats:");
1660
- BX_TRACE("\t +---------------- 2D: x = supported / * = emulated");
1661
- BX_TRACE("\t |+--------------- 2D: sRGB format");
1662
- BX_TRACE("\t ||+-------------- 3D: x = supported / * = emulated");
1663
- BX_TRACE("\t |||+------------- 3D: sRGB format");
1664
- BX_TRACE("\t ||||+------------ Cube: x = supported / * = emulated");
1665
- BX_TRACE("\t |||||+----------- Cube: sRGB format");
1666
- BX_TRACE("\t ||||||+---------- vertex format");
1667
- BX_TRACE("\t |||||||+--------- image: i = read-write / r = read / w = write");
1668
- BX_TRACE("\t ||||||||+-------- framebuffer");
1669
- BX_TRACE("\t |||||||||+------- MSAA framebuffer");
1670
- BX_TRACE("\t ||||||||||+------ MSAA texture");
1671
- BX_TRACE("\t |||||||||||+----- Auto-generated mips");
1672
- BX_TRACE("\t |||||||||||| +-- name");
1803
+ BX_TRACE("\t +----------------- 2D: x = supported / * = emulated");
1804
+ BX_TRACE("\t |+---------------- 2D: sRGB format");
1805
+ BX_TRACE("\t ||+--------------- 3D: x = supported / * = emulated");
1806
+ BX_TRACE("\t |||+-------------- 3D: sRGB format");
1807
+ BX_TRACE("\t ||||+------------- Cube: x = supported / * = emulated");
1808
+ BX_TRACE("\t |||||+------------ Cube: sRGB format");
1809
+ BX_TRACE("\t ||||||+----------- Vertex format");
1810
+ BX_TRACE("\t |||||||+---------- Image: i = read-write / r = read / w = write");
1811
+ BX_TRACE("\t ||||||||+--------- Framebuffer");
1812
+ BX_TRACE("\t |||||||||+-------- MSAA framebuffer");
1813
+ BX_TRACE("\t ||||||||||+------- MSAA texture");
1814
+ BX_TRACE("\t |||||||||||+------ Auto-generated mips");
1815
+ BX_TRACE("\t ||||||||||||+----- Back-buffer");
1816
+ BX_TRACE("\t ||||||||||||| +-- name");
1673
1817
  for (uint32_t ii = 0; ii < TextureFormat::Count; ++ii)
1674
1818
  {
1675
1819
  if (TextureFormat::Unknown != ii
1676
1820
  && TextureFormat::UnknownDepth != ii)
1677
1821
  {
1678
1822
  uint32_t flags = g_caps.formats[ii];
1679
- BX_TRACE("\t[%c%c%c%c%c%c%c%c%c%c%c%c] %s"
1680
- , flags&BGFX_CAPS_FORMAT_TEXTURE_2D ? 'x' : flags&BGFX_CAPS_FORMAT_TEXTURE_2D_EMULATED ? '*' : ' '
1681
- , flags&BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB ? 'l' : ' '
1682
- , flags&BGFX_CAPS_FORMAT_TEXTURE_3D ? 'x' : flags&BGFX_CAPS_FORMAT_TEXTURE_3D_EMULATED ? '*' : ' '
1683
- , flags&BGFX_CAPS_FORMAT_TEXTURE_3D_SRGB ? 'l' : ' '
1684
- , flags&BGFX_CAPS_FORMAT_TEXTURE_CUBE ? 'x' : flags&BGFX_CAPS_FORMAT_TEXTURE_CUBE_EMULATED ? '*' : ' '
1685
- , flags&BGFX_CAPS_FORMAT_TEXTURE_CUBE_SRGB ? 'l' : ' '
1686
- , flags&BGFX_CAPS_FORMAT_TEXTURE_VERTEX ? 'v' : ' '
1687
- , (flags&BGFX_CAPS_FORMAT_TEXTURE_IMAGE_READ) &&
1688
- (flags&BGFX_CAPS_FORMAT_TEXTURE_IMAGE_WRITE) ? 'i' : flags&BGFX_CAPS_FORMAT_TEXTURE_IMAGE_READ ? 'r' : flags&BGFX_CAPS_FORMAT_TEXTURE_IMAGE_WRITE ? 'w' : ' '
1689
- , flags&BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER ? 'f' : ' '
1690
- , flags&BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER_MSAA ? '+' : ' '
1691
- , flags&BGFX_CAPS_FORMAT_TEXTURE_MSAA ? 'm' : ' '
1692
- , flags&BGFX_CAPS_FORMAT_TEXTURE_MIP_AUTOGEN ? 'M' : ' '
1823
+ BX_TRACE("\t[%c%c%c%c%c%c%c%c%c%c%c%c%c] %s"
1824
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_2D ? 'x'
1825
+ : flags & BGFX_CAPS_FORMAT_TEXTURE_2D_EMULATED ? '*' : ' '
1826
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB ? 'l' : ' '
1827
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_3D ? 'x'
1828
+ : flags & BGFX_CAPS_FORMAT_TEXTURE_3D_EMULATED ? '*' : ' '
1829
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_3D_SRGB ? 'l' : ' '
1830
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_CUBE ? 'x'
1831
+ : flags & BGFX_CAPS_FORMAT_TEXTURE_CUBE_EMULATED ? '*' : ' '
1832
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_CUBE_SRGB ? 'l' : ' '
1833
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_VERTEX ? 'v' : ' '
1834
+ , (flags & BGFX_CAPS_FORMAT_TEXTURE_IMAGE_READ) &&
1835
+ (flags & BGFX_CAPS_FORMAT_TEXTURE_IMAGE_WRITE) ? 'i'
1836
+ : flags & BGFX_CAPS_FORMAT_TEXTURE_IMAGE_READ ? 'r'
1837
+ : flags & BGFX_CAPS_FORMAT_TEXTURE_IMAGE_WRITE ? 'w' : ' '
1838
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER ? 'f' : ' '
1839
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER_MSAA ? '+' : ' '
1840
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_MSAA ? 'm' : ' '
1841
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_MIP_AUTOGEN ? 'M' : ' '
1842
+ , flags & BGFX_CAPS_FORMAT_TEXTURE_BACKBUFFER ? 'b' : ' '
1693
1843
  , getName(TextureFormat::Enum(ii) )
1694
1844
  );
1695
1845
  BX_UNUSED(flags);
@@ -1779,7 +1929,12 @@ namespace bgfx
1779
1929
 
1780
1930
  const char* getName(UniformHandle _handle)
1781
1931
  {
1782
- return s_ctx->m_uniformRef[_handle.idx].m_name.getCPtr();
1932
+ return getUniformRef(_handle).m_name.getCPtr();
1933
+ }
1934
+
1935
+ const UniformRef& getUniformRef(UniformHandle _handle)
1936
+ {
1937
+ return s_ctx->m_uniformRef[_handle.idx];
1783
1938
  }
1784
1939
 
1785
1940
  const char* getName(ShaderHandle _handle)
@@ -2241,7 +2396,9 @@ namespace bgfx
2241
2396
 
2242
2397
  for (uint16_t ii = 0, num = _frame->m_freeUniform.getNumQueued(); ii < num; ++ii)
2243
2398
  {
2244
- m_uniformHandle.free(_frame->m_freeUniform.get(ii).idx);
2399
+ UniformHandle handle = _frame->m_freeUniform.get(ii);
2400
+ m_uniformCache.invalidate(handle);
2401
+ m_uniformHandle.free(handle.idx);
2245
2402
  }
2246
2403
  }
2247
2404
 
@@ -2284,7 +2441,7 @@ namespace bgfx
2284
2441
  #endif // BGFX_CONFIG_MULTITHREADED
2285
2442
  }
2286
2443
 
2287
- uint32_t Context::frame(bool _capture)
2444
+ uint32_t Context::frame(uint8_t _flags)
2288
2445
  {
2289
2446
  m_encoder[0].end(true);
2290
2447
 
@@ -2297,11 +2454,16 @@ namespace bgfx
2297
2454
  encoderApiWait();
2298
2455
  #endif // BGFX_CONFIG_MULTITHREADED
2299
2456
 
2300
- m_submit->m_capture = _capture;
2457
+ if (0 != (_flags & BGFX_FRAME_DISCARD) )
2458
+ {
2459
+ m_submit->m_numRenderItems = 0;
2460
+ }
2461
+
2462
+ m_submit->m_capture = 0 != (_flags & BGFX_FRAME_DEBUG_CAPTURE);
2301
2463
 
2302
2464
  uint32_t frameNum = m_submit->m_frameNum;
2303
2465
 
2304
- BGFX_PROFILER_SCOPE("bgfx/API thread frame", 0xff2040ff);
2466
+ BGFX_PROFILER_SCOPE("bgfx/API thread frame", kColorSubmit);
2305
2467
  // wait for render thread to finish
2306
2468
  renderSemWait();
2307
2469
  frameNoRenderWait();
@@ -2328,6 +2490,10 @@ namespace bgfx
2328
2490
  m_submit->m_perfStats.numViews = 0;
2329
2491
 
2330
2492
  bx::memCopy(m_submit->m_viewRemap, m_viewRemap, sizeof(m_viewRemap) );
2493
+
2494
+ m_uniformCache.frame(m_submit->m_uniformCacheFrame);
2495
+
2496
+ static_assert(bx::isTriviallyCopyable<View>(), "Must be memcopyiable...");
2331
2497
  bx::memCopy(m_submit->m_view, m_view, sizeof(m_view) );
2332
2498
 
2333
2499
  if (m_colorPaletteDirty > 0)
@@ -2362,7 +2528,7 @@ namespace bgfx
2362
2528
  , m_init.resolution.height
2363
2529
  );
2364
2530
 
2365
- int64_t now = bx::getHPCounter();
2531
+ const int64_t now = bx::getHPCounter();
2366
2532
  m_submit->m_perfStats.cpuTimeFrame = now - m_frameTimeLast;
2367
2533
  m_frameTimeLast = now;
2368
2534
  }
@@ -2412,39 +2578,39 @@ namespace bgfx
2412
2578
 
2413
2579
  id pool;
2414
2580
  };
2415
- #endif // BX_PLATFORM_OSX
2581
+ #endif // BX_PLATFORM_OSX || BX_PLATFORM_IOS || BX_PLATFORM_VISIONOS
2416
2582
 
2417
2583
  RenderFrame::Enum Context::renderFrame(int32_t _msecs)
2418
2584
  {
2419
- BGFX_PROFILER_SCOPE("bgfx::renderFrame", 0xff2040ff);
2585
+ BGFX_PROFILER_SCOPE("bgfx::renderFrame", kColorSubmit);
2420
2586
 
2421
2587
  #if BX_PLATFORM_OSX || BX_PLATFORM_IOS || BX_PLATFORM_VISIONOS
2422
2588
  NSAutoreleasePoolScope pool;
2423
- #endif // BX_PLATFORM_OSX
2589
+ #endif // BX_PLATFORM_OSX || BX_PLATFORM_IOS || BX_PLATFORM_VISIONOS
2424
2590
 
2425
2591
  if (!m_flipAfterRender)
2426
2592
  {
2427
- BGFX_PROFILER_SCOPE("bgfx/flip", 0xff2040ff);
2593
+ BGFX_PROFILER_SCOPE("bgfx/flip", kColorSubmit);
2428
2594
  flip();
2429
2595
  }
2430
2596
 
2431
2597
  if (apiSemWait(_msecs) )
2432
2598
  {
2433
2599
  {
2434
- BGFX_PROFILER_SCOPE("bgfx/Exec commands pre", 0xff2040ff);
2600
+ BGFX_PROFILER_SCOPE("bgfx/Exec commands pre", kColorResource);
2435
2601
  rendererExecCommands(m_render->m_cmdPre);
2436
2602
  }
2437
2603
 
2438
2604
  if (m_rendererInitialized)
2439
2605
  {
2440
2606
  {
2441
- BGFX_PROFILER_SCOPE("bgfx/Render submit", 0xff2040ff);
2607
+ BGFX_PROFILER_SCOPE("bgfx/Render submit", kColorSubmit);
2442
2608
  m_renderCtx->submit(m_render, m_clearQuad, m_textVideoMemBlitter);
2443
2609
  m_flipped = false;
2444
2610
  }
2445
2611
 
2446
2612
  {
2447
- BGFX_PROFILER_SCOPE("bgfx/Screenshot", 0xff2040ff);
2613
+ BGFX_PROFILER_SCOPE("bgfx/Screenshot", kColorResource);
2448
2614
  for (uint8_t ii = 0, num = m_render->m_numScreenShots; ii < num; ++ii)
2449
2615
  {
2450
2616
  const ScreenShot& screenShot = m_render->m_screenShot[ii];
@@ -2454,7 +2620,7 @@ namespace bgfx
2454
2620
  }
2455
2621
 
2456
2622
  {
2457
- BGFX_PROFILER_SCOPE("bgfx/Exec commands post", 0xff2040ff);
2623
+ BGFX_PROFILER_SCOPE("bgfx/Exec commands post", kColorResource);
2458
2624
  rendererExecCommands(m_render->m_cmdPost);
2459
2625
  }
2460
2626
 
@@ -2462,7 +2628,7 @@ namespace bgfx
2462
2628
 
2463
2629
  if (m_flipAfterRender)
2464
2630
  {
2465
- BGFX_PROFILER_SCOPE("bgfx/flip", 0xff2040ff);
2631
+ BGFX_PROFILER_SCOPE("bgfx/flip", kColorSubmit);
2466
2632
  flip();
2467
2633
  }
2468
2634
  }
@@ -2518,13 +2684,11 @@ namespace bgfx
2518
2684
 
2519
2685
  void Context::flushTextureUpdateBatch(CommandBuffer& _cmdbuf)
2520
2686
  {
2521
- BGFX_PROFILER_SCOPE("flushTextureUpdateBatch", 0xff2040ff);
2687
+ BGFX_PROFILER_SCOPE("flushTextureUpdateBatch", kColorResource);
2522
2688
  if (m_textureUpdateBatch.sort() )
2523
2689
  {
2524
2690
  const uint32_t pos = _cmdbuf.m_pos;
2525
2691
 
2526
- uint32_t currentKey = UINT32_MAX;
2527
-
2528
2692
  for (uint32_t ii = 0, num = m_textureUpdateBatch.m_num; ii < num; ++ii)
2529
2693
  {
2530
2694
  _cmdbuf.m_pos = m_textureUpdateBatch.m_values[ii];
@@ -2553,27 +2717,11 @@ namespace bgfx
2553
2717
  const Memory* mem;
2554
2718
  _cmdbuf.read(mem);
2555
2719
 
2556
- uint32_t key = m_textureUpdateBatch.m_keys[ii];
2557
- if (key != currentKey)
2558
- {
2559
- if (currentKey != UINT32_MAX)
2560
- {
2561
- m_renderCtx->updateTextureEnd();
2562
- }
2563
- currentKey = key;
2564
- m_renderCtx->updateTextureBegin(handle, side, mip);
2565
- }
2566
-
2567
2720
  m_renderCtx->updateTexture(handle, side, mip, rect, zz, depth, pitch, mem);
2568
2721
 
2569
2722
  release(mem);
2570
2723
  }
2571
2724
 
2572
- if (currentKey != UINT32_MAX)
2573
- {
2574
- m_renderCtx->updateTextureEnd();
2575
- }
2576
-
2577
2725
  m_textureUpdateBatch.reset();
2578
2726
 
2579
2727
  _cmdbuf.m_pos = pos;
@@ -2599,6 +2747,7 @@ namespace bgfx
2599
2747
  BGFX_RENDERER_CONTEXT(nvn);
2600
2748
  BGFX_RENDERER_CONTEXT(gl);
2601
2749
  BGFX_RENDERER_CONTEXT(vk);
2750
+ BGFX_RENDERER_CONTEXT(wgpu);
2602
2751
 
2603
2752
  #undef BGFX_RENDERER_CONTEXT
2604
2753
 
@@ -2626,14 +2775,19 @@ namespace bgfx
2626
2775
  { gl::rendererCreate, gl::rendererDestroy, BGFX_RENDERER_OPENGL_NAME, !!BGFX_CONFIG_RENDERER_OPENGLES }, // OpenGLES
2627
2776
  { gl::rendererCreate, gl::rendererDestroy, BGFX_RENDERER_OPENGL_NAME, !!BGFX_CONFIG_RENDERER_OPENGL }, // OpenGL
2628
2777
  { vk::rendererCreate, vk::rendererDestroy, BGFX_RENDERER_VULKAN_NAME, !!BGFX_CONFIG_RENDERER_VULKAN }, // Vulkan
2778
+ { wgpu::rendererCreate, wgpu::rendererDestroy, BGFX_RENDERER_WEBGPU_NAME, !!BGFX_CONFIG_RENDERER_WEBGPU }, // WebGPU
2629
2779
  };
2630
2780
  static_assert(BX_COUNTOF(s_rendererCreator) == RendererType::Count);
2631
2781
 
2632
2782
  void* findModule(const char* _name)
2633
2783
  {
2634
2784
  #if BX_PLATFORM_WINDOWS
2635
- // NOTE: there was some reason to do it this way instead of simply calling GetModuleHandleA,
2636
- // but not sure what it was.
2785
+ if (NULL == _name
2786
+ || '\0' == *_name)
2787
+ {
2788
+ return GetModuleHandleA(NULL);
2789
+ }
2790
+
2637
2791
  HANDLE process = GetCurrentProcess();
2638
2792
  DWORD size;
2639
2793
  BOOL result = EnumProcessModules(process
@@ -2831,7 +2985,8 @@ namespace bgfx
2831
2985
  {
2832
2986
  RendererType::Enum renderer = RendererType::Enum(scores[ii] & 0xff);
2833
2987
  renderCtx = s_rendererCreator[renderer].createFn(_init);
2834
- if (NULL != renderCtx)
2988
+ if (NULL != renderCtx
2989
+ || !_init.fallback)
2835
2990
  {
2836
2991
  break;
2837
2992
  }
@@ -2929,7 +3084,7 @@ namespace bgfx
2929
3084
 
2930
3085
  case CommandBuffer::CreateIndexBuffer:
2931
3086
  {
2932
- BGFX_PROFILER_SCOPE("CreateIndexBuffer", 0xff2040ff);
3087
+ BGFX_PROFILER_SCOPE("CreateIndexBuffer", kColorResource);
2933
3088
 
2934
3089
  IndexBufferHandle handle;
2935
3090
  _cmdbuf.read(handle);
@@ -2948,7 +3103,7 @@ namespace bgfx
2948
3103
 
2949
3104
  case CommandBuffer::DestroyIndexBuffer:
2950
3105
  {
2951
- BGFX_PROFILER_SCOPE("DestroyIndexBuffer", 0xff2040ff);
3106
+ BGFX_PROFILER_SCOPE("DestroyIndexBuffer", kColorResource);
2952
3107
 
2953
3108
  IndexBufferHandle handle;
2954
3109
  _cmdbuf.read(handle);
@@ -2959,7 +3114,7 @@ namespace bgfx
2959
3114
 
2960
3115
  case CommandBuffer::CreateVertexLayout:
2961
3116
  {
2962
- BGFX_PROFILER_SCOPE("CreateVertexLayout", 0xff2040ff);
3117
+ BGFX_PROFILER_SCOPE("CreateVertexLayout", kColorResource);
2963
3118
 
2964
3119
  VertexLayoutHandle handle;
2965
3120
  _cmdbuf.read(handle);
@@ -2973,7 +3128,7 @@ namespace bgfx
2973
3128
 
2974
3129
  case CommandBuffer::DestroyVertexLayout:
2975
3130
  {
2976
- BGFX_PROFILER_SCOPE("DestroyVertexLayout", 0xff2040ff);
3131
+ BGFX_PROFILER_SCOPE("DestroyVertexLayout", kColorResource);
2977
3132
 
2978
3133
  VertexLayoutHandle handle;
2979
3134
  _cmdbuf.read(handle);
@@ -2984,7 +3139,7 @@ namespace bgfx
2984
3139
 
2985
3140
  case CommandBuffer::CreateVertexBuffer:
2986
3141
  {
2987
- BGFX_PROFILER_SCOPE("CreateVertexBuffer", 0xff2040ff);
3142
+ BGFX_PROFILER_SCOPE("CreateVertexBuffer", kColorResource);
2988
3143
 
2989
3144
  VertexBufferHandle handle;
2990
3145
  _cmdbuf.read(handle);
@@ -3006,7 +3161,7 @@ namespace bgfx
3006
3161
 
3007
3162
  case CommandBuffer::DestroyVertexBuffer:
3008
3163
  {
3009
- BGFX_PROFILER_SCOPE("DestroyVertexBuffer", 0xff2040ff);
3164
+ BGFX_PROFILER_SCOPE("DestroyVertexBuffer", kColorResource);
3010
3165
 
3011
3166
  VertexBufferHandle handle;
3012
3167
  _cmdbuf.read(handle);
@@ -3017,7 +3172,7 @@ namespace bgfx
3017
3172
 
3018
3173
  case CommandBuffer::CreateDynamicIndexBuffer:
3019
3174
  {
3020
- BGFX_PROFILER_SCOPE("CreateDynamicIndexBuffer", 0xff2040ff);
3175
+ BGFX_PROFILER_SCOPE("CreateDynamicIndexBuffer", kColorResource);
3021
3176
 
3022
3177
  IndexBufferHandle handle;
3023
3178
  _cmdbuf.read(handle);
@@ -3034,7 +3189,7 @@ namespace bgfx
3034
3189
 
3035
3190
  case CommandBuffer::UpdateDynamicIndexBuffer:
3036
3191
  {
3037
- BGFX_PROFILER_SCOPE("UpdateDynamicIndexBuffer", 0xff2040ff);
3192
+ BGFX_PROFILER_SCOPE("UpdateDynamicIndexBuffer", kColorResource);
3038
3193
 
3039
3194
  IndexBufferHandle handle;
3040
3195
  _cmdbuf.read(handle);
@@ -3056,7 +3211,7 @@ namespace bgfx
3056
3211
 
3057
3212
  case CommandBuffer::DestroyDynamicIndexBuffer:
3058
3213
  {
3059
- BGFX_PROFILER_SCOPE("DestroyDynamicIndexBuffer", 0xff2040ff);
3214
+ BGFX_PROFILER_SCOPE("DestroyDynamicIndexBuffer", kColorResource);
3060
3215
 
3061
3216
  IndexBufferHandle handle;
3062
3217
  _cmdbuf.read(handle);
@@ -3067,7 +3222,7 @@ namespace bgfx
3067
3222
 
3068
3223
  case CommandBuffer::CreateDynamicVertexBuffer:
3069
3224
  {
3070
- BGFX_PROFILER_SCOPE("CreateDynamicVertexBuffer", 0xff2040ff);
3225
+ BGFX_PROFILER_SCOPE("CreateDynamicVertexBuffer", kColorResource);
3071
3226
 
3072
3227
  VertexBufferHandle handle;
3073
3228
  _cmdbuf.read(handle);
@@ -3084,7 +3239,7 @@ namespace bgfx
3084
3239
 
3085
3240
  case CommandBuffer::UpdateDynamicVertexBuffer:
3086
3241
  {
3087
- BGFX_PROFILER_SCOPE("UpdateDynamicVertexBuffer", 0xff2040ff);
3242
+ BGFX_PROFILER_SCOPE("UpdateDynamicVertexBuffer", kColorResource);
3088
3243
 
3089
3244
  VertexBufferHandle handle;
3090
3245
  _cmdbuf.read(handle);
@@ -3106,7 +3261,7 @@ namespace bgfx
3106
3261
 
3107
3262
  case CommandBuffer::DestroyDynamicVertexBuffer:
3108
3263
  {
3109
- BGFX_PROFILER_SCOPE("DestroyDynamicVertexBuffer", 0xff2040ff);
3264
+ BGFX_PROFILER_SCOPE("DestroyDynamicVertexBuffer", kColorResource);
3110
3265
 
3111
3266
  VertexBufferHandle handle;
3112
3267
  _cmdbuf.read(handle);
@@ -3117,7 +3272,7 @@ namespace bgfx
3117
3272
 
3118
3273
  case CommandBuffer::CreateShader:
3119
3274
  {
3120
- BGFX_PROFILER_SCOPE("CreateShader", 0xff2040ff);
3275
+ BGFX_PROFILER_SCOPE("CreateShader", kColorResource);
3121
3276
 
3122
3277
  ShaderHandle handle;
3123
3278
  _cmdbuf.read(handle);
@@ -3133,7 +3288,7 @@ namespace bgfx
3133
3288
 
3134
3289
  case CommandBuffer::DestroyShader:
3135
3290
  {
3136
- BGFX_PROFILER_SCOPE("DestroyShader", 0xff2040ff);
3291
+ BGFX_PROFILER_SCOPE("DestroyShader", kColorResource);
3137
3292
 
3138
3293
  ShaderHandle handle;
3139
3294
  _cmdbuf.read(handle);
@@ -3144,7 +3299,7 @@ namespace bgfx
3144
3299
 
3145
3300
  case CommandBuffer::CreateProgram:
3146
3301
  {
3147
- BGFX_PROFILER_SCOPE("CreateProgram", 0xff2040ff);
3302
+ BGFX_PROFILER_SCOPE("CreateProgram", kColorResource);
3148
3303
 
3149
3304
  ProgramHandle handle;
3150
3305
  _cmdbuf.read(handle);
@@ -3161,7 +3316,7 @@ namespace bgfx
3161
3316
 
3162
3317
  case CommandBuffer::DestroyProgram:
3163
3318
  {
3164
- BGFX_PROFILER_SCOPE("DestroyProgram", 0xff2040ff);
3319
+ BGFX_PROFILER_SCOPE("DestroyProgram", kColorResource);
3165
3320
 
3166
3321
  ProgramHandle handle;
3167
3322
  _cmdbuf.read(handle);
@@ -3172,7 +3327,7 @@ namespace bgfx
3172
3327
 
3173
3328
  case CommandBuffer::CreateTexture:
3174
3329
  {
3175
- BGFX_PROFILER_SCOPE("CreateTexture", 0xff2040ff);
3330
+ BGFX_PROFILER_SCOPE("CreateTexture", kColorResource);
3176
3331
 
3177
3332
  TextureHandle handle;
3178
3333
  _cmdbuf.read(handle);
@@ -3186,7 +3341,11 @@ namespace bgfx
3186
3341
  uint8_t skip;
3187
3342
  _cmdbuf.read(skip);
3188
3343
 
3189
- void* ptr = m_renderCtx->createTexture(handle, mem, flags, skip);
3344
+ uintptr_t external;
3345
+ _cmdbuf.read(external);
3346
+
3347
+ void* ptr = m_renderCtx->createTexture(handle, mem, flags, skip, external);
3348
+
3190
3349
  if (NULL != ptr)
3191
3350
  {
3192
3351
  setDirectAccessPtr(handle, ptr);
@@ -3215,7 +3374,7 @@ namespace bgfx
3215
3374
 
3216
3375
  case CommandBuffer::UpdateTexture:
3217
3376
  {
3218
- BGFX_PROFILER_SCOPE("UpdateTexture", 0xff2040ff);
3377
+ BGFX_PROFILER_SCOPE("UpdateTexture", kColorResource);
3219
3378
 
3220
3379
  if (m_textureUpdateBatch.isFull() )
3221
3380
  {
@@ -3250,7 +3409,7 @@ namespace bgfx
3250
3409
 
3251
3410
  case CommandBuffer::ReadTexture:
3252
3411
  {
3253
- BGFX_PROFILER_SCOPE("ReadTexture", 0xff2040ff);
3412
+ BGFX_PROFILER_SCOPE("ReadTexture", kColorResource);
3254
3413
 
3255
3414
  TextureHandle handle;
3256
3415
  _cmdbuf.read(handle);
@@ -3267,7 +3426,7 @@ namespace bgfx
3267
3426
 
3268
3427
  case CommandBuffer::ResizeTexture:
3269
3428
  {
3270
- BGFX_PROFILER_SCOPE("ResizeTexture", 0xff2040ff);
3429
+ BGFX_PROFILER_SCOPE("ResizeTexture", kColorResource);
3271
3430
 
3272
3431
  TextureHandle handle;
3273
3432
  _cmdbuf.read(handle);
@@ -3290,7 +3449,7 @@ namespace bgfx
3290
3449
 
3291
3450
  case CommandBuffer::DestroyTexture:
3292
3451
  {
3293
- BGFX_PROFILER_SCOPE("DestroyTexture", 0xff2040ff);
3452
+ BGFX_PROFILER_SCOPE("DestroyTexture", kColorResource);
3294
3453
 
3295
3454
  TextureHandle handle;
3296
3455
  _cmdbuf.read(handle);
@@ -3301,7 +3460,7 @@ namespace bgfx
3301
3460
 
3302
3461
  case CommandBuffer::CreateFrameBuffer:
3303
3462
  {
3304
- BGFX_PROFILER_SCOPE("CreateFrameBuffer", 0xff2040ff);
3463
+ BGFX_PROFILER_SCOPE("CreateFrameBuffer", kColorResource);
3305
3464
 
3306
3465
  FrameBufferHandle handle;
3307
3466
  _cmdbuf.read(handle);
@@ -3343,7 +3502,7 @@ namespace bgfx
3343
3502
 
3344
3503
  case CommandBuffer::DestroyFrameBuffer:
3345
3504
  {
3346
- BGFX_PROFILER_SCOPE("DestroyFrameBuffer", 0xff2040ff);
3505
+ BGFX_PROFILER_SCOPE("DestroyFrameBuffer", kColorResource);
3347
3506
 
3348
3507
  FrameBufferHandle handle;
3349
3508
  _cmdbuf.read(handle);
@@ -3354,7 +3513,7 @@ namespace bgfx
3354
3513
 
3355
3514
  case CommandBuffer::CreateUniform:
3356
3515
  {
3357
- BGFX_PROFILER_SCOPE("CreateUniform", 0xff2040ff);
3516
+ BGFX_PROFILER_SCOPE("CreateUniform", kColorResource);
3358
3517
 
3359
3518
  UniformHandle handle;
3360
3519
  _cmdbuf.read(handle);
@@ -3376,7 +3535,7 @@ namespace bgfx
3376
3535
 
3377
3536
  case CommandBuffer::DestroyUniform:
3378
3537
  {
3379
- BGFX_PROFILER_SCOPE("DestroyUniform", 0xff2040ff);
3538
+ BGFX_PROFILER_SCOPE("DestroyUniform", kColorResource);
3380
3539
 
3381
3540
  UniformHandle handle;
3382
3541
  _cmdbuf.read(handle);
@@ -3387,7 +3546,7 @@ namespace bgfx
3387
3546
 
3388
3547
  case CommandBuffer::UpdateViewName:
3389
3548
  {
3390
- BGFX_PROFILER_SCOPE("UpdateViewName", 0xff2040ff);
3549
+ BGFX_PROFILER_SCOPE("UpdateViewName", kColorResource);
3391
3550
 
3392
3551
  ViewId id;
3393
3552
  _cmdbuf.read(id);
@@ -3403,7 +3562,7 @@ namespace bgfx
3403
3562
 
3404
3563
  case CommandBuffer::InvalidateOcclusionQuery:
3405
3564
  {
3406
- BGFX_PROFILER_SCOPE("InvalidateOcclusionQuery", 0xff2040ff);
3565
+ BGFX_PROFILER_SCOPE("InvalidateOcclusionQuery", kColorResource);
3407
3566
 
3408
3567
  OcclusionQueryHandle handle;
3409
3568
  _cmdbuf.read(handle);
@@ -3414,7 +3573,7 @@ namespace bgfx
3414
3573
 
3415
3574
  case CommandBuffer::SetName:
3416
3575
  {
3417
- BGFX_PROFILER_SCOPE("SetName", 0xff2040ff);
3576
+ BGFX_PROFILER_SCOPE("SetName", kColorResource);
3418
3577
 
3419
3578
  Handle handle;
3420
3579
  _cmdbuf.read(handle);
@@ -3492,6 +3651,7 @@ namespace bgfx
3492
3651
  : ndt(NULL)
3493
3652
  , nwh(NULL)
3494
3653
  , context(NULL)
3654
+ , queue(NULL)
3495
3655
  , backBuffer(NULL)
3496
3656
  , backBufferDS(NULL)
3497
3657
  , type(NativeWindowHandleType::Default)
@@ -3499,7 +3659,7 @@ namespace bgfx
3499
3659
  }
3500
3660
 
3501
3661
  Resolution::Resolution()
3502
- : formatColor(TextureFormat::RGBA8)
3662
+ : formatColor(TextureFormat::BGRA8)
3503
3663
  , formatDepthStencil(TextureFormat::D24S8)
3504
3664
  , width(1280)
3505
3665
  , height(720)
@@ -3526,6 +3686,7 @@ namespace bgfx
3526
3686
  , capabilities(UINT64_MAX)
3527
3687
  , debug(BX_ENABLED(BGFX_CONFIG_DEBUG) )
3528
3688
  , profile(BX_ENABLED(BGFX_CONFIG_DEBUG_ANNOTATION) )
3689
+ , fallback(true)
3529
3690
  , callback(NULL)
3530
3691
  , allocator(NULL)
3531
3692
  {
@@ -3768,6 +3929,7 @@ namespace bgfx
3768
3929
  {
3769
3930
  BGFX_CHECK_HANDLE("setUniform", s_ctx->m_uniformHandle, _handle);
3770
3931
  const UniformRef& uniform = s_ctx->m_uniformRef[_handle.idx];
3932
+ BX_ASSERT(uniform.m_freq == UniformFreq::Draw, "Setting uniform per draw call, but uniform is created with different bgfx::UniformFreq::Enum!");
3771
3933
  BX_ASSERT(isValid(_handle) && 0 < uniform.m_refCount, "Setting invalid uniform (handle %3d)!", _handle.idx);
3772
3934
  BX_ASSERT(_num == UINT16_MAX || uniform.m_num >= _num, "Truncated uniform update. %d (max: %d)", _num, uniform.m_num);
3773
3935
  BGFX_ENCODER(setUniform(uniform.m_type, _handle, _value, UINT16_MAX != _num ? _num : uniform.m_num) );
@@ -4119,10 +4281,10 @@ namespace bgfx
4119
4281
  s_ctx->end(_encoder);
4120
4282
  }
4121
4283
 
4122
- uint32_t frame(bool _capture)
4284
+ uint32_t frame(uint8_t _flags)
4123
4285
  {
4124
4286
  BGFX_CHECK_API_THREAD();
4125
- return s_ctx->frame(_capture);
4287
+ return s_ctx->frame(_flags);
4126
4288
  }
4127
4289
 
4128
4290
  const Caps* getCaps()
@@ -4598,8 +4760,8 @@ namespace bgfx
4598
4760
  BGFX_ERROR_CHECK(
4599
4761
  // if BGFX_TEXTURE_RT_MSAA_X2 or greater than either BGFX_TEXTURE_RT_WRITE_ONLY or BGFX_TEXTURE_MSAA_SAMPLE is required
4600
4762
  // if BGFX_TEXTURE_RT with no MSSA then this is not required.
4601
- (1 == ((tr.m_flags & BGFX_TEXTURE_RT_MSAA_MASK) >> BGFX_TEXTURE_RT_MSAA_SHIFT))
4602
- || (0 != (tr.m_flags & (BGFX_TEXTURE_RT_WRITE_ONLY | BGFX_TEXTURE_MSAA_SAMPLE)))
4763
+ (1 == ( (tr.m_flags & BGFX_TEXTURE_RT_MSAA_MASK) >> BGFX_TEXTURE_RT_MSAA_SHIFT) )
4764
+ || (0 != (tr.m_flags & (BGFX_TEXTURE_RT_WRITE_ONLY | BGFX_TEXTURE_MSAA_SAMPLE) ) )
4603
4765
  , _err
4604
4766
  , BGFX_ERROR_FRAME_BUFFER_VALIDATION
4605
4767
  , "Frame buffer depth MSAA texture cannot be resolved. It must be created with either `BGFX_TEXTURE_RT_WRITE_ONLY` or `BGFX_TEXTURE_MSAA_SAMPLE` flag."
@@ -4790,6 +4952,16 @@ namespace bgfx
4790
4952
  , getName(_format)
4791
4953
  );
4792
4954
 
4955
+ BGFX_ERROR_CHECK(false
4956
+ || 1 >= ( (_flags & BGFX_TEXTURE_RT_MSAA_MASK) >> BGFX_TEXTURE_RT_MSAA_SHIFT)
4957
+ || 0 != (g_caps.formats[_format] & BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER_MSAA)
4958
+ , _err
4959
+ , BGFX_ERROR_TEXTURE_VALIDATION
4960
+ , "Creating MSAA render target for this texture format is not supported."
4961
+ , "Texture format: %s."
4962
+ , getName(_format)
4963
+ );
4964
+
4793
4965
  BGFX_ERROR_CHECK(false
4794
4966
  || 0 == (_flags & BGFX_TEXTURE_MSAA_SAMPLE)
4795
4967
  || 0 != (g_caps.formats[_format] & BGFX_CAPS_FORMAT_TEXTURE_MSAA)
@@ -4879,7 +5051,7 @@ namespace bgfx
4879
5051
  TextureHandle createTexture(const Memory* _mem, uint64_t _flags, uint8_t _skip, TextureInfo* _info)
4880
5052
  {
4881
5053
  BX_ASSERT(NULL != _mem, "_mem can't be NULL");
4882
- return s_ctx->createTexture(_mem, _flags, _skip, _info, BackbufferRatio::Count, false);
5054
+ return s_ctx->createTexture(_mem, _flags, _skip, _info, BackbufferRatio::Count, false, 0);
4883
5055
  }
4884
5056
 
4885
5057
  void getTextureSizeFromRatio(BackbufferRatio::Enum _ratio, uint16_t& _width, uint16_t& _height)
@@ -4900,7 +5072,17 @@ namespace bgfx
4900
5072
  _height = bx::max<uint16_t>(1, _height);
4901
5073
  }
4902
5074
 
4903
- static TextureHandle createTexture2D(BackbufferRatio::Enum _ratio, uint16_t _width, uint16_t _height, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags, const Memory* _mem)
5075
+ static TextureHandle createTexture2D(
5076
+ BackbufferRatio::Enum _ratio
5077
+ , uint16_t _width
5078
+ , uint16_t _height
5079
+ , bool _hasMips
5080
+ , uint16_t _numLayers
5081
+ , TextureFormat::Enum _format
5082
+ , uint64_t _flags
5083
+ , const Memory* _mem
5084
+ , uint64_t _external
5085
+ )
4904
5086
  {
4905
5087
  if (BackbufferRatio::Count != _ratio)
4906
5088
  {
@@ -4949,23 +5131,36 @@ namespace bgfx
4949
5131
  tc.m_mem = _mem;
4950
5132
  bx::write(&writer, tc, bx::ErrorAssert{});
4951
5133
 
4952
- return s_ctx->createTexture(mem, _flags, 0, NULL, _ratio, NULL != _mem);
5134
+ return s_ctx->createTexture(mem, _flags, 0, NULL, _ratio, NULL != _mem, _external);
4953
5135
  }
4954
5136
 
4955
- TextureHandle createTexture2D(uint16_t _width, uint16_t _height, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags, const Memory* _mem)
5137
+ TextureHandle createTexture2D(uint16_t _width, uint16_t _height, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags, const Memory* _mem, uint64_t _external)
4956
5138
  {
5139
+ BX_ASSERT(false
5140
+ || 0 == _external
5141
+ || 0 != (g_caps.supported & BGFX_CAPS_TEXTURE_EXTERNAL)
5142
+ , "External texture is not supported! "
5143
+ "Use bgfx::getCaps to check `BGFX_CAPS_TEXTURE_EXTERNAL` backend renderer capabilities."
5144
+ );
4957
5145
  BX_ASSERT(_width > 0 && _height > 0, "Invalid texture size (width %d, height %d).", _width, _height);
4958
- return createTexture2D(BackbufferRatio::Count, _width, _height, _hasMips, _numLayers, _format, _flags, _mem);
5146
+ return createTexture2D(BackbufferRatio::Count, _width, _height, _hasMips, _numLayers, _format, _flags, _mem, _external);
4959
5147
  }
4960
5148
 
4961
5149
  TextureHandle createTexture2D(BackbufferRatio::Enum _ratio, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags)
4962
5150
  {
4963
5151
  BX_ASSERT(_ratio < BackbufferRatio::Count, "Invalid back buffer ratio.");
4964
- return createTexture2D(_ratio, 0, 0, _hasMips, _numLayers, _format, _flags, NULL);
5152
+ return createTexture2D(_ratio, 0, 0, _hasMips, _numLayers, _format, _flags, NULL, 0);
4965
5153
  }
4966
5154
 
4967
- TextureHandle createTexture3D(uint16_t _width, uint16_t _height, uint16_t _depth, bool _hasMips, TextureFormat::Enum _format, uint64_t _flags, const Memory* _mem)
5155
+ TextureHandle createTexture3D(uint16_t _width, uint16_t _height, uint16_t _depth, bool _hasMips, TextureFormat::Enum _format, uint64_t _flags, const Memory* _mem, uint64_t _external)
4968
5156
  {
5157
+ BX_ASSERT(false
5158
+ || 0 == _external
5159
+ || 0 != (g_caps.supported & BGFX_CAPS_TEXTURE_EXTERNAL)
5160
+ , "External texture is not supported! "
5161
+ "Use bgfx::getCaps to check `BGFX_CAPS_TEXTURE_EXTERNAL` backend renderer capabilities."
5162
+ );
5163
+
4969
5164
  bx::ErrorAssert err;
4970
5165
  isTextureValid(_width, _height, _depth, false, 1, _format, _flags, &err);
4971
5166
 
@@ -5005,11 +5200,18 @@ namespace bgfx
5005
5200
  tc.m_mem = _mem;
5006
5201
  bx::write(&writer, tc, bx::ErrorAssert{});
5007
5202
 
5008
- return s_ctx->createTexture(mem, _flags, 0, NULL, BackbufferRatio::Count, NULL != _mem);
5203
+ return s_ctx->createTexture(mem, _flags, 0, NULL, BackbufferRatio::Count, NULL != _mem, _external);
5009
5204
  }
5010
5205
 
5011
- TextureHandle createTextureCube(uint16_t _size, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags, const Memory* _mem)
5206
+ TextureHandle createTextureCube(uint16_t _size, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags, const Memory* _mem, uint64_t _external)
5012
5207
  {
5208
+ BX_ASSERT(false
5209
+ || 0 == _external
5210
+ || 0 != (g_caps.supported & BGFX_CAPS_TEXTURE_EXTERNAL)
5211
+ , "External texture is not supported! "
5212
+ "Use bgfx::getCaps to check `BGFX_CAPS_TEXTURE_EXTERNAL` backend renderer capabilities."
5213
+ );
5214
+
5013
5215
  bx::ErrorAssert err;
5014
5216
  isTextureValid(_size, _size, 0, true, _numLayers, _format, _flags, &err);
5015
5217
 
@@ -5050,7 +5252,7 @@ namespace bgfx
5050
5252
  tc.m_mem = _mem;
5051
5253
  bx::write(&writer, tc, bx::ErrorAssert{});
5052
5254
 
5053
- return s_ctx->createTexture(mem, _flags, 0, NULL, BackbufferRatio::Count, NULL != _mem);
5255
+ return s_ctx->createTexture(mem, _flags, 0, NULL, BackbufferRatio::Count, NULL != _mem, _external);
5054
5256
  }
5055
5257
 
5056
5258
  void setName(TextureHandle _handle, const char* _name, int32_t _len)
@@ -5201,7 +5403,24 @@ namespace bgfx
5201
5403
 
5202
5404
  UniformHandle createUniform(const char* _name, UniformType::Enum _type, uint16_t _num)
5203
5405
  {
5204
- return s_ctx->createUniform(_name, _type, _num);
5406
+ BX_ASSERT(UniformType::End != _type && UniformType::Count > _type
5407
+ , "UniformType argument is not valid (_type: %d)!"
5408
+ , _type
5409
+ );
5410
+ return s_ctx->createUniform(_name, UniformFreq::Draw, _type, _num);
5411
+ }
5412
+
5413
+ UniformHandle createUniform(const char* _name, UniformFreq::Enum _freq, UniformType::Enum _type, uint16_t _num)
5414
+ {
5415
+ BX_ASSERT(UniformType::End != _type && UniformType::Count > _type
5416
+ , "UniformType argument is not valid (_type: %d)!"
5417
+ , _type
5418
+ );
5419
+ BX_ASSERT(UniformFreq::Count > _freq
5420
+ , "UniformFreq argument is not valid (_freq: %d)!"
5421
+ , _freq
5422
+ );
5423
+ return s_ctx->createUniform(_name, _freq, _type, _num);
5205
5424
  }
5206
5425
 
5207
5426
  void getUniformInfo(UniformHandle _handle, UniformInfo& _info)
@@ -5332,6 +5551,12 @@ namespace bgfx
5332
5551
  s_ctx->setViewOrder(_id, _num, _order);
5333
5552
  }
5334
5553
 
5554
+ void setViewShadingRate(ViewId _id, ShadingRate::Enum _shadingRate)
5555
+ {
5556
+ BX_ASSERT(checkView(_id), "Invalid view id: %d", _id);
5557
+ s_ctx->setViewShadingRate(_id, _shadingRate);
5558
+ }
5559
+
5335
5560
  void resetView(ViewId _id)
5336
5561
  {
5337
5562
  BX_ASSERT(checkView(_id), "Invalid view id: %d", _id);
@@ -5403,6 +5628,19 @@ namespace bgfx
5403
5628
  s_ctx->m_encoder0->setUniform(_handle, _value, _num);
5404
5629
  }
5405
5630
 
5631
+ void setViewUniform(ViewId _id, UniformHandle _handle, const void* _value, uint16_t _num)
5632
+ {
5633
+ BX_ASSERT(checkView(_id), "Invalid view id: %d", _id);
5634
+ BGFX_CHECK_HANDLE("setUniform", s_ctx->m_uniformHandle, _handle);
5635
+ s_ctx->setViewUniform(_id, _handle, _value, _num);
5636
+ }
5637
+
5638
+ void setFrameUniform(UniformHandle _handle, const void* _value, uint16_t _num)
5639
+ {
5640
+ BGFX_CHECK_HANDLE("setUniform", s_ctx->m_uniformHandle, _handle);
5641
+ s_ctx->setViewUniform(UINT16_MAX, _handle, _value, _num);
5642
+ }
5643
+
5406
5644
  void setIndexBuffer(IndexBufferHandle _handle)
5407
5645
  {
5408
5646
  BGFX_CHECK_ENCODER0();
@@ -5845,6 +6083,8 @@ static_assert( (0
5845
6083
  | BGFX_CAPS_TEXTURE_BLIT
5846
6084
  | BGFX_CAPS_TEXTURE_CUBE_ARRAY
5847
6085
  | BGFX_CAPS_TEXTURE_DIRECT_ACCESS
6086
+ | BGFX_CAPS_TEXTURE_EXTERNAL
6087
+ | BGFX_CAPS_TEXTURE_EXTERNAL_SHARED
5848
6088
  | BGFX_CAPS_TEXTURE_READ_BACK
5849
6089
  | BGFX_CAPS_VERTEX_ATTRIB_HALF
5850
6090
  | BGFX_CAPS_VERTEX_ATTRIB_UINT10
@@ -5875,6 +6115,8 @@ static_assert( (0
5875
6115
  ^ BGFX_CAPS_TEXTURE_BLIT
5876
6116
  ^ BGFX_CAPS_TEXTURE_CUBE_ARRAY
5877
6117
  ^ BGFX_CAPS_TEXTURE_DIRECT_ACCESS
6118
+ ^ BGFX_CAPS_TEXTURE_EXTERNAL
6119
+ ^ BGFX_CAPS_TEXTURE_EXTERNAL_SHARED
5878
6120
  ^ BGFX_CAPS_TEXTURE_READ_BACK
5879
6121
  ^ BGFX_CAPS_VERTEX_ATTRIB_HALF
5880
6122
  ^ BGFX_CAPS_VERTEX_ATTRIB_UINT10
@@ -5936,9 +6178,9 @@ namespace bgfx
5936
6178
  m_interface->vtbl->cache_write(m_interface, _id, _data, _size);
5937
6179
  }
5938
6180
 
5939
- virtual void screenShot(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _data, uint32_t _size, bool _yflip) override
6181
+ virtual void screenShot(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _pitch, TextureFormat::Enum _format, const void* _data, uint32_t _size, bool _yflip) override
5940
6182
  {
5941
- m_interface->vtbl->screen_shot(m_interface, _filePath, _width, _height, _pitch, _data, _size, _yflip);
6183
+ m_interface->vtbl->screen_shot(m_interface, _filePath, _width, _height, _pitch, (bgfx_texture_format_t)_format, _data, _size, _yflip);
5942
6184
  }
5943
6185
 
5944
6186
  virtual void captureBegin(uint32_t _width, uint32_t _height, uint32_t _pitch, TextureFormat::Enum _format, bool _yflip) override