#1542·sokol

sokol-app: swapchain config round 2

Author: flooohCreated Jun 30, 2026Updated Jul 6, 2026
Labelssokol-app

Gaps and known issues after https://github.com/floooh/sokol/pull/1520:

  • clean up underlying depth- and depth-stencil formats on all backends. Depth should always be D32F (also on GL if possible) and depth-stencil D32F_U8 (also on D3D11). => moved to https://github.com/floooh/sokol/issues/1544
  • add sapp_query_features()
  • add sapp_reconfigure_swapchain()
  • missing srgb support:
    • WebGL2 (strictly not possible since WebGL2 doesn't allow to configure the canvas in srgb mode)
  • missing hdr support (in order of importance):
    • windows + d3d11
    • linux + gl
    • linux + vulkan
    • windows + vulkan
    • windows + gl
    • android + gles3
  • missing premultiplied composite mode (in order of importance):
    • windows + d3d11
    • linux + gl
    • linux + vulkan
    • windows + gl
    • not planned for mobile platforms
  • missing disable_vsync:
    • macOS+Metal (bypass CADisplayLink) NOTE: just bypassing CADisplayLink and setting CAMetalLayer.displaySyncEnabled to false has extreme jutter from 2..7 ms, or even 2..20 ms. Not worth it since the result is strictly worse than just using CADisplayLink frame pacing.